@blueking/bkflow-canvas-editor 1.1.0-beta.8 → 1.1.0-beta.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@
3
3
 
4
4
  }`;if(typeof J=="string"){const Z=J.trim();if(!Z)return`{
5
5
 
6
- }`;try{return JSON.stringify(JSON.parse(Z),null,2)}catch{return J}}return JSON.stringify(J,null,2)},H=vue.ref($(B.value.value));vue.watch(()=>r.variable.value,J=>{const Z=$(J);Z!==H.value&&(H.value=Z)},{deep:!0});const Q=()=>{const J=H.value.trim();if(!J)return{valid:!1,message:"请输入 JSON 默认值"};try{return{valid:!0,value:JSON.parse(J)}}catch{return{valid:!1,message:"请输入正确的 JSON 格式数据"}}},W=()=>{const J=Q();return J.valid?(k.value="",B.value.value=J.value,R(),!0):!1},te=()=>{k.value="",W()},ee=()=>{r.editable&&W()&&(H.value=$(B.value.value))},q=({hasErrors:J})=>{y.value=J};return t({validate:async()=>{k.value="";const J=await validateBkForm(C),Z=Q();return!Z.valid||y.value?(k.value=Z.message||"请输入正确的 JSON 格式数据",!1):(B.value.value=Z.value,R(),J)}}),(J,Z)=>{const ne=vue.resolveComponent("bk-form-item"),oe=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createBlock(oe,{ref_key:"formRef",ref:C,"label-width":110,model:vue.unref(L)},{default:vue.withCtx(()=>[z.value?(vue.openBlock(),vue.createBlock(ne,{key:0,label:"默认值"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$2b,[vue.createVNode(CodeEditor,{modelValue:H.value,"onUpdate:modelValue":Z[0]||(Z[0]=ae=>H.value=ae),options:j.value,onChange:te,onBlur:ee,onMarkersChange:q},null,8,["modelValue","options"])]),k.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$1C,vue.toDisplayString(k.value),1)):vue.createCommentVNode("",!0)]),_:1})):vue.createCommentVNode("",!0)]),_:1},8,["model"])}}}),BuiltinJsonConfig=_export_sfc(_sfc_main$1Z,[["__scopeId","data-v-f0c79728"]]),LOCAL_TIME_PICKER_TYPE={name:"时间",code:"time_picker",type:"general",form:"",tag:"time_picker.time_picker",meta_tag:null,description:"时间选择器变量"},TIME_PICKER_DEFAULT_VALUE={type:"time_range",methods:["relative"],range_limit_enabled:!1,time_offset:1,time_unit:"hour",time_base:"now"},BUILTIN_VARIABLE_TYPES=[{code:"input",name:"input(输入框)",data_type:"string",default_value:"",supports_validation:!0},{code:"textarea",name:"textarea(文本框)",data_type:"string",default_value:"",supports_validation:!0},{code:"select",name:"select(下拉框)",data_type:"string",default_value:""},{code:"filter",name:"filter(复合条件选择)",data_type:"string[]",default_value:[]},{code:"timepicker",name:"timepicker(时间选择)",data_type:"time",default_value:TIME_PICKER_DEFAULT_VALUE},{code:"array",name:"Array(Array)",data_type:"array",default_value:[]},{code:"json",name:"JSON(JSON)",data_type:"json",default_value:{}}],LEGACY_TYPE_ALIAS={json_variable:"json",time_picker:"timepicker"},normalizeBuiltinTypeCode=e=>e?LEGACY_TYPE_ALIAS[e]||e:"",getBuiltinTypeByCode=e=>{const t=normalizeBuiltinTypeCode(e);return BUILTIN_VARIABLE_TYPES.find(n=>n.code===t)},isBuiltinVariableTypeCode=e=>!!getBuiltinTypeByCode(e),isBuiltinUsageVariable=e=>!e||e.source_type!=="custom"||e.show_type!=="show"?!1:isBuiltinVariableTypeCode(e.custom_type),getBuiltinAsCustomVariableTypes=()=>[...BUILTIN_VARIABLE_TYPES.map(e=>({name:e.name,code:e.code,type:"general",form:"",tag:`${e.code}.${e.code}`,meta_tag:null,description:e.name})),LOCAL_TIME_PICKER_TYPE],_hoisted_1$2a={class:"default-value-placeholder"},_sfc_main$1Y=vue.defineComponent({__name:"default-value-placeholder",props:{typeName:{}},setup(e){const t=e,n=vue.computed(()=>`${t.typeName||"该类型"}默认值配置待补齐`);return(r,i)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$2a,vue.toDisplayString(n.value),1))}}),DefaultValuePlaceholder=_export_sfc(_sfc_main$1Y,[["__scopeId","data-v-f5d54e22"]]),_sfc_main$1X=vue.defineComponent({__name:"builtin-placeholder-config",props:{variable:{},editable:{type:Boolean,default:!0}},emits:["change"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.ref(),k=vue.ref(!1),{localData:y,formModel:B,handleChange:L}=useLocalVariableConfig(r,i),R=vue.computed(()=>getBuiltinTypeByCode(y.value.custom_type)),z=vue.computed(()=>y.value.source_type!=="component_outputs"),j=vue.computed(()=>y.value.meta?.data_type||R.value?.data_type||"--"),$=useMetaStringField(y,"placeholder"),H=useMetaStringField(y,"validation_error_msg");return t({validate:()=>validateBkForm(C)}),(W,te)=>{const ee=vue.resolveComponent("bk-input"),q=vue.resolveComponent("bk-form-item"),G=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createBlock(G,{ref_key:"formRef",ref:C,"label-width":110,model:vue.unref(B)},{default:vue.withCtx(()=>[vue.createVNode(q,{label:"数据类型"},{default:vue.withCtx(()=>[vue.createVNode(ee,{"model-value":j.value,disabled:""},null,8,["model-value"])]),_:1}),z.value?(vue.openBlock(),vue.createBlock(q,{key:0,label:"默认值"},{default:vue.withCtx(()=>[vue.createVNode(DefaultValuePlaceholder,{"type-name":R.value?.name},null,8,["type-name"])]),_:1})):vue.createCommentVNode("",!0),vue.createElementVNode("div",{class:"advanced-toggle",onClick:te[0]||(te[0]=J=>k.value=!k.value)},[te[3]||(te[3]=vue.createElementVNode("span",null,"高级配置",-1)),vue.createElementVNode("i",{class:vue.normalizeClass(["bkflow-canvas-icon bkflow-canvas-arrows-down arrow-icon",k.value?"advanced-open":""])},null,2)]),k.value?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createVNode(q,{label:"输入指引提示"},{default:vue.withCtx(()=>[vue.createVNode(ee,{modelValue:vue.unref($),"onUpdate:modelValue":te[1]||(te[1]=J=>vue.isRef($)?$.value=J:null),type:"textarea",rows:2,resize:!1,maxlength:100,disabled:!r.editable,placeholder:"请输入",onChange:vue.unref(L)},null,8,["modelValue","disabled","onChange"])]),_:1}),vue.createVNode(q,{label:"校验错误提示"},{default:vue.withCtx(()=>[vue.createVNode(ee,{modelValue:vue.unref(H),"onUpdate:modelValue":te[2]||(te[2]=J=>vue.isRef(H)?H.value=J:null),type:"textarea",rows:2,resize:!1,maxlength:100,disabled:!r.editable,placeholder:"校验不通过,请重新输入",onChange:vue.unref(L)},null,8,["modelValue","disabled","onChange"])]),_:1})],64)):vue.createCommentVNode("",!0)]),_:1},8,["model"])}}}),BuiltinPlaceholderConfig=_export_sfc(_sfc_main$1X,[["__scopeId","data-v-9a557d01"]]),_hoisted_1$29={class:"candidate-data-config"},_hoisted_2$1B={class:"bk-button-group option-source-button-group"},_hoisted_3$19={class:"option-table-wrapper"},_hoisted_4$T={key:0,class:"option-table"},_hoisted_5$I=["onDragstart","onDragover","onDrop"],_hoisted_6$y={class:"option-value-cell"},_hoisted_7$o={class:"action-cell"},_hoisted_8$j={class:"action-cell-inner"},_hoisted_9$h=["onClick"],_hoisted_10$f=["onClick"],_hoisted_11$f={key:1,class:"related-data-config"},_hoisted_12$d={key:0,class:"validate-message"},_hoisted_13$b={class:"select-settings"},SELECT_ALL_VALUE$1="__ALL__",_sfc_main$1W=vue.defineComponent({__name:"builtin-select-config",props:{variable:{},editable:{type:Boolean,default:!0}},emits:["change"],setup(e,{expose:t,emit:n}){const r={id:SELECT_ALL_VALUE$1,name:"- ALL -"},i=[r],C=[],k=e,y=n,B=vue.ref(),L=vue.ref(""),R=vue.ref(-1),z=vue.ref(-1),{localData:j,formModel:$,handleChange:H}=useLocalVariableConfig(k,y),Q=vue.computed(()=>j.value.source_type!=="component_outputs"),W=()=>`option_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,te=vue.computed(()=>j.value.meta||{}),ee=Re=>{j.value.meta={...j.value.meta||{},...Re}},q=Re=>{const Xe=(Array.isArray(Re)?Re:[]).map(Me=>{const nt=Me.value??"";return{id:Me.id||W(),value:nt,label:Me.label||nt}});return Xe.length>0?Xe:[{id:"option_empty",label:"",value:""}]},G=vue.computed({get:()=>te.value.option_source||"manual",set:Re=>{ee({option_source:Re}),ee(Re==="manual"?{options:q(te.value.options)}:{related:{source:te.value.related?.source||"",candidate_values:se(te.value.related?.candidate_values)}}),pe(),L.value="",H()}}),J=Re=>{!k.editable||G.value===Re||(G.value=Re)},Z=vue.computed(()=>q(te.value.options)),ne=vue.computed({get:()=>!!te.value.multiple,set:Re=>{ee({multiple:Re,include_all:Re?!!te.value.include_all:!1})}}),oe=vue.computed({get:()=>!!te.value.include_all,set:Re=>{ee({include_all:Re})}}),ae=vue.computed({get:()=>te.value.related?.source||"",set:Re=>{ee({related:{source:Re,candidate_values:se(te.value.related?.candidate_values)}})}}),se=Re=>{const Je=Array.isArray(Re)&&Re.length>0?Re:[SELECT_ALL_VALUE$1];return Je.includes(SELECT_ALL_VALUE$1)?[SELECT_ALL_VALUE$1]:Je},de=vue.computed({get:()=>se(te.value.related?.candidate_values),set:Re=>{ee({related:{source:ae.value,candidate_values:se(Re)}})}}),ge=vue.computed(()=>i),fe=vue.computed(()=>C),ie=vue.computed(()=>{const Re=G.value==="manual"?Z.value.filter(Je=>Je.value.trim().length>0).map(Je=>({id:Je.value,name:Je.label||Je.value})):ge.value.filter(Je=>de.value.includes(Je.id));return ne.value&&oe.value?[r,...Re.filter(Je=>Je.id!==SELECT_ALL_VALUE$1)]:Re.filter(Je=>Je.id!==SELECT_ALL_VALUE$1)}),ce=vue.computed({get:()=>ne.value?Array.isArray(j.value.value)?j.value.value:[]:Array.isArray(j.value.value)?j.value.value[0]||"":j.value.value||"",set:Re=>{j.value.value=ne.value?Array.isArray(Re)?Re:Re?[Re]:[]:Re||""}}),pe=()=>{j.value.value=ne.value?[]:""},le=Re=>{ee({options:Re}),ue(Re.map(Je=>Je.value)),H()},ue=Re=>{if(ne.value){const Je=Array.isArray(j.value.value)?j.value.value:[];j.value.value=Je.filter(Xe=>Re.includes(Xe));return}Re.includes(String(j.value.value||""))||(j.value.value="")},he=(Re,Je)=>{const Xe=Z.value.slice(),Me=String(Je??"");Xe[Re]={...Xe[Re],value:Me,label:Me},L.value="",le(Xe)},ye=Re=>{const Je=Z.value.slice();Je.splice(Re+1,0,{id:W(),label:"",value:""}),L.value="",le(Je)},_e=Re=>{const Je=Z.value.slice();Je.splice(Re,1),L.value="",le(Je)},Ne=(Re,Je)=>{k.editable&&(R.value=Re,Je.dataTransfer&&(Je.dataTransfer.effectAllowed="move"))},be=Re=>{k.editable&&(z.value=Re)},Ae=()=>{z.value=-1},Te=Re=>{const Je=R.value;if(!k.editable||Je<0||Je===Re)return;const Xe=Z.value.slice(),[Me]=Xe.splice(Je,1);Xe.splice(Re,0,Me),le(Xe)},Ze=()=>{R.value=-1,z.value=-1},lt=()=>{de.value.includes(SELECT_ALL_VALUE$1)&&(de.value=[SELECT_ALL_VALUE$1]),pe(),H()},Ge=()=>{pe(),H()},st=()=>{ue(ie.value.map(Re=>Re.id)),H()},Ue=()=>{ne.value&&Array.isArray(j.value.value)&&j.value.value.includes(SELECT_ALL_VALUE$1)&&(j.value.value=[SELECT_ALL_VALUE$1]),H()},De=()=>{if(G.value!=="manual")return!0;const Re=Z.value.map(Je=>Je.value.trim());return Re.some(Je=>Je.length===0)?(L.value="请输入候选值",!1):new Set(Re).size!==Re.length?(L.value="候选值不能重复",!1):(L.value="",!0)},We=()=>G.value!=="related"?!0:ae.value.trim()?(L.value="",!0):(L.value="请选择关联数据",!1);return t({validate:async()=>await validateBkForm(B)&&De()&&We()}),(Re,Je)=>{const Xe=vue.resolveComponent("bk-button"),Me=vue.resolveComponent("bk-input"),nt=vue.resolveComponent("bk-select"),et=vue.resolveComponent("bk-form-item"),wt=vue.resolveComponent("bk-checkbox"),tt=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createBlock(tt,{ref_key:"formRef",ref:B,"label-width":110,model:vue.unref($)},{default:vue.withCtx(()=>[vue.createVNode(et,{label:"候选数据"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$29,[vue.createElementVNode("div",_hoisted_2$1B,[vue.createVNode(Xe,{class:vue.normalizeClass({"is-selected":G.value==="manual"}),disabled:!k.editable,onClick:Je[0]||(Je[0]=ot=>J("manual"))},{default:vue.withCtx(()=>[...Je[7]||(Je[7]=[vue.createTextVNode(" 手动输入 ",-1)])]),_:1},8,["class","disabled"]),vue.createVNode(Xe,{class:vue.normalizeClass({"is-selected":G.value==="related"}),disabled:!k.editable,onClick:Je[1]||(Je[1]=ot=>J("related"))},{default:vue.withCtx(()=>[...Je[8]||(Je[8]=[vue.createTextVNode(" 关联数据 ",-1)])]),_:1},8,["class","disabled"])]),vue.createElementVNode("div",_hoisted_3$19,[G.value==="manual"?(vue.openBlock(),vue.createElementBlock("table",_hoisted_4$T,[Je[12]||(Je[12]=vue.createElementVNode("colgroup",null,[vue.createElementVNode("col",{class:"drag-col"}),vue.createElementVNode("col"),vue.createElementVNode("col",{class:"action-col"})],-1)),Je[13]||(Je[13]=vue.createElementVNode("thead",null,[vue.createElementVNode("tr",null,[vue.createElementVNode("th"),vue.createElementVNode("th",null,[vue.createTextVNode("候选值 "),vue.createElementVNode("span",{class:"required"},"*")]),vue.createElementVNode("th")])],-1)),vue.createElementVNode("tbody",null,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Z.value,(ot,gt)=>(vue.openBlock(),vue.createElementBlock("tr",{key:ot.id,class:vue.normalizeClass({"drag-over":z.value===gt}),draggable:"true",onDragstart:Et=>Ne(gt,Et),onDragover:vue.withModifiers(Et=>be(gt),["prevent"]),onDragleave:Ae,onDrop:vue.withModifiers(Et=>Te(gt),["prevent"]),onDragend:Ze},[Je[11]||(Je[11]=vue.createElementVNode("td",{class:"drag-cell"},[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-drag drag-handle"})],-1)),vue.createElementVNode("td",_hoisted_6$y,[vue.createVNode(Me,{class:"option-value-input","model-value":ot.value,disabled:!k.editable,placeholder:"请输入",onChange:Et=>he(gt,Et)},null,8,["model-value","disabled","onChange"])]),vue.createElementVNode("td",_hoisted_7$o,[vue.createElementVNode("div",_hoisted_8$j,[vue.createElementVNode("div",{class:vue.normalizeClass(["action-btn",{disabled:!k.editable}]),onClick:Et=>ye(gt)},[...Je[9]||(Je[9]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-plus-circle-shape"},null,-1)])],10,_hoisted_9$h),vue.createElementVNode("div",{class:vue.normalizeClass(["action-btn",{disabled:!k.editable||Z.value.length<=1}]),onClick:Et=>_e(gt)},[...Je[10]||(Je[10]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-minus-circle-shape"},null,-1)])],10,_hoisted_10$f)])])],42,_hoisted_5$I))),128))])])):(vue.openBlock(),vue.createElementBlock("div",_hoisted_11$f,[vue.createVNode(nt,{modelValue:ae.value,"onUpdate:modelValue":Je[2]||(Je[2]=ot=>ae.value=ot),prefix:"关联数据",disabled:!k.editable,clearable:!1,list:fe.value,"id-key":"id","display-key":"name",placeholder:"节点名称/参数label",onChange:vue.unref(H)},null,8,["modelValue","disabled","list","onChange"]),vue.createVNode(nt,{modelValue:de.value,"onUpdate:modelValue":Je[3]||(Je[3]=ot=>de.value=ot),prefix:"候选值",multiple:"",disabled:!k.editable,clearable:!1,list:ge.value,"id-key":"id","display-key":"name",onChange:lt},null,8,["modelValue","disabled","list"])]))]),L.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_12$d,vue.toDisplayString(L.value),1)):vue.createCommentVNode("",!0)])]),_:1}),vue.createVNode(et,{label:"选择配置"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_13$b,[vue.createVNode(wt,{modelValue:ne.value,"onUpdate:modelValue":Je[4]||(Je[4]=ot=>ne.value=ot),disabled:!k.editable,onChange:Ge},{default:vue.withCtx(()=>[...Je[14]||(Je[14]=[vue.createTextVNode(" 支持多选 ",-1)])]),_:1},8,["modelValue","disabled"]),ne.value?(vue.openBlock(),vue.createBlock(wt,{key:0,modelValue:oe.value,"onUpdate:modelValue":Je[5]||(Je[5]=ot=>oe.value=ot),disabled:!k.editable,onChange:st},{default:vue.withCtx(()=>[...Je[15]||(Je[15]=[vue.createTextVNode(" 提供<全部> ",-1)])]),_:1},8,["modelValue","disabled"])):vue.createCommentVNode("",!0)])]),_:1}),Q.value?(vue.openBlock(),vue.createBlock(et,{key:0,label:"默认值"},{default:vue.withCtx(()=>[vue.createVNode(nt,{modelValue:ce.value,"onUpdate:modelValue":Je[6]||(Je[6]=ot=>ce.value=ot),multiple:ne.value,disabled:!k.editable,placeholder:"请选择",list:ie.value,"id-key":"id","display-key":"name",onChange:Ue},null,8,["modelValue","multiple","disabled","list"])]),_:1})):vue.createCommentVNode("",!0)]),_:1},8,["model"])}}}),BuiltinSelectConfig=_export_sfc(_sfc_main$1W,[["__scopeId","data-v-5a4e190a"]]),_sfc_main$1V=vue.defineComponent({__name:"builtin-text-config",props:{variable:{},editable:{type:Boolean,default:!0}},emits:["change"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.ref(),k=vue.ref(!1),{localData:y,formModel:B,handleChange:L}=useLocalVariableConfig(r,i),R=vue.computed(()=>y.value.custom_type==="input"),z=vue.computed(()=>y.value.source_type!=="component_outputs"),j=useMetaStringField(y,"placeholder"),$=useMetaStringField(y,"validation_error_msg"),H=[{value:"string",label:"string"},{value:"number",label:"number"}],Q=vue.computed(()=>y.value.meta?.data_type==="number"?"number":"string"),W=vue.computed({get:()=>{const G=y.value.value;if(G==null)return"";if(R.value&&Q.value==="number"){if(G==="")return"";const J=Number(G);return Number.isNaN(J)?"":J}return String(G)},set:G=>{if(R.value&&Q.value==="number"){y.value.value=G===""||G===null?"":Number(G);return}y.value.value=String(G??"")}}),te=G=>{if(y.value.meta={...y.value.meta||{},data_type:G},G==="number"){const J=Number(y.value.value);y.value.value=y.value.value===""||Number.isNaN(J)?"":J}else y.value.value=y.value.value===void 0||y.value.value===null?"":String(y.value.value);L()},ee={validation:[{validator:G=>{if(!G)return!0;try{return new RegExp(G),!0}catch{return!1}},message:"正则表达式格式不合法",trigger:"blur"}]};return t({validate:()=>validateBkForm(C)}),(G,J)=>{const Z=vue.resolveComponent("bk-select"),ne=vue.resolveComponent("bk-form-item"),oe=vue.resolveComponent("bk-input"),ae=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createBlock(ae,{ref_key:"formRef",ref:C,"label-width":110,model:vue.unref(B),rules:ee},{default:vue.withCtx(()=>[R.value?(vue.openBlock(),vue.createBlock(ne,{key:0,label:"数据类型"},{default:vue.withCtx(()=>[vue.createVNode(Z,{"model-value":Q.value,clearable:!1,list:H,disabled:!r.editable,onChange:te},null,8,["model-value","disabled"])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(ne,{label:"正则校验",property:"validation"},{default:vue.withCtx(()=>[vue.createVNode(oe,{modelValue:vue.unref(y).validation,"onUpdate:modelValue":J[0]||(J[0]=se=>vue.unref(y).validation=se),disabled:!r.editable,placeholder:"请输入正则",onChange:vue.unref(L)},null,8,["modelValue","disabled","onChange"])]),_:1}),z.value?(vue.openBlock(),vue.createBlock(ne,{key:1,label:"默认值"},{default:vue.withCtx(()=>[vue.unref(y).custom_type==="textarea"?(vue.openBlock(),vue.createBlock(oe,{key:0,modelValue:W.value,"onUpdate:modelValue":J[1]||(J[1]=se=>W.value=se),type:"textarea",rows:4,resize:!1,disabled:!r.editable,placeholder:"请输入",onChange:vue.unref(L)},null,8,["modelValue","disabled","onChange"])):(vue.openBlock(),vue.createBlock(oe,{key:1,modelValue:W.value,"onUpdate:modelValue":J[2]||(J[2]=se=>W.value=se),type:Q.value==="number"?"number":"text",disabled:!r.editable,placeholder:"请输入",onChange:vue.unref(L)},null,8,["modelValue","type","disabled","onChange"]))]),_:1})):vue.createCommentVNode("",!0),vue.createElementVNode("div",{class:"advanced-toggle",onClick:J[3]||(J[3]=se=>k.value=!k.value)},[J[6]||(J[6]=vue.createElementVNode("span",null,"高级配置",-1)),vue.createElementVNode("i",{class:vue.normalizeClass(["bkflow-canvas-icon bkflow-canvas-arrows-down arrow-icon",k.value?"advanced-open":""])},null,2)]),k.value?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:2},[vue.createVNode(ne,{label:"输入指引提示"},{default:vue.withCtx(()=>[vue.createVNode(oe,{modelValue:vue.unref(j),"onUpdate:modelValue":J[4]||(J[4]=se=>vue.isRef(j)?j.value=se:null),type:"textarea",rows:2,resize:!1,maxlength:100,disabled:!r.editable,placeholder:"请输入",onChange:vue.unref(L)},null,8,["modelValue","disabled","onChange"])]),_:1}),vue.createVNode(ne,{label:"校验错误提示"},{default:vue.withCtx(()=>[vue.createVNode(oe,{modelValue:vue.unref($),"onUpdate:modelValue":J[5]||(J[5]=se=>vue.isRef($)?$.value=se:null),type:"textarea",rows:2,resize:!1,maxlength:100,disabled:!r.editable,placeholder:"校验不通过,请重新输入",onChange:vue.unref(L)},null,8,["modelValue","disabled","onChange"])]),_:1})],64)):vue.createCommentVNode("",!0)]),_:1},8,["model"])}}}),BuiltinTextConfig=_export_sfc(_sfc_main$1V,[["__scopeId","data-v-96552b81"]]),_hoisted_1$28={key:0,class:"range-limit-controls"},_hoisted_2$1A={class:"custom-options-header"},_hoisted_3$18={key:0,class:"options-table-wrapper"},_hoisted_4$S={class:"options-table"},_hoisted_5$H=["onDragstart","onDragover","onDrop"],_hoisted_6$x={class:"expression-cell"},_hoisted_7$n={class:"option-label-cell"},_hoisted_8$i={class:"action-cell"},_hoisted_9$g={class:"action-cell-inner"},_hoisted_10$e=["onClick"],_hoisted_11$e=["onClick"],_hoisted_12$c={class:"default-value-area"},_hoisted_13$a={key:1,class:"relative-time-config"},_hoisted_14$6={key:1,class:"relative-time-config"},_hoisted_15$6={key:2,class:"validate-message"},_sfc_main$1U=vue.defineComponent({__name:"builtin-timepicker-config",props:{variable:{},editable:{type:Boolean,default:!0}},emits:["change"],setup(e,{expose:t,emit:n}){const r=[{value:"now",label:"此刻"},{value:"today",label:"今天"},{value:"yesterday",label:"昨天"},{value:"the_day_before_yesterday",label:"前天"}],i=[{value:"minute",label:"分钟"},{value:"hour",label:"小时"},{value:"day",label:"天"}],C=[{start_expr:"now-5m",end_expr:"now",label:"近5分钟"},{start_expr:"now-15m",end_expr:"now",label:"近15分钟"},{start_expr:"now-30m",end_expr:"now",label:"近30分钟"}],k={"5m":5*6e4,"15m":15*6e4,"30m":30*6e4,"1h":36e5,"2h":72e5,"6h":216e5,"1d":864e5,"7d":6048e5,"15d":1296e6,"30d":2592e6},y=e,B=n,L=vue.ref(),R=vue.ref(""),z=vue.ref(-1),j=vue.ref(-1),{localData:$,formModel:H,handleChange:Q}=useLocalVariableConfig(y,B),W=vue.computed(()=>$.value.source_type!=="component_outputs"),te=nt=>{const et=lodash$1.cloneDeep(TIME_PICKER_DEFAULT_VALUE);if(!nt||typeof nt!="object")return et;const wt={...et,...lodash$1.cloneDeep(nt)};return(!Array.isArray(wt.methods)||wt.methods.length===0)&&(wt.methods=wt.time_base==="absolute"?["absolute"]:["relative"]),wt.type==="time_point"&&(wt.methods=[wt.methods[0]||"absolute"]),wt.range_limit_enabled===void 0&&(wt.range_limit_enabled=!1),wt.time_offset=Number(wt.time_offset)||1,wt},ee=nt=>{G.value=nt.type==="time_point"&&nt.methods?.[0]==="relative"?"relative":nt.type==="time_point"&&nt.methods?.[0]||"absolute",J.value=nt.datetime||"",Z.value=nt.start_time&&nt.end_time?[nt.start_time,nt.end_time]:[],ne.value=nt.range_limit_start&&nt.range_limit_end?[nt.range_limit_start,nt.range_limit_end]:[],oe.value=nt.custom_options?.length?lodash$1.cloneDeep(nt.custom_options):lodash$1.cloneDeep(C)},q=vue.ref(te($.value.value)),G=vue.ref("absolute"),J=vue.ref(""),Z=vue.ref([]),ne=vue.ref([]),oe=vue.ref(lodash$1.cloneDeep(C));ee(q.value),vue.watch(()=>$.value.value,nt=>{const et=te(nt);q.value=et,ee(et)},{deep:!0});const ae=vue.computed(()=>q.value.methods?.includes("absolute")),se=vue.computed(()=>q.value.methods?.includes("relative")),de=vue.computed(()=>q.value.custom_options_enabled&&oe.value.length?oe.value:C),ge=vue.computed(()=>de.value.map(nt=>{const wt=nt.start_expr.match(/^now-(\d+[a-z]+)$/)?.[1]||"",tt=k[wt]||36e5;return{text:nt.label,value:()=>{const ot=new Date;return[new Date(ot.getTime()-tt),ot]}}})),fe=()=>{if(q.value.type==="time_range"){q.value.start_time=Z.value[0]||"",q.value.end_time=Z.value[1]||"",delete q.value.datetime;return}q.value.datetime=J.value||"",delete q.value.start_time,delete q.value.end_time},ie=()=>{R.value="";const nt=lodash$1.cloneDeep(q.value);nt.methods?.includes("absolute")||(delete nt.start_time,delete nt.end_time,delete nt.datetime),$.value.value=nt,Q()},ce=()=>{q.value.type==="time_point"?(q.value.methods=[G.value],q.value.custom_options_enabled=!1):q.value.methods=["relative"],q.value.time_base="now",ie()},pe=nt=>{q.value.methods=nt.length>0?nt:["relative"],q.value.methods.includes("absolute")&&q.value.type==="time_range"&&fe(),ie()},le=nt=>{G.value=nt,q.value.methods=[nt],nt==="absolute"?(q.value.time_base="absolute",fe()):(q.value.time_base="now",delete q.value.start_time,delete q.value.end_time,delete q.value.datetime),ie()},ue=()=>{q.value.range_limit_enabled&&(q.value.range_limit_type=q.value.range_limit_type||"absolute_range",q.value.range_limit_offset=q.value.range_limit_offset||1,q.value.range_limit_unit=q.value.range_limit_unit||"year"),ie()},he=()=>{q.value.range_limit_start=ne.value[0]||"",q.value.range_limit_end=ne.value[1]||"",ie()},ye=nt=>{q.value.range_limit_offset=Number(nt)||1,ie()},_e=()=>{q.value.custom_options_enabled&&!oe.value.length&&(oe.value=lodash$1.cloneDeep(C)),be()},Ne=()=>{y.editable&&(oe.value=lodash$1.cloneDeep(C),be())},be=()=>{q.value.custom_options=lodash$1.cloneDeep(oe.value),ie()},Ae=nt=>{y.editable&&(oe.value.splice(nt+1,0,{start_expr:"now-1h",end_expr:"now",label:""}),be())},Te=nt=>{!y.editable||oe.value.length<=1||(oe.value.splice(nt,1),be())},Ze=(nt,et)=>{y.editable&&(z.value=nt,et.dataTransfer&&(et.dataTransfer.effectAllowed="move"))},lt=nt=>{y.editable&&(j.value=nt)},Ge=()=>{j.value=-1},st=nt=>{const et=z.value;if(!y.editable||et<0||et===nt)return;const[wt]=oe.value.splice(et,1);oe.value.splice(nt,0,wt),be()},Ue=()=>{z.value=-1,j.value=-1},De=nt=>{q.value.time_offset=Number(nt)||1,ie()},We=()=>{fe(),ie()},Ye=nt=>{const et=Ft=>String(Ft).padStart(2,"0"),wt=nt.getFullYear(),tt=et(nt.getMonth()+1),ot=et(nt.getDate()),gt=et(nt.getHours()),Et=et(nt.getMinutes()),Dt=et(nt.getSeconds());return`${wt}-${tt}-${ot} ${gt}:${Et}:${Dt}`},Re=nt=>{if(typeof nt?.value=="function"){const et=nt.value();Array.isArray(et)&&et.length>=2&&(Z.value=et.map(wt=>wt instanceof Date?Ye(wt):String(wt)))}fe(),ie()},Je=()=>{if(!q.value.range_limit_enabled)return!0;if(q.value.range_limit_type==="absolute_range"){if(!q.value.range_limit_start||!q.value.range_limit_end)return R.value="请选择限制可选范围",!1}else if(!q.value.range_limit_offset||Number(q.value.range_limit_offset)<1)return R.value="请输入有效的限制范围",!1;return!0},Xe=()=>!q.value.custom_options_enabled||q.value.type!=="time_range"||!ae.value||!se.value?!0:oe.value.some(et=>!et.start_expr.trim()||!et.end_expr.trim()||!et.label.trim())?(R.value="请完善定制相对时间选项",!1):!0;return t({validate:async()=>(R.value="",await validateBkForm(L)&&Je()&&Xe())}),(nt,et)=>{const wt=vue.resolveComponent("bk-radio-button"),tt=vue.resolveComponent("bk-radio-group"),ot=vue.resolveComponent("bk-form-item"),gt=vue.resolveComponent("bk-checkbox"),Et=vue.resolveComponent("bk-checkbox-group"),Dt=vue.resolveComponent("bk-radio"),Ft=vue.resolveComponent("bk-switcher"),Nt=vue.resolveComponent("bk-option"),Pe=vue.resolveComponent("bk-select"),at=vue.resolveComponent("bk-date-picker"),_t=vue.resolveComponent("bk-input"),Oe=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createBlock(Oe,{ref_key:"formRef",ref:L,"label-width":110,model:vue.unref(H)},{default:vue.withCtx(()=>[vue.createVNode(ot,{label:"选择类型",required:""},{default:vue.withCtx(()=>[vue.createVNode(tt,{modelValue:q.value.type,"onUpdate:modelValue":et[0]||(et[0]=Be=>q.value.type=Be),disabled:!y.editable,onChange:ce},{default:vue.withCtx(()=>[vue.createVNode(wt,{label:"time_range"},{default:vue.withCtx(()=>[...et[17]||(et[17]=[vue.createTextVNode("时间范围",-1)])]),_:1}),vue.createVNode(wt,{label:"time_point"},{default:vue.withCtx(()=>[...et[18]||(et[18]=[vue.createTextVNode("时间点",-1)])]),_:1})]),_:1},8,["modelValue","disabled"])]),_:1}),vue.createVNode(ot,{label:"选择方式",required:""},{default:vue.withCtx(()=>[q.value.type==="time_range"?(vue.openBlock(),vue.createBlock(Et,{key:0,modelValue:q.value.methods,"onUpdate:modelValue":et[1]||(et[1]=Be=>q.value.methods=Be),disabled:!y.editable,onChange:pe},{default:vue.withCtx(()=>[vue.createVNode(gt,{label:"absolute",size:"small"},{default:vue.withCtx(()=>[...et[19]||(et[19]=[vue.createTextVNode("绝对时间(具体日期)",-1)])]),_:1}),vue.createVNode(gt,{label:"relative",size:"small"},{default:vue.withCtx(()=>[...et[20]||(et[20]=[vue.createTextVNode("相对时间",-1)])]),_:1})]),_:1},8,["modelValue","disabled"])):(vue.openBlock(),vue.createBlock(tt,{key:1,modelValue:G.value,"onUpdate:modelValue":et[2]||(et[2]=Be=>G.value=Be),disabled:!y.editable,onChange:le},{default:vue.withCtx(()=>[vue.createVNode(Dt,{label:"absolute"},{default:vue.withCtx(()=>[...et[21]||(et[21]=[vue.createTextVNode("绝对时间点",-1)])]),_:1}),vue.createVNode(Dt,{label:"relative"},{default:vue.withCtx(()=>[...et[22]||(et[22]=[vue.createTextVNode("相对时间点",-1)])]),_:1})]),_:1},8,["modelValue","disabled"]))]),_:1}),vue.createVNode(ot,{label:"限制可选范围"},{default:vue.withCtx(()=>[vue.createVNode(Ft,{modelValue:q.value.range_limit_enabled,"onUpdate:modelValue":et[3]||(et[3]=Be=>q.value.range_limit_enabled=Be),disabled:!y.editable,theme:"primary",onChange:ue},null,8,["modelValue","disabled"]),q.value.range_limit_enabled?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$28,[vue.createVNode(Pe,{modelValue:q.value.range_limit_type,"onUpdate:modelValue":et[4]||(et[4]=Be=>q.value.range_limit_type=Be),class:"limit-type-select",disabled:!y.editable,clearable:!1,onChange:ie},{default:vue.withCtx(()=>[vue.createVNode(Nt,{value:"absolute_range",label:"绝对时间范围"}),vue.createVNode(Nt,{value:"relative",label:"最近"})]),_:1},8,["modelValue","disabled"]),q.value.range_limit_type==="absolute_range"?(vue.openBlock(),vue.createBlock(at,{key:0,modelValue:ne.value,"onUpdate:modelValue":et[5]||(et[5]=Be=>ne.value=Be),type:"datetimerange",class:"limit-date-picker",disabled:!y.editable,clearable:!1,"append-to-body":!0,format:"yyyy-MM-dd HH:mm:ss",onChange:he},null,8,["modelValue","disabled"])):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createVNode(_t,{modelValue:q.value.range_limit_offset,"onUpdate:modelValue":et[6]||(et[6]=Be=>q.value.range_limit_offset=Be),class:"limit-offset-input",type:"number",min:1,disabled:!y.editable,clearable:!1,onChange:ye},null,8,["modelValue","disabled"]),vue.createVNode(Pe,{modelValue:q.value.range_limit_unit,"onUpdate:modelValue":et[7]||(et[7]=Be=>q.value.range_limit_unit=Be),class:"limit-unit-select",disabled:!y.editable,clearable:!1,onChange:ie},{default:vue.withCtx(()=>[vue.createVNode(Nt,{value:"minute",label:"分钟"}),vue.createVNode(Nt,{value:"hour",label:"小时"}),vue.createVNode(Nt,{value:"day",label:"天"}),vue.createVNode(Nt,{value:"month",label:"月"}),vue.createVNode(Nt,{value:"year",label:"年"})]),_:1},8,["modelValue","disabled"])],64))])):vue.createCommentVNode("",!0)]),_:1}),q.value.type==="time_range"&&ae.value&&se.value?(vue.openBlock(),vue.createBlock(ot,{key:0,label:"定制相对时间选项"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$1A,[vue.createVNode(Ft,{modelValue:q.value.custom_options_enabled,"onUpdate:modelValue":et[8]||(et[8]=Be=>q.value.custom_options_enabled=Be),disabled:!y.editable,theme:"primary",onChange:_e},null,8,["modelValue","disabled"]),q.value.custom_options_enabled?(vue.openBlock(),vue.createElementBlock("span",{key:0,class:vue.normalizeClass(["restore-btn",{disabled:!y.editable}]),onClick:Ne},[...et[23]||(et[23]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-revoke"},null,-1),vue.createTextVNode(" 恢复初始化 ",-1)])],2)):vue.createCommentVNode("",!0)]),q.value.custom_options_enabled?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$18,[vue.createElementVNode("table",_hoisted_4$S,[et[28]||(et[28]=vue.createElementVNode("colgroup",null,[vue.createElementVNode("col",{class:"drag-col"}),vue.createElementVNode("col",{class:"expr-col"}),vue.createElementVNode("col"),vue.createElementVNode("col",{class:"action-col"})],-1)),et[29]||(et[29]=vue.createElementVNode("thead",null,[vue.createElementVNode("tr",null,[vue.createElementVNode("th"),vue.createElementVNode("th",null,[vue.createTextVNode("时间表达式 "),vue.createElementVNode("span",{class:"required"},"*")]),vue.createElementVNode("th",null,[vue.createTextVNode("选项显示名 "),vue.createElementVNode("span",{class:"required"},"*")]),vue.createElementVNode("th")])],-1)),vue.createElementVNode("tbody",null,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(oe.value,(Be,Ee)=>(vue.openBlock(),vue.createElementBlock("tr",{key:Ee,class:vue.normalizeClass({"drag-over":j.value===Ee}),draggable:"true",onDragstart:ve=>Ze(Ee,ve),onDragover:vue.withModifiers(ve=>lt(Ee),["prevent"]),onDragleave:Ge,onDrop:vue.withModifiers(ve=>st(Ee),["prevent"]),onDragend:Ue},[et[27]||(et[27]=vue.createElementVNode("td",{class:"drag-cell"},[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-drag drag-handle"})],-1)),vue.createElementVNode("td",_hoisted_6$x,[vue.createVNode(_t,{modelValue:Be.start_expr,"onUpdate:modelValue":ve=>Be.start_expr=ve,disabled:!y.editable,size:"small",onBlur:be},null,8,["modelValue","onUpdate:modelValue","disabled"]),et[24]||(et[24]=vue.createElementVNode("span",{class:"expr-sep"},"~",-1)),vue.createVNode(_t,{modelValue:Be.end_expr,"onUpdate:modelValue":ve=>Be.end_expr=ve,disabled:!y.editable,size:"small",onBlur:be},null,8,["modelValue","onUpdate:modelValue","disabled"])]),vue.createElementVNode("td",_hoisted_7$n,[vue.createVNode(_t,{modelValue:Be.label,"onUpdate:modelValue":ve=>Be.label=ve,disabled:!y.editable,size:"small",onBlur:be},null,8,["modelValue","onUpdate:modelValue","disabled"])]),vue.createElementVNode("td",_hoisted_8$i,[vue.createElementVNode("div",_hoisted_9$g,[vue.createElementVNode("div",{class:vue.normalizeClass(["action-btn",{disabled:!y.editable}]),onClick:ve=>Ae(Ee)},[...et[25]||(et[25]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-plus-circle-shape"},null,-1)])],10,_hoisted_10$e),vue.createElementVNode("div",{class:vue.normalizeClass(["action-btn",{disabled:!y.editable||oe.value.length<=1}]),onClick:ve=>Te(Ee)},[...et[26]||(et[26]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-minus-circle-shape"},null,-1)])],10,_hoisted_11$e)])])],42,_hoisted_5$H))),128))])])])):vue.createCommentVNode("",!0)]),_:1})):vue.createCommentVNode("",!0),W.value?(vue.openBlock(),vue.createBlock(ot,{key:1,label:"默认值"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_12$c,[q.value.type==="time_range"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[ae.value&&!se.value?(vue.openBlock(),vue.createBlock(at,{key:0,modelValue:Z.value,"onUpdate:modelValue":et[9]||(et[9]=Be=>Z.value=Be),type:"datetimerange",disabled:!y.editable,clearable:!1,"append-to-body":!0,format:"yyyy-MM-dd HH:mm:ss",onChange:We},null,8,["modelValue","disabled"])):!ae.value&&se.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_13$a,[et[30]||(et[30]=vue.createElementVNode("span",{class:"relative-label"},"基于",-1)),vue.createVNode(Pe,{modelValue:q.value.time_base,"onUpdate:modelValue":et[10]||(et[10]=Be=>q.value.time_base=Be),class:"base-select",disabled:!y.editable,clearable:!1,onChange:ie},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(r,Be=>vue.createVNode(Nt,{key:Be.value,value:Be.value,label:Be.label},null,8,["value","label"])),64))]),_:1},8,["modelValue","disabled"]),et[31]||(et[31]=vue.createElementVNode("span",{class:"relative-label"},"的最近",-1)),vue.createVNode(_t,{modelValue:q.value.time_offset,"onUpdate:modelValue":et[11]||(et[11]=Be=>q.value.time_offset=Be),class:"offset-input",type:"number",min:1,disabled:!y.editable,clearable:!1,onChange:De},null,8,["modelValue","disabled"]),vue.createVNode(Pe,{modelValue:q.value.time_unit,"onUpdate:modelValue":et[12]||(et[12]=Be=>q.value.time_unit=Be),class:"unit-select",disabled:!y.editable,clearable:!1,onChange:ie},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(i,Be=>vue.createVNode(Nt,{key:Be.value,value:Be.value,label:Be.label},null,8,["value","label"])),64))]),_:1},8,["modelValue","disabled"])])):ae.value&&se.value?(vue.openBlock(),vue.createBlock(at,{key:2,modelValue:Z.value,"onUpdate:modelValue":et[13]||(et[13]=Be=>Z.value=Be),type:"datetimerange",disabled:!y.editable,clearable:!1,"append-to-body":!0,shortcuts:ge.value,"shortcut-close":!0,"use-shortcut-text":!0,format:"yyyy-MM-dd HH:mm:ss",onChange:We,onShortcutChange:Re},null,8,["modelValue","disabled","shortcuts"])):vue.createCommentVNode("",!0)],64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[G.value==="absolute"?(vue.openBlock(),vue.createBlock(at,{key:0,modelValue:J.value,"onUpdate:modelValue":et[14]||(et[14]=Be=>J.value=Be),type:"datetime",disabled:!y.editable,clearable:!1,"append-to-body":!0,format:"yyyy-MM-dd HH:mm:ss",onChange:We},null,8,["modelValue","disabled"])):(vue.openBlock(),vue.createElementBlock("div",_hoisted_14$6,[et[32]||(et[32]=vue.createElementVNode("span",{class:"relative-label"},"最近",-1)),vue.createVNode(_t,{modelValue:q.value.time_offset,"onUpdate:modelValue":et[15]||(et[15]=Be=>q.value.time_offset=Be),class:"offset-input",type:"number",min:1,disabled:!y.editable,clearable:!1,onChange:De},null,8,["modelValue","disabled"]),vue.createVNode(Pe,{modelValue:q.value.time_unit,"onUpdate:modelValue":et[16]||(et[16]=Be=>q.value.time_unit=Be),class:"unit-select",disabled:!y.editable,clearable:!1,onChange:ie},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(i,Be=>vue.createVNode(Nt,{key:Be.value,value:Be.value,label:Be.label},null,8,["value","label"])),64))]),_:1},8,["modelValue","disabled"])]))],64))])]),_:1})):vue.createCommentVNode("",!0),R.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_15$6,vue.toDisplayString(R.value),1)):vue.createCommentVNode("",!0)]),_:1},8,["model"])}}}),BuiltinTimepickerConfig=_export_sfc(_sfc_main$1U,[["__scopeId","data-v-afabe53d"]]),_sfc_main$1T=vue.defineComponent({__name:"remote-variable-config",props:{variable:{},editable:{type:Boolean,default:!0}},emits:["change"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.ref(),k=vue.ref(!1),{localData:y,formModel:B,handleChange:L}=useLocalVariableConfig(r,i),R=vue.computed(()=>["input","textarea"].includes(y.value.custom_type)),z=vue.computed(()=>y.value.source_type!=="component_outputs"),j=useMetaStringField(y,"placeholder"),$=useMetaStringField(y,"validation_error_msg"),H=vue.computed(()=>{const te=y.value.meta||{};if(te.data_type)return te.data_type;switch(y.value.custom_type){case"input":case"textarea":return"string";case"json_variable":return"json";default:return y.value.custom_type||"--"}}),Q={validation:[{validator:te=>{if(!te)return!0;try{return new RegExp(te),!0}catch{return!1}},message:"正则表达式格式不合法",trigger:"blur"}]};return t({validate:()=>validateBkForm(C)}),(te,ee)=>{const q=vue.resolveComponent("bk-input"),G=vue.resolveComponent("bk-form-item"),J=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createBlock(J,{ref_key:"formRef",ref:C,"label-width":130,model:vue.unref(B),rules:Q},{default:vue.withCtx(()=>[vue.createVNode(G,{label:"数据类型"},{default:vue.withCtx(()=>[vue.createVNode(q,{"model-value":H.value,disabled:""},null,8,["model-value"])]),_:1}),R.value?(vue.openBlock(),vue.createBlock(G,{key:0,label:"正则校验",property:"validation"},{default:vue.withCtx(()=>[vue.createVNode(q,{modelValue:vue.unref(y).validation,"onUpdate:modelValue":ee[0]||(ee[0]=Z=>vue.unref(y).validation=Z),disabled:!r.editable,placeholder:"请输入正则",onChange:vue.unref(L)},null,8,["modelValue","disabled","onChange"])]),_:1})):vue.createCommentVNode("",!0),z.value?(vue.openBlock(),vue.createBlock(G,{key:1,label:"默认值"},{default:vue.withCtx(()=>[vue.createVNode(DefaultValuePlaceholder,{"type-name":vue.unref(y).custom_type},null,8,["type-name"])]),_:1})):vue.createCommentVNode("",!0),vue.createElementVNode("div",{class:"advanced-toggle",onClick:ee[1]||(ee[1]=Z=>k.value=!k.value)},[ee[4]||(ee[4]=vue.createElementVNode("span",null,"高级配置",-1)),vue.createElementVNode("i",{class:vue.normalizeClass(["bkflow-canvas-icon bkflow-canvas-arrows-down arrow-icon",k.value?"advanced-open":""])},null,2)]),k.value?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:2},[vue.createVNode(G,{label:"输入指引提示"},{default:vue.withCtx(()=>[vue.createVNode(q,{modelValue:vue.unref(j),"onUpdate:modelValue":ee[2]||(ee[2]=Z=>vue.isRef(j)?j.value=Z:null),type:"textarea",rows:2,resize:!1,maxlength:100,disabled:!r.editable,placeholder:"请输入",onChange:vue.unref(L)},null,8,["modelValue","disabled","onChange"])]),_:1}),vue.createVNode(G,{label:"校验错误提示"},{default:vue.withCtx(()=>[vue.createVNode(q,{modelValue:vue.unref($),"onUpdate:modelValue":ee[3]||(ee[3]=Z=>vue.isRef($)?$.value=Z:null),type:"textarea",rows:2,resize:!1,maxlength:100,disabled:!r.editable,placeholder:"校验不通过,请重新输入",onChange:vue.unref(L)},null,8,["modelValue","disabled","onChange"])]),_:1})],64)):vue.createCommentVNode("",!0)]),_:1},8,["model"])}}}),RemoteVariableConfig=_export_sfc(_sfc_main$1T,[["__scopeId","data-v-b1ab9245"]]),BUILTIN_CONFIG_COMPONENTS={input:BuiltinTextConfig,textarea:BuiltinTextConfig,select:BuiltinSelectConfig,filter:BuiltinPlaceholderConfig,timepicker:BuiltinTimepickerConfig,json:BuiltinJsonConfig,array:BuiltinArrayConfig},getBuiltinConfigComponent=e=>{const t=normalizeBuiltinTypeCode(e);return BUILTIN_CONFIG_COMPONENTS[t]||BuiltinPlaceholderConfig},_hoisted_1$27={class:"bkflow-variable-component-config"},_sfc_main$1S=vue.defineComponent({__name:"global-variable-component-config",props:{variable:{},editable:{type:Boolean,default:!0},typeMode:{default:"builtin"},customVariableTypes:{default:()=>[]}},emits:["change"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.ref(lodash$1.cloneDeep(r.variable)),k=vue.ref();vue.watch(()=>r.variable,z=>{C.value=lodash$1.cloneDeep(z)},{deep:!0});const y=vue.computed(()=>r.typeMode==="builtin"?getBuiltinConfigComponent(C.value.custom_type):RemoteVariableConfig),B=vue.computed(()=>`${r.typeMode}:${C.value.custom_type}:${C.value.source_type}`),L=z=>{C.value=lodash$1.cloneDeep(z),i("change",lodash$1.cloneDeep(C.value))};return t({validate:async()=>k.value?.validate?k.value.validate():!0}),(z,j)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$27,[(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(y.value),{key:B.value,ref_key:"configRef",ref:k,variable:C.value,editable:r.editable,onChange:L},null,40,["variable","editable"]))]))}}),_hoisted_1$26={class:"global-variable-section"},_hoisted_2$1z=["aria-expanded","onKeydown"],_hoisted_3$17={class:"section-content"},_sfc_main$1R=vue.defineComponent({__name:"global-variable-section",props:{title:{},defaultExpanded:{type:Boolean,default:!0}},setup(e){const t=e,n=vue.ref(t.defaultExpanded);vue.watch(()=>t.defaultExpanded,C=>{n.value=C});const r=vue.computed(()=>n.value),i=()=>{n.value=!n.value};return(C,k)=>(vue.openBlock(),vue.createElementBlock("section",_hoisted_1$26,[vue.createElementVNode("h4",{class:vue.normalizeClass(["section-title",{collapsed:!n.value}]),tabindex:"0",role:"button","aria-expanded":n.value,onClick:i,onKeydown:[vue.withKeys(vue.withModifiers(i,["prevent"]),["enter"]),vue.withKeys(vue.withModifiers(i,["prevent"]),["space"])]},[k[0]||(k[0]=vue.createElementVNode("i",{class:"section-title-arrow"},null,-1)),vue.createTextVNode(" "+vue.toDisplayString(t.title),1)],42,_hoisted_2$1z),vue.withDirectives(vue.createElementVNode("div",_hoisted_3$17,[vue.renderSlot(C.$slots,"default",{},void 0,!0)],512),[[vue.vShow,r.value]])]))}}),GlobalVariableSection=_export_sfc(_sfc_main$1R,[["__scopeId","data-v-e0fe1e84"]]),_hoisted_1$25={class:"bkflow-variable-edit"},_sfc_main$1Q=vue.defineComponent({__name:"global-variable-edit",props:{variable:{},editable:{type:Boolean,default:!0},variablesReference:{default:()=>({defined:{},nodefined:{}})},customVariableTypes:{default:()=>[]},typeMode:{default:"builtin"}},emits:["change"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.ref(lodash$1.cloneDeep(r.variable)),k=vue.ref(r.variable.key),y=vue.ref(),B=vue.ref(),L=new Set(["system","space"]),R=vue.computed(()=>L.has(C.value.source_type)),z=vue.computed(()=>r.editable&&!R.value),j={name:[{required:!0,message:"请输入变量别名"}],key:[{validator:ne=>ne.trim().length>0,message:"KEY不能为空",trigger:"blur"},{validator:ne=>/(^\${(?!_env_|_system\.)[a-zA-Z_]\w*}$)|(^(?!_env_|_system\.)[a-zA-Z_]\w*$)/.test(ne),message:"变量 Key由英文字母、数字、下划线组成,不允许使用系统变量及业务环境变量命名规则,且不能以数字开头",trigger:"blur"}]},$=vue.computed(()=>r.variable.source_type!=="custom"?[{value:"component_inputs",label:"节点输入"},{value:"component_outputs",label:"节点输出"}]:r.typeMode==="builtin"?BUILTIN_VARIABLE_TYPES.filter(ne=>ne.code!=="filter").map(ne=>({value:ne.code,label:ne.name})):r.customVariableTypes.filter(ne=>["textarea","input","json_variable","time_picker"].includes(ne.code)).map(ne=>({value:ne.code,label:ne.name}))),H=vue.computed(()=>({...C.value,key:k.value})),Q=vue.computed(()=>{if(r.variable.key.length>0&&r.variablesReference?.defined&&r.variablesReference.defined[r.variable.key]){const{activities:ne,conditions:oe,constants:ae}=r.variablesReference.defined[r.variable.key];return ne.length+oe.length+ae.length>0}return!1}),W=vue.computed({get:()=>{const ne=C.value.meta||{};return typeof ne.required=="boolean"?ne.required:["input","textarea"].includes(C.value.custom_type)?!!C.value.validation:!1},set:ne=>{z.value&&(C.value.meta={...C.value.meta||{},required:ne})}});vue.watch(()=>r.variable,ne=>{C.value=lodash$1.cloneDeep(ne),k.value=ne.key},{deep:!0});const te=()=>{z.value&&(C.value.key=k.value,Z())},ee=ne=>{const oe=getBuiltinTypeByCode(ne),{required:ae}=C.value.meta||{};C.value.meta={...typeof ae=="boolean"?{required:ae}:{},...oe?.data_type?{data_type:oe.data_type}:{},...ne==="array"?{item_type:"string"}:{}},C.value.validation="",C.value.value=oe?lodash$1.cloneDeep(oe.default_value):"",C.value.source_tag=`${ne}.${ne}`},q=ne=>{z.value&&(C.value.custom_type=ne,ee(ne),Z())},G=ne=>{z.value&&(C.value=ne,i("change",lodash$1.cloneDeep(C.value)))},J=async()=>{const ne=await y.value.validate().then(()=>!0).catch(()=>!1);let oe=!0;return B.value&&(oe=await B.value.validate()),ne&&oe},Z=()=>{z.value&&i("change",lodash$1.cloneDeep(C.value))};return t({validate:J}),(ne,oe)=>{const ae=vue.resolveComponent("bk-input"),se=vue.resolveComponent("bk-form-item"),de=vue.resolveComponent("bk-select"),ge=vue.resolveComponent("bk-switcher"),fe=vue.resolveComponent("bk-radio"),ie=vue.resolveComponent("bk-radio-group"),ce=vue.resolveComponent("bk-form"),pe=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$25,[vue.createVNode(GlobalVariableSection,{class:"variable-edit-section",title:"基础信息"},{default:vue.withCtx(()=>[vue.createVNode(ce,{ref_key:"basicInfoFormRef",ref:y,"label-width":110,model:H.value,rules:j},{default:vue.withCtx(()=>[vue.createVNode(se,{label:"变量 Key",required:"",property:"key"},{default:vue.withCtx(()=>[vue.withDirectives(vue.createVNode(ae,{modelValue:k.value,"onUpdate:modelValue":oe[0]||(oe[0]=le=>k.value=le),disabled:!z.value||Q.value,placeholder:"请输入",onBlur:te},null,8,["modelValue","disabled"]),[[pe,{content:"变量已被引用,KEY不可修改",disabled:z.value&&!Q.value}]])]),_:1}),vue.createVNode(se,{label:"变量别名",required:"",property:"name"},{default:vue.withCtx(()=>[vue.createVNode(ae,{modelValue:C.value.name,"onUpdate:modelValue":oe[1]||(oe[1]=le=>C.value.name=le),disabled:!z.value,placeholder:"请输入",onChange:Z},null,8,["modelValue","disabled"])]),_:1}),vue.createVNode(se,{label:"组件类型",required:"",property:"custom_type"},{default:vue.withCtx(()=>[vue.createVNode(de,{"model-value":C.value.source_type==="custom"?C.value.custom_type:C.value.source_type,clearable:!1,list:$.value,disabled:!z.value||C.value.source_type==="component_outputs",onChange:q},null,8,["model-value","list","disabled"])]),_:1}),C.value.source_type!=="system"?(vue.openBlock(),vue.createBlock(se,{key:0,label:"必填"},{default:vue.withCtx(()=>[vue.createVNode(ge,{modelValue:W.value,"onUpdate:modelValue":oe[2]||(oe[2]=le=>W.value=le),theme:"primary",disabled:!z.value,onChange:Z},null,8,["modelValue","disabled"])]),_:1})):vue.createCommentVNode("",!0),R.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(se,{key:1,label:"执行时显示",description:"配置为「显示」可在执行时做为任务入参使用,配置为「隐藏」则仅能在流程内部使用"},{default:vue.withCtx(()=>[vue.createVNode(ie,{modelValue:C.value.show_type,"onUpdate:modelValue":oe[3]||(oe[3]=le=>C.value.show_type=le),disabled:!z.value||C.value.source_type==="component_outputs",onChange:Z},{default:vue.withCtx(()=>[vue.createVNode(fe,{label:"show"},{default:vue.withCtx(()=>[...oe[5]||(oe[5]=[vue.createTextVNode("显示(入参)",-1)])]),_:1}),vue.createVNode(fe,{label:"hide"},{default:vue.withCtx(()=>[...oe[6]||(oe[6]=[vue.createTextVNode("隐藏(非入参)",-1)])]),_:1})]),_:1},8,["modelValue","disabled"])]),_:1})),R.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(se,{key:2,label:"说明"},{default:vue.withCtx(()=>[vue.createVNode(ae,{modelValue:C.value.desc,"onUpdate:modelValue":oe[4]||(oe[4]=le=>C.value.desc=le),type:"textarea",rows:4,resize:!1,maxlength:100,disabled:!z.value,placeholder:"未输入",onChange:Z},null,8,["modelValue","disabled"])]),_:1}))]),_:1},8,["model"])]),_:1}),["component_inputs","components_input","custom"].includes(C.value.source_type)?(vue.openBlock(),vue.createBlock(GlobalVariableSection,{key:0,class:"variable-edit-section",title:"组件配置"},{default:vue.withCtx(()=>[vue.createVNode(_sfc_main$1S,{ref_key:"componentConfigRef",ref:B,variable:C.value,editable:z.value,"type-mode":r.typeMode,"custom-variable-types":r.customVariableTypes,onChange:G},null,8,["variable","editable","type-mode","custom-variable-types"])]),_:1})):vue.createCommentVNode("",!0)])}}}),GlobalVariableEdit=_export_sfc(_sfc_main$1Q,[["__scopeId","data-v-b8f3708a"]]),_hoisted_1$24={class:"bkflow-variable-detail"},_hoisted_2$1y={class:"detail-header"},_hoisted_3$16={class:"header-actions"},_hoisted_4$R={class:"detail-body"},_hoisted_5$G={class:"detail-row"},_hoisted_6$w={class:"value"},_hoisted_7$m={class:"detail-row"},_hoisted_8$h={class:"value"},_hoisted_9$f={class:"detail-row"},_hoisted_10$d={class:"value"},_hoisted_11$d={class:"detail-row"},_hoisted_12$b={class:"value"},_hoisted_13$9={class:"detail-row"},_hoisted_14$5={class:"value"},_hoisted_15$5={class:"detail-row"},_hoisted_16$4={class:"value"},_hoisted_17$4={class:"label"},_hoisted_18$3={class:"value"},_sfc_main$1P=vue.defineComponent({__name:"global-variable-detail",props:{variable:{},editable:{type:Boolean,default:!0},customVariableTypes:{default:()=>[]},typeMode:{default:"builtin"}},emits:["edit","close"],setup(e,{emit:t}){const n=e,r=t,i=vue.computed(()=>n.variable),C=L=>{if(L.source_type==="system")return"系统变量";if(L.source_type==="space")return"空间变量";if(L.source_type==="component_inputs")return"节点输入";if(L.source_type==="component_outputs")return"节点输出";if(L.source_type==="custom"){const R=n.customVariableTypes.find(j=>j.code===L.custom_type);if(R)return`${R.name}`;const z=getBuiltinTypeByCode(L.custom_type);return z?z.name:L.custom_type||"--"}return"--"},k=L=>{const R=L.meta;return R&&typeof R.required=="boolean"?R.required?"是":"否":["input","textarea"].includes(L.custom_type)&&L.validation&&L.validation!==""?"是":"--"},y=L=>{if(L==null||L==="")return"--";if(typeof L=="object")try{return JSON.stringify(L)}catch{return String(L)}return String(L)},B=vue.computed(()=>{const L=i.value,R=getBuiltinTypeByCode(L.custom_type),z=[{label:"数据类型",value:y(L.meta?.data_type||R?.data_type||L.custom_type)}];return["input","textarea"].includes(L.custom_type)&&z.push({label:"正则校验",value:y(L.validation)}),z.push({label:"默认值",value:y(L.value)},{label:"输入指引提示",value:y(L.meta?.placeholder)},{label:"校验错误提示",value:y(L.meta?.validation_error_msg)}),z});return(L,R)=>{const z=vue.resolveComponent("bk-button");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$24,[vue.createElementVNode("div",_hoisted_2$1y,[R[3]||(R[3]=vue.createElementVNode("span",{class:"title"},"变量详情",-1)),vue.createElementVNode("div",_hoisted_3$16,[n.editable&&!["system","space"].includes(i.value.source_type)?(vue.openBlock(),vue.createBlock(z,{key:0,theme:"primary",size:"small",onClick:R[0]||(R[0]=j=>r("edit",i.value))},{default:vue.withCtx(()=>[...R[2]||(R[2]=[vue.createTextVNode(" 编辑 ",-1)])]),_:1})):vue.createCommentVNode("",!0),vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-close close-icon",onClick:R[1]||(R[1]=j=>r("close"))})])]),vue.createElementVNode("div",_hoisted_4$R,[vue.createVNode(GlobalVariableSection,{class:"detail-section",title:"基础信息"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_5$G,[R[4]||(R[4]=vue.createElementVNode("span",{class:"label"},"变量 Key:",-1)),vue.createElementVNode("span",_hoisted_6$w,vue.toDisplayString(i.value.key||"--"),1)]),vue.createElementVNode("div",_hoisted_7$m,[R[5]||(R[5]=vue.createElementVNode("span",{class:"label"},"变量别名:",-1)),vue.createElementVNode("span",_hoisted_8$h,vue.toDisplayString(i.value.name||"--"),1)]),vue.createElementVNode("div",_hoisted_9$f,[R[6]||(R[6]=vue.createElementVNode("span",{class:"label"},"组件类型:",-1)),vue.createElementVNode("span",_hoisted_10$d,vue.toDisplayString(C(i.value)),1)]),vue.createElementVNode("div",_hoisted_11$d,[R[7]||(R[7]=vue.createElementVNode("span",{class:"label"},"必填:",-1)),vue.createElementVNode("span",_hoisted_12$b,vue.toDisplayString(k(i.value)),1)]),vue.createElementVNode("div",_hoisted_13$9,[R[8]||(R[8]=vue.createElementVNode("span",{class:"label"},"执行时:",-1)),vue.createElementVNode("span",_hoisted_14$5,vue.toDisplayString(i.value.show_type==="show"?"显示(入参)":"隐藏(非入参)"),1)]),vue.createElementVNode("div",_hoisted_15$5,[R[9]||(R[9]=vue.createElementVNode("span",{class:"label"},"说明:",-1)),vue.createElementVNode("span",_hoisted_16$4,vue.toDisplayString(i.value.desc||"--"),1)])]),_:1}),["system","space","component_outputs"].includes(i.value.source_type)?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(GlobalVariableSection,{key:0,class:"detail-section",title:"组件配置"},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(B.value,j=>(vue.openBlock(),vue.createElementBlock("div",{key:j.label,class:"detail-row"},[vue.createElementVNode("span",_hoisted_17$4,vue.toDisplayString(j.label)+":",1),vue.createElementVNode("span",_hoisted_18$3,vue.toDisplayString(j.value),1)]))),128))]),_:1}))])])}}}),GlobalVariableDetail=_export_sfc(_sfc_main$1P,[["__scopeId","data-v-7248ac28"]]),stripWrap=e=>{if(!e)return"";const t=e.trim(),n=t.match(/^\$\{(\w+)\}$/);return n?n[1]:t},escapeForPyString=e=>e.replace(/\\/g,"\\\\").replace(/"/g,'\\"'),generateSplitJoinCode=e=>{const t=stripWrap(e.variableKey);if(!t)return"";const n=escapeForPyString(e.separator??"");return`\${"${escapeForPyString(e.joiner??"")}".join(${t}.split("${n}"))}`},buildAccessChain=(e,t)=>{if(!t)return e;let n=e;const r=t.split(".").filter(Boolean);for(const i of r){const C=i.match(/^([^\[]+)((?:\[\d+\])*)$/);if(!C){n=`${n}.get("${escapeForPyString(i)}")`;continue}const[,k,y]=C;k&&(n=`${n}.get("${escapeForPyString(k)}")`);const B=/\[(\d+)\]/g;let L;for(;(L=B.exec(y))!==null;)n=`${n}[${L[1]}]`}return n},generateJsonExtractCode=e=>{const t=stripWrap(e.variableKey);return!t||!e.keyPath?"":`\${${buildAccessChain(t,e.keyPath.trim())}}`},generateArrayExtractCode=e=>{const t=stripWrap(e.variableKey);return t===""||e.index===""||e.index===null||e.index===void 0?"":`\${${t}[${e.index}]}`},QUICK_ACTION_OPTIONS=[{value:"split_join",label:"将字符串分割后拼接"},{value:"json_extract",label:"从 JSON 变量中提取变量"},{value:"array_extract",label:"从 Array 变量中提取变量"}],copyText=async e=>{if(e==null)return!1;try{if(navigator?.clipboard?.writeText)return await navigator.clipboard.writeText(e),!0}catch{}try{const t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.select();const n=document.execCommand("copy");return document.body.removeChild(t),n}catch{return!1}},_hoisted_1$23={class:"panel-head"},_hoisted_2$1x={class:"panel-body"},_hoisted_3$15={class:"quick-actions-form"},_hoisted_4$Q={class:"form-row"},_hoisted_5$F={class:"form-control"},_hoisted_6$v={class:"form-row form-row-with-suffix"},_hoisted_7$l={class:"form-control"},_hoisted_8$g={class:"form-row form-row-with-suffix"},_hoisted_9$e={class:"form-control"},_hoisted_10$c={class:"form-row"},_hoisted_11$c={class:"form-control"},_hoisted_12$a={class:"form-row form-row-with-suffix"},_hoisted_13$8={class:"form-control"},_hoisted_14$4={class:"form-row"},_hoisted_15$4={class:"form-control"},_hoisted_16$3={class:"form-row"},_hoisted_17$3={class:"form-control"},_hoisted_18$2={class:"form-row form-row-with-suffix"},_hoisted_19$2={class:"form-control"},_hoisted_20$2={class:"form-row"},_hoisted_21$2={class:"form-control"},_hoisted_22={class:"panel-actions"},_hoisted_23={key:0},_hoisted_24={key:1},MESSAGE_EXT_CLS="variable-quick-actions-message",_sfc_main$1O=vue.defineComponent({__name:"global-variable-quick-actions",props:{constants:{default:()=>({})},systemVariables:{default:()=>[]}},setup(e){const t=e,n=vue.ref(""),r=vue.ref(!1),i=vue.ref(!1),C=vue.ref(null),k=vue.ref(null),y=vue.ref(null),B=()=>({action:"split_join",variableKey:"",separator:"",joiner:"",keyPath:"",index:0,componentType:""}),L=vue.reactive(B()),R=()=>[C.value,k.value,y.value].filter(oe=>!!oe),z=QUICK_ACTION_OPTIONS.map(oe=>({value:oe.value,label:oe.label})),j=BUILTIN_VARIABLE_TYPES.map(oe=>({value:oe.code,label:oe.name})),$=vue.computed(()=>{const oe=[];return t.systemVariables.forEach(ae=>oe.push({value:ae.key,label:`${ae.name}(${ae.key})`})),Object.values(t.constants).forEach(ae=>oe.push({value:ae.key,label:`${ae.name}(${ae.key})`})),oe}),H=oe=>oe.trim().length>0,Q=oe=>oe!==""&&oe!==null&&oe!==void 0,W=()=>L.action==="split_join"?H(L.variableKey):L.action==="json_extract"?H(L.variableKey)&&H(L.keyPath):L.action==="array_extract"?H(L.variableKey)&&Q(L.index):!1,te=()=>L.action==="split_join"?generateSplitJoinCode({variableKey:L.variableKey,separator:L.separator,joiner:L.joiner}):L.action==="json_extract"?generateJsonExtractCode({variableKey:L.variableKey,keyPath:L.keyPath,componentType:L.componentType}):L.action==="array_extract"?generateArrayExtractCode({variableKey:L.variableKey,index:L.index,componentType:L.componentType}):"";vue.watch(()=>L.action,()=>{n.value="",r.value=!1});const ee=()=>{Object.assign(L,B()),n.value="",r.value=!1},q=()=>{i.value=!1,ee()},G=oe=>{R().forEach(ae=>{ae!==oe&&ae.hidePopover?.()})},J=oe=>{const{target:ae}=oe;if(!(ae instanceof Node)){G();return}if((ae instanceof HTMLElement?ae:ae.parentElement)?.closest(".bk-select-popover"))return;const de=R().find(ge=>ge.$el?.contains(ae))??null;G(de)},Z=async()=>{if(!W()){ne({theme:"warning",message:"请完整填写表单"});return}const oe=te();n.value=oe,r.value=!0;const ae=await copyText(oe);ne({theme:ae?"success":"error",message:ae?"已生成并复制到剪贴板":"复制失败,请手动复制"})},ne=oe=>{lib.Message({...oe,extCls:MESSAGE_EXT_CLS})};return(oe,ae)=>{const se=vue.resolveComponent("bk-select"),de=vue.resolveComponent("bk-input"),ge=vue.resolveComponent("bk-button"),fe=vue.resolveComponent("bk-popover");return vue.openBlock(),vue.createBlock(fe,{placement:"bottom-end",theme:"light",trigger:"click",width:400,"ext-cls":"variable-quick-actions-popover",onAfterShow:ae[10]||(ae[10]=ie=>i.value=!0),onAfterHidden:q},{content:vue.withCtx(()=>[vue.createElementVNode("div",{class:"quick-actions-panel",onClick:vue.withModifiers(J,["stop"])},[vue.createElementVNode("div",_hoisted_1$23,[ae[11]||(ae[11]=vue.createElementVNode("div",{class:"head-title"},"选择操作",-1)),vue.createVNode(se,{ref_key:"actionSelectRef",ref:C,modelValue:L.action,"onUpdate:modelValue":ae[0]||(ae[0]=ie=>L.action=ie),size:"large",clearable:!1,list:vue.unref(z)},null,8,["modelValue","list"])]),vue.createElementVNode("div",_hoisted_2$1x,[vue.createElementVNode("div",_hoisted_3$15,[L.action==="split_join"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createElementVNode("div",_hoisted_4$Q,[ae[12]||(ae[12]=vue.createElementVNode("div",{class:"form-label"},"将变量",-1)),vue.createElementVNode("div",_hoisted_5$F,[vue.createVNode(se,{ref_key:"variableSelectRef",ref:k,modelValue:L.variableKey,"onUpdate:modelValue":ae[1]||(ae[1]=ie=>L.variableKey=ie),filterable:"",clearable:!1,list:$.value,placeholder:"请选择"},null,8,["modelValue","list"])])]),vue.createElementVNode("div",_hoisted_6$v,[ae[13]||(ae[13]=vue.createElementVNode("div",{class:"form-label"},"以",-1)),vue.createElementVNode("div",_hoisted_7$l,[vue.createVNode(de,{modelValue:L.separator,"onUpdate:modelValue":ae[2]||(ae[2]=ie=>L.separator=ie),placeholder:"分割符"},null,8,["modelValue"])]),ae[14]||(ae[14]=vue.createElementVNode("span",{class:"suffix-label"},"分割后,",-1))]),vue.createElementVNode("div",_hoisted_8$g,[ae[15]||(ae[15]=vue.createElementVNode("div",{class:"form-label"},"用",-1)),vue.createElementVNode("div",_hoisted_9$e,[vue.createVNode(de,{modelValue:L.joiner,"onUpdate:modelValue":ae[3]||(ae[3]=ie=>L.joiner=ie),placeholder:"拼接符"},null,8,["modelValue"])]),ae[16]||(ae[16]=vue.createElementVNode("span",{class:"suffix-label"},"拼接。",-1))])],64)):vue.createCommentVNode("",!0),L.action==="json_extract"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createElementVNode("div",_hoisted_10$c,[ae[17]||(ae[17]=vue.createElementVNode("div",{class:"form-label"},"将变量",-1)),vue.createElementVNode("div",_hoisted_11$c,[vue.createVNode(se,{ref_key:"variableSelectRef",ref:k,modelValue:L.variableKey,"onUpdate:modelValue":ae[4]||(ae[4]=ie=>L.variableKey=ie),filterable:"",clearable:!1,list:$.value,placeholder:"请选择"},null,8,["modelValue","list"])])]),vue.createElementVNode("div",_hoisted_12$a,[ae[18]||(ae[18]=vue.createElementVNode("div",{class:"form-label"},"提取 Key",-1)),vue.createElementVNode("div",_hoisted_13$8,[vue.createVNode(de,{modelValue:L.keyPath,"onUpdate:modelValue":ae[5]||(ae[5]=ie=>L.keyPath=ie),placeholder:"形如 message.testpage"},null,8,["modelValue"])]),ae[19]||(ae[19]=vue.createElementVNode("span",{class:"suffix-label"},"的值",-1))]),vue.createElementVNode("div",_hoisted_14$4,[ae[20]||(ae[20]=vue.createElementVNode("div",{class:"form-label"},"指定为组件类型",-1)),vue.createElementVNode("div",_hoisted_15$4,[vue.createVNode(se,{ref_key:"componentTypeSelectRef",ref:y,modelValue:L.componentType,"onUpdate:modelValue":ae[6]||(ae[6]=ie=>L.componentType=ie),clearable:!0,list:vue.unref(j),placeholder:"请选择"},null,8,["modelValue","list"])])])],64)):vue.createCommentVNode("",!0),L.action==="array_extract"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:2},[vue.createElementVNode("div",_hoisted_16$3,[ae[21]||(ae[21]=vue.createElementVNode("div",{class:"form-label"},"将变量",-1)),vue.createElementVNode("div",_hoisted_17$3,[vue.createVNode(se,{ref_key:"variableSelectRef",ref:k,modelValue:L.variableKey,"onUpdate:modelValue":ae[7]||(ae[7]=ie=>L.variableKey=ie),filterable:"",clearable:!1,list:$.value,placeholder:"请选择"},null,8,["modelValue","list"])])]),vue.createElementVNode("div",_hoisted_18$2,[ae[22]||(ae[22]=vue.createElementVNode("div",{class:"form-label"},"提取 index",-1)),vue.createElementVNode("div",_hoisted_19$2,[vue.createVNode(de,{modelValue:L.index,"onUpdate:modelValue":ae[8]||(ae[8]=ie=>L.index=ie),type:"number",min:0,placeholder:"0"},null,8,["modelValue"])]),ae[23]||(ae[23]=vue.createElementVNode("span",{class:"suffix-label"},"的值",-1))]),vue.createElementVNode("div",_hoisted_20$2,[ae[24]||(ae[24]=vue.createElementVNode("div",{class:"form-label"},"组件类型",-1)),vue.createElementVNode("div",_hoisted_21$2,[vue.createVNode(se,{ref_key:"componentTypeSelectRef",ref:y,modelValue:L.componentType,"onUpdate:modelValue":ae[9]||(ae[9]=ie=>L.componentType=ie),clearable:!0,list:vue.unref(j),placeholder:"请选择"},null,8,["modelValue","list"])])])],64)):vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_22,[vue.createVNode(ge,{theme:"primary",onClick:Z},{default:vue.withCtx(()=>[...ae[25]||(ae[25]=[vue.createTextVNode("生成并复制代码",-1)])]),_:1}),vue.createVNode(ge,{onClick:ee},{default:vue.withCtx(()=>[...ae[26]||(ae[26]=[vue.createTextVNode("重置",-1)])]),_:1})]),vue.createElementVNode("div",{class:vue.normalizeClass(["code-preview",{empty:!r.value}])},[r.value?(vue.openBlock(),vue.createElementBlock("pre",_hoisted_23,vue.toDisplayString(n.value),1)):(vue.openBlock(),vue.createElementBlock("span",_hoisted_24,"- 暂未生成,请配置表单后点击蓝色按钮 -"))],2)])])]),default:vue.withCtx(()=>[vue.createElementVNode("span",{class:vue.normalizeClass(["quick-actions-trigger",{"is-active":i.value}])}," 变量快捷操作 ",2)]),_:1})}}}),GlobalVariableQuickActions=_export_sfc(_sfc_main$1O,[["__scopeId","data-v-3bfda576"]]),_hoisted_1$22={class:"slider-header"},_hoisted_2$1w={class:"slider-title"},_hoisted_3$14={key:0,class:"header-actions"},_hoisted_4$P={class:"table-pane"},_hoisted_5$E={key:0,class:"detail-pane"},_hoisted_6$u={class:"sideslider-footer-buttons"},_sfc_main$1N=vue.defineComponent({__name:"index",props:{show:{type:Boolean,default:!1},flowData:{},systemVariables:{default:()=>[]},editable:{type:Boolean,default:!0},typeMode:{default:"builtin"}},emits:["close","update:show","outputChange","change","reference-click"],setup(e,{expose:t,emit:n}){const r={table:"全局变量",create:"新建变量",edit:"编辑变量",clone:"克隆变量",view:"查看变量"},i=e,C=useFlowApiConfig(),k=n,y=vue.shallowRef({defined:{},nodefined:{}}),B=vue.shallowRef("table"),L=vue.shallowRef(null),R=vue.shallowRef({data:getVariableDefaultConfig(),oldKey:""}),z=vue.ref([]),j=vue.ref(),$=new Set(["system","space"]),H=le=>!!le&&$.has(le.source_type),Q=vue.computed(()=>Object.keys(i.flowData.pipeline_tree.constants).length),W=vue.computed(()=>r[B.value]);vue.watch(()=>i.show,le=>{le?(ee(),te()):(B.value="table",L.value=null)}),vue.watch(()=>i.flowData.pipeline_tree.constants,le=>{L.value&&!(L.value.key in le)?i.systemVariables.some(he=>he.key===L.value?.key)||(L.value=null):L.value&&L.value.key in le&&(L.value=le[L.value.key])},{deep:!0});const te=async()=>{if(i.typeMode==="builtin"){z.value=getBuiltinAsCustomVariableTypes();return}if(C?.fetchCustomVariableTypes){const le=await C.fetchCustomVariableTypes();z.value=le.data}z.value.find(le=>le.code==="time_picker")||z.value.push(LOCAL_TIME_PICKER_TYPE)},ee=async()=>{if(C?.fetchVariableRef){const{activities:le,constants:ue,gateways:he}=i.flowData.pipeline_tree,ye=await C.fetchVariableRef({template_id:i.flowData.id,activities:le,constants:ue,gateways:he});y.value=ye.data}},q=(le="")=>{const ue=getVariableDefaultConfig();if(ue.index=Q.value,typeof le=="string"&&le){const he=le.startsWith("${")&&le.endsWith("}")?le.slice(2,-1):le;ue.key=he}R.value={data:ue},B.value="create"},G=le=>{B.value=!i.editable||H(le)?"view":"edit",R.value={data:lodash$1.cloneDeep(le),oldKey:le.key}},J=le=>{const ue=lodash$1.cloneDeep(le);ue.key="",ue.source_type==="component_outputs"&&(ue.source_info={}),R.value={data:ue},B.value="clone"},Z=le=>{L.value=le},ne=()=>{L.value=null},oe=le=>{k("reference-click",le)},ae=le=>{R.value={...R.value,data:le}},se=()=>{B.value="table"},de=async()=>{if(!await j.value?.validate())return;const ue={...i.flowData.pipeline_tree.constants};let he=R.value.data.key.trim();/^\$\{\w+\}$/.test(he)||(he=`\${${he}}`,R.value.data.key=he);const ye=["create","clone"].includes(B.value),_e=B.value==="edit"&&R.value.oldKey!==he;if((ye||_e)&&he in ue){const{Message:Ne}=await import("bkui-vue/lib");Ne({theme:"error",message:`变量 Key「${he}」已存在`});return}ue[he]=R.value.data,B.value==="edit"&&R.value.oldKey!==R.value.data.key&&delete ue[R.value.oldKey],B.value="table",ce(ue)},ge=le=>{ce(le)},fe=(le,ue)=>{k("outputChange",le,ue)},ie=le=>{L.value&&le.includes(L.value.key)&&(L.value=null)},ce=le=>{k("change",le)},pe=()=>{k("close"),k("update:show",!1),B.value="table",L.value=null};return t({openCreate:q}),(le,ue)=>{const he=vue.resolveComponent("bk-button"),ye=vue.resolveComponent("bk-sideslider");return vue.openBlock(),vue.createBlock(ye,{title:W.value,"is-show":i.show,width:1080,"esc-close":!1,"before-close":pe},vue.createSlots({header:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$22,[vue.createElementVNode("div",_hoisted_2$1w,vue.toDisplayString(W.value),1),B.value==="table"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$14,[vue.createVNode(GlobalVariableQuickActions,{constants:i.flowData.pipeline_tree.constants,"system-variables":i.systemVariables},null,8,["constants","system-variables"])])):vue.createCommentVNode("",!0)])]),default:vue.withCtx(()=>[vue.createElementVNode("div",{class:vue.normalizeClass(["global-variable-slider",{"has-footer":B.value!=="table"}])},[B.value==="table"?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:vue.normalizeClass(["table-detail-layout",{"has-detail":!!L.value}])},[vue.createElementVNode("div",_hoisted_4$P,[vue.createVNode(GlobalVariableTable,{constants:i.flowData.pipeline_tree.constants,"system-variables":i.systemVariables,outputs:i.flowData.pipeline_tree.outputs,"variables-reference":y.value,"custom-variable-types":z.value,editable:i.editable,narrow:!!L.value,"selected-key":L.value?.key||"",onCreate:q,onEdit:G,onClone:J,onDelete:ie,onUpdateConstants:ge,onOutputChange:fe,onSelectDetail:Z,onReferenceClick:oe},null,8,["constants","system-variables","outputs","variables-reference","custom-variable-types","editable","narrow","selected-key"])]),L.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$E,[vue.createVNode(GlobalVariableDetail,{variable:L.value,editable:i.editable,"custom-variable-types":z.value,"type-mode":i.typeMode,onEdit:G,onClose:ne},null,8,["variable","editable","custom-variable-types","type-mode"])])):vue.createCommentVNode("",!0)],2)):(vue.openBlock(),vue.createBlock(GlobalVariableEdit,{key:1,ref_key:"variableEditRef",ref:j,editable:i.editable&&B.value!=="view"&&!H(R.value.data),variable:R.value.data,"variables-reference":y.value,"custom-variable-types":z.value,"type-mode":i.typeMode,onChange:ae},null,8,["editable","variable","variables-reference","custom-variable-types","type-mode"]))],2)]),_:2},[B.value!=="table"?{name:"footer",fn:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_6$u,[i.editable&&B.value!=="view"&&!H(R.value.data)?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(he,{theme:"primary",onClick:de},{default:vue.withCtx(()=>[...ue[0]||(ue[0]=[vue.createTextVNode("确定",-1)])]),_:1}),vue.createVNode(he,{onClick:se},{default:vue.withCtx(()=>[...ue[1]||(ue[1]=[vue.createTextVNode("取消",-1)])]),_:1})],64)):(vue.openBlock(),vue.createBlock(he,{key:1,theme:"primary",onClick:se},{default:vue.withCtx(()=>[...ue[2]||(ue[2]=[vue.createTextVNode("返回",-1)])]),_:1}))])]),key:"0"}:void 0]),1032,["title","is-show"])}}}),GlobalVariables=_export_sfc(_sfc_main$1N,[["__scopeId","data-v-f9cfa6af"]]),_hoisted_1$21={key:0,class:"desc"},_hoisted_2$1v={class:"section-content"},_sfc_main$1M=vue.defineComponent({__name:"index",props:{title:{},desc:{},noBackground:{type:Boolean}},setup(e){const t=e,n=vue.ref(!1),r=()=>{n.value=!n.value},i=B=>{const L=B;L.style.height="0",L.offsetHeight,L.style.height=`${B.scrollHeight}px`},C=B=>{const L=B;L.style.height=""},k=B=>{const L=B;L.style.height=`${L.scrollHeight}px`,L.offsetHeight,L.style.height="0"},y=B=>{const L=B;L.style.height=""};return(B,L)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["section-container",{fold:n.value}])},[vue.createElementVNode("div",{class:vue.normalizeClass(["section-title",{"no-background":t.noBackground}]),onClick:r},[vue.createVNode(vue.unref(icon.AngleUpFill),{class:"arrow-icon"}),vue.createTextVNode(" "+vue.toDisplayString(t.title)+" ",1),t.desc?(vue.openBlock(),vue.createElementBlock("span",_hoisted_1$21,vue.toDisplayString(t.desc),1)):vue.createCommentVNode("",!0)],2),vue.createVNode(vue.Transition,{name:"fold",css:!0,onEnter:i,onAfterEnter:C,onLeave:k,onAfterLeave:y},{default:vue.withCtx(()=>[vue.withDirectives(vue.createElementVNode("div",_hoisted_2$1v,[vue.renderSlot(B.$slots,"default",{},void 0,!0)],512),[[vue.vShow,!n.value]])]),_:3})],2))}}),SectionContainer=_export_sfc(_sfc_main$1M,[["__scopeId","data-v-805b6858"]]),WeixinIcon="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20width='48px'%20height='48px'%20viewBox='0%200%2048%2048'%20enable-background='new%200%200%2048%2048'%20xml:space='preserve'%3e%3cimage%20id='image0'%20width='48'%20height='48'%20x='0'%20y='0'%20href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAACBjSFJN%20AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAG%20yUlEQVRo3u2Zf2yVVxnHP897bymMArdjFV00zgGbLmFuiRkIjs0y3R9uWcyIzDmTVcqaOLUm8mMb%20WdAExF/ZIALK1oFCoSyLxmVGwqIIGkZNlmFrBTp+DDfnipEVNgrt7X2fr3+8t7e3t/f29uemSb/J%20Se59z/M+53zPec7z47wwjnGM4/8aNtwXa06tHrB/68x1/3sEciZtQAKYmvXMgXeAC+8VmaIEHjrx%20WPRDYDGbCHwSuBmYCXwY+GCWrm7gLHAGOAkcAVoUKuwZ6anZ33/vCCx79VEkEcSCacDngCXATcBH%20gNIiui8CbwAvA78EGj30DjPj6evWjz2BZa2PQowAZ76ZfQe4Aygb5jjngH2SthBwmBB/+vrRIZGX%20QPWxR7DArgDuB1ZizB6V0cQJ4EfAbrku1X3iB6NPoProKghsokENsAYoH5XJ96Id+J5gK67Ouht+%20OCJl8X6MjLjEg4LvEnmZ3MHPAFOAjwGxAnpD4DXgXeCanEUoJ9KdNKOO6OAPG0H2n6rmlbjzGbmW%20IyWQyGptSGuQFiN9FWkvkufIkH62Ny2zOP1OW45MQq5vuzO3qnnliHagD4Eg4EqkpUgz5SKn/Umu%20HcBpoFGurXJ15JHrkOvnQCNwWq6dcv05Vw5pFlJ1EHDlqBCoalqBxE0Sd/dfVJBISYRhtxN251v4%20TJNEchBygcQXJG6oaloxbALZZ6BErs9iNi2vpFQJVAEvAFfJVQNMxixXrgz4JpH9vynXPcCtkb9Q%20rtbpwC2e8sM1p1aHPQ+HErkzo1c1rZgG/BqoHEC+nehwlhFF4mKH+HxarhxIEqUYbRivGtaGcQ6j%20JV4aP2iBdWIk6aKTkjSRWcWJ9BL46/IKoJne1GC00A0cscAag5LY60E8KDOzG4GrMSqAacDbRFG7%20FXEYaDKzVndPwsDpR4bAg0eWfwBoASpGPGWlTcWsCeM38YnxVBAL5gC3m1kFBQKoEIgQOAH8FngO%20eEWuFEC+6J05A3KJKJscDYTA3ljcdsYmxhcBX5RUEXFTsXdjwMfT7W7gZxjbPfR38gn3ulEplcdf%20D6c5UkOsNPZMrDT+MKIaUYFgGO16xFrEOjObUX3skcIEJLokmuUa/txdyDkUlMQaglhQK2mhpCBP%20rBh8k8rkqkGsAsqWtqzKb0JInRIHgfuRCnmXYjhrAZuCeHCXXAtz+oTRbNgeYIpQFeJDWf0dGA2G%20HRW6A3EnvV6uBKgGjprZNrJMPTsSO9J+pMYRmM/z8dJ4iFiCCHLMoQNnbZgKf+yhr8XZntP/Is7j%20YTLciLMGcSKnfwriIUmzv9bcG/gyBHbc8iQSZyTqJS6kzWHwTZyT+CPGnXIl+puDu9zPmwiRknJ/%20N6e/Q+6XzHC5X5R7d44pIfeb5X5b9rxzs1EhNSBuBJaB+mWrBSFOx0pjb8n1qZyd7cFkoggNIgHc%20lxOZeyL9y4jFwLV9+pWZ7+eB3UQVX18C9Z/ewAMv1V4QWgfMAO6hcLTtZ/9BPDCkQvVDDLgLuD1N%20MLe6uxpYD3SlyZYU0DOHqJy92MeEMiTmb8SwNxHLEfWIDknF3J3k+lf6KFiRBG6qRFmB/kkSCYmS%20AXSUS72Lmm+rqV+wEeA1Scvl2obTXczdITrTv21EbrN483TQzdhUfpOWkPgPUgfFr18MmIWUZIQV%201iBwMnuMoJDU7lt/ikJdJWeBnLgcEMcRmxB1iD8gTiHOpz3RhFRn+G+J18d0B8Q+iY6iO7Dk918H%20aR5wLfAPsJ2CX0n8HSgxYzpRPj8ZmAS8nUqm/hmU2CHEQgZ/+AcP4w2kFy0IMjswkJuMIaYTuazt%204CexoDtdv3QDl4hS4F79ZuDUA18Crhvl6XcitgCv7Jj7RObhQARM0vPALgssBQYSeyo3DzjKAy/V%20ngKeAH6C0q5y2FfI9Ph/x3gB+IUF1ueMDUQgRVRRFZ107nsSu5CuAb4FXNG/khwyhX1gj5vRtnPe%20hr6rPCLVBfCVQ7XgKhOsIrogG26R1An8DnjMYkHrrvkb+gkEQ9U4GOxasBGMi0jrkWqRDiB1DdXj%20IL2F9KQZrXj+Wmv0PUUaf9v2F+ZUze1OJGi5fJkDwHGkONGtXg96ripC4DLpm4z0wk5COGK/p/xY%20w22b8o4zJiaUjS8fjPI3urqMCRPKkGYouqL/aLpBdNtxnCjfPytpAbAUmAfUIVbvqdycN0COOYEM%20kQPf6B3UDDOjtDT6xJBMJnH3TL1sZnjoCeBeoFzSM88u2tL+vhIYKu7b/zDt7e0kEompwOVnF23J%20uwNjcohHA3sqN5NIJCD65jbW+dU4xjGO9wv/BfVAV6WfUfulAAAAJXRFWHRkYXRlOmNyZWF0ZQAy%20MDI0LTEwLTE2VDA5OjM5OjAzKzAyOjAwmO75JgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyNC0xMC0x%20NlQwOTozOTowMyswMjowMOmzQZoAAAAASUVORK5CYII='%20/%3e%3c/svg%3e",RtxIcon="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20width='48px'%20height='48px'%20viewBox='0%200%2048%2048'%20enable-background='new%200%200%2048%2048'%20xml:space='preserve'%3e%3cimage%20id='image0'%20width='48'%20height='48'%20x='0'%20y='0'%20href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAACBjSFJN%20AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAG%20XklEQVRo3u3Za4xVVxUH8N+ducPADMggUCullJaSipRaAV/F1GKoreKHprZa0ajRItH6ikkj1pQq%20qRofMbY+GiB9aB8qGGqJr7a0aInNqGDBkaZpSbEPaGGGDjq8Zi53jh/WmblnLsPceZImspKdOXfv%20c/Ze/7X22mv993BKTsn/t+SGPMPK1srvrJjwKgNwvNI55FFd1l9AcSTBDAxAT8VPw1mYkrbXpS0r%20z6ftWbyI3egcTiCVAfRUuhpvw7sxH29Jla8kLdiOv+IP+Dvau0eHAKa/APK4AJ/C5Tj7BN8maavq%20Y8Zd2Ijb0IRjQwHRN4BQfiKWYpnYMtlvDuFl7MN+sU06MAZT0SC22lTUlgHdhR/jbrQML4DStnkD%20voIlGJVZfDc24c/YgZ0pgKRspomYiQtxMRZhcmb8INbiRuwZjCfyfYydh+/hfUpb4r/4BX6GJ/Gf%20Hl+UL76ydX8KrBG/wjxci8UYm7aPi9i6oRvEkDwQ1j8Dq/DejPL/xDfxWxw+odInkpJXG3AVlmNG%202lfEPbgezQPxQs9gi0XG4gt4TzqeYDOuE+4+3K34QNxdevcA7sBnsCXtq8Y1whs1g/fAytYcrsRP%20RfARx9+12DJsSajkjUvxExEn8G98GI39Xav8uJuCT2eU34ebMpYaHikp9wi+ji5E04Wn6/o7VQlA%20WGUuLkp7EqzDo2WLDieITtyP9ZmRi/HWftVYenqgFpeIGCBKgF+ibcSKsZj3CO5Fc9o7BW/XzzIn%20C2AM3pk+J+LUGb5937dsx2Ppcx7n4zUDBdCAc9LnAh7H0RFXPQzUiqcyvacPBsAUpcTWgadOkvUJ%20j78gDEdUteMGCqBGad8V8crJ0t6KCST5vZL8Y5LqRqV6qqKcqJSoFltqxGXOxvjbsueGnaPrmlYV%20i+OP7tn1nepjHafvHiiA51PkhDdmWNk6onQwI3MnTfnRNzAbHQ2TH7gzn7fxH/34MLuFWsU+JI7U%20uY6niCMho0Wmf7/gGeclnZYXOszp8k5/ARzF37JWwaz+JpTBSjG8Pb2su0GUF1WVvs++0I4/isQC%2054q6KD9SIJItLB6lvS7X65F9GcZU8kIWQCI466b09yhRHV5kmCXZEg3jvlvnE78epwZfFmXLi+lr%20i7Gw0lzl1Sh8FLeiK3ofEqXvsxh0UCc9y8Ec5uCT+BhWzzlgeS4Y3JtFPHxIHCzLmhpbtuksC8dU%20j6peOh/AfbrIdpS8K3GmoV+ETRPl8i3pGtcJgn/LvxYh2NtGQXaWoTpJRr3LkfoZqWHn68mtew2S%20Nnw7tXyXta7BGpw9mHhIrT9XVLdrUsVnCwr5A7wETYuiiXjYkMu59OknGveoPbpBMMTf40sypKcv%20Uj8vtdSCzMhnsVr5bVtPDx5/c3ewQfLB3G2Ca2SNdju+iEO5+T0/mf1QnR2P75+sqn01yRWZoecw%2034oJLfRN6remk9+NWWlfg6jhq1GfGuBYarFiL94ZhTFVY1sLojjLKn9ITmOyy6Gqq45ffEfjbqqO%20ziwzIJE3ug3fO4AVE7qs2CTufWaJLL1NnNlXiGOuNh3fLpLg3nSGKlFRvhELOlWtV+MeBQvxepDY%20muz1p+KDFJZSs+Y4LfIi/iaV9W9WOuorXmxNFYxpvuCrawXZWGBgWfqRc+ue+9wzCy+cJ3GJKm3J%20TtuLD5slyvbfSbdlvkhu+gEk5wumNlPEyrbUoPeiqWu75issPEGJn04WtxWj098H00VHi6Dq7UAo%20igR5wc7D05fk1iY3J1fn7jdNR/H7TlNvCT4i7qDuQ3NbvQ7V4ycpHvia4Oa34+d4RnD0HvFXCcBE%20JYpZn/5twV/SSVvwJkGEztGTjDeLgHsaT5C8oF0BHZox2ktYIa5Ybhbn/qP1R2y9uu2utnV1V9bS%20+VXcld0y5XmoEoAWUeRNSy3+cGqpjeJ+hxIVrCyvPaDrtCks7c78d+Bb4tSb15nTvuqVz687o/jy%20TT8cf/2TOtuKvSneJZVioEZkxQ/gwbTt62vCgUphqempEc7MdB/OJy7PnVXY7Ma+77kqeaCA36SK%20D/w6sX+yX/DhLID8sZx8JeWpVK6GoonBXif2T45gg9iiXbJJ3HhXlEoeOBmM7JhIls14h7jxXq9U%20lfYpQ/8v5TBIYWn3Y63I9AV6TW6vTgBlIPRX+VNySk4J/wPavNXBV0/3hwAAACV0RVh0ZGF0ZTpj%20cmVhdGUAMjAyNC0xMC0xNlQwNzozODowMyswMDowMCfDViMAAAAldEVYdGRhdGU6bW9kaWZ5ADIw%20MjQtMTAtMTZUMDc6Mzg6MDMrMDA6MDBWnu6fAAAAAElFTkSuQmCC'%20/%3e%3c/svg%3e",MailIcon="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20width='48px'%20height='48px'%20viewBox='0%200%2048%2048'%20enable-background='new%200%200%2048%2048'%20xml:space='preserve'%3e%3cimage%20id='image0'%20width='48'%20height='48'%20x='0'%20y='0'%20href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAACBjSFJN%20AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABdFBMVEUAAAD80if2uSH1uCDO%20GQD//2L1tiD2uyH0sh/4wCPxpRz3wCL//3r1tSD3viLwohv80if80if80if80if80if80if80if8%200if80if80if80if80if80if80if//zj80if80if80ifwohvwoRv80if80ifwohvwohvwohv80if8%200if80ifwohvwohvwohvwohvwoBv80if80if80ifwohvwohvwohvwohv+2Cn80if80if80ifwohvw%20ohvwohvwoRv80if80if80ifwohvwohv91Sj80if80if80ifwohvwohvvnxr80if80if80ifwohvw%20ohvwohv91Sj80if80ifwohvwohvwohvqixX80if80if80ifwohvwohvwohv80yf80if80ifwohvw%20ohvwohvslBf//zr80if80ifwohvwohvwoRv80ifwohvwohvwohvwohvwohvwohvwohvwohvwohvw%20ohvwohvwohv80ifwohv///9tjhRAAAAAeXRSTlMAAAAAAAAAAAAAAAAAAAAABBIWT9bpTWzzZBRj%202P4BM6j1IBNw23CkKD6z+YH+0F8OF3zhf++XJANJvPv9xVMHH4btjiIGTMP8vkwGKJDu5YMbC17U%20+rtBAiue8N94GAxp1/eyNwIBOKfbbBQL9ag01GP2gNbpBBIWNnChdAAAAAFiS0dEe0/StfwAAAAH%20dElNRQfoChAHJgNz8rhqAAABhElEQVRIx+3R6TNCURzG8UTaEdlKlvZQKu0iQnRbRCXtaFW0W/r9%209ZbhSF05Xpjxou/Lc57PnLlzKZRBf9UQZghM8CYx4k2gB6b40xjxZxCYnWtjNDePgEC4IPppLloQ%208hCgLi4tr/TfrywvLQ6jjxZLqAKprN9eJhVQJWIE5ArlCE21uvbdfG1VRRtRKuQIrKs1G9pRnX6T%20fL+p141qNzTqdQQMAEaTmW6x2rZ651s2q4VuNhkBDJ0A7Ns7DsbunrN779zbZTh2tu3QDV4e2T9g%20HrqOjjvnx0euQ+bBvvFt0A3A7iY8LK/P/7n3+7wsD+G2AzkAOAmcss+Cofe/KAoFz9ingZOPWxIA%204fPIBScai7/u47Eo5yJyHoZ+ACCRTNHTl1ft9tVlmp5KJjquyAFcZ7K5fKFYLORz2cw1/AwAbkpl%207u0tt1y6+Xr+LYC7SnVsrFq5A1wAUKvXaz2H/QA0GvA7QNYA/DfQxANNBIjWPUYtAoGHxyeMHh8Q%20GMeMMuivegZPNwJ6UuK61QAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyNC0xMC0xNlQwNzozODowMysw%20MDowMCfDViMAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjQtMTAtMTZUMDc6Mzg6MDMrMDA6MDBWnu6f%20AAAAAElFTkSuQmCC'%20/%3e%3c/svg%3e",SmsIcon="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20width='48px'%20height='48px'%20viewBox='0%200%2048%2048'%20enable-background='new%200%200%2048%2048'%20xml:space='preserve'%3e%3cimage%20id='image0'%20width='48'%20height='48'%20x='0'%20y='0'%20href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAACBjSFJN%20AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABF1BMVEUAAAAhqvchqvchqvch%20qvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvch%20qvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvch%20qvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvch%20qvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvch%20qvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvf////t18AcAAAAW3RSTlMAAA84XHh/%20CjSAwNzxCEKl6vsjiOYCQANM19giwQv5jA3n6UMJDOs5+obDEs+dn948hf7Gee9aFdn2m5L9Ne7l%20MxShFuI/Ab0d1boyHKDkkwYvfLz4tXUuMFNoR3rSMgAAAAFiS0dEXOrYAJcAAAAHdElNRQfoChAL%20JgN66EEOAAABqklEQVRIx9WVaVuCQBCAXbxYFBXxQoWKjLQ0UyvTssvu+7BS5///j7JHEFhksU/1%20fmTm3WVhdsbn+wcgC16yGX8gGPomGPAzNAehMIu5SBR+iEY4zIbdDMTH4gkBTAiJeIxHc5dPiikg%20SIlJ501QOsMJ4IDAZdIOBsrmJJiDlMsicv35+ROD2ANl8uBCPmMTUKEIrhQLFgPJouIuKEvLZgPF%20VoCCumoWSnFaPkB8zbQBm6AL2vpsC4TLdEGozASGo+cDbGwagj8yfVatbRHUqtNgfdsQAtN6hkZJ%20Jig1psFowBCCTS9CM2gIGLy8EmBDCHk5M0Dl9wL2JmDy0FBucUULXMv4p80d8rOClmRsJDU9trtH%20/jhQ28hGW9Vj+6xDaXS6Bza6HT3GMU7F1zy0YRxPwKZq7R3Rv9HxiekGnap04axkunF9unB+cbmQ%20oIgyWki4ura0Gaog+a2NjCYQrZIi3BDN2FVQbu+IVtx36Ut1fE8OFPlB1TmytCjl8an37DRN5L7O%20y+ubpA0myQNNev/45B3nlaWg+eFoPBm749GQ9zKqfYvM9T/BF26JhjZ0x+78AAAAJXRFWHRkYXRl%20OmNyZWF0ZQAyMDI0LTEwLTE2VDA5OjM4OjAzKzAyOjAwdyySGAAAACV0RVh0ZGF0ZTptb2RpZnkA%20MjAyNC0xMC0xNlQwOTozODowMyswMjowMAZxKqQAAAAASUVORK5CYII='%20/%3e%3c/svg%3e",VoiceIcon="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20width='48px'%20height='48px'%20viewBox='0%200%2048%2048'%20enable-background='new%200%200%2048%2048'%20xml:space='preserve'%3e%3cimage%20id='image0'%20width='48'%20height='48'%20x='0'%20y='0'%20href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAACBjSFJN%20AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABzlBMVEUAAAAzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAP///8ahhZ5AAAA%20mHRSTlMAAA84XHh/DDmNwtzxCkOl6/0rkOgDSMYIYN4E59/+9Pcp82k9ZqHXDfyfe140heny0ps3%20QLLlr6z61uxnnvvOTAYBzDtUivDROjza+bh+EsRYg4TgfdMqKM+nJpww1NkuIsiAQeEvc+ZTAhOa%20tUmB9WPj7iBx+AWHTcuwGg5s9tBhMz6iGzViB1Lbox9Qs1umRM12kld67xKguDoAAAABYktHRJkB%201jaoAAAAB3RJTUUH6AoQCycDY/NwTwAAArVJREFUSMfVlflbEkEYxxkOWQ5hAbkRgUQgTQyxQswC%20aS0js7Iyiy5Syw4tyuzU7ssOO+fPbXd2dphdlpLf6n0enmfnZT7zvvPOd97RaP4DAzLbymytTm9o%20482g12n/xgBgZExmixUis1rMJsb4BwKAdpuddUDKHKzd1t4MAcDp6oAN1uFyqhPA7fE6oIo5vB63%20CgF8/gBsYgG/r4EAQX8INrWQP6gkgKdTNiXcZY1Qw06PAgBRr3zN2LbueE8iTMbeqIwASVdKDkS2%209/Y5d/RbpHHKlaQJYEs3Jj6wMzOYHZIWSttowGgXvbt278Glyg3nhdRHontHMWE3UgEYFvn27S8U%20s2Poky0d4BIQjrdFhzDAMvUQwIQCHzwkaG3isPBdPjLJMJkItI5k8T5SpjpwdArt85ggAVCMi/Uc%20TR+PnojA6cGTZZEwawkwgRI/dRotAWbO4CRGZ89moONc5bw4tOgIoEd6vnBRzO/SZalO5aouAROV%20Hqx2PQEM6IBiV1CEYHycVHZungsP9OEcwway56r494IbhbtaP4rcwrU87O3GF6oq7XqRw8d/XfDc%20oA/vZmkYcrcwsCQBYEl0LN8WPNk7FJBjc7CrhiXFLSpSglN3eaJwL9ZE5CQlvGkIVybvAw0wri6r%20zq9vGpeVt9CDIh/Q2K9KUGXVERU/nOdPGyRXhaxW5tgwDVAHpzWTsI8eC8STp4G19WfPX3A1CqCk%20gcUnmOPlK0FQ7tdvKkUA3r57T+bT4pPkjfwfNoQYqEfyv4/kGGl5kwuEiE/82uSfwqzkpy+Q4oqu%20f6431OAX7JRfUUUTqLlmpJw2p3FceRNQtpnU128bPp4Ibo7hyiraTGMjK1u+/2BKPyVdNTQytVYZ%20zv+SPlVaZcvNuPV23/qD0vqTpWn5UdS0/uxKzNYf9n/BfgOj3RPg/kA9xAAAACV0RVh0ZGF0ZTpj%20cmVhdGUAMjAyNC0xMC0xNlQwOTozOTowMyswMjowMJju+SYAAAAldEVYdGRhdGU6bW9kaWZ5ADIw%20MjQtMTAtMTZUMDk6Mzk6MDMrMDI6MDDps0GaAAAAAElFTkSuQmCC'%20/%3e%3c/svg%3e",store={},instanceStore={setInstance(e,t,n){store[e]||(store[e]={}),store[e][t]=n},getInstance(e,t){return store[e][t]}};let callbackSeed=0;function JSONP(e,t={},n={}){return new Promise((r,i)=>{const C=`USER_LIST_CALLBACK_${callbackSeed+=1}`;window[C]=B=>{document.body.removeChild(k),delete window[C],r(B)};const k=document.createElement("script");k.onerror=B=>{document.body.removeChild(k),delete window[C],i("Get user list failed.")};const y=[];for(const B in t)y.push(`${B}=${t[B]}`);k.src=`${e}?${y.join("&")}&callback=${C}`,n.timeout&&setTimeout(()=>{document.body.removeChild(k),delete window[C],i("Get user list timeout.")},n.timeout),document.body.appendChild(k)})}const userMap=new Map;function getMap(e){if(userMap.has(e))return userMap.get(e);const t=new Map;return userMap.set(e,t),t}function storeUsers(e,t){const n=getMap(e);t.forEach(r=>n.set(r.username,r))}function getUsers(e,t){const n=getMap(e),r=[];return t.forEach(i=>{n.has(i)&&r.push(n.get(i))}),r}async function handleBatchSearch(e,t,n){const r=getMap(e),i=[...new Set(t)].filter(k=>!r.has(k));if(!i.length)return Promise.resolve(getUsers(e,t));const C=[];i.reduce((k,y,B)=>k.length<100?(k.push(y),B===i.length-1&&C.push(k),k):(C.push(k),[]),[]);try{(await Promise.all(C.map(y=>JSONP(e,{app_code:"bk-magicbox",exact_lookups:y.join(","),page_size:100,page:1},n)))).forEach(y=>{y.code===0&&storeUsers(e,y.data.results||[])})}catch(k){console.error(k)}return Promise.resolve(getUsers(e,t))}function createVm(e){const t={setup(){const{proxy:i}=vue.getCurrentInstance();instanceStore.setInstance("exactSearch",e,i);const C=vue.ref("");C.value=e;const k=vue.ref([]);vue.watch(()=>k,L=>{L.value.length&&B()},{deep:!0});const y=L=>new Promise(R=>{k.value.push({resolve:R,usernames:L})}),B=async()=>{const L=[...k.value];k.value=[];try{const R=L.reduce(($,{usernames:H})=>$.concat(H),[]),z=await request.exactSearch(C.value,R),j={};z.forEach($=>{j[$.username]=$}),L.forEach(({resolve:$,usernames:H})=>{const Q=[];H.forEach(W=>{j.hasOwnProperty(W)&&Q.push(j[W])}),$(Q)})}catch(R){L.forEach(({resolve:z})=>{z([])}),console.error(R)}};return{api:C,queue:k,search:y,dispatchSeach:B}},render(){return null}},n=vue.createApp(t),r=document.createElement("div");return n.mount(r),n}const request={async fuzzySearch(e,t,n){const r={};try{const i=await JSONP(e,t,n);if(i.code!==0)throw new Error(i);r.count=i.data.count,r.results=i.data.results||[],storeUsers(e,r.results)}catch(i){console.error(i.message),r.count=0,r.results=[]}return r},async exactSearch(e,t,n){const r=Array.isArray(t),C=await handleBatchSearch(e,r?t:[t],n);return r?C:C[0]},pasteValidate(e,t,n){return handleBatchSearch(e,t,n)},scheduleExactSearch(e,t){const n=Array.isArray(t)?t:[t];return createVm(e),instanceStore.getInstance("exactSearch",e).search(n)}};var top$1="top",bottom$1="bottom",right$1="right",left$1="left",auto$1="auto",basePlacements$1=[top$1,bottom$1,right$1,left$1],start$1="start",end$1="end",clippingParents$1="clippingParents",viewport$1="viewport",popper$1="popper",reference$1="reference",variationPlacements$1=basePlacements$1.reduce(function(e,t){return e.concat([t+"-"+start$1,t+"-"+end$1])},[]),placements$2=[].concat(basePlacements$1,[auto$1]).reduce(function(e,t){return e.concat([t,t+"-"+start$1,t+"-"+end$1])},[]),beforeRead$1="beforeRead",read$1="read",afterRead$1="afterRead",beforeMain$1="beforeMain",main$1="main",afterMain$1="afterMain",beforeWrite$1="beforeWrite",write$1="write",afterWrite$1="afterWrite",modifierPhases$1=[beforeRead$1,read$1,afterRead$1,beforeMain$1,main$1,afterMain$1,beforeWrite$1,write$1,afterWrite$1];function getNodeName$1(e){return e?(e.nodeName||"").toLowerCase():null}function getWindow$1(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function isElement$4(e){var t=getWindow$1(e).Element;return e instanceof t||e instanceof Element}function isHTMLElement$2(e){var t=getWindow$1(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function isShadowRoot$2(e){if(typeof ShadowRoot>"u")return!1;var t=getWindow$1(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function applyStyles$3(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},i=t.attributes[n]||{},C=t.elements[n];!isHTMLElement$2(C)||!getNodeName$1(C)||(Object.assign(C.style,r),Object.keys(i).forEach(function(k){var y=i[k];y===!1?C.removeAttribute(k):C.setAttribute(k,y===!0?"":y)}))})}function effect$5(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var i=t.elements[r],C=t.attributes[r]||{},k=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),y=k.reduce(function(B,L){return B[L]="",B},{});!isHTMLElement$2(i)||!getNodeName$1(i)||(Object.assign(i.style,y),Object.keys(C).forEach(function(B){i.removeAttribute(B)}))})}}const applyStyles$2={name:"applyStyles",enabled:!0,phase:"write",fn:applyStyles$3,effect:effect$5,requires:["computeStyles"]};function getBasePlacement$3(e){return e.split("-")[0]}var max$1=Math.max,min$1=Math.min,round$1=Math.round;function getUAString$1(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function isLayoutViewport$1(){return!/^((?!chrome|android).)*safari/i.test(getUAString$1())}function getBoundingClientRect$1(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),i=1,C=1;t&&isHTMLElement$2(e)&&(i=e.offsetWidth>0&&round$1(r.width)/e.offsetWidth||1,C=e.offsetHeight>0&&round$1(r.height)/e.offsetHeight||1);var k=isElement$4(e)?getWindow$1(e):window,y=k.visualViewport,B=!isLayoutViewport$1()&&n,L=(r.left+(B&&y?y.offsetLeft:0))/i,R=(r.top+(B&&y?y.offsetTop:0))/C,z=r.width/i,j=r.height/C;return{width:z,height:j,top:R,right:L+z,bottom:R+j,left:L,x:L,y:R}}function getLayoutRect$1(e){var t=getBoundingClientRect$1(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function contains$1(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&isShadowRoot$2(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function getComputedStyle$2(e){return getWindow$1(e).getComputedStyle(e)}function isTableElement$1(e){return["table","td","th"].indexOf(getNodeName$1(e))>=0}function getDocumentElement$1(e){return((isElement$4(e)?e.ownerDocument:e.document)||window.document).documentElement}function getParentNode$1(e){return getNodeName$1(e)==="html"?e:e.assignedSlot||e.parentNode||(isShadowRoot$2(e)?e.host:null)||getDocumentElement$1(e)}function getTrueOffsetParent$1(e){return!isHTMLElement$2(e)||getComputedStyle$2(e).position==="fixed"?null:e.offsetParent}function getContainingBlock$1(e){var t=/firefox/i.test(getUAString$1()),n=/Trident/i.test(getUAString$1());if(n&&isHTMLElement$2(e)){var r=getComputedStyle$2(e);if(r.position==="fixed")return null}var i=getParentNode$1(e);for(isShadowRoot$2(i)&&(i=i.host);isHTMLElement$2(i)&&["html","body"].indexOf(getNodeName$1(i))<0;){var C=getComputedStyle$2(i);if(C.transform!=="none"||C.perspective!=="none"||C.contain==="paint"||["transform","perspective"].indexOf(C.willChange)!==-1||t&&C.willChange==="filter"||t&&C.filter&&C.filter!=="none")return i;i=i.parentNode}return null}function getOffsetParent$1(e){for(var t=getWindow$1(e),n=getTrueOffsetParent$1(e);n&&isTableElement$1(n)&&getComputedStyle$2(n).position==="static";)n=getTrueOffsetParent$1(n);return n&&(getNodeName$1(n)==="html"||getNodeName$1(n)==="body"&&getComputedStyle$2(n).position==="static")?t:n||getContainingBlock$1(e)||t}function getMainAxisFromPlacement$1(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function within$1(e,t,n){return max$1(e,min$1(t,n))}function withinMaxClamp$1(e,t,n){var r=within$1(e,t,n);return r>n?n:r}function getFreshSideObject$1(){return{top:0,right:0,bottom:0,left:0}}function mergePaddingObject$1(e){return Object.assign({},getFreshSideObject$1(),e)}function expandToHashMap$1(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var toPaddingObject$1=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,mergePaddingObject$1(typeof t!="number"?t:expandToHashMap$1(t,basePlacements$1))};function arrow$3(e){var t,n=e.state,r=e.name,i=e.options,C=n.elements.arrow,k=n.modifiersData.popperOffsets,y=getBasePlacement$3(n.placement),B=getMainAxisFromPlacement$1(y),L=[left$1,right$1].indexOf(y)>=0,R=L?"height":"width";if(!(!C||!k)){var z=toPaddingObject$1(i.padding,n),j=getLayoutRect$1(C),$=B==="y"?top$1:left$1,H=B==="y"?bottom$1:right$1,Q=n.rects.reference[R]+n.rects.reference[B]-k[B]-n.rects.popper[R],W=k[B]-n.rects.reference[B],te=getOffsetParent$1(C),ee=te?B==="y"?te.clientHeight||0:te.clientWidth||0:0,q=Q/2-W/2,G=z[$],J=ee-j[R]-z[H],Z=ee/2-j[R]/2+q,ne=within$1(G,Z,J),oe=B;n.modifiersData[r]=(t={},t[oe]=ne,t.centerOffset=ne-Z,t)}}function effect$4(e){var t=e.state,n=e.options,r=n.element,i=r===void 0?"[data-popper-arrow]":r;i!=null&&(typeof i=="string"&&(i=t.elements.popper.querySelector(i),!i)||contains$1(t.elements.popper,i)&&(t.elements.arrow=i))}const arrow$2={name:"arrow",enabled:!0,phase:"main",fn:arrow$3,effect:effect$4,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function getVariation$1(e){return e.split("-")[1]}var unsetSides$1={top:"auto",right:"auto",bottom:"auto",left:"auto"};function roundOffsetsByDPR$1(e,t){var n=e.x,r=e.y,i=t.devicePixelRatio||1;return{x:round$1(n*i)/i||0,y:round$1(r*i)/i||0}}function mapToStyles$1(e){var t,n=e.popper,r=e.popperRect,i=e.placement,C=e.variation,k=e.offsets,y=e.position,B=e.gpuAcceleration,L=e.adaptive,R=e.roundOffsets,z=e.isFixed,j=k.x,$=j===void 0?0:j,H=k.y,Q=H===void 0?0:H,W=typeof R=="function"?R({x:$,y:Q}):{x:$,y:Q};$=W.x,Q=W.y;var te=k.hasOwnProperty("x"),ee=k.hasOwnProperty("y"),q=left$1,G=top$1,J=window;if(L){var Z=getOffsetParent$1(n),ne="clientHeight",oe="clientWidth";if(Z===getWindow$1(n)&&(Z=getDocumentElement$1(n),getComputedStyle$2(Z).position!=="static"&&y==="absolute"&&(ne="scrollHeight",oe="scrollWidth")),Z=Z,i===top$1||(i===left$1||i===right$1)&&C===end$1){G=bottom$1;var ae=z&&Z===J&&J.visualViewport?J.visualViewport.height:Z[ne];Q-=ae-r.height,Q*=B?1:-1}if(i===left$1||(i===top$1||i===bottom$1)&&C===end$1){q=right$1;var se=z&&Z===J&&J.visualViewport?J.visualViewport.width:Z[oe];$-=se-r.width,$*=B?1:-1}}var de=Object.assign({position:y},L&&unsetSides$1),ge=R===!0?roundOffsetsByDPR$1({x:$,y:Q},getWindow$1(n)):{x:$,y:Q};if($=ge.x,Q=ge.y,B){var fe;return Object.assign({},de,(fe={},fe[G]=ee?"0":"",fe[q]=te?"0":"",fe.transform=(J.devicePixelRatio||1)<=1?"translate("+$+"px, "+Q+"px)":"translate3d("+$+"px, "+Q+"px, 0)",fe))}return Object.assign({},de,(t={},t[G]=ee?Q+"px":"",t[q]=te?$+"px":"",t.transform="",t))}function computeStyles$3(e){var t=e.state,n=e.options,r=n.gpuAcceleration,i=r===void 0?!0:r,C=n.adaptive,k=C===void 0?!0:C,y=n.roundOffsets,B=y===void 0?!0:y,L={placement:getBasePlacement$3(t.placement),variation:getVariation$1(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:i,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,mapToStyles$1(Object.assign({},L,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:k,roundOffsets:B})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,mapToStyles$1(Object.assign({},L,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:B})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const computeStyles$2={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:computeStyles$3,data:{}};var passive$1={passive:!0};function effect$3(e){var t=e.state,n=e.instance,r=e.options,i=r.scroll,C=i===void 0?!0:i,k=r.resize,y=k===void 0?!0:k,B=getWindow$1(t.elements.popper),L=[].concat(t.scrollParents.reference,t.scrollParents.popper);return C&&L.forEach(function(R){R.addEventListener("scroll",n.update,passive$1)}),y&&B.addEventListener("resize",n.update,passive$1),function(){C&&L.forEach(function(R){R.removeEventListener("scroll",n.update,passive$1)}),y&&B.removeEventListener("resize",n.update,passive$1)}}const eventListeners$1={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:effect$3,data:{}};var hash$3={left:"right",right:"left",bottom:"top",top:"bottom"};function getOppositePlacement$1(e){return e.replace(/left|right|bottom|top/g,function(t){return hash$3[t]})}var hash$2={start:"end",end:"start"};function getOppositeVariationPlacement$1(e){return e.replace(/start|end/g,function(t){return hash$2[t]})}function getWindowScroll$1(e){var t=getWindow$1(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function getWindowScrollBarX$1(e){return getBoundingClientRect$1(getDocumentElement$1(e)).left+getWindowScroll$1(e).scrollLeft}function getViewportRect$1(e,t){var n=getWindow$1(e),r=getDocumentElement$1(e),i=n.visualViewport,C=r.clientWidth,k=r.clientHeight,y=0,B=0;if(i){C=i.width,k=i.height;var L=isLayoutViewport$1();(L||!L&&t==="fixed")&&(y=i.offsetLeft,B=i.offsetTop)}return{width:C,height:k,x:y+getWindowScrollBarX$1(e),y:B}}function getDocumentRect$1(e){var t,n=getDocumentElement$1(e),r=getWindowScroll$1(e),i=(t=e.ownerDocument)==null?void 0:t.body,C=max$1(n.scrollWidth,n.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),k=max$1(n.scrollHeight,n.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),y=-r.scrollLeft+getWindowScrollBarX$1(e),B=-r.scrollTop;return getComputedStyle$2(i||n).direction==="rtl"&&(y+=max$1(n.clientWidth,i?i.clientWidth:0)-C),{width:C,height:k,x:y,y:B}}function isScrollParent$1(e){var t=getComputedStyle$2(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+r)}function getScrollParent$1(e){return["html","body","#document"].indexOf(getNodeName$1(e))>=0?e.ownerDocument.body:isHTMLElement$2(e)&&isScrollParent$1(e)?e:getScrollParent$1(getParentNode$1(e))}function listScrollParents$1(e,t){var n;t===void 0&&(t=[]);var r=getScrollParent$1(e),i=r===((n=e.ownerDocument)==null?void 0:n.body),C=getWindow$1(r),k=i?[C].concat(C.visualViewport||[],isScrollParent$1(r)?r:[]):r,y=t.concat(k);return i?y:y.concat(listScrollParents$1(getParentNode$1(k)))}function rectToClientRect$1(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function getInnerBoundingClientRect$1(e,t){var n=getBoundingClientRect$1(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function getClientRectFromMixedType$1(e,t,n){return t===viewport$1?rectToClientRect$1(getViewportRect$1(e,n)):isElement$4(t)?getInnerBoundingClientRect$1(t,n):rectToClientRect$1(getDocumentRect$1(getDocumentElement$1(e)))}function getClippingParents$1(e){var t=listScrollParents$1(getParentNode$1(e)),n=["absolute","fixed"].indexOf(getComputedStyle$2(e).position)>=0,r=n&&isHTMLElement$2(e)?getOffsetParent$1(e):e;return isElement$4(r)?t.filter(function(i){return isElement$4(i)&&contains$1(i,r)&&getNodeName$1(i)!=="body"}):[]}function getClippingRect$1(e,t,n,r){var i=t==="clippingParents"?getClippingParents$1(e):[].concat(t),C=[].concat(i,[n]),k=C[0],y=C.reduce(function(B,L){var R=getClientRectFromMixedType$1(e,L,r);return B.top=max$1(R.top,B.top),B.right=min$1(R.right,B.right),B.bottom=min$1(R.bottom,B.bottom),B.left=max$1(R.left,B.left),B},getClientRectFromMixedType$1(e,k,r));return y.width=y.right-y.left,y.height=y.bottom-y.top,y.x=y.left,y.y=y.top,y}function computeOffsets$1(e){var t=e.reference,n=e.element,r=e.placement,i=r?getBasePlacement$3(r):null,C=r?getVariation$1(r):null,k=t.x+t.width/2-n.width/2,y=t.y+t.height/2-n.height/2,B;switch(i){case top$1:B={x:k,y:t.y-n.height};break;case bottom$1:B={x:k,y:t.y+t.height};break;case right$1:B={x:t.x+t.width,y};break;case left$1:B={x:t.x-n.width,y};break;default:B={x:t.x,y:t.y}}var L=i?getMainAxisFromPlacement$1(i):null;if(L!=null){var R=L==="y"?"height":"width";switch(C){case start$1:B[L]=B[L]-(t[R]/2-n[R]/2);break;case end$1:B[L]=B[L]+(t[R]/2-n[R]/2);break}}return B}function detectOverflow$1(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=r===void 0?e.placement:r,C=n.strategy,k=C===void 0?e.strategy:C,y=n.boundary,B=y===void 0?clippingParents$1:y,L=n.rootBoundary,R=L===void 0?viewport$1:L,z=n.elementContext,j=z===void 0?popper$1:z,$=n.altBoundary,H=$===void 0?!1:$,Q=n.padding,W=Q===void 0?0:Q,te=mergePaddingObject$1(typeof W!="number"?W:expandToHashMap$1(W,basePlacements$1)),ee=j===popper$1?reference$1:popper$1,q=e.rects.popper,G=e.elements[H?ee:j],J=getClippingRect$1(isElement$4(G)?G:G.contextElement||getDocumentElement$1(e.elements.popper),B,R,k),Z=getBoundingClientRect$1(e.elements.reference),ne=computeOffsets$1({reference:Z,element:q,placement:i}),oe=rectToClientRect$1(Object.assign({},q,ne)),ae=j===popper$1?oe:Z,se={top:J.top-ae.top+te.top,bottom:ae.bottom-J.bottom+te.bottom,left:J.left-ae.left+te.left,right:ae.right-J.right+te.right},de=e.modifiersData.offset;if(j===popper$1&&de){var ge=de[i];Object.keys(se).forEach(function(fe){var ie=[right$1,bottom$1].indexOf(fe)>=0?1:-1,ce=[top$1,bottom$1].indexOf(fe)>=0?"y":"x";se[fe]+=ge[ce]*ie})}return se}function computeAutoPlacement$1(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=n.boundary,C=n.rootBoundary,k=n.padding,y=n.flipVariations,B=n.allowedAutoPlacements,L=B===void 0?placements$2:B,R=getVariation$1(r),z=R?y?variationPlacements$1:variationPlacements$1.filter(function(H){return getVariation$1(H)===R}):basePlacements$1,j=z.filter(function(H){return L.indexOf(H)>=0});j.length===0&&(j=z);var $=j.reduce(function(H,Q){return H[Q]=detectOverflow$1(e,{placement:Q,boundary:i,rootBoundary:C,padding:k})[getBasePlacement$3(Q)],H},{});return Object.keys($).sort(function(H,Q){return $[H]-$[Q]})}function getExpandedFallbackPlacements$1(e){if(getBasePlacement$3(e)===auto$1)return[];var t=getOppositePlacement$1(e);return[getOppositeVariationPlacement$1(e),t,getOppositeVariationPlacement$1(t)]}function flip$3(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var i=n.mainAxis,C=i===void 0?!0:i,k=n.altAxis,y=k===void 0?!0:k,B=n.fallbackPlacements,L=n.padding,R=n.boundary,z=n.rootBoundary,j=n.altBoundary,$=n.flipVariations,H=$===void 0?!0:$,Q=n.allowedAutoPlacements,W=t.options.placement,te=getBasePlacement$3(W),ee=te===W,q=B||(ee||!H?[getOppositePlacement$1(W)]:getExpandedFallbackPlacements$1(W)),G=[W].concat(q).reduce(function(Ae,Te){return Ae.concat(getBasePlacement$3(Te)===auto$1?computeAutoPlacement$1(t,{placement:Te,boundary:R,rootBoundary:z,padding:L,flipVariations:H,allowedAutoPlacements:Q}):Te)},[]),J=t.rects.reference,Z=t.rects.popper,ne=new Map,oe=!0,ae=G[0],se=0;se<G.length;se++){var de=G[se],ge=getBasePlacement$3(de),fe=getVariation$1(de)===start$1,ie=[top$1,bottom$1].indexOf(ge)>=0,ce=ie?"width":"height",pe=detectOverflow$1(t,{placement:de,boundary:R,rootBoundary:z,altBoundary:j,padding:L}),le=ie?fe?right$1:left$1:fe?bottom$1:top$1;J[ce]>Z[ce]&&(le=getOppositePlacement$1(le));var ue=getOppositePlacement$1(le),he=[];if(C&&he.push(pe[ge]<=0),y&&he.push(pe[le]<=0,pe[ue]<=0),he.every(function(Ae){return Ae})){ae=de,oe=!1;break}ne.set(de,he)}if(oe)for(var ye=H?3:1,_e=function(Te){var Ze=G.find(function(lt){var Ge=ne.get(lt);if(Ge)return Ge.slice(0,Te).every(function(st){return st})});if(Ze)return ae=Ze,"break"},Ne=ye;Ne>0;Ne--){var be=_e(Ne);if(be==="break")break}t.placement!==ae&&(t.modifiersData[r]._skip=!0,t.placement=ae,t.reset=!0)}}const flip$2={name:"flip",enabled:!0,phase:"main",fn:flip$3,requiresIfExists:["offset"],data:{_skip:!1}};function getSideOffsets$1(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function isAnySideFullyClipped$1(e){return[top$1,right$1,bottom$1,left$1].some(function(t){return e[t]>=0})}function hide$3(e){var t=e.state,n=e.name,r=t.rects.reference,i=t.rects.popper,C=t.modifiersData.preventOverflow,k=detectOverflow$1(t,{elementContext:"reference"}),y=detectOverflow$1(t,{altBoundary:!0}),B=getSideOffsets$1(k,r),L=getSideOffsets$1(y,i,C),R=isAnySideFullyClipped$1(B),z=isAnySideFullyClipped$1(L);t.modifiersData[n]={referenceClippingOffsets:B,popperEscapeOffsets:L,isReferenceHidden:R,hasPopperEscaped:z},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":R,"data-popper-escaped":z})}const hide$2={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:hide$3};function distanceAndSkiddingToXY$1(e,t,n){var r=getBasePlacement$3(e),i=[left$1,top$1].indexOf(r)>=0?-1:1,C=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,k=C[0],y=C[1];return k=k||0,y=(y||0)*i,[left$1,right$1].indexOf(r)>=0?{x:y,y:k}:{x:k,y}}function offset$3(e){var t=e.state,n=e.options,r=e.name,i=n.offset,C=i===void 0?[0,0]:i,k=placements$2.reduce(function(R,z){return R[z]=distanceAndSkiddingToXY$1(z,t.rects,C),R},{}),y=k[t.placement],B=y.x,L=y.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=B,t.modifiersData.popperOffsets.y+=L),t.modifiersData[r]=k}const offset$2={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:offset$3};function popperOffsets$3(e){var t=e.state,n=e.name;t.modifiersData[n]=computeOffsets$1({reference:t.rects.reference,element:t.rects.popper,placement:t.placement})}const popperOffsets$2={name:"popperOffsets",enabled:!0,phase:"read",fn:popperOffsets$3,data:{}};function getAltAxis$1(e){return e==="x"?"y":"x"}function preventOverflow$3(e){var t=e.state,n=e.options,r=e.name,i=n.mainAxis,C=i===void 0?!0:i,k=n.altAxis,y=k===void 0?!1:k,B=n.boundary,L=n.rootBoundary,R=n.altBoundary,z=n.padding,j=n.tether,$=j===void 0?!0:j,H=n.tetherOffset,Q=H===void 0?0:H,W=detectOverflow$1(t,{boundary:B,rootBoundary:L,padding:z,altBoundary:R}),te=getBasePlacement$3(t.placement),ee=getVariation$1(t.placement),q=!ee,G=getMainAxisFromPlacement$1(te),J=getAltAxis$1(G),Z=t.modifiersData.popperOffsets,ne=t.rects.reference,oe=t.rects.popper,ae=typeof Q=="function"?Q(Object.assign({},t.rects,{placement:t.placement})):Q,se=typeof ae=="number"?{mainAxis:ae,altAxis:ae}:Object.assign({mainAxis:0,altAxis:0},ae),de=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,ge={x:0,y:0};if(Z){if(C){var fe,ie=G==="y"?top$1:left$1,ce=G==="y"?bottom$1:right$1,pe=G==="y"?"height":"width",le=Z[G],ue=le+W[ie],he=le-W[ce],ye=$?-oe[pe]/2:0,_e=ee===start$1?ne[pe]:oe[pe],Ne=ee===start$1?-oe[pe]:-ne[pe],be=t.elements.arrow,Ae=$&&be?getLayoutRect$1(be):{width:0,height:0},Te=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:getFreshSideObject$1(),Ze=Te[ie],lt=Te[ce],Ge=within$1(0,ne[pe],Ae[pe]),st=q?ne[pe]/2-ye-Ge-Ze-se.mainAxis:_e-Ge-Ze-se.mainAxis,Ue=q?-ne[pe]/2+ye+Ge+lt+se.mainAxis:Ne+Ge+lt+se.mainAxis,De=t.elements.arrow&&getOffsetParent$1(t.elements.arrow),We=De?G==="y"?De.clientTop||0:De.clientLeft||0:0,Ye=(fe=de?.[G])!=null?fe:0,Re=le+st-Ye-We,Je=le+Ue-Ye,Xe=within$1($?min$1(ue,Re):ue,le,$?max$1(he,Je):he);Z[G]=Xe,ge[G]=Xe-le}if(y){var Me,nt=G==="x"?top$1:left$1,et=G==="x"?bottom$1:right$1,wt=Z[J],tt=J==="y"?"height":"width",ot=wt+W[nt],gt=wt-W[et],Et=[top$1,left$1].indexOf(te)!==-1,Dt=(Me=de?.[J])!=null?Me:0,Ft=Et?ot:wt-ne[tt]-oe[tt]-Dt+se.altAxis,Nt=Et?wt+ne[tt]+oe[tt]-Dt-se.altAxis:gt,Pe=$&&Et?withinMaxClamp$1(Ft,wt,Nt):within$1($?Ft:ot,wt,$?Nt:gt);Z[J]=Pe,ge[J]=Pe-wt}t.modifiersData[r]=ge}}const preventOverflow$2={name:"preventOverflow",enabled:!0,phase:"main",fn:preventOverflow$3,requiresIfExists:["offset"]};function getHTMLElementScroll$1(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function getNodeScroll$1(e){return e===getWindow$1(e)||!isHTMLElement$2(e)?getWindowScroll$1(e):getHTMLElementScroll$1(e)}function isElementScaled$1(e){var t=e.getBoundingClientRect(),n=round$1(t.width)/e.offsetWidth||1,r=round$1(t.height)/e.offsetHeight||1;return n!==1||r!==1}function getCompositeRect$1(e,t,n){n===void 0&&(n=!1);var r=isHTMLElement$2(t),i=isHTMLElement$2(t)&&isElementScaled$1(t),C=getDocumentElement$1(t),k=getBoundingClientRect$1(e,i,n),y={scrollLeft:0,scrollTop:0},B={x:0,y:0};return(r||!r&&!n)&&((getNodeName$1(t)!=="body"||isScrollParent$1(C))&&(y=getNodeScroll$1(t)),isHTMLElement$2(t)?(B=getBoundingClientRect$1(t,!0),B.x+=t.clientLeft,B.y+=t.clientTop):C&&(B.x=getWindowScrollBarX$1(C))),{x:k.left+y.scrollLeft-B.x,y:k.top+y.scrollTop-B.y,width:k.width,height:k.height}}function order$1(e){var t=new Map,n=new Set,r=[];e.forEach(function(C){t.set(C.name,C)});function i(C){n.add(C.name);var k=[].concat(C.requires||[],C.requiresIfExists||[]);k.forEach(function(y){if(!n.has(y)){var B=t.get(y);B&&i(B)}}),r.push(C)}return e.forEach(function(C){n.has(C.name)||i(C)}),r}function orderModifiers$1(e){var t=order$1(e);return modifierPhases$1.reduce(function(n,r){return n.concat(t.filter(function(i){return i.phase===r}))},[])}function debounce$4(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function mergeByName$1(e){var t=e.reduce(function(n,r){var i=n[r.name];return n[r.name]=i?Object.assign({},i,r,{options:Object.assign({},i.options,r.options),data:Object.assign({},i.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var DEFAULT_OPTIONS$1={placement:"bottom",modifiers:[],strategy:"absolute"};function areValidElements$1(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return!t.some(function(r){return!(r&&typeof r.getBoundingClientRect=="function")})}function popperGenerator$1(e){e===void 0&&(e={});var t=e,n=t.defaultModifiers,r=n===void 0?[]:n,i=t.defaultOptions,C=i===void 0?DEFAULT_OPTIONS$1:i;return function(y,B,L){L===void 0&&(L=C);var R={placement:"bottom",orderedModifiers:[],options:Object.assign({},DEFAULT_OPTIONS$1,C),modifiersData:{},elements:{reference:y,popper:B},attributes:{},styles:{}},z=[],j=!1,$={state:R,setOptions:function(te){var ee=typeof te=="function"?te(R.options):te;Q(),R.options=Object.assign({},C,R.options,ee),R.scrollParents={reference:isElement$4(y)?listScrollParents$1(y):y.contextElement?listScrollParents$1(y.contextElement):[],popper:listScrollParents$1(B)};var q=orderModifiers$1(mergeByName$1([].concat(r,R.options.modifiers)));return R.orderedModifiers=q.filter(function(G){return G.enabled}),H(),$.update()},forceUpdate:function(){if(!j){var te=R.elements,ee=te.reference,q=te.popper;if(areValidElements$1(ee,q)){R.rects={reference:getCompositeRect$1(ee,getOffsetParent$1(q),R.options.strategy==="fixed"),popper:getLayoutRect$1(q)},R.reset=!1,R.placement=R.options.placement,R.orderedModifiers.forEach(function(se){return R.modifiersData[se.name]=Object.assign({},se.data)});for(var G=0;G<R.orderedModifiers.length;G++){if(R.reset===!0){R.reset=!1,G=-1;continue}var J=R.orderedModifiers[G],Z=J.fn,ne=J.options,oe=ne===void 0?{}:ne,ae=J.name;typeof Z=="function"&&(R=Z({state:R,options:oe,name:ae,instance:$})||R)}}}},update:debounce$4(function(){return new Promise(function(W){$.forceUpdate(),W(R)})}),destroy:function(){Q(),j=!0}};if(!areValidElements$1(y,B))return $;$.setOptions(L).then(function(W){!j&&L.onFirstUpdate&&L.onFirstUpdate(W)});function H(){R.orderedModifiers.forEach(function(W){var te=W.name,ee=W.options,q=ee===void 0?{}:ee,G=W.effect;if(typeof G=="function"){var J=G({state:R,name:te,instance:$,options:q}),Z=function(){};z.push(J||Z)}})}function Q(){z.forEach(function(W){return W()}),z=[]}return $}}var defaultModifiers$1=[eventListeners$1,popperOffsets$2,computeStyles$2,applyStyles$2,offset$2,flip$2,preventOverflow$2,arrow$2,hide$2],createPopper$1=popperGenerator$1({defaultModifiers:defaultModifiers$1}),BOX_CLASS$1="tippy-box",CONTENT_CLASS$1="tippy-content",BACKDROP_CLASS$1="tippy-backdrop",ARROW_CLASS$1="tippy-arrow",SVG_ARROW_CLASS$1="tippy-svg-arrow",TOUCH_OPTIONS$1={passive:!0,capture:!0},TIPPY_DEFAULT_APPEND_TO$1=function(){return document.body};function hasOwnProperty$e(e,t){return{}.hasOwnProperty.call(e,t)}function getValueAtIndexOrReturn$1(e,t,n){if(Array.isArray(e)){var r=e[t];return r??(Array.isArray(n)?n[t]:n)}return e}function isType$1(e,t){var n={}.toString.call(e);return n.indexOf("[object")===0&&n.indexOf(t+"]")>-1}function invokeWithArgsOrReturn$1(e,t){return typeof e=="function"?e.apply(void 0,t):e}function debounce$3(e,t){if(t===0)return e;var n;return function(r){clearTimeout(n),n=setTimeout(function(){e(r)},t)}}function removeProperties(e,t){var n=Object.assign({},e);return t.forEach(function(r){delete n[r]}),n}function splitBySpaces$1(e){return e.split(/\s+/).filter(Boolean)}function normalizeToArray$1(e){return[].concat(e)}function pushIfUnique$1(e,t){e.indexOf(t)===-1&&e.push(t)}function unique$2(e){return e.filter(function(t,n){return e.indexOf(t)===n})}function getBasePlacement$2(e){return e.split("-")[0]}function arrayFrom$1(e){return[].slice.call(e)}function removeUndefinedProps$1(e){return Object.keys(e).reduce(function(t,n){return e[n]!==void 0&&(t[n]=e[n]),t},{})}function div$1(){return document.createElement("div")}function isElement$3(e){return["Element","Fragment"].some(function(t){return isType$1(e,t)})}function isNodeList$1(e){return isType$1(e,"NodeList")}function isMouseEvent$1(e){return isType$1(e,"MouseEvent")}function isReferenceElement$1(e){return!!(e&&e._tippy&&e._tippy.reference===e)}function getArrayOfElements$1(e){return isElement$3(e)?[e]:isNodeList$1(e)?arrayFrom$1(e):Array.isArray(e)?e:arrayFrom$1(document.querySelectorAll(e))}function setTransitionDuration$1(e,t){e.forEach(function(n){n&&(n.style.transitionDuration=t+"ms")})}function setVisibilityState$1(e,t){e.forEach(function(n){n&&n.setAttribute("data-state",t)})}function getOwnerDocument$1(e){var t,n=normalizeToArray$1(e),r=n[0];return r!=null&&(t=r.ownerDocument)!=null&&t.body?r.ownerDocument:document}function isCursorOutsideInteractiveBorder$1(e,t){var n=t.clientX,r=t.clientY;return e.every(function(i){var C=i.popperRect,k=i.popperState,y=i.props,B=y.interactiveBorder,L=getBasePlacement$2(k.placement),R=k.modifiersData.offset;if(!R)return!0;var z=L==="bottom"?R.top.y:0,j=L==="top"?R.bottom.y:0,$=L==="right"?R.left.x:0,H=L==="left"?R.right.x:0,Q=C.top-r+z>B,W=r-C.bottom-j>B,te=C.left-n+$>B,ee=n-C.right-H>B;return Q||W||te||ee})}function updateTransitionEndListener$1(e,t,n){var r=t+"EventListener";["transitionend","webkitTransitionEnd"].forEach(function(i){e[r](i,n)})}function actualContains$1(e,t){for(var n=t;n;){var r;if(e.contains(n))return!0;n=n.getRootNode==null||(r=n.getRootNode())==null?void 0:r.host}return!1}var currentInput$1={isTouch:!1},lastMouseMoveTime$1=0;function onDocumentTouchStart$1(){currentInput$1.isTouch||(currentInput$1.isTouch=!0,window.performance&&document.addEventListener("mousemove",onDocumentMouseMove$1))}function onDocumentMouseMove$1(){var e=performance.now();e-lastMouseMoveTime$1<20&&(currentInput$1.isTouch=!1,document.removeEventListener("mousemove",onDocumentMouseMove$1)),lastMouseMoveTime$1=e}function onWindowBlur$1(){var e=document.activeElement;if(isReferenceElement$1(e)){var t=e._tippy;e.blur&&!t.state.isVisible&&e.blur()}}function bindGlobalEventListeners$1(){document.addEventListener("touchstart",onDocumentTouchStart$1,TOUCH_OPTIONS$1),window.addEventListener("blur",onWindowBlur$1)}var isBrowser$1=typeof window<"u"&&typeof document<"u",isIE11$1=isBrowser$1?!!window.msCrypto:!1;function createMemoryLeakWarning(e){var t=e==="destroy"?"n already-":" ";return[e+"() was called on a"+t+"destroyed instance. This is a no-op but","indicates a potential memory leak."].join(" ")}function clean(e){var t=/[ \t]{2,}/g,n=/^[ \t]*/gm;return e.replace(t," ").replace(n,"").trim()}function getDevMessage(e){return clean(`
6
+ }`;try{return JSON.stringify(JSON.parse(Z),null,2)}catch{return J}}return JSON.stringify(J,null,2)},H=vue.ref($(B.value.value));vue.watch(()=>r.variable.value,J=>{const Z=$(J);Z!==H.value&&(H.value=Z)},{deep:!0});const Q=()=>{const J=H.value.trim();if(!J)return{valid:!1,message:"请输入 JSON 默认值"};try{return{valid:!0,value:JSON.parse(J)}}catch{return{valid:!1,message:"请输入正确的 JSON 格式数据"}}},W=()=>{const J=Q();return J.valid?(k.value="",B.value.value=J.value,R(),!0):!1},te=()=>{k.value="",W()},ee=()=>{r.editable&&W()&&(H.value=$(B.value.value))},q=({hasErrors:J})=>{y.value=J};return t({validate:async()=>{k.value="";const J=await validateBkForm(C),Z=Q();return!Z.valid||y.value?(k.value=Z.message||"请输入正确的 JSON 格式数据",!1):(B.value.value=Z.value,R(),J)}}),(J,Z)=>{const ne=vue.resolveComponent("bk-form-item"),oe=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createBlock(oe,{ref_key:"formRef",ref:C,"label-width":110,model:vue.unref(L)},{default:vue.withCtx(()=>[z.value?(vue.openBlock(),vue.createBlock(ne,{key:0,label:"默认值"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$2b,[vue.createVNode(CodeEditor,{modelValue:H.value,"onUpdate:modelValue":Z[0]||(Z[0]=ae=>H.value=ae),options:j.value,onChange:te,onBlur:ee,onMarkersChange:q},null,8,["modelValue","options"])]),k.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$1C,vue.toDisplayString(k.value),1)):vue.createCommentVNode("",!0)]),_:1})):vue.createCommentVNode("",!0)]),_:1},8,["model"])}}}),BuiltinJsonConfig=_export_sfc(_sfc_main$1Z,[["__scopeId","data-v-f0c79728"]]),LOCAL_TIME_PICKER_TYPE={name:"时间",code:"time_picker",type:"general",form:"",tag:"time_picker.time_picker",meta_tag:null,description:"时间选择器变量"},TIME_PICKER_DEFAULT_VALUE={type:"time_range",methods:["relative"],range_limit_enabled:!1,time_offset:1,time_unit:"hour",time_base:"now"},BUILTIN_VARIABLE_TYPES=[{code:"input",name:"input(输入框)",data_type:"string",default_value:"",supports_validation:!0},{code:"textarea",name:"textarea(文本框)",data_type:"string",default_value:"",supports_validation:!0},{code:"select",name:"select(下拉框)",data_type:"string",default_value:""},{code:"filter",name:"filter(复合条件选择)",data_type:"string[]",default_value:[]},{code:"timepicker",name:"timepicker(时间选择)",data_type:"time",default_value:TIME_PICKER_DEFAULT_VALUE},{code:"array",name:"Array(Array)",data_type:"array",default_value:[]},{code:"json",name:"JSON(JSON)",data_type:"json",default_value:{}}],LEGACY_TYPE_ALIAS={json_variable:"json",time_picker:"timepicker"},normalizeBuiltinTypeCode=e=>e?LEGACY_TYPE_ALIAS[e]||e:"",getBuiltinTypeByCode=e=>{const t=normalizeBuiltinTypeCode(e);return BUILTIN_VARIABLE_TYPES.find(n=>n.code===t)},isBuiltinVariableTypeCode=e=>!!getBuiltinTypeByCode(e),isBuiltinUsageVariable=e=>!e||e.source_type!=="custom"||e.show_type!=="show"?!1:isBuiltinVariableTypeCode(e.custom_type),getBuiltinAsCustomVariableTypes=()=>[...BUILTIN_VARIABLE_TYPES.map(e=>({name:e.name,code:e.code,type:"general",form:"",tag:`${e.code}.${e.code}`,meta_tag:null,description:e.name})),LOCAL_TIME_PICKER_TYPE],_hoisted_1$2a={class:"default-value-placeholder"},_sfc_main$1Y=vue.defineComponent({__name:"default-value-placeholder",props:{typeName:{}},setup(e){const t=e,n=vue.computed(()=>`${t.typeName||"该类型"}默认值配置待补齐`);return(r,i)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$2a,vue.toDisplayString(n.value),1))}}),DefaultValuePlaceholder=_export_sfc(_sfc_main$1Y,[["__scopeId","data-v-f5d54e22"]]),_sfc_main$1X=vue.defineComponent({__name:"builtin-placeholder-config",props:{variable:{},editable:{type:Boolean,default:!0}},emits:["change"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.ref(),k=vue.ref(!1),{localData:y,formModel:B,handleChange:L}=useLocalVariableConfig(r,i),R=vue.computed(()=>getBuiltinTypeByCode(y.value.custom_type)),z=vue.computed(()=>y.value.source_type!=="component_outputs"),j=vue.computed(()=>y.value.meta?.data_type||R.value?.data_type||"--"),$=useMetaStringField(y,"placeholder"),H=useMetaStringField(y,"validation_error_msg");return t({validate:()=>validateBkForm(C)}),(W,te)=>{const ee=vue.resolveComponent("bk-input"),q=vue.resolveComponent("bk-form-item"),G=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createBlock(G,{ref_key:"formRef",ref:C,"label-width":110,model:vue.unref(B)},{default:vue.withCtx(()=>[vue.createVNode(q,{label:"数据类型"},{default:vue.withCtx(()=>[vue.createVNode(ee,{"model-value":j.value,disabled:""},null,8,["model-value"])]),_:1}),z.value?(vue.openBlock(),vue.createBlock(q,{key:0,label:"默认值"},{default:vue.withCtx(()=>[vue.createVNode(DefaultValuePlaceholder,{"type-name":R.value?.name},null,8,["type-name"])]),_:1})):vue.createCommentVNode("",!0),vue.createElementVNode("div",{class:"advanced-toggle",onClick:te[0]||(te[0]=J=>k.value=!k.value)},[te[3]||(te[3]=vue.createElementVNode("span",null,"高级配置",-1)),vue.createElementVNode("i",{class:vue.normalizeClass(["bkflow-canvas-icon bkflow-canvas-arrows-down arrow-icon",k.value?"advanced-open":""])},null,2)]),k.value?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createVNode(q,{label:"输入指引提示"},{default:vue.withCtx(()=>[vue.createVNode(ee,{modelValue:vue.unref($),"onUpdate:modelValue":te[1]||(te[1]=J=>vue.isRef($)?$.value=J:null),type:"textarea",rows:2,resize:!1,maxlength:100,disabled:!r.editable,placeholder:"请输入",onChange:vue.unref(L)},null,8,["modelValue","disabled","onChange"])]),_:1}),vue.createVNode(q,{label:"校验错误提示"},{default:vue.withCtx(()=>[vue.createVNode(ee,{modelValue:vue.unref(H),"onUpdate:modelValue":te[2]||(te[2]=J=>vue.isRef(H)?H.value=J:null),type:"textarea",rows:2,resize:!1,maxlength:100,disabled:!r.editable,placeholder:"校验不通过,请重新输入",onChange:vue.unref(L)},null,8,["modelValue","disabled","onChange"])]),_:1})],64)):vue.createCommentVNode("",!0)]),_:1},8,["model"])}}}),BuiltinPlaceholderConfig=_export_sfc(_sfc_main$1X,[["__scopeId","data-v-9a557d01"]]),_hoisted_1$29={class:"candidate-data-config"},_hoisted_2$1B={class:"bk-button-group option-source-button-group"},_hoisted_3$19={class:"option-table-wrapper"},_hoisted_4$T={key:0,class:"option-table"},_hoisted_5$I=["onDragstart","onDragover","onDrop"],_hoisted_6$y={class:"option-value-cell"},_hoisted_7$o={class:"action-cell"},_hoisted_8$j={class:"action-cell-inner"},_hoisted_9$h=["onClick"],_hoisted_10$f=["onClick"],_hoisted_11$f={key:1,class:"related-data-config"},_hoisted_12$d={key:0,class:"validate-message"},_hoisted_13$b={class:"select-settings"},SELECT_ALL_VALUE$1="__ALL__",_sfc_main$1W=vue.defineComponent({__name:"builtin-select-config",props:{variable:{},editable:{type:Boolean,default:!0}},emits:["change"],setup(e,{expose:t,emit:n}){const r={id:SELECT_ALL_VALUE$1,name:"- ALL -"},i=[r],C=[],k=e,y=n,B=vue.ref(),L=vue.ref(""),R=vue.ref(-1),z=vue.ref(-1),{localData:j,formModel:$,handleChange:H}=useLocalVariableConfig(k,y),Q=vue.computed(()=>j.value.source_type!=="component_outputs"),W=()=>`option_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,te=vue.computed(()=>j.value.meta||{}),ee=Re=>{j.value.meta={...j.value.meta||{},...Re}},q=Re=>{const Xe=(Array.isArray(Re)?Re:[]).map(Me=>{const nt=Me.value??"";return{id:Me.id||W(),value:nt,label:Me.label||nt}});return Xe.length>0?Xe:[{id:"option_empty",label:"",value:""}]},G=vue.computed({get:()=>te.value.option_source||"manual",set:Re=>{ee({option_source:Re}),ee(Re==="manual"?{options:q(te.value.options)}:{related:{source:te.value.related?.source||"",candidate_values:se(te.value.related?.candidate_values)}}),pe(),L.value="",H()}}),J=Re=>{!k.editable||G.value===Re||(G.value=Re)},Z=vue.computed(()=>q(te.value.options)),ne=vue.computed({get:()=>!!te.value.multiple,set:Re=>{ee({multiple:Re,include_all:Re?!!te.value.include_all:!1})}}),oe=vue.computed({get:()=>!!te.value.include_all,set:Re=>{ee({include_all:Re})}}),ae=vue.computed({get:()=>te.value.related?.source||"",set:Re=>{ee({related:{source:Re,candidate_values:se(te.value.related?.candidate_values)}})}}),se=Re=>{const Je=Array.isArray(Re)&&Re.length>0?Re:[SELECT_ALL_VALUE$1];return Je.includes(SELECT_ALL_VALUE$1)?[SELECT_ALL_VALUE$1]:Je},de=vue.computed({get:()=>se(te.value.related?.candidate_values),set:Re=>{ee({related:{source:ae.value,candidate_values:se(Re)}})}}),ge=vue.computed(()=>i),fe=vue.computed(()=>C),ie=vue.computed(()=>{const Re=G.value==="manual"?Z.value.filter(Je=>Je.value.trim().length>0).map(Je=>({id:Je.value,name:Je.label||Je.value})):ge.value.filter(Je=>de.value.includes(Je.id));return ne.value&&oe.value?[r,...Re.filter(Je=>Je.id!==SELECT_ALL_VALUE$1)]:Re.filter(Je=>Je.id!==SELECT_ALL_VALUE$1)}),ce=vue.computed({get:()=>ne.value?Array.isArray(j.value.value)?j.value.value:[]:Array.isArray(j.value.value)?j.value.value[0]||"":j.value.value||"",set:Re=>{j.value.value=ne.value?Array.isArray(Re)?Re:Re?[Re]:[]:Re||""}}),pe=()=>{j.value.value=ne.value?[]:""},le=Re=>{ee({options:Re}),ue(Re.map(Je=>Je.value)),H()},ue=Re=>{if(ne.value){const Je=Array.isArray(j.value.value)?j.value.value:[];j.value.value=Je.filter(Xe=>Re.includes(Xe));return}Re.includes(String(j.value.value||""))||(j.value.value="")},he=(Re,Je)=>{const Xe=Z.value.slice(),Me=String(Je??"");Xe[Re]={...Xe[Re],value:Me,label:Me},L.value="",le(Xe)},ye=Re=>{const Je=Z.value.slice();Je.splice(Re+1,0,{id:W(),label:"",value:""}),L.value="",le(Je)},_e=Re=>{const Je=Z.value.slice();Je.splice(Re,1),L.value="",le(Je)},Ne=(Re,Je)=>{k.editable&&(R.value=Re,Je.dataTransfer&&(Je.dataTransfer.effectAllowed="move"))},be=Re=>{k.editable&&(z.value=Re)},Ae=()=>{z.value=-1},Te=Re=>{const Je=R.value;if(!k.editable||Je<0||Je===Re)return;const Xe=Z.value.slice(),[Me]=Xe.splice(Je,1);Xe.splice(Re,0,Me),le(Xe)},Ze=()=>{R.value=-1,z.value=-1},lt=()=>{de.value.includes(SELECT_ALL_VALUE$1)&&(de.value=[SELECT_ALL_VALUE$1]),pe(),H()},Ge=()=>{pe(),H()},st=()=>{ue(ie.value.map(Re=>Re.id)),H()},Ue=()=>{ne.value&&Array.isArray(j.value.value)&&j.value.value.includes(SELECT_ALL_VALUE$1)&&(j.value.value=[SELECT_ALL_VALUE$1]),H()},De=()=>{if(G.value!=="manual")return!0;const Re=Z.value.map(Je=>Je.value.trim());return Re.some(Je=>Je.length===0)?(L.value="请输入候选值",!1):new Set(Re).size!==Re.length?(L.value="候选值不能重复",!1):(L.value="",!0)},We=()=>G.value!=="related"?!0:ae.value.trim()?(L.value="",!0):(L.value="请选择关联数据",!1);return t({validate:async()=>await validateBkForm(B)&&De()&&We()}),(Re,Je)=>{const Xe=vue.resolveComponent("bk-button"),Me=vue.resolveComponent("bk-input"),nt=vue.resolveComponent("bk-select"),et=vue.resolveComponent("bk-form-item"),wt=vue.resolveComponent("bk-checkbox"),tt=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createBlock(tt,{ref_key:"formRef",ref:B,"label-width":110,model:vue.unref($)},{default:vue.withCtx(()=>[vue.createVNode(et,{label:"候选数据"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$29,[vue.createElementVNode("div",_hoisted_2$1B,[vue.createVNode(Xe,{class:vue.normalizeClass({"is-selected":G.value==="manual"}),disabled:!k.editable,onClick:Je[0]||(Je[0]=ot=>J("manual"))},{default:vue.withCtx(()=>[...Je[7]||(Je[7]=[vue.createTextVNode(" 手动输入 ",-1)])]),_:1},8,["class","disabled"]),vue.createVNode(Xe,{class:vue.normalizeClass({"is-selected":G.value==="related"}),disabled:!k.editable,onClick:Je[1]||(Je[1]=ot=>J("related"))},{default:vue.withCtx(()=>[...Je[8]||(Je[8]=[vue.createTextVNode(" 关联数据 ",-1)])]),_:1},8,["class","disabled"])]),vue.createElementVNode("div",_hoisted_3$19,[G.value==="manual"?(vue.openBlock(),vue.createElementBlock("table",_hoisted_4$T,[Je[12]||(Je[12]=vue.createElementVNode("colgroup",null,[vue.createElementVNode("col",{class:"drag-col"}),vue.createElementVNode("col"),vue.createElementVNode("col",{class:"action-col"})],-1)),Je[13]||(Je[13]=vue.createElementVNode("thead",null,[vue.createElementVNode("tr",null,[vue.createElementVNode("th"),vue.createElementVNode("th",null,[vue.createTextVNode("候选值 "),vue.createElementVNode("span",{class:"required"},"*")]),vue.createElementVNode("th")])],-1)),vue.createElementVNode("tbody",null,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Z.value,(ot,gt)=>(vue.openBlock(),vue.createElementBlock("tr",{key:ot.id,class:vue.normalizeClass({"drag-over":z.value===gt}),draggable:"true",onDragstart:Et=>Ne(gt,Et),onDragover:vue.withModifiers(Et=>be(gt),["prevent"]),onDragleave:Ae,onDrop:vue.withModifiers(Et=>Te(gt),["prevent"]),onDragend:Ze},[Je[11]||(Je[11]=vue.createElementVNode("td",{class:"drag-cell"},[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-drag drag-handle"})],-1)),vue.createElementVNode("td",_hoisted_6$y,[vue.createVNode(Me,{class:"option-value-input","model-value":ot.value,disabled:!k.editable,placeholder:"请输入",onChange:Et=>he(gt,Et)},null,8,["model-value","disabled","onChange"])]),vue.createElementVNode("td",_hoisted_7$o,[vue.createElementVNode("div",_hoisted_8$j,[vue.createElementVNode("div",{class:vue.normalizeClass(["action-btn",{disabled:!k.editable}]),onClick:Et=>ye(gt)},[...Je[9]||(Je[9]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-plus-circle-shape"},null,-1)])],10,_hoisted_9$h),vue.createElementVNode("div",{class:vue.normalizeClass(["action-btn",{disabled:!k.editable||Z.value.length<=1}]),onClick:Et=>_e(gt)},[...Je[10]||(Je[10]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-minus-circle-shape"},null,-1)])],10,_hoisted_10$f)])])],42,_hoisted_5$I))),128))])])):(vue.openBlock(),vue.createElementBlock("div",_hoisted_11$f,[vue.createVNode(nt,{modelValue:ae.value,"onUpdate:modelValue":Je[2]||(Je[2]=ot=>ae.value=ot),prefix:"关联数据",disabled:!k.editable,clearable:!1,list:fe.value,"id-key":"id","display-key":"name",placeholder:"节点名称/参数label",onChange:vue.unref(H)},null,8,["modelValue","disabled","list","onChange"]),vue.createVNode(nt,{modelValue:de.value,"onUpdate:modelValue":Je[3]||(Je[3]=ot=>de.value=ot),prefix:"候选值",multiple:"",disabled:!k.editable,clearable:!1,list:ge.value,"id-key":"id","display-key":"name",onChange:lt},null,8,["modelValue","disabled","list"])]))]),L.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_12$d,vue.toDisplayString(L.value),1)):vue.createCommentVNode("",!0)])]),_:1}),vue.createVNode(et,{label:"选择配置"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_13$b,[vue.createVNode(wt,{modelValue:ne.value,"onUpdate:modelValue":Je[4]||(Je[4]=ot=>ne.value=ot),disabled:!k.editable,onChange:Ge},{default:vue.withCtx(()=>[...Je[14]||(Je[14]=[vue.createTextVNode(" 支持多选 ",-1)])]),_:1},8,["modelValue","disabled"]),ne.value?(vue.openBlock(),vue.createBlock(wt,{key:0,modelValue:oe.value,"onUpdate:modelValue":Je[5]||(Je[5]=ot=>oe.value=ot),disabled:!k.editable,onChange:st},{default:vue.withCtx(()=>[...Je[15]||(Je[15]=[vue.createTextVNode(" 提供<全部> ",-1)])]),_:1},8,["modelValue","disabled"])):vue.createCommentVNode("",!0)])]),_:1}),Q.value?(vue.openBlock(),vue.createBlock(et,{key:0,label:"默认值"},{default:vue.withCtx(()=>[vue.createVNode(nt,{modelValue:ce.value,"onUpdate:modelValue":Je[6]||(Je[6]=ot=>ce.value=ot),multiple:ne.value,disabled:!k.editable,placeholder:"请选择",list:ie.value,"id-key":"id","display-key":"name",onChange:Ue},null,8,["modelValue","multiple","disabled","list"])]),_:1})):vue.createCommentVNode("",!0)]),_:1},8,["model"])}}}),BuiltinSelectConfig=_export_sfc(_sfc_main$1W,[["__scopeId","data-v-5a4e190a"]]),_sfc_main$1V=vue.defineComponent({__name:"builtin-text-config",props:{variable:{},editable:{type:Boolean,default:!0}},emits:["change"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.ref(),k=vue.ref(!1),{localData:y,formModel:B,handleChange:L}=useLocalVariableConfig(r,i),R=vue.computed(()=>y.value.custom_type==="input"),z=vue.computed(()=>y.value.source_type!=="component_outputs"),j=useMetaStringField(y,"placeholder"),$=useMetaStringField(y,"validation_error_msg"),H=[{value:"string",label:"string"},{value:"number",label:"number"}],Q=vue.computed(()=>y.value.meta?.data_type==="number"?"number":"string"),W=vue.computed({get:()=>{const G=y.value.value;if(G==null)return"";if(R.value&&Q.value==="number"){if(G==="")return"";const J=Number(G);return Number.isNaN(J)?"":J}return String(G)},set:G=>{if(R.value&&Q.value==="number"){y.value.value=G===""||G===null?"":Number(G);return}y.value.value=String(G??"")}}),te=G=>{if(y.value.meta={...y.value.meta||{},data_type:G},G==="number"){const J=Number(y.value.value);y.value.value=y.value.value===""||Number.isNaN(J)?"":J}else y.value.value=y.value.value===void 0||y.value.value===null?"":String(y.value.value);L()},ee={validation:[{validator:G=>{if(!G)return!0;try{return new RegExp(G),!0}catch{return!1}},message:"正则表达式格式不合法",trigger:"blur"}]};return t({validate:()=>validateBkForm(C)}),(G,J)=>{const Z=vue.resolveComponent("bk-select"),ne=vue.resolveComponent("bk-form-item"),oe=vue.resolveComponent("bk-input"),ae=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createBlock(ae,{ref_key:"formRef",ref:C,"label-width":110,model:vue.unref(B),rules:ee},{default:vue.withCtx(()=>[R.value?(vue.openBlock(),vue.createBlock(ne,{key:0,label:"数据类型"},{default:vue.withCtx(()=>[vue.createVNode(Z,{"model-value":Q.value,clearable:!1,list:H,disabled:!r.editable,onChange:te},null,8,["model-value","disabled"])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(ne,{label:"正则校验",property:"validation"},{default:vue.withCtx(()=>[vue.createVNode(oe,{modelValue:vue.unref(y).validation,"onUpdate:modelValue":J[0]||(J[0]=se=>vue.unref(y).validation=se),disabled:!r.editable,placeholder:"请输入正则",onChange:vue.unref(L)},null,8,["modelValue","disabled","onChange"])]),_:1}),z.value?(vue.openBlock(),vue.createBlock(ne,{key:1,label:"默认值"},{default:vue.withCtx(()=>[vue.unref(y).custom_type==="textarea"?(vue.openBlock(),vue.createBlock(oe,{key:0,modelValue:W.value,"onUpdate:modelValue":J[1]||(J[1]=se=>W.value=se),type:"textarea",rows:4,resize:!1,disabled:!r.editable,placeholder:"请输入",onChange:vue.unref(L)},null,8,["modelValue","disabled","onChange"])):(vue.openBlock(),vue.createBlock(oe,{key:1,modelValue:W.value,"onUpdate:modelValue":J[2]||(J[2]=se=>W.value=se),type:Q.value==="number"?"number":"text",disabled:!r.editable,placeholder:"请输入",onChange:vue.unref(L)},null,8,["modelValue","type","disabled","onChange"]))]),_:1})):vue.createCommentVNode("",!0),vue.createElementVNode("div",{class:"advanced-toggle",onClick:J[3]||(J[3]=se=>k.value=!k.value)},[J[6]||(J[6]=vue.createElementVNode("span",null,"高级配置",-1)),vue.createElementVNode("i",{class:vue.normalizeClass(["bkflow-canvas-icon bkflow-canvas-arrows-down arrow-icon",k.value?"advanced-open":""])},null,2)]),k.value?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:2},[vue.createVNode(ne,{label:"输入指引提示"},{default:vue.withCtx(()=>[vue.createVNode(oe,{modelValue:vue.unref(j),"onUpdate:modelValue":J[4]||(J[4]=se=>vue.isRef(j)?j.value=se:null),type:"textarea",rows:2,resize:!1,maxlength:100,disabled:!r.editable,placeholder:"请输入",onChange:vue.unref(L)},null,8,["modelValue","disabled","onChange"])]),_:1}),vue.createVNode(ne,{label:"校验错误提示"},{default:vue.withCtx(()=>[vue.createVNode(oe,{modelValue:vue.unref($),"onUpdate:modelValue":J[5]||(J[5]=se=>vue.isRef($)?$.value=se:null),type:"textarea",rows:2,resize:!1,maxlength:100,disabled:!r.editable,placeholder:"校验不通过,请重新输入",onChange:vue.unref(L)},null,8,["modelValue","disabled","onChange"])]),_:1})],64)):vue.createCommentVNode("",!0)]),_:1},8,["model"])}}}),BuiltinTextConfig=_export_sfc(_sfc_main$1V,[["__scopeId","data-v-96552b81"]]),_hoisted_1$28={key:0,class:"range-limit-controls"},_hoisted_2$1A={class:"custom-options-header"},_hoisted_3$18={key:0,class:"options-table-wrapper"},_hoisted_4$S={class:"options-table"},_hoisted_5$H=["onDragstart","onDragover","onDrop"],_hoisted_6$x={class:"expression-cell"},_hoisted_7$n={class:"option-label-cell"},_hoisted_8$i={class:"action-cell"},_hoisted_9$g={class:"action-cell-inner"},_hoisted_10$e=["onClick"],_hoisted_11$e=["onClick"],_hoisted_12$c={class:"default-value-area"},_hoisted_13$a={key:1,class:"relative-time-config"},_hoisted_14$6={key:1,class:"relative-time-config"},_hoisted_15$6={key:2,class:"validate-message"},_sfc_main$1U=vue.defineComponent({__name:"builtin-timepicker-config",props:{variable:{},editable:{type:Boolean,default:!0}},emits:["change"],setup(e,{expose:t,emit:n}){const r=[{value:"now",label:"此刻"},{value:"today",label:"今天"},{value:"yesterday",label:"昨天"},{value:"the_day_before_yesterday",label:"前天"}],i=[{value:"minute",label:"分钟"},{value:"hour",label:"小时"},{value:"day",label:"天"}],C=[{start_expr:"now-5m",end_expr:"now",label:"近5分钟"},{start_expr:"now-15m",end_expr:"now",label:"近15分钟"},{start_expr:"now-30m",end_expr:"now",label:"近30分钟"}],k={"5m":5*6e4,"15m":15*6e4,"30m":30*6e4,"1h":36e5,"2h":72e5,"6h":216e5,"1d":864e5,"7d":6048e5,"15d":1296e6,"30d":2592e6},y=e,B=n,L=vue.ref(),R=vue.ref(""),z=vue.ref(-1),j=vue.ref(-1),{localData:$,formModel:H,handleChange:Q}=useLocalVariableConfig(y,B),W=vue.computed(()=>$.value.source_type!=="component_outputs"),te=nt=>{const et=lodash$1.cloneDeep(TIME_PICKER_DEFAULT_VALUE);if(!nt||typeof nt!="object")return et;const wt={...et,...lodash$1.cloneDeep(nt)};return(!Array.isArray(wt.methods)||wt.methods.length===0)&&(wt.methods=wt.time_base==="absolute"?["absolute"]:["relative"]),wt.type==="time_point"&&(wt.methods=[wt.methods[0]||"absolute"]),wt.range_limit_enabled===void 0&&(wt.range_limit_enabled=!1),wt.time_offset=Number(wt.time_offset)||1,wt},ee=nt=>{G.value=nt.type==="time_point"&&nt.methods?.[0]==="relative"?"relative":nt.type==="time_point"&&nt.methods?.[0]||"absolute",J.value=nt.datetime||"",Z.value=nt.start_time&&nt.end_time?[nt.start_time,nt.end_time]:[],ne.value=nt.range_limit_start&&nt.range_limit_end?[nt.range_limit_start,nt.range_limit_end]:[],oe.value=nt.custom_options?.length?lodash$1.cloneDeep(nt.custom_options):lodash$1.cloneDeep(C)},q=vue.ref(te($.value.value)),G=vue.ref("absolute"),J=vue.ref(""),Z=vue.ref([]),ne=vue.ref([]),oe=vue.ref(lodash$1.cloneDeep(C));ee(q.value),vue.watch(()=>$.value.value,nt=>{const et=te(nt);q.value=et,ee(et)},{deep:!0});const ae=vue.computed(()=>q.value.methods?.includes("absolute")),se=vue.computed(()=>q.value.methods?.includes("relative")),de=vue.computed(()=>q.value.custom_options_enabled&&oe.value.length?oe.value:C),ge=vue.computed(()=>de.value.map(nt=>{const wt=nt.start_expr.match(/^now-(\d+[a-z]+)$/)?.[1]||"",tt=k[wt]||36e5;return{text:nt.label,value:()=>{const ot=new Date;return[new Date(ot.getTime()-tt),ot]}}})),fe=()=>{if(q.value.type==="time_range"){q.value.start_time=Z.value[0]||"",q.value.end_time=Z.value[1]||"",delete q.value.datetime;return}q.value.datetime=J.value||"",delete q.value.start_time,delete q.value.end_time},ie=()=>{R.value="";const nt=lodash$1.cloneDeep(q.value);nt.methods?.includes("absolute")||(delete nt.start_time,delete nt.end_time,delete nt.datetime),$.value.value=nt,Q()},ce=()=>{q.value.type==="time_point"?(q.value.methods=[G.value],q.value.custom_options_enabled=!1):q.value.methods=["relative"],q.value.time_base="now",ie()},pe=nt=>{q.value.methods=nt.length>0?nt:["relative"],q.value.methods.includes("absolute")&&q.value.type==="time_range"&&fe(),ie()},le=nt=>{G.value=nt,q.value.methods=[nt],nt==="absolute"?(q.value.time_base="absolute",fe()):(q.value.time_base="now",delete q.value.start_time,delete q.value.end_time,delete q.value.datetime),ie()},ue=()=>{q.value.range_limit_enabled&&(q.value.range_limit_type=q.value.range_limit_type||"absolute_range",q.value.range_limit_offset=q.value.range_limit_offset||1,q.value.range_limit_unit=q.value.range_limit_unit||"year"),ie()},he=()=>{q.value.range_limit_start=ne.value[0]||"",q.value.range_limit_end=ne.value[1]||"",ie()},ye=nt=>{q.value.range_limit_offset=Number(nt)||1,ie()},_e=()=>{q.value.custom_options_enabled&&!oe.value.length&&(oe.value=lodash$1.cloneDeep(C)),be()},Ne=()=>{y.editable&&(oe.value=lodash$1.cloneDeep(C),be())},be=()=>{q.value.custom_options=lodash$1.cloneDeep(oe.value),ie()},Ae=nt=>{y.editable&&(oe.value.splice(nt+1,0,{start_expr:"now-1h",end_expr:"now",label:""}),be())},Te=nt=>{!y.editable||oe.value.length<=1||(oe.value.splice(nt,1),be())},Ze=(nt,et)=>{y.editable&&(z.value=nt,et.dataTransfer&&(et.dataTransfer.effectAllowed="move"))},lt=nt=>{y.editable&&(j.value=nt)},Ge=()=>{j.value=-1},st=nt=>{const et=z.value;if(!y.editable||et<0||et===nt)return;const[wt]=oe.value.splice(et,1);oe.value.splice(nt,0,wt),be()},Ue=()=>{z.value=-1,j.value=-1},De=nt=>{q.value.time_offset=Number(nt)||1,ie()},We=()=>{fe(),ie()},Ye=nt=>{const et=Ft=>String(Ft).padStart(2,"0"),wt=nt.getFullYear(),tt=et(nt.getMonth()+1),ot=et(nt.getDate()),gt=et(nt.getHours()),Et=et(nt.getMinutes()),Dt=et(nt.getSeconds());return`${wt}-${tt}-${ot} ${gt}:${Et}:${Dt}`},Re=nt=>{if(typeof nt?.value=="function"){const et=nt.value();Array.isArray(et)&&et.length>=2&&(Z.value=et.map(wt=>wt instanceof Date?Ye(wt):String(wt)))}fe(),ie()},Je=()=>{if(!q.value.range_limit_enabled)return!0;if(q.value.range_limit_type==="absolute_range"){if(!q.value.range_limit_start||!q.value.range_limit_end)return R.value="请选择限制可选范围",!1}else if(!q.value.range_limit_offset||Number(q.value.range_limit_offset)<1)return R.value="请输入有效的限制范围",!1;return!0},Xe=()=>!q.value.custom_options_enabled||q.value.type!=="time_range"||!ae.value||!se.value?!0:oe.value.some(et=>!et.start_expr.trim()||!et.end_expr.trim()||!et.label.trim())?(R.value="请完善定制相对时间选项",!1):!0;return t({validate:async()=>(R.value="",await validateBkForm(L)&&Je()&&Xe())}),(nt,et)=>{const wt=vue.resolveComponent("bk-radio-button"),tt=vue.resolveComponent("bk-radio-group"),ot=vue.resolveComponent("bk-form-item"),gt=vue.resolveComponent("bk-checkbox"),Et=vue.resolveComponent("bk-checkbox-group"),Dt=vue.resolveComponent("bk-radio"),Ft=vue.resolveComponent("bk-switcher"),Nt=vue.resolveComponent("bk-option"),Pe=vue.resolveComponent("bk-select"),at=vue.resolveComponent("bk-date-picker"),_t=vue.resolveComponent("bk-input"),Oe=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createBlock(Oe,{ref_key:"formRef",ref:L,"label-width":110,model:vue.unref(H)},{default:vue.withCtx(()=>[vue.createVNode(ot,{label:"选择类型",required:""},{default:vue.withCtx(()=>[vue.createVNode(tt,{modelValue:q.value.type,"onUpdate:modelValue":et[0]||(et[0]=Be=>q.value.type=Be),disabled:!y.editable,onChange:ce},{default:vue.withCtx(()=>[vue.createVNode(wt,{label:"time_range"},{default:vue.withCtx(()=>[...et[17]||(et[17]=[vue.createTextVNode("时间范围",-1)])]),_:1}),vue.createVNode(wt,{label:"time_point"},{default:vue.withCtx(()=>[...et[18]||(et[18]=[vue.createTextVNode("时间点",-1)])]),_:1})]),_:1},8,["modelValue","disabled"])]),_:1}),vue.createVNode(ot,{label:"选择方式",required:""},{default:vue.withCtx(()=>[q.value.type==="time_range"?(vue.openBlock(),vue.createBlock(Et,{key:0,modelValue:q.value.methods,"onUpdate:modelValue":et[1]||(et[1]=Be=>q.value.methods=Be),disabled:!y.editable,onChange:pe},{default:vue.withCtx(()=>[vue.createVNode(gt,{label:"absolute",size:"small"},{default:vue.withCtx(()=>[...et[19]||(et[19]=[vue.createTextVNode("绝对时间(具体日期)",-1)])]),_:1}),vue.createVNode(gt,{label:"relative",size:"small"},{default:vue.withCtx(()=>[...et[20]||(et[20]=[vue.createTextVNode("相对时间",-1)])]),_:1})]),_:1},8,["modelValue","disabled"])):(vue.openBlock(),vue.createBlock(tt,{key:1,modelValue:G.value,"onUpdate:modelValue":et[2]||(et[2]=Be=>G.value=Be),disabled:!y.editable,onChange:le},{default:vue.withCtx(()=>[vue.createVNode(Dt,{label:"absolute"},{default:vue.withCtx(()=>[...et[21]||(et[21]=[vue.createTextVNode("绝对时间点",-1)])]),_:1}),vue.createVNode(Dt,{label:"relative"},{default:vue.withCtx(()=>[...et[22]||(et[22]=[vue.createTextVNode("相对时间点",-1)])]),_:1})]),_:1},8,["modelValue","disabled"]))]),_:1}),vue.createVNode(ot,{label:"限制可选范围"},{default:vue.withCtx(()=>[vue.createVNode(Ft,{modelValue:q.value.range_limit_enabled,"onUpdate:modelValue":et[3]||(et[3]=Be=>q.value.range_limit_enabled=Be),disabled:!y.editable,theme:"primary",onChange:ue},null,8,["modelValue","disabled"]),q.value.range_limit_enabled?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$28,[vue.createVNode(Pe,{modelValue:q.value.range_limit_type,"onUpdate:modelValue":et[4]||(et[4]=Be=>q.value.range_limit_type=Be),class:"limit-type-select",disabled:!y.editable,clearable:!1,onChange:ie},{default:vue.withCtx(()=>[vue.createVNode(Nt,{value:"absolute_range",label:"绝对时间范围"}),vue.createVNode(Nt,{value:"relative",label:"最近"})]),_:1},8,["modelValue","disabled"]),q.value.range_limit_type==="absolute_range"?(vue.openBlock(),vue.createBlock(at,{key:0,modelValue:ne.value,"onUpdate:modelValue":et[5]||(et[5]=Be=>ne.value=Be),type:"datetimerange",class:"limit-date-picker",disabled:!y.editable,clearable:!1,"append-to-body":!0,format:"yyyy-MM-dd HH:mm:ss",onChange:he},null,8,["modelValue","disabled"])):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createVNode(_t,{modelValue:q.value.range_limit_offset,"onUpdate:modelValue":et[6]||(et[6]=Be=>q.value.range_limit_offset=Be),class:"limit-offset-input",type:"number",min:1,disabled:!y.editable,clearable:!1,onChange:ye},null,8,["modelValue","disabled"]),vue.createVNode(Pe,{modelValue:q.value.range_limit_unit,"onUpdate:modelValue":et[7]||(et[7]=Be=>q.value.range_limit_unit=Be),class:"limit-unit-select",disabled:!y.editable,clearable:!1,onChange:ie},{default:vue.withCtx(()=>[vue.createVNode(Nt,{value:"minute",label:"分钟"}),vue.createVNode(Nt,{value:"hour",label:"小时"}),vue.createVNode(Nt,{value:"day",label:"天"}),vue.createVNode(Nt,{value:"month",label:"月"}),vue.createVNode(Nt,{value:"year",label:"年"})]),_:1},8,["modelValue","disabled"])],64))])):vue.createCommentVNode("",!0)]),_:1}),q.value.type==="time_range"&&ae.value&&se.value?(vue.openBlock(),vue.createBlock(ot,{key:0,label:"定制相对时间选项"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$1A,[vue.createVNode(Ft,{modelValue:q.value.custom_options_enabled,"onUpdate:modelValue":et[8]||(et[8]=Be=>q.value.custom_options_enabled=Be),disabled:!y.editable,theme:"primary",onChange:_e},null,8,["modelValue","disabled"]),q.value.custom_options_enabled?(vue.openBlock(),vue.createElementBlock("span",{key:0,class:vue.normalizeClass(["restore-btn",{disabled:!y.editable}]),onClick:Ne},[...et[23]||(et[23]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-revoke"},null,-1),vue.createTextVNode(" 恢复初始化 ",-1)])],2)):vue.createCommentVNode("",!0)]),q.value.custom_options_enabled?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$18,[vue.createElementVNode("table",_hoisted_4$S,[et[28]||(et[28]=vue.createElementVNode("colgroup",null,[vue.createElementVNode("col",{class:"drag-col"}),vue.createElementVNode("col",{class:"expr-col"}),vue.createElementVNode("col"),vue.createElementVNode("col",{class:"action-col"})],-1)),et[29]||(et[29]=vue.createElementVNode("thead",null,[vue.createElementVNode("tr",null,[vue.createElementVNode("th"),vue.createElementVNode("th",null,[vue.createTextVNode("时间表达式 "),vue.createElementVNode("span",{class:"required"},"*")]),vue.createElementVNode("th",null,[vue.createTextVNode("选项显示名 "),vue.createElementVNode("span",{class:"required"},"*")]),vue.createElementVNode("th")])],-1)),vue.createElementVNode("tbody",null,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(oe.value,(Be,Ee)=>(vue.openBlock(),vue.createElementBlock("tr",{key:Ee,class:vue.normalizeClass({"drag-over":j.value===Ee}),draggable:"true",onDragstart:ve=>Ze(Ee,ve),onDragover:vue.withModifiers(ve=>lt(Ee),["prevent"]),onDragleave:Ge,onDrop:vue.withModifiers(ve=>st(Ee),["prevent"]),onDragend:Ue},[et[27]||(et[27]=vue.createElementVNode("td",{class:"drag-cell"},[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-drag drag-handle"})],-1)),vue.createElementVNode("td",_hoisted_6$x,[vue.createVNode(_t,{modelValue:Be.start_expr,"onUpdate:modelValue":ve=>Be.start_expr=ve,disabled:!y.editable,size:"small",onBlur:be},null,8,["modelValue","onUpdate:modelValue","disabled"]),et[24]||(et[24]=vue.createElementVNode("span",{class:"expr-sep"},"~",-1)),vue.createVNode(_t,{modelValue:Be.end_expr,"onUpdate:modelValue":ve=>Be.end_expr=ve,disabled:!y.editable,size:"small",onBlur:be},null,8,["modelValue","onUpdate:modelValue","disabled"])]),vue.createElementVNode("td",_hoisted_7$n,[vue.createVNode(_t,{modelValue:Be.label,"onUpdate:modelValue":ve=>Be.label=ve,disabled:!y.editable,size:"small",onBlur:be},null,8,["modelValue","onUpdate:modelValue","disabled"])]),vue.createElementVNode("td",_hoisted_8$i,[vue.createElementVNode("div",_hoisted_9$g,[vue.createElementVNode("div",{class:vue.normalizeClass(["action-btn",{disabled:!y.editable}]),onClick:ve=>Ae(Ee)},[...et[25]||(et[25]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-plus-circle-shape"},null,-1)])],10,_hoisted_10$e),vue.createElementVNode("div",{class:vue.normalizeClass(["action-btn",{disabled:!y.editable||oe.value.length<=1}]),onClick:ve=>Te(Ee)},[...et[26]||(et[26]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-minus-circle-shape"},null,-1)])],10,_hoisted_11$e)])])],42,_hoisted_5$H))),128))])])])):vue.createCommentVNode("",!0)]),_:1})):vue.createCommentVNode("",!0),W.value?(vue.openBlock(),vue.createBlock(ot,{key:1,label:"默认值"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_12$c,[q.value.type==="time_range"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[ae.value&&!se.value?(vue.openBlock(),vue.createBlock(at,{key:0,modelValue:Z.value,"onUpdate:modelValue":et[9]||(et[9]=Be=>Z.value=Be),type:"datetimerange",disabled:!y.editable,clearable:!1,"append-to-body":!0,format:"yyyy-MM-dd HH:mm:ss",onChange:We},null,8,["modelValue","disabled"])):!ae.value&&se.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_13$a,[et[30]||(et[30]=vue.createElementVNode("span",{class:"relative-label"},"基于",-1)),vue.createVNode(Pe,{modelValue:q.value.time_base,"onUpdate:modelValue":et[10]||(et[10]=Be=>q.value.time_base=Be),class:"base-select",disabled:!y.editable,clearable:!1,onChange:ie},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(r,Be=>vue.createVNode(Nt,{key:Be.value,value:Be.value,label:Be.label},null,8,["value","label"])),64))]),_:1},8,["modelValue","disabled"]),et[31]||(et[31]=vue.createElementVNode("span",{class:"relative-label"},"的最近",-1)),vue.createVNode(_t,{modelValue:q.value.time_offset,"onUpdate:modelValue":et[11]||(et[11]=Be=>q.value.time_offset=Be),class:"offset-input",type:"number",min:1,disabled:!y.editable,clearable:!1,onChange:De},null,8,["modelValue","disabled"]),vue.createVNode(Pe,{modelValue:q.value.time_unit,"onUpdate:modelValue":et[12]||(et[12]=Be=>q.value.time_unit=Be),class:"unit-select",disabled:!y.editable,clearable:!1,onChange:ie},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(i,Be=>vue.createVNode(Nt,{key:Be.value,value:Be.value,label:Be.label},null,8,["value","label"])),64))]),_:1},8,["modelValue","disabled"])])):ae.value&&se.value?(vue.openBlock(),vue.createBlock(at,{key:2,modelValue:Z.value,"onUpdate:modelValue":et[13]||(et[13]=Be=>Z.value=Be),type:"datetimerange",disabled:!y.editable,clearable:!1,"append-to-body":!0,shortcuts:ge.value,"shortcut-close":!0,"use-shortcut-text":!0,format:"yyyy-MM-dd HH:mm:ss",onChange:We,onShortcutChange:Re},null,8,["modelValue","disabled","shortcuts"])):vue.createCommentVNode("",!0)],64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[G.value==="absolute"?(vue.openBlock(),vue.createBlock(at,{key:0,modelValue:J.value,"onUpdate:modelValue":et[14]||(et[14]=Be=>J.value=Be),type:"datetime",disabled:!y.editable,clearable:!1,"append-to-body":!0,format:"yyyy-MM-dd HH:mm:ss",onChange:We},null,8,["modelValue","disabled"])):(vue.openBlock(),vue.createElementBlock("div",_hoisted_14$6,[et[32]||(et[32]=vue.createElementVNode("span",{class:"relative-label"},"最近",-1)),vue.createVNode(_t,{modelValue:q.value.time_offset,"onUpdate:modelValue":et[15]||(et[15]=Be=>q.value.time_offset=Be),class:"offset-input",type:"number",min:1,disabled:!y.editable,clearable:!1,onChange:De},null,8,["modelValue","disabled"]),vue.createVNode(Pe,{modelValue:q.value.time_unit,"onUpdate:modelValue":et[16]||(et[16]=Be=>q.value.time_unit=Be),class:"unit-select",disabled:!y.editable,clearable:!1,onChange:ie},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(i,Be=>vue.createVNode(Nt,{key:Be.value,value:Be.value,label:Be.label},null,8,["value","label"])),64))]),_:1},8,["modelValue","disabled"])]))],64))])]),_:1})):vue.createCommentVNode("",!0),R.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_15$6,vue.toDisplayString(R.value),1)):vue.createCommentVNode("",!0)]),_:1},8,["model"])}}}),BuiltinTimepickerConfig=_export_sfc(_sfc_main$1U,[["__scopeId","data-v-afabe53d"]]),_sfc_main$1T=vue.defineComponent({__name:"remote-variable-config",props:{variable:{},editable:{type:Boolean,default:!0}},emits:["change"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.ref(),k=vue.ref(!1),{localData:y,formModel:B,handleChange:L}=useLocalVariableConfig(r,i),R=vue.computed(()=>["input","textarea"].includes(y.value.custom_type)),z=vue.computed(()=>y.value.source_type!=="component_outputs"),j=useMetaStringField(y,"placeholder"),$=useMetaStringField(y,"validation_error_msg"),H=vue.computed(()=>{const te=y.value.meta||{};if(te.data_type)return te.data_type;switch(y.value.custom_type){case"input":case"textarea":return"string";case"json_variable":return"json";default:return y.value.custom_type||"--"}}),Q={validation:[{validator:te=>{if(!te)return!0;try{return new RegExp(te),!0}catch{return!1}},message:"正则表达式格式不合法",trigger:"blur"}]};return t({validate:()=>validateBkForm(C)}),(te,ee)=>{const q=vue.resolveComponent("bk-input"),G=vue.resolveComponent("bk-form-item"),J=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createBlock(J,{ref_key:"formRef",ref:C,"label-width":130,model:vue.unref(B),rules:Q},{default:vue.withCtx(()=>[vue.createVNode(G,{label:"数据类型"},{default:vue.withCtx(()=>[vue.createVNode(q,{"model-value":H.value,disabled:""},null,8,["model-value"])]),_:1}),R.value?(vue.openBlock(),vue.createBlock(G,{key:0,label:"正则校验",property:"validation"},{default:vue.withCtx(()=>[vue.createVNode(q,{modelValue:vue.unref(y).validation,"onUpdate:modelValue":ee[0]||(ee[0]=Z=>vue.unref(y).validation=Z),disabled:!r.editable,placeholder:"请输入正则",onChange:vue.unref(L)},null,8,["modelValue","disabled","onChange"])]),_:1})):vue.createCommentVNode("",!0),z.value?(vue.openBlock(),vue.createBlock(G,{key:1,label:"默认值"},{default:vue.withCtx(()=>[vue.createVNode(DefaultValuePlaceholder,{"type-name":vue.unref(y).custom_type},null,8,["type-name"])]),_:1})):vue.createCommentVNode("",!0),vue.createElementVNode("div",{class:"advanced-toggle",onClick:ee[1]||(ee[1]=Z=>k.value=!k.value)},[ee[4]||(ee[4]=vue.createElementVNode("span",null,"高级配置",-1)),vue.createElementVNode("i",{class:vue.normalizeClass(["bkflow-canvas-icon bkflow-canvas-arrows-down arrow-icon",k.value?"advanced-open":""])},null,2)]),k.value?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:2},[vue.createVNode(G,{label:"输入指引提示"},{default:vue.withCtx(()=>[vue.createVNode(q,{modelValue:vue.unref(j),"onUpdate:modelValue":ee[2]||(ee[2]=Z=>vue.isRef(j)?j.value=Z:null),type:"textarea",rows:2,resize:!1,maxlength:100,disabled:!r.editable,placeholder:"请输入",onChange:vue.unref(L)},null,8,["modelValue","disabled","onChange"])]),_:1}),vue.createVNode(G,{label:"校验错误提示"},{default:vue.withCtx(()=>[vue.createVNode(q,{modelValue:vue.unref($),"onUpdate:modelValue":ee[3]||(ee[3]=Z=>vue.isRef($)?$.value=Z:null),type:"textarea",rows:2,resize:!1,maxlength:100,disabled:!r.editable,placeholder:"校验不通过,请重新输入",onChange:vue.unref(L)},null,8,["modelValue","disabled","onChange"])]),_:1})],64)):vue.createCommentVNode("",!0)]),_:1},8,["model"])}}}),RemoteVariableConfig=_export_sfc(_sfc_main$1T,[["__scopeId","data-v-b1ab9245"]]),BUILTIN_CONFIG_COMPONENTS={input:BuiltinTextConfig,textarea:BuiltinTextConfig,select:BuiltinSelectConfig,filter:BuiltinPlaceholderConfig,timepicker:BuiltinTimepickerConfig,json:BuiltinJsonConfig,array:BuiltinArrayConfig},getBuiltinConfigComponent=e=>{const t=normalizeBuiltinTypeCode(e);return BUILTIN_CONFIG_COMPONENTS[t]||BuiltinPlaceholderConfig},_hoisted_1$27={class:"bkflow-variable-component-config"},_sfc_main$1S=vue.defineComponent({__name:"global-variable-component-config",props:{variable:{},editable:{type:Boolean,default:!0},typeMode:{default:"builtin"},customVariableTypes:{default:()=>[]}},emits:["change"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.ref(lodash$1.cloneDeep(r.variable)),k=vue.ref();vue.watch(()=>r.variable,z=>{C.value=lodash$1.cloneDeep(z)},{deep:!0});const y=vue.computed(()=>r.typeMode==="builtin"?getBuiltinConfigComponent(C.value.custom_type):RemoteVariableConfig),B=vue.computed(()=>`${r.typeMode}:${C.value.custom_type}:${C.value.source_type}`),L=z=>{C.value=lodash$1.cloneDeep(z),i("change",lodash$1.cloneDeep(C.value))};return t({validate:async()=>k.value?.validate?k.value.validate():!0}),(z,j)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$27,[(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(y.value),{key:B.value,ref_key:"configRef",ref:k,variable:C.value,editable:r.editable,onChange:L},null,40,["variable","editable"]))]))}}),_hoisted_1$26={class:"global-variable-section"},_hoisted_2$1z=["aria-expanded","onKeydown"],_hoisted_3$17={class:"section-content"},_sfc_main$1R=vue.defineComponent({__name:"global-variable-section",props:{title:{},defaultExpanded:{type:Boolean,default:!0}},setup(e){const t=e,n=vue.ref(t.defaultExpanded);vue.watch(()=>t.defaultExpanded,C=>{n.value=C});const r=vue.computed(()=>n.value),i=()=>{n.value=!n.value};return(C,k)=>(vue.openBlock(),vue.createElementBlock("section",_hoisted_1$26,[vue.createElementVNode("h4",{class:vue.normalizeClass(["section-title",{collapsed:!n.value}]),tabindex:"0",role:"button","aria-expanded":n.value,onClick:i,onKeydown:[vue.withKeys(vue.withModifiers(i,["prevent"]),["enter"]),vue.withKeys(vue.withModifiers(i,["prevent"]),["space"])]},[k[0]||(k[0]=vue.createElementVNode("i",{class:"section-title-arrow"},null,-1)),vue.createTextVNode(" "+vue.toDisplayString(t.title),1)],42,_hoisted_2$1z),vue.withDirectives(vue.createElementVNode("div",_hoisted_3$17,[vue.renderSlot(C.$slots,"default",{},void 0,!0)],512),[[vue.vShow,r.value]])]))}}),GlobalVariableSection=_export_sfc(_sfc_main$1R,[["__scopeId","data-v-e0fe1e84"]]),_hoisted_1$25={class:"bkflow-variable-edit"},_sfc_main$1Q=vue.defineComponent({__name:"global-variable-edit",props:{variable:{},editable:{type:Boolean,default:!0},variablesReference:{default:()=>({defined:{},nodefined:{}})},customVariableTypes:{default:()=>[]},typeMode:{default:"builtin"}},emits:["change"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.ref(lodash$1.cloneDeep(r.variable)),k=vue.ref(r.variable.key),y=vue.ref(),B=vue.ref(),L=new Set(["system","space"]),R=vue.computed(()=>L.has(C.value.source_type)),z=vue.computed(()=>r.editable&&!R.value),j={name:[{required:!0,message:"请输入变量别名"}],key:[{validator:ne=>ne.trim().length>0,message:"KEY不能为空",trigger:"blur"},{validator:ne=>/(^\${(?!_env_|_system\.)[a-zA-Z_]\w*}$)|(^(?!_env_|_system\.)[a-zA-Z_]\w*$)/.test(ne),message:"变量 Key由英文字母、数字、下划线组成,不允许使用系统变量及业务环境变量命名规则,且不能以数字开头",trigger:"blur"}]},$=vue.computed(()=>r.variable.source_type!=="custom"?[{value:"component_inputs",label:"节点输入"},{value:"component_outputs",label:"节点输出"}]:r.typeMode==="builtin"?BUILTIN_VARIABLE_TYPES.filter(ne=>ne.code!=="filter").map(ne=>({value:ne.code,label:ne.name})):r.customVariableTypes.filter(ne=>["textarea","input","json_variable","time_picker"].includes(ne.code)).map(ne=>({value:ne.code,label:ne.name}))),H=vue.computed(()=>({...C.value,key:k.value})),Q=vue.computed(()=>{if(r.variable.key.length>0&&r.variablesReference?.defined&&r.variablesReference.defined[r.variable.key]){const{activities:ne,conditions:oe,constants:ae}=r.variablesReference.defined[r.variable.key];return ne.length+oe.length+ae.length>0}return!1}),W=vue.computed({get:()=>{const ne=C.value.meta||{};return typeof ne.required=="boolean"?ne.required:["input","textarea"].includes(C.value.custom_type)?!!C.value.validation:!1},set:ne=>{z.value&&(C.value.meta={...C.value.meta||{},required:ne})}});vue.watch(()=>r.variable,ne=>{C.value=lodash$1.cloneDeep(ne),k.value=ne.key},{deep:!0});const te=()=>{z.value&&(C.value.key=k.value,Z())},ee=ne=>{const oe=getBuiltinTypeByCode(ne),{required:ae}=C.value.meta||{};C.value.meta={...typeof ae=="boolean"?{required:ae}:{},...oe?.data_type?{data_type:oe.data_type}:{},...ne==="array"?{item_type:"string"}:{}},C.value.validation="",C.value.value=oe?lodash$1.cloneDeep(oe.default_value):"",C.value.source_tag=`${ne}.${ne}`},q=ne=>{z.value&&(C.value.custom_type=ne,ee(ne),Z())},G=ne=>{z.value&&(C.value=ne,i("change",lodash$1.cloneDeep(C.value)))},J=async()=>{const ne=await y.value.validate().then(()=>!0).catch(()=>!1);let oe=!0;return B.value&&(oe=await B.value.validate()),ne&&oe},Z=()=>{z.value&&i("change",lodash$1.cloneDeep(C.value))};return t({validate:J}),(ne,oe)=>{const ae=vue.resolveComponent("bk-input"),se=vue.resolveComponent("bk-form-item"),de=vue.resolveComponent("bk-select"),ge=vue.resolveComponent("bk-switcher"),fe=vue.resolveComponent("bk-radio"),ie=vue.resolveComponent("bk-radio-group"),ce=vue.resolveComponent("bk-form"),pe=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$25,[vue.createVNode(GlobalVariableSection,{class:"variable-edit-section",title:"基础信息"},{default:vue.withCtx(()=>[vue.createVNode(ce,{ref_key:"basicInfoFormRef",ref:y,"label-width":110,model:H.value,rules:j},{default:vue.withCtx(()=>[vue.createVNode(se,{label:"变量 Key",required:"",property:"key"},{default:vue.withCtx(()=>[vue.withDirectives(vue.createVNode(ae,{modelValue:k.value,"onUpdate:modelValue":oe[0]||(oe[0]=le=>k.value=le),disabled:!z.value||Q.value,placeholder:"请输入",onBlur:te},null,8,["modelValue","disabled"]),[[pe,{content:"变量已被引用,KEY不可修改",disabled:z.value&&!Q.value}]])]),_:1}),vue.createVNode(se,{label:"变量别名",required:"",property:"name"},{default:vue.withCtx(()=>[vue.createVNode(ae,{modelValue:C.value.name,"onUpdate:modelValue":oe[1]||(oe[1]=le=>C.value.name=le),disabled:!z.value,placeholder:"请输入",onChange:Z},null,8,["modelValue","disabled"])]),_:1}),vue.createVNode(se,{label:"组件类型",required:"",property:"custom_type"},{default:vue.withCtx(()=>[vue.createVNode(de,{"model-value":C.value.source_type==="custom"?C.value.custom_type:C.value.source_type,clearable:!1,list:$.value,disabled:!z.value||C.value.source_type==="component_outputs",onChange:q},null,8,["model-value","list","disabled"])]),_:1}),C.value.source_type!=="system"?(vue.openBlock(),vue.createBlock(se,{key:0,label:"必填"},{default:vue.withCtx(()=>[vue.createVNode(ge,{modelValue:W.value,"onUpdate:modelValue":oe[2]||(oe[2]=le=>W.value=le),theme:"primary",disabled:!z.value,onChange:Z},null,8,["modelValue","disabled"])]),_:1})):vue.createCommentVNode("",!0),R.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(se,{key:1,label:"执行时显示",description:"配置为「显示」可在执行时做为任务入参使用,配置为「隐藏」则仅能在流程内部使用"},{default:vue.withCtx(()=>[vue.createVNode(ie,{modelValue:C.value.show_type,"onUpdate:modelValue":oe[3]||(oe[3]=le=>C.value.show_type=le),disabled:!z.value||C.value.source_type==="component_outputs",onChange:Z},{default:vue.withCtx(()=>[vue.createVNode(fe,{label:"show"},{default:vue.withCtx(()=>[...oe[5]||(oe[5]=[vue.createTextVNode("显示(入参)",-1)])]),_:1}),vue.createVNode(fe,{label:"hide"},{default:vue.withCtx(()=>[...oe[6]||(oe[6]=[vue.createTextVNode("隐藏(非入参)",-1)])]),_:1})]),_:1},8,["modelValue","disabled"])]),_:1})),R.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(se,{key:2,label:"说明"},{default:vue.withCtx(()=>[vue.createVNode(ae,{modelValue:C.value.desc,"onUpdate:modelValue":oe[4]||(oe[4]=le=>C.value.desc=le),type:"textarea",rows:4,resize:!1,maxlength:100,disabled:!z.value,placeholder:"未输入",onChange:Z},null,8,["modelValue","disabled"])]),_:1}))]),_:1},8,["model"])]),_:1}),["component_inputs","components_input","custom"].includes(C.value.source_type)?(vue.openBlock(),vue.createBlock(GlobalVariableSection,{key:0,class:"variable-edit-section",title:"组件配置"},{default:vue.withCtx(()=>[vue.createVNode(_sfc_main$1S,{ref_key:"componentConfigRef",ref:B,variable:C.value,editable:z.value,"type-mode":r.typeMode,"custom-variable-types":r.customVariableTypes,onChange:G},null,8,["variable","editable","type-mode","custom-variable-types"])]),_:1})):vue.createCommentVNode("",!0)])}}}),GlobalVariableEdit=_export_sfc(_sfc_main$1Q,[["__scopeId","data-v-b8f3708a"]]),_hoisted_1$24={class:"bkflow-variable-detail"},_hoisted_2$1y={class:"detail-header"},_hoisted_3$16={class:"header-actions"},_hoisted_4$R={class:"detail-body"},_hoisted_5$G={class:"detail-row"},_hoisted_6$w={class:"value"},_hoisted_7$m={class:"detail-row"},_hoisted_8$h={class:"value"},_hoisted_9$f={class:"detail-row"},_hoisted_10$d={class:"value"},_hoisted_11$d={class:"detail-row"},_hoisted_12$b={class:"value"},_hoisted_13$9={class:"detail-row"},_hoisted_14$5={class:"value"},_hoisted_15$5={class:"detail-row"},_hoisted_16$4={class:"value"},_hoisted_17$4={class:"label"},_hoisted_18$3={class:"value"},_sfc_main$1P=vue.defineComponent({__name:"global-variable-detail",props:{variable:{},editable:{type:Boolean,default:!0},customVariableTypes:{default:()=>[]},typeMode:{default:"builtin"}},emits:["edit","close"],setup(e,{emit:t}){const n=e,r=t,i=vue.computed(()=>n.variable),C=L=>{if(L.source_type==="system")return"系统变量";if(L.source_type==="space")return"空间变量";if(L.source_type==="component_inputs")return"节点输入";if(L.source_type==="component_outputs")return"节点输出";if(L.source_type==="custom"){const R=n.customVariableTypes.find(j=>j.code===L.custom_type);if(R)return`${R.name}`;const z=getBuiltinTypeByCode(L.custom_type);return z?z.name:L.custom_type||"--"}return"--"},k=L=>{const R=L.meta;return R&&typeof R.required=="boolean"?R.required?"是":"否":["input","textarea"].includes(L.custom_type)&&L.validation&&L.validation!==""?"是":"--"},y=L=>{if(L==null||L==="")return"--";if(typeof L=="object")try{return JSON.stringify(L)}catch{return String(L)}return String(L)},B=vue.computed(()=>{const L=i.value,R=getBuiltinTypeByCode(L.custom_type),z=[{label:"数据类型",value:y(L.meta?.data_type||R?.data_type||L.custom_type)}];return["input","textarea"].includes(L.custom_type)&&z.push({label:"正则校验",value:y(L.validation)}),z.push({label:"默认值",value:y(L.value)},{label:"输入指引提示",value:y(L.meta?.placeholder)},{label:"校验错误提示",value:y(L.meta?.validation_error_msg)}),z});return(L,R)=>{const z=vue.resolveComponent("bk-button");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$24,[vue.createElementVNode("div",_hoisted_2$1y,[R[3]||(R[3]=vue.createElementVNode("span",{class:"title"},"变量详情",-1)),vue.createElementVNode("div",_hoisted_3$16,[n.editable&&!["system","space"].includes(i.value.source_type)?(vue.openBlock(),vue.createBlock(z,{key:0,theme:"primary",size:"small",onClick:R[0]||(R[0]=j=>r("edit",i.value))},{default:vue.withCtx(()=>[...R[2]||(R[2]=[vue.createTextVNode(" 编辑 ",-1)])]),_:1})):vue.createCommentVNode("",!0),vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-close close-icon",onClick:R[1]||(R[1]=j=>r("close"))})])]),vue.createElementVNode("div",_hoisted_4$R,[vue.createVNode(GlobalVariableSection,{class:"detail-section",title:"基础信息"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_5$G,[R[4]||(R[4]=vue.createElementVNode("span",{class:"label"},"变量 Key:",-1)),vue.createElementVNode("span",_hoisted_6$w,vue.toDisplayString(i.value.key||"--"),1)]),vue.createElementVNode("div",_hoisted_7$m,[R[5]||(R[5]=vue.createElementVNode("span",{class:"label"},"变量别名:",-1)),vue.createElementVNode("span",_hoisted_8$h,vue.toDisplayString(i.value.name||"--"),1)]),vue.createElementVNode("div",_hoisted_9$f,[R[6]||(R[6]=vue.createElementVNode("span",{class:"label"},"组件类型:",-1)),vue.createElementVNode("span",_hoisted_10$d,vue.toDisplayString(C(i.value)),1)]),vue.createElementVNode("div",_hoisted_11$d,[R[7]||(R[7]=vue.createElementVNode("span",{class:"label"},"必填:",-1)),vue.createElementVNode("span",_hoisted_12$b,vue.toDisplayString(k(i.value)),1)]),vue.createElementVNode("div",_hoisted_13$9,[R[8]||(R[8]=vue.createElementVNode("span",{class:"label"},"执行时:",-1)),vue.createElementVNode("span",_hoisted_14$5,vue.toDisplayString(i.value.show_type==="show"?"显示(入参)":"隐藏(非入参)"),1)]),vue.createElementVNode("div",_hoisted_15$5,[R[9]||(R[9]=vue.createElementVNode("span",{class:"label"},"说明:",-1)),vue.createElementVNode("span",_hoisted_16$4,vue.toDisplayString(i.value.desc||"--"),1)])]),_:1}),["system","space","component_outputs"].includes(i.value.source_type)?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(GlobalVariableSection,{key:0,class:"detail-section",title:"组件配置"},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(B.value,j=>(vue.openBlock(),vue.createElementBlock("div",{key:j.label,class:"detail-row"},[vue.createElementVNode("span",_hoisted_17$4,vue.toDisplayString(j.label)+":",1),vue.createElementVNode("span",_hoisted_18$3,vue.toDisplayString(j.value),1)]))),128))]),_:1}))])])}}}),GlobalVariableDetail=_export_sfc(_sfc_main$1P,[["__scopeId","data-v-7248ac28"]]),stripWrap=e=>{if(!e)return"";const t=e.trim(),n=t.match(/^\$\{(\w+)\}$/);return n?n[1]:t},escapeForPyString=e=>e.replace(/\\/g,"\\\\").replace(/"/g,'\\"'),generateSplitJoinCode=e=>{const t=stripWrap(e.variableKey);if(!t)return"";const n=escapeForPyString(e.separator??"");return`\${"${escapeForPyString(e.joiner??"")}".join(${t}.split("${n}"))}`},buildAccessChain=(e,t)=>{if(!t)return e;let n=e;const r=t.split(".").filter(Boolean);for(const i of r){const C=i.match(/^([^\[]+)((?:\[\d+\])*)$/);if(!C){n=`${n}.get("${escapeForPyString(i)}")`;continue}const[,k,y]=C;k&&(n=`${n}.get("${escapeForPyString(k)}")`);const B=/\[(\d+)\]/g;let L;for(;(L=B.exec(y))!==null;)n=`${n}[${L[1]}]`}return n},generateJsonExtractCode=e=>{const t=stripWrap(e.variableKey);return!t||!e.keyPath?"":`\${${buildAccessChain(t,e.keyPath.trim())}}`},generateArrayExtractCode=e=>{const t=stripWrap(e.variableKey);return t===""||e.index===""||e.index===null||e.index===void 0?"":`\${${t}[${e.index}]}`},QUICK_ACTION_OPTIONS=[{value:"split_join",label:"将字符串分割后拼接"},{value:"json_extract",label:"从 JSON 变量中提取变量"},{value:"array_extract",label:"从 Array 变量中提取变量"}],copyText=async e=>{if(e==null)return!1;try{if(navigator?.clipboard?.writeText)return await navigator.clipboard.writeText(e),!0}catch{}try{const t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.select();const n=document.execCommand("copy");return document.body.removeChild(t),n}catch{return!1}},_hoisted_1$23={class:"panel-head"},_hoisted_2$1x={class:"panel-body"},_hoisted_3$15={class:"quick-actions-form"},_hoisted_4$Q={class:"form-row"},_hoisted_5$F={class:"form-control"},_hoisted_6$v={class:"form-row form-row-with-suffix"},_hoisted_7$l={class:"form-control"},_hoisted_8$g={class:"form-row form-row-with-suffix"},_hoisted_9$e={class:"form-control"},_hoisted_10$c={class:"form-row"},_hoisted_11$c={class:"form-control"},_hoisted_12$a={class:"form-row form-row-with-suffix"},_hoisted_13$8={class:"form-control"},_hoisted_14$4={class:"form-row"},_hoisted_15$4={class:"form-control"},_hoisted_16$3={class:"form-row"},_hoisted_17$3={class:"form-control"},_hoisted_18$2={class:"form-row form-row-with-suffix"},_hoisted_19$2={class:"form-control"},_hoisted_20$2={class:"form-row"},_hoisted_21$2={class:"form-control"},_hoisted_22={class:"panel-actions"},_hoisted_23={key:0},_hoisted_24={key:1},MESSAGE_EXT_CLS="variable-quick-actions-message",_sfc_main$1O=vue.defineComponent({__name:"global-variable-quick-actions",props:{constants:{default:()=>({})},systemVariables:{default:()=>[]}},setup(e){const t=e,n=vue.ref(""),r=vue.ref(!1),i=vue.ref(!1),C=vue.ref(null),k=vue.ref(null),y=vue.ref(null),B=()=>({action:"split_join",variableKey:"",separator:"",joiner:"",keyPath:"",index:0,componentType:""}),L=vue.reactive(B()),R=()=>[C.value,k.value,y.value].filter(oe=>!!oe),z=QUICK_ACTION_OPTIONS.map(oe=>({value:oe.value,label:oe.label})),j=BUILTIN_VARIABLE_TYPES.map(oe=>({value:oe.code,label:oe.name})),$=vue.computed(()=>{const oe=[];return t.systemVariables.forEach(ae=>oe.push({value:ae.key,label:`${ae.name}(${ae.key})`})),Object.values(t.constants).forEach(ae=>oe.push({value:ae.key,label:`${ae.name}(${ae.key})`})),oe}),H=oe=>oe.trim().length>0,Q=oe=>oe!==""&&oe!==null&&oe!==void 0,W=()=>L.action==="split_join"?H(L.variableKey):L.action==="json_extract"?H(L.variableKey)&&H(L.keyPath):L.action==="array_extract"?H(L.variableKey)&&Q(L.index):!1,te=()=>L.action==="split_join"?generateSplitJoinCode({variableKey:L.variableKey,separator:L.separator,joiner:L.joiner}):L.action==="json_extract"?generateJsonExtractCode({variableKey:L.variableKey,keyPath:L.keyPath,componentType:L.componentType}):L.action==="array_extract"?generateArrayExtractCode({variableKey:L.variableKey,index:L.index,componentType:L.componentType}):"";vue.watch(()=>L.action,()=>{n.value="",r.value=!1});const ee=()=>{Object.assign(L,B()),n.value="",r.value=!1},q=()=>{i.value=!1,ee()},G=oe=>{R().forEach(ae=>{ae!==oe&&ae.hidePopover?.()})},J=oe=>{const{target:ae}=oe;if(!(ae instanceof Node)){G();return}if((ae instanceof HTMLElement?ae:ae.parentElement)?.closest(".bk-select-popover"))return;const de=R().find(ge=>ge.$el?.contains(ae))??null;G(de)},Z=async()=>{if(!W()){ne({theme:"warning",message:"请完整填写表单"});return}const oe=te();n.value=oe,r.value=!0;const ae=await copyText(oe);ne({theme:ae?"success":"error",message:ae?"已生成并复制到剪贴板":"复制失败,请手动复制"})},ne=oe=>{lib.Message({...oe,extCls:MESSAGE_EXT_CLS})};return(oe,ae)=>{const se=vue.resolveComponent("bk-select"),de=vue.resolveComponent("bk-input"),ge=vue.resolveComponent("bk-button"),fe=vue.resolveComponent("bk-popover");return vue.openBlock(),vue.createBlock(fe,{placement:"bottom-end",theme:"light",trigger:"click",width:400,"ext-cls":"variable-quick-actions-popover",onAfterShow:ae[10]||(ae[10]=ie=>i.value=!0),onAfterHidden:q},{content:vue.withCtx(()=>[vue.createElementVNode("div",{class:"quick-actions-panel",onClick:vue.withModifiers(J,["stop"])},[vue.createElementVNode("div",_hoisted_1$23,[ae[11]||(ae[11]=vue.createElementVNode("div",{class:"head-title"},"选择操作",-1)),vue.createVNode(se,{ref_key:"actionSelectRef",ref:C,modelValue:L.action,"onUpdate:modelValue":ae[0]||(ae[0]=ie=>L.action=ie),size:"large",clearable:!1,list:vue.unref(z)},null,8,["modelValue","list"])]),vue.createElementVNode("div",_hoisted_2$1x,[vue.createElementVNode("div",_hoisted_3$15,[L.action==="split_join"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createElementVNode("div",_hoisted_4$Q,[ae[12]||(ae[12]=vue.createElementVNode("div",{class:"form-label"},"将变量",-1)),vue.createElementVNode("div",_hoisted_5$F,[vue.createVNode(se,{ref_key:"variableSelectRef",ref:k,modelValue:L.variableKey,"onUpdate:modelValue":ae[1]||(ae[1]=ie=>L.variableKey=ie),filterable:"",clearable:!1,list:$.value,placeholder:"请选择"},null,8,["modelValue","list"])])]),vue.createElementVNode("div",_hoisted_6$v,[ae[13]||(ae[13]=vue.createElementVNode("div",{class:"form-label"},"以",-1)),vue.createElementVNode("div",_hoisted_7$l,[vue.createVNode(de,{modelValue:L.separator,"onUpdate:modelValue":ae[2]||(ae[2]=ie=>L.separator=ie),placeholder:"分割符"},null,8,["modelValue"])]),ae[14]||(ae[14]=vue.createElementVNode("span",{class:"suffix-label"},"分割后,",-1))]),vue.createElementVNode("div",_hoisted_8$g,[ae[15]||(ae[15]=vue.createElementVNode("div",{class:"form-label"},"用",-1)),vue.createElementVNode("div",_hoisted_9$e,[vue.createVNode(de,{modelValue:L.joiner,"onUpdate:modelValue":ae[3]||(ae[3]=ie=>L.joiner=ie),placeholder:"拼接符"},null,8,["modelValue"])]),ae[16]||(ae[16]=vue.createElementVNode("span",{class:"suffix-label"},"拼接。",-1))])],64)):vue.createCommentVNode("",!0),L.action==="json_extract"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createElementVNode("div",_hoisted_10$c,[ae[17]||(ae[17]=vue.createElementVNode("div",{class:"form-label"},"将变量",-1)),vue.createElementVNode("div",_hoisted_11$c,[vue.createVNode(se,{ref_key:"variableSelectRef",ref:k,modelValue:L.variableKey,"onUpdate:modelValue":ae[4]||(ae[4]=ie=>L.variableKey=ie),filterable:"",clearable:!1,list:$.value,placeholder:"请选择"},null,8,["modelValue","list"])])]),vue.createElementVNode("div",_hoisted_12$a,[ae[18]||(ae[18]=vue.createElementVNode("div",{class:"form-label"},"提取 Key",-1)),vue.createElementVNode("div",_hoisted_13$8,[vue.createVNode(de,{modelValue:L.keyPath,"onUpdate:modelValue":ae[5]||(ae[5]=ie=>L.keyPath=ie),placeholder:"形如 message.testpage"},null,8,["modelValue"])]),ae[19]||(ae[19]=vue.createElementVNode("span",{class:"suffix-label"},"的值",-1))]),vue.createElementVNode("div",_hoisted_14$4,[ae[20]||(ae[20]=vue.createElementVNode("div",{class:"form-label"},"指定为组件类型",-1)),vue.createElementVNode("div",_hoisted_15$4,[vue.createVNode(se,{ref_key:"componentTypeSelectRef",ref:y,modelValue:L.componentType,"onUpdate:modelValue":ae[6]||(ae[6]=ie=>L.componentType=ie),clearable:!0,list:vue.unref(j),placeholder:"请选择"},null,8,["modelValue","list"])])])],64)):vue.createCommentVNode("",!0),L.action==="array_extract"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:2},[vue.createElementVNode("div",_hoisted_16$3,[ae[21]||(ae[21]=vue.createElementVNode("div",{class:"form-label"},"将变量",-1)),vue.createElementVNode("div",_hoisted_17$3,[vue.createVNode(se,{ref_key:"variableSelectRef",ref:k,modelValue:L.variableKey,"onUpdate:modelValue":ae[7]||(ae[7]=ie=>L.variableKey=ie),filterable:"",clearable:!1,list:$.value,placeholder:"请选择"},null,8,["modelValue","list"])])]),vue.createElementVNode("div",_hoisted_18$2,[ae[22]||(ae[22]=vue.createElementVNode("div",{class:"form-label"},"提取 index",-1)),vue.createElementVNode("div",_hoisted_19$2,[vue.createVNode(de,{modelValue:L.index,"onUpdate:modelValue":ae[8]||(ae[8]=ie=>L.index=ie),type:"number",min:0,placeholder:"0"},null,8,["modelValue"])]),ae[23]||(ae[23]=vue.createElementVNode("span",{class:"suffix-label"},"的值",-1))]),vue.createElementVNode("div",_hoisted_20$2,[ae[24]||(ae[24]=vue.createElementVNode("div",{class:"form-label"},"组件类型",-1)),vue.createElementVNode("div",_hoisted_21$2,[vue.createVNode(se,{ref_key:"componentTypeSelectRef",ref:y,modelValue:L.componentType,"onUpdate:modelValue":ae[9]||(ae[9]=ie=>L.componentType=ie),clearable:!0,list:vue.unref(j),placeholder:"请选择"},null,8,["modelValue","list"])])])],64)):vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_22,[vue.createVNode(ge,{theme:"primary",onClick:Z},{default:vue.withCtx(()=>[...ae[25]||(ae[25]=[vue.createTextVNode("生成并复制代码",-1)])]),_:1}),vue.createVNode(ge,{onClick:ee},{default:vue.withCtx(()=>[...ae[26]||(ae[26]=[vue.createTextVNode("重置",-1)])]),_:1})]),vue.createElementVNode("div",{class:vue.normalizeClass(["code-preview",{empty:!r.value}])},[r.value?(vue.openBlock(),vue.createElementBlock("pre",_hoisted_23,vue.toDisplayString(n.value),1)):(vue.openBlock(),vue.createElementBlock("span",_hoisted_24,"- 暂未生成,请配置表单后点击蓝色按钮 -"))],2)])])]),default:vue.withCtx(()=>[vue.createElementVNode("span",{class:vue.normalizeClass(["quick-actions-trigger",{"is-active":i.value}])}," 变量快捷操作 ",2)]),_:1})}}}),GlobalVariableQuickActions=_export_sfc(_sfc_main$1O,[["__scopeId","data-v-3bfda576"]]),_hoisted_1$22={class:"slider-header"},_hoisted_2$1w={class:"slider-title"},_hoisted_3$14={key:0,class:"header-actions"},_hoisted_4$P={class:"table-pane"},_hoisted_5$E={key:0,class:"detail-pane"},_hoisted_6$u={class:"sideslider-footer-buttons"},_sfc_main$1N=vue.defineComponent({__name:"index",props:{show:{type:Boolean,default:!1},flowData:{},systemVariables:{default:()=>[]},editable:{type:Boolean,default:!0},typeMode:{default:"builtin"}},emits:["close","update:show","outputChange","change","reference-click"],setup(e,{expose:t,emit:n}){const r={table:"全局变量",create:"新建变量",edit:"编辑变量",clone:"克隆变量",view:"查看变量"},i=e,C=useFlowApiConfig(),k=n,y=vue.shallowRef({defined:{},nodefined:{}}),B=vue.shallowRef("table"),L=vue.shallowRef(null),R=vue.shallowRef({data:getVariableDefaultConfig(),oldKey:""}),z=vue.ref([]),j=vue.ref(),$=new Set(["system","space"]),H=le=>!!le&&$.has(le.source_type),Q=vue.computed(()=>Object.keys(i.flowData.pipeline_tree.constants).length),W=vue.computed(()=>r[B.value]);vue.watch(()=>i.show,le=>{le?(ee(),te()):(B.value="table",L.value=null)}),vue.watch(()=>i.flowData.pipeline_tree.constants,le=>{L.value&&!(L.value.key in le)?i.systemVariables.some(he=>he.key===L.value?.key)||(L.value=null):L.value&&L.value.key in le&&(L.value=le[L.value.key])},{deep:!0});const te=async()=>{if(i.typeMode==="builtin"){z.value=getBuiltinAsCustomVariableTypes();return}if(C?.fetchCustomVariableTypes){const le=await C.fetchCustomVariableTypes();z.value=le.data}z.value.find(le=>le.code==="time_picker")||z.value.push(LOCAL_TIME_PICKER_TYPE)},ee=async()=>{if(C?.fetchVariableRef){const{activities:le,constants:ue,gateways:he}=i.flowData.pipeline_tree,ye=await C.fetchVariableRef({template_id:i.flowData.id,activities:le,constants:ue,gateways:he});y.value=ye.data}},q=(le="")=>{const ue=getVariableDefaultConfig();if(ue.index=Q.value,typeof le=="string"&&le){const he=le.startsWith("${")&&le.endsWith("}")?le.slice(2,-1):le;ue.key=he}R.value={data:ue},B.value="create"},G=le=>{B.value=!i.editable||H(le)?"view":"edit",R.value={data:lodash$1.cloneDeep(le),oldKey:le.key}},J=le=>{const ue=lodash$1.cloneDeep(le);ue.key="",ue.source_type==="component_outputs"&&(ue.source_info={}),R.value={data:ue},B.value="clone"},Z=le=>{L.value=le},ne=()=>{L.value=null},oe=le=>{k("reference-click",le)},ae=le=>{R.value={...R.value,data:le}},se=()=>{B.value="table"},de=async()=>{if(!await j.value?.validate())return;const ue={...i.flowData.pipeline_tree.constants};let he=R.value.data.key.trim();/^\$\{\w+\}$/.test(he)||(he=`\${${he}}`,R.value.data.key=he);const ye=["create","clone"].includes(B.value),_e=B.value==="edit"&&R.value.oldKey!==he;if((ye||_e)&&he in ue){const{Message:Ne}=await import("bkui-vue/lib");Ne({theme:"error",message:`变量 Key「${he}」已存在`});return}ue[he]=R.value.data,B.value==="edit"&&R.value.oldKey!==R.value.data.key&&delete ue[R.value.oldKey],B.value="table",ce(ue)},ge=le=>{ce(le)},fe=(le,ue)=>{k("outputChange",le,ue)},ie=le=>{L.value&&le.includes(L.value.key)&&(L.value=null)},ce=le=>{k("change",le)},pe=()=>{k("close"),k("update:show",!1),B.value="table",L.value=null};return t({openCreate:q}),(le,ue)=>{const he=vue.resolveComponent("bk-button"),ye=vue.resolveComponent("bk-sideslider");return vue.openBlock(),vue.createBlock(ye,{"ext-cls":"bkflow-global-variable-sideslider",title:W.value,"is-show":i.show,width:1080,"esc-close":!1,"before-close":pe},vue.createSlots({header:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$22,[vue.createElementVNode("div",_hoisted_2$1w,vue.toDisplayString(W.value),1),B.value==="table"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$14,[vue.createVNode(GlobalVariableQuickActions,{constants:i.flowData.pipeline_tree.constants,"system-variables":i.systemVariables},null,8,["constants","system-variables"])])):vue.createCommentVNode("",!0)])]),default:vue.withCtx(()=>[vue.createElementVNode("div",{class:vue.normalizeClass(["global-variable-slider",{"has-footer":B.value!=="table"}])},[B.value==="table"?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:vue.normalizeClass(["table-detail-layout",{"has-detail":!!L.value}])},[vue.createElementVNode("div",_hoisted_4$P,[vue.createVNode(GlobalVariableTable,{constants:i.flowData.pipeline_tree.constants,"system-variables":i.systemVariables,outputs:i.flowData.pipeline_tree.outputs,"variables-reference":y.value,"custom-variable-types":z.value,editable:i.editable,narrow:!!L.value,"selected-key":L.value?.key||"",onCreate:q,onEdit:G,onClone:J,onDelete:ie,onUpdateConstants:ge,onOutputChange:fe,onSelectDetail:Z,onReferenceClick:oe},null,8,["constants","system-variables","outputs","variables-reference","custom-variable-types","editable","narrow","selected-key"])]),L.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$E,[vue.createVNode(GlobalVariableDetail,{variable:L.value,editable:i.editable,"custom-variable-types":z.value,"type-mode":i.typeMode,onEdit:G,onClose:ne},null,8,["variable","editable","custom-variable-types","type-mode"])])):vue.createCommentVNode("",!0)],2)):(vue.openBlock(),vue.createBlock(GlobalVariableEdit,{key:1,ref_key:"variableEditRef",ref:j,editable:i.editable&&B.value!=="view"&&!H(R.value.data),variable:R.value.data,"variables-reference":y.value,"custom-variable-types":z.value,"type-mode":i.typeMode,onChange:ae},null,8,["editable","variable","variables-reference","custom-variable-types","type-mode"]))],2)]),_:2},[B.value!=="table"?{name:"footer",fn:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_6$u,[i.editable&&B.value!=="view"&&!H(R.value.data)?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(he,{theme:"primary",onClick:de},{default:vue.withCtx(()=>[...ue[0]||(ue[0]=[vue.createTextVNode("确定",-1)])]),_:1}),vue.createVNode(he,{onClick:se},{default:vue.withCtx(()=>[...ue[1]||(ue[1]=[vue.createTextVNode("取消",-1)])]),_:1})],64)):(vue.openBlock(),vue.createBlock(he,{key:1,theme:"primary",onClick:se},{default:vue.withCtx(()=>[...ue[2]||(ue[2]=[vue.createTextVNode("返回",-1)])]),_:1}))])]),key:"0"}:void 0]),1032,["title","is-show"])}}}),GlobalVariables=_export_sfc(_sfc_main$1N,[["__scopeId","data-v-7687e00a"]]),_hoisted_1$21={key:0,class:"desc"},_hoisted_2$1v={class:"section-content"},_sfc_main$1M=vue.defineComponent({__name:"index",props:{title:{},desc:{},noBackground:{type:Boolean}},setup(e){const t=e,n=vue.ref(!1),r=()=>{n.value=!n.value},i=B=>{const L=B;L.style.height="0",L.offsetHeight,L.style.height=`${B.scrollHeight}px`},C=B=>{const L=B;L.style.height=""},k=B=>{const L=B;L.style.height=`${L.scrollHeight}px`,L.offsetHeight,L.style.height="0"},y=B=>{const L=B;L.style.height=""};return(B,L)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["section-container",{fold:n.value}])},[vue.createElementVNode("div",{class:vue.normalizeClass(["section-title",{"no-background":t.noBackground}]),onClick:r},[vue.createVNode(vue.unref(icon.AngleUpFill),{class:"arrow-icon"}),vue.createTextVNode(" "+vue.toDisplayString(t.title)+" ",1),t.desc?(vue.openBlock(),vue.createElementBlock("span",_hoisted_1$21,vue.toDisplayString(t.desc),1)):vue.createCommentVNode("",!0)],2),vue.createVNode(vue.Transition,{name:"fold",css:!0,onEnter:i,onAfterEnter:C,onLeave:k,onAfterLeave:y},{default:vue.withCtx(()=>[vue.withDirectives(vue.createElementVNode("div",_hoisted_2$1v,[vue.renderSlot(B.$slots,"default",{},void 0,!0)],512),[[vue.vShow,!n.value]])]),_:3})],2))}}),SectionContainer=_export_sfc(_sfc_main$1M,[["__scopeId","data-v-805b6858"]]),WeixinIcon="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20width='48px'%20height='48px'%20viewBox='0%200%2048%2048'%20enable-background='new%200%200%2048%2048'%20xml:space='preserve'%3e%3cimage%20id='image0'%20width='48'%20height='48'%20x='0'%20y='0'%20href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAACBjSFJN%20AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAG%20yUlEQVRo3u2Zf2yVVxnHP897bymMArdjFV00zgGbLmFuiRkIjs0y3R9uWcyIzDmTVcqaOLUm8mMb%20WdAExF/ZIALK1oFCoSyLxmVGwqIIGkZNlmFrBTp+DDfnipEVNgrt7X2fr3+8t7e3t/f29uemSb/J%20Se59z/M+53zPec7z47wwjnGM4/8aNtwXa06tHrB/68x1/3sEciZtQAKYmvXMgXeAC+8VmaIEHjrx%20WPRDYDGbCHwSuBmYCXwY+GCWrm7gLHAGOAkcAVoUKuwZ6anZ33/vCCx79VEkEcSCacDngCXATcBH%20gNIiui8CbwAvA78EGj30DjPj6evWjz2BZa2PQowAZ76ZfQe4Aygb5jjngH2SthBwmBB/+vrRIZGX%20QPWxR7DArgDuB1ZizB6V0cQJ4EfAbrku1X3iB6NPoProKghsokENsAYoH5XJ96Id+J5gK67Ouht+%20OCJl8X6MjLjEg4LvEnmZ3MHPAFOAjwGxAnpD4DXgXeCanEUoJ9KdNKOO6OAPG0H2n6rmlbjzGbmW%20IyWQyGptSGuQFiN9FWkvkufIkH62Ny2zOP1OW45MQq5vuzO3qnnliHagD4Eg4EqkpUgz5SKn/Umu%20HcBpoFGurXJ15JHrkOvnQCNwWq6dcv05Vw5pFlJ1EHDlqBCoalqBxE0Sd/dfVJBISYRhtxN251v4%20TJNEchBygcQXJG6oaloxbALZZ6BErs9iNi2vpFQJVAEvAFfJVQNMxixXrgz4JpH9vynXPcCtkb9Q%20rtbpwC2e8sM1p1aHPQ+HErkzo1c1rZgG/BqoHEC+nehwlhFF4mKH+HxarhxIEqUYbRivGtaGcQ6j%20JV4aP2iBdWIk6aKTkjSRWcWJ9BL46/IKoJne1GC00A0cscAag5LY60E8KDOzG4GrMSqAacDbRFG7%20FXEYaDKzVndPwsDpR4bAg0eWfwBoASpGPGWlTcWsCeM38YnxVBAL5gC3m1kFBQKoEIgQOAH8FngO%20eEWuFEC+6J05A3KJKJscDYTA3ljcdsYmxhcBX5RUEXFTsXdjwMfT7W7gZxjbPfR38gn3ulEplcdf%20D6c5UkOsNPZMrDT+MKIaUYFgGO16xFrEOjObUX3skcIEJLokmuUa/txdyDkUlMQaglhQK2mhpCBP%20rBh8k8rkqkGsAsqWtqzKb0JInRIHgfuRCnmXYjhrAZuCeHCXXAtz+oTRbNgeYIpQFeJDWf0dGA2G%20HRW6A3EnvV6uBKgGjprZNrJMPTsSO9J+pMYRmM/z8dJ4iFiCCHLMoQNnbZgKf+yhr8XZntP/Is7j%20YTLciLMGcSKnfwriIUmzv9bcG/gyBHbc8iQSZyTqJS6kzWHwTZyT+CPGnXIl+puDu9zPmwiRknJ/%20N6e/Q+6XzHC5X5R7d44pIfeb5X5b9rxzs1EhNSBuBJaB+mWrBSFOx0pjb8n1qZyd7cFkoggNIgHc%20lxOZeyL9y4jFwLV9+pWZ7+eB3UQVX18C9Z/ewAMv1V4QWgfMAO6hcLTtZ/9BPDCkQvVDDLgLuD1N%20MLe6uxpYD3SlyZYU0DOHqJy92MeEMiTmb8SwNxHLEfWIDknF3J3k+lf6KFiRBG6qRFmB/kkSCYmS%20AXSUS72Lmm+rqV+wEeA1Scvl2obTXczdITrTv21EbrN483TQzdhUfpOWkPgPUgfFr18MmIWUZIQV%201iBwMnuMoJDU7lt/ikJdJWeBnLgcEMcRmxB1iD8gTiHOpz3RhFRn+G+J18d0B8Q+iY6iO7Dk918H%20aR5wLfAPsJ2CX0n8HSgxYzpRPj8ZmAS8nUqm/hmU2CHEQgZ/+AcP4w2kFy0IMjswkJuMIaYTuazt%204CexoDtdv3QDl4hS4F79ZuDUA18Crhvl6XcitgCv7Jj7RObhQARM0vPALgssBQYSeyo3DzjKAy/V%20ngKeAH6C0q5y2FfI9Ph/x3gB+IUF1ueMDUQgRVRRFZ107nsSu5CuAb4FXNG/khwyhX1gj5vRtnPe%20hr6rPCLVBfCVQ7XgKhOsIrogG26R1An8DnjMYkHrrvkb+gkEQ9U4GOxasBGMi0jrkWqRDiB1DdXj%20IL2F9KQZrXj+Wmv0PUUaf9v2F+ZUze1OJGi5fJkDwHGkONGtXg96ripC4DLpm4z0wk5COGK/p/xY%20w22b8o4zJiaUjS8fjPI3urqMCRPKkGYouqL/aLpBdNtxnCjfPytpAbAUmAfUIVbvqdycN0COOYEM%20kQPf6B3UDDOjtDT6xJBMJnH3TL1sZnjoCeBeoFzSM88u2tL+vhIYKu7b/zDt7e0kEompwOVnF23J%20uwNjcohHA3sqN5NIJCD65jbW+dU4xjGO9wv/BfVAV6WfUfulAAAAJXRFWHRkYXRlOmNyZWF0ZQAy%20MDI0LTEwLTE2VDA5OjM5OjAzKzAyOjAwmO75JgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyNC0xMC0x%20NlQwOTozOTowMyswMjowMOmzQZoAAAAASUVORK5CYII='%20/%3e%3c/svg%3e",RtxIcon="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20width='48px'%20height='48px'%20viewBox='0%200%2048%2048'%20enable-background='new%200%200%2048%2048'%20xml:space='preserve'%3e%3cimage%20id='image0'%20width='48'%20height='48'%20x='0'%20y='0'%20href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAACBjSFJN%20AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAG%20XklEQVRo3u3Za4xVVxUH8N+ducPADMggUCullJaSipRaAV/F1GKoreKHprZa0ajRItH6ikkj1pQq%20qRofMbY+GiB9aB8qGGqJr7a0aInNqGDBkaZpSbEPaGGGDjq8Zi53jh/WmblnLsPceZImspKdOXfv%20c/Ze/7X22mv993BKTsn/t+SGPMPK1srvrJjwKgNwvNI55FFd1l9AcSTBDAxAT8VPw1mYkrbXpS0r%20z6ftWbyI3egcTiCVAfRUuhpvw7sxH29Jla8kLdiOv+IP+Dvau0eHAKa/APK4AJ/C5Tj7BN8maavq%20Y8Zd2Ijb0IRjQwHRN4BQfiKWYpnYMtlvDuFl7MN+sU06MAZT0SC22lTUlgHdhR/jbrQML4DStnkD%20voIlGJVZfDc24c/YgZ0pgKRspomYiQtxMRZhcmb8INbiRuwZjCfyfYydh+/hfUpb4r/4BX6GJ/Gf%20Hl+UL76ydX8KrBG/wjxci8UYm7aPi9i6oRvEkDwQ1j8Dq/DejPL/xDfxWxw+odInkpJXG3AVlmNG%202lfEPbgezQPxQs9gi0XG4gt4TzqeYDOuE+4+3K34QNxdevcA7sBnsCXtq8Y1whs1g/fAytYcrsRP%20RfARx9+12DJsSajkjUvxExEn8G98GI39Xav8uJuCT2eU34ebMpYaHikp9wi+ji5E04Wn6/o7VQlA%20WGUuLkp7EqzDo2WLDieITtyP9ZmRi/HWftVYenqgFpeIGCBKgF+ibcSKsZj3CO5Fc9o7BW/XzzIn%20C2AM3pk+J+LUGb5937dsx2Ppcx7n4zUDBdCAc9LnAh7H0RFXPQzUiqcyvacPBsAUpcTWgadOkvUJ%20j78gDEdUteMGCqBGad8V8crJ0t6KCST5vZL8Y5LqRqV6qqKcqJSoFltqxGXOxvjbsueGnaPrmlYV%20i+OP7tn1nepjHafvHiiA51PkhDdmWNk6onQwI3MnTfnRNzAbHQ2TH7gzn7fxH/34MLuFWsU+JI7U%20uY6niCMho0Wmf7/gGeclnZYXOszp8k5/ARzF37JWwaz+JpTBSjG8Pb2su0GUF1WVvs++0I4/isQC%2054q6KD9SIJItLB6lvS7X65F9GcZU8kIWQCI466b09yhRHV5kmCXZEg3jvlvnE78epwZfFmXLi+lr%20i7Gw0lzl1Sh8FLeiK3ofEqXvsxh0UCc9y8Ec5uCT+BhWzzlgeS4Y3JtFPHxIHCzLmhpbtuksC8dU%20j6peOh/AfbrIdpS8K3GmoV+ETRPl8i3pGtcJgn/LvxYh2NtGQXaWoTpJRr3LkfoZqWHn68mtew2S%20Nnw7tXyXta7BGpw9mHhIrT9XVLdrUsVnCwr5A7wETYuiiXjYkMu59OknGveoPbpBMMTf40sypKcv%20Uj8vtdSCzMhnsVr5bVtPDx5/c3ewQfLB3G2Ca2SNdju+iEO5+T0/mf1QnR2P75+sqn01yRWZoecw%2034oJLfRN6remk9+NWWlfg6jhq1GfGuBYarFiL94ZhTFVY1sLojjLKn9ITmOyy6Gqq45ffEfjbqqO%20ziwzIJE3ug3fO4AVE7qs2CTufWaJLL1NnNlXiGOuNh3fLpLg3nSGKlFRvhELOlWtV+MeBQvxepDY%20muz1p+KDFJZSs+Y4LfIi/iaV9W9WOuorXmxNFYxpvuCrawXZWGBgWfqRc+ue+9wzCy+cJ3GJKm3J%20TtuLD5slyvbfSbdlvkhu+gEk5wumNlPEyrbUoPeiqWu75issPEGJn04WtxWj098H00VHi6Dq7UAo%20igR5wc7D05fk1iY3J1fn7jdNR/H7TlNvCT4i7qDuQ3NbvQ7V4ycpHvia4Oa34+d4RnD0HvFXCcBE%20JYpZn/5twV/SSVvwJkGEztGTjDeLgHsaT5C8oF0BHZox2ktYIa5Ybhbn/qP1R2y9uu2utnV1V9bS%20+VXcld0y5XmoEoAWUeRNSy3+cGqpjeJ+hxIVrCyvPaDrtCks7c78d+Bb4tSb15nTvuqVz687o/jy%20TT8cf/2TOtuKvSneJZVioEZkxQ/gwbTt62vCgUphqempEc7MdB/OJy7PnVXY7Ma+77kqeaCA36SK%20D/w6sX+yX/DhLID8sZx8JeWpVK6GoonBXif2T45gg9iiXbJJ3HhXlEoeOBmM7JhIls14h7jxXq9U%20lfYpQ/8v5TBIYWn3Y63I9AV6TW6vTgBlIPRX+VNySk4J/wPavNXBV0/3hwAAACV0RVh0ZGF0ZTpj%20cmVhdGUAMjAyNC0xMC0xNlQwNzozODowMyswMDowMCfDViMAAAAldEVYdGRhdGU6bW9kaWZ5ADIw%20MjQtMTAtMTZUMDc6Mzg6MDMrMDA6MDBWnu6fAAAAAElFTkSuQmCC'%20/%3e%3c/svg%3e",MailIcon="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20width='48px'%20height='48px'%20viewBox='0%200%2048%2048'%20enable-background='new%200%200%2048%2048'%20xml:space='preserve'%3e%3cimage%20id='image0'%20width='48'%20height='48'%20x='0'%20y='0'%20href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAACBjSFJN%20AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABdFBMVEUAAAD80if2uSH1uCDO%20GQD//2L1tiD2uyH0sh/4wCPxpRz3wCL//3r1tSD3viLwohv80if80if80if80if80if80if80if8%200if80if80if80if80if80if80if//zj80if80if80ifwohvwoRv80if80ifwohvwohvwohv80if8%200if80ifwohvwohvwohvwohvwoBv80if80if80ifwohvwohvwohvwohv+2Cn80if80if80ifwohvw%20ohvwohvwoRv80if80if80ifwohvwohv91Sj80if80if80ifwohvwohvvnxr80if80if80ifwohvw%20ohvwohv91Sj80if80ifwohvwohvwohvqixX80if80if80ifwohvwohvwohv80yf80if80ifwohvw%20ohvwohvslBf//zr80if80ifwohvwohvwoRv80ifwohvwohvwohvwohvwohvwohvwohvwohvwohvw%20ohvwohvwohv80ifwohv///9tjhRAAAAAeXRSTlMAAAAAAAAAAAAAAAAAAAAABBIWT9bpTWzzZBRj%202P4BM6j1IBNw23CkKD6z+YH+0F8OF3zhf++XJANJvPv9xVMHH4btjiIGTMP8vkwGKJDu5YMbC17U%20+rtBAiue8N94GAxp1/eyNwIBOKfbbBQL9ag01GP2gNbpBBIWNnChdAAAAAFiS0dEe0/StfwAAAAH%20dElNRQfoChAHJgNz8rhqAAABhElEQVRIx+3R6TNCURzG8UTaEdlKlvZQKu0iQnRbRCXtaFW0W/r9%209ZbhSF05Xpjxou/Lc57PnLlzKZRBf9UQZghM8CYx4k2gB6b40xjxZxCYnWtjNDePgEC4IPppLloQ%208hCgLi4tr/TfrywvLQ6jjxZLqAKprN9eJhVQJWIE5ArlCE21uvbdfG1VRRtRKuQIrKs1G9pRnX6T%20fL+p141qNzTqdQQMAEaTmW6x2rZ651s2q4VuNhkBDJ0A7Ns7DsbunrN779zbZTh2tu3QDV4e2T9g%20HrqOjjvnx0euQ+bBvvFt0A3A7iY8LK/P/7n3+7wsD+G2AzkAOAmcss+Cofe/KAoFz9ingZOPWxIA%204fPIBScai7/u47Eo5yJyHoZ+ACCRTNHTl1ft9tVlmp5KJjquyAFcZ7K5fKFYLORz2cw1/AwAbkpl%207u0tt1y6+Xr+LYC7SnVsrFq5A1wAUKvXaz2H/QA0GvA7QNYA/DfQxANNBIjWPUYtAoGHxyeMHh8Q%20GMeMMuivegZPNwJ6UuK61QAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyNC0xMC0xNlQwNzozODowMysw%20MDowMCfDViMAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjQtMTAtMTZUMDc6Mzg6MDMrMDA6MDBWnu6f%20AAAAAElFTkSuQmCC'%20/%3e%3c/svg%3e",SmsIcon="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20width='48px'%20height='48px'%20viewBox='0%200%2048%2048'%20enable-background='new%200%200%2048%2048'%20xml:space='preserve'%3e%3cimage%20id='image0'%20width='48'%20height='48'%20x='0'%20y='0'%20href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAACBjSFJN%20AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABF1BMVEUAAAAhqvchqvchqvch%20qvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvch%20qvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvch%20qvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvch%20qvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvch%20qvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvf////t18AcAAAAW3RSTlMAAA84XHh/%20CjSAwNzxCEKl6vsjiOYCQANM19giwQv5jA3n6UMJDOs5+obDEs+dn948hf7Gee9aFdn2m5L9Ne7l%20MxShFuI/Ab0d1boyHKDkkwYvfLz4tXUuMFNoR3rSMgAAAAFiS0dEXOrYAJcAAAAHdElNRQfoChAL%20JgN66EEOAAABqklEQVRIx9WVaVuCQBCAXbxYFBXxQoWKjLQ0UyvTssvu+7BS5///j7JHEFhksU/1%20fmTm3WVhdsbn+wcgC16yGX8gGPomGPAzNAehMIu5SBR+iEY4zIbdDMTH4gkBTAiJeIxHc5dPiikg%20SIlJ501QOsMJ4IDAZdIOBsrmJJiDlMsicv35+ROD2ANl8uBCPmMTUKEIrhQLFgPJouIuKEvLZgPF%20VoCCumoWSnFaPkB8zbQBm6AL2vpsC4TLdEGozASGo+cDbGwagj8yfVatbRHUqtNgfdsQAtN6hkZJ%20Jig1psFowBCCTS9CM2gIGLy8EmBDCHk5M0Dl9wL2JmDy0FBucUULXMv4p80d8rOClmRsJDU9trtH%20/jhQ28hGW9Vj+6xDaXS6Bza6HT3GMU7F1zy0YRxPwKZq7R3Rv9HxiekGnap04axkunF9unB+cbmQ%20oIgyWki4ura0Gaog+a2NjCYQrZIi3BDN2FVQbu+IVtx36Ut1fE8OFPlB1TmytCjl8an37DRN5L7O%20y+ubpA0myQNNev/45B3nlaWg+eFoPBm749GQ9zKqfYvM9T/BF26JhjZ0x+78AAAAJXRFWHRkYXRl%20OmNyZWF0ZQAyMDI0LTEwLTE2VDA5OjM4OjAzKzAyOjAwdyySGAAAACV0RVh0ZGF0ZTptb2RpZnkA%20MjAyNC0xMC0xNlQwOTozODowMyswMjowMAZxKqQAAAAASUVORK5CYII='%20/%3e%3c/svg%3e",VoiceIcon="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20width='48px'%20height='48px'%20viewBox='0%200%2048%2048'%20enable-background='new%200%200%2048%2048'%20xml:space='preserve'%3e%3cimage%20id='image0'%20width='48'%20height='48'%20x='0'%20y='0'%20href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAACBjSFJN%20AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABzlBMVEUAAAAzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAP///8ahhZ5AAAA%20mHRSTlMAAA84XHh/DDmNwtzxCkOl6/0rkOgDSMYIYN4E59/+9Pcp82k9ZqHXDfyfe140heny0ps3%20QLLlr6z61uxnnvvOTAYBzDtUivDROjza+bh+EsRYg4TgfdMqKM+nJpww1NkuIsiAQeEvc+ZTAhOa%20tUmB9WPj7iBx+AWHTcuwGg5s9tBhMz6iGzViB1Lbox9Qs1umRM12kld67xKguDoAAAABYktHRJkB%201jaoAAAAB3RJTUUH6AoQCycDY/NwTwAAArVJREFUSMfVlflbEkEYxxkOWQ5hAbkRgUQgTQyxQswC%20aS0js7Iyiy5Syw4tyuzU7ssOO+fPbXd2dphdlpLf6n0enmfnZT7zvvPOd97RaP4DAzLbymytTm9o%20482g12n/xgBgZExmixUis1rMJsb4BwKAdpuddUDKHKzd1t4MAcDp6oAN1uFyqhPA7fE6oIo5vB63%20CgF8/gBsYgG/r4EAQX8INrWQP6gkgKdTNiXcZY1Qw06PAgBRr3zN2LbueE8iTMbeqIwASVdKDkS2%209/Y5d/RbpHHKlaQJYEs3Jj6wMzOYHZIWSttowGgXvbt278Glyg3nhdRHontHMWE3UgEYFvn27S8U%20s2Poky0d4BIQjrdFhzDAMvUQwIQCHzwkaG3isPBdPjLJMJkItI5k8T5SpjpwdArt85ggAVCMi/Uc%20TR+PnojA6cGTZZEwawkwgRI/dRotAWbO4CRGZ89moONc5bw4tOgIoEd6vnBRzO/SZalO5aouAROV%20Hqx2PQEM6IBiV1CEYHycVHZungsP9OEcwway56r494IbhbtaP4rcwrU87O3GF6oq7XqRw8d/XfDc%20oA/vZmkYcrcwsCQBYEl0LN8WPNk7FJBjc7CrhiXFLSpSglN3eaJwL9ZE5CQlvGkIVybvAw0wri6r%20zq9vGpeVt9CDIh/Q2K9KUGXVERU/nOdPGyRXhaxW5tgwDVAHpzWTsI8eC8STp4G19WfPX3A1CqCk%20gcUnmOPlK0FQ7tdvKkUA3r57T+bT4pPkjfwfNoQYqEfyv4/kGGl5kwuEiE/82uSfwqzkpy+Q4oqu%20f6431OAX7JRfUUUTqLlmpJw2p3FceRNQtpnU128bPp4Ibo7hyiraTGMjK1u+/2BKPyVdNTQytVYZ%20zv+SPlVaZcvNuPV23/qD0vqTpWn5UdS0/uxKzNYf9n/BfgOj3RPg/kA9xAAAACV0RVh0ZGF0ZTpj%20cmVhdGUAMjAyNC0xMC0xNlQwOTozOTowMyswMjowMJju+SYAAAAldEVYdGRhdGU6bW9kaWZ5ADIw%20MjQtMTAtMTZUMDk6Mzk6MDMrMDI6MDDps0GaAAAAAElFTkSuQmCC'%20/%3e%3c/svg%3e",store={},instanceStore={setInstance(e,t,n){store[e]||(store[e]={}),store[e][t]=n},getInstance(e,t){return store[e][t]}};let callbackSeed=0;function JSONP(e,t={},n={}){return new Promise((r,i)=>{const C=`USER_LIST_CALLBACK_${callbackSeed+=1}`;window[C]=B=>{document.body.removeChild(k),delete window[C],r(B)};const k=document.createElement("script");k.onerror=B=>{document.body.removeChild(k),delete window[C],i("Get user list failed.")};const y=[];for(const B in t)y.push(`${B}=${t[B]}`);k.src=`${e}?${y.join("&")}&callback=${C}`,n.timeout&&setTimeout(()=>{document.body.removeChild(k),delete window[C],i("Get user list timeout.")},n.timeout),document.body.appendChild(k)})}const userMap=new Map;function getMap(e){if(userMap.has(e))return userMap.get(e);const t=new Map;return userMap.set(e,t),t}function storeUsers(e,t){const n=getMap(e);t.forEach(r=>n.set(r.username,r))}function getUsers(e,t){const n=getMap(e),r=[];return t.forEach(i=>{n.has(i)&&r.push(n.get(i))}),r}async function handleBatchSearch(e,t,n){const r=getMap(e),i=[...new Set(t)].filter(k=>!r.has(k));if(!i.length)return Promise.resolve(getUsers(e,t));const C=[];i.reduce((k,y,B)=>k.length<100?(k.push(y),B===i.length-1&&C.push(k),k):(C.push(k),[]),[]);try{(await Promise.all(C.map(y=>JSONP(e,{app_code:"bk-magicbox",exact_lookups:y.join(","),page_size:100,page:1},n)))).forEach(y=>{y.code===0&&storeUsers(e,y.data.results||[])})}catch(k){console.error(k)}return Promise.resolve(getUsers(e,t))}function createVm(e){const t={setup(){const{proxy:i}=vue.getCurrentInstance();instanceStore.setInstance("exactSearch",e,i);const C=vue.ref("");C.value=e;const k=vue.ref([]);vue.watch(()=>k,L=>{L.value.length&&B()},{deep:!0});const y=L=>new Promise(R=>{k.value.push({resolve:R,usernames:L})}),B=async()=>{const L=[...k.value];k.value=[];try{const R=L.reduce(($,{usernames:H})=>$.concat(H),[]),z=await request.exactSearch(C.value,R),j={};z.forEach($=>{j[$.username]=$}),L.forEach(({resolve:$,usernames:H})=>{const Q=[];H.forEach(W=>{j.hasOwnProperty(W)&&Q.push(j[W])}),$(Q)})}catch(R){L.forEach(({resolve:z})=>{z([])}),console.error(R)}};return{api:C,queue:k,search:y,dispatchSeach:B}},render(){return null}},n=vue.createApp(t),r=document.createElement("div");return n.mount(r),n}const request={async fuzzySearch(e,t,n){const r={};try{const i=await JSONP(e,t,n);if(i.code!==0)throw new Error(i);r.count=i.data.count,r.results=i.data.results||[],storeUsers(e,r.results)}catch(i){console.error(i.message),r.count=0,r.results=[]}return r},async exactSearch(e,t,n){const r=Array.isArray(t),C=await handleBatchSearch(e,r?t:[t],n);return r?C:C[0]},pasteValidate(e,t,n){return handleBatchSearch(e,t,n)},scheduleExactSearch(e,t){const n=Array.isArray(t)?t:[t];return createVm(e),instanceStore.getInstance("exactSearch",e).search(n)}};var top$1="top",bottom$1="bottom",right$1="right",left$1="left",auto$1="auto",basePlacements$1=[top$1,bottom$1,right$1,left$1],start$1="start",end$1="end",clippingParents$1="clippingParents",viewport$1="viewport",popper$1="popper",reference$1="reference",variationPlacements$1=basePlacements$1.reduce(function(e,t){return e.concat([t+"-"+start$1,t+"-"+end$1])},[]),placements$2=[].concat(basePlacements$1,[auto$1]).reduce(function(e,t){return e.concat([t,t+"-"+start$1,t+"-"+end$1])},[]),beforeRead$1="beforeRead",read$1="read",afterRead$1="afterRead",beforeMain$1="beforeMain",main$1="main",afterMain$1="afterMain",beforeWrite$1="beforeWrite",write$1="write",afterWrite$1="afterWrite",modifierPhases$1=[beforeRead$1,read$1,afterRead$1,beforeMain$1,main$1,afterMain$1,beforeWrite$1,write$1,afterWrite$1];function getNodeName$1(e){return e?(e.nodeName||"").toLowerCase():null}function getWindow$1(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function isElement$4(e){var t=getWindow$1(e).Element;return e instanceof t||e instanceof Element}function isHTMLElement$2(e){var t=getWindow$1(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function isShadowRoot$2(e){if(typeof ShadowRoot>"u")return!1;var t=getWindow$1(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function applyStyles$3(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},i=t.attributes[n]||{},C=t.elements[n];!isHTMLElement$2(C)||!getNodeName$1(C)||(Object.assign(C.style,r),Object.keys(i).forEach(function(k){var y=i[k];y===!1?C.removeAttribute(k):C.setAttribute(k,y===!0?"":y)}))})}function effect$5(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var i=t.elements[r],C=t.attributes[r]||{},k=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),y=k.reduce(function(B,L){return B[L]="",B},{});!isHTMLElement$2(i)||!getNodeName$1(i)||(Object.assign(i.style,y),Object.keys(C).forEach(function(B){i.removeAttribute(B)}))})}}const applyStyles$2={name:"applyStyles",enabled:!0,phase:"write",fn:applyStyles$3,effect:effect$5,requires:["computeStyles"]};function getBasePlacement$3(e){return e.split("-")[0]}var max$1=Math.max,min$1=Math.min,round$1=Math.round;function getUAString$1(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function isLayoutViewport$1(){return!/^((?!chrome|android).)*safari/i.test(getUAString$1())}function getBoundingClientRect$1(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),i=1,C=1;t&&isHTMLElement$2(e)&&(i=e.offsetWidth>0&&round$1(r.width)/e.offsetWidth||1,C=e.offsetHeight>0&&round$1(r.height)/e.offsetHeight||1);var k=isElement$4(e)?getWindow$1(e):window,y=k.visualViewport,B=!isLayoutViewport$1()&&n,L=(r.left+(B&&y?y.offsetLeft:0))/i,R=(r.top+(B&&y?y.offsetTop:0))/C,z=r.width/i,j=r.height/C;return{width:z,height:j,top:R,right:L+z,bottom:R+j,left:L,x:L,y:R}}function getLayoutRect$1(e){var t=getBoundingClientRect$1(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function contains$1(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&isShadowRoot$2(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function getComputedStyle$2(e){return getWindow$1(e).getComputedStyle(e)}function isTableElement$1(e){return["table","td","th"].indexOf(getNodeName$1(e))>=0}function getDocumentElement$1(e){return((isElement$4(e)?e.ownerDocument:e.document)||window.document).documentElement}function getParentNode$1(e){return getNodeName$1(e)==="html"?e:e.assignedSlot||e.parentNode||(isShadowRoot$2(e)?e.host:null)||getDocumentElement$1(e)}function getTrueOffsetParent$1(e){return!isHTMLElement$2(e)||getComputedStyle$2(e).position==="fixed"?null:e.offsetParent}function getContainingBlock$1(e){var t=/firefox/i.test(getUAString$1()),n=/Trident/i.test(getUAString$1());if(n&&isHTMLElement$2(e)){var r=getComputedStyle$2(e);if(r.position==="fixed")return null}var i=getParentNode$1(e);for(isShadowRoot$2(i)&&(i=i.host);isHTMLElement$2(i)&&["html","body"].indexOf(getNodeName$1(i))<0;){var C=getComputedStyle$2(i);if(C.transform!=="none"||C.perspective!=="none"||C.contain==="paint"||["transform","perspective"].indexOf(C.willChange)!==-1||t&&C.willChange==="filter"||t&&C.filter&&C.filter!=="none")return i;i=i.parentNode}return null}function getOffsetParent$1(e){for(var t=getWindow$1(e),n=getTrueOffsetParent$1(e);n&&isTableElement$1(n)&&getComputedStyle$2(n).position==="static";)n=getTrueOffsetParent$1(n);return n&&(getNodeName$1(n)==="html"||getNodeName$1(n)==="body"&&getComputedStyle$2(n).position==="static")?t:n||getContainingBlock$1(e)||t}function getMainAxisFromPlacement$1(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function within$1(e,t,n){return max$1(e,min$1(t,n))}function withinMaxClamp$1(e,t,n){var r=within$1(e,t,n);return r>n?n:r}function getFreshSideObject$1(){return{top:0,right:0,bottom:0,left:0}}function mergePaddingObject$1(e){return Object.assign({},getFreshSideObject$1(),e)}function expandToHashMap$1(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var toPaddingObject$1=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,mergePaddingObject$1(typeof t!="number"?t:expandToHashMap$1(t,basePlacements$1))};function arrow$3(e){var t,n=e.state,r=e.name,i=e.options,C=n.elements.arrow,k=n.modifiersData.popperOffsets,y=getBasePlacement$3(n.placement),B=getMainAxisFromPlacement$1(y),L=[left$1,right$1].indexOf(y)>=0,R=L?"height":"width";if(!(!C||!k)){var z=toPaddingObject$1(i.padding,n),j=getLayoutRect$1(C),$=B==="y"?top$1:left$1,H=B==="y"?bottom$1:right$1,Q=n.rects.reference[R]+n.rects.reference[B]-k[B]-n.rects.popper[R],W=k[B]-n.rects.reference[B],te=getOffsetParent$1(C),ee=te?B==="y"?te.clientHeight||0:te.clientWidth||0:0,q=Q/2-W/2,G=z[$],J=ee-j[R]-z[H],Z=ee/2-j[R]/2+q,ne=within$1(G,Z,J),oe=B;n.modifiersData[r]=(t={},t[oe]=ne,t.centerOffset=ne-Z,t)}}function effect$4(e){var t=e.state,n=e.options,r=n.element,i=r===void 0?"[data-popper-arrow]":r;i!=null&&(typeof i=="string"&&(i=t.elements.popper.querySelector(i),!i)||contains$1(t.elements.popper,i)&&(t.elements.arrow=i))}const arrow$2={name:"arrow",enabled:!0,phase:"main",fn:arrow$3,effect:effect$4,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function getVariation$1(e){return e.split("-")[1]}var unsetSides$1={top:"auto",right:"auto",bottom:"auto",left:"auto"};function roundOffsetsByDPR$1(e,t){var n=e.x,r=e.y,i=t.devicePixelRatio||1;return{x:round$1(n*i)/i||0,y:round$1(r*i)/i||0}}function mapToStyles$1(e){var t,n=e.popper,r=e.popperRect,i=e.placement,C=e.variation,k=e.offsets,y=e.position,B=e.gpuAcceleration,L=e.adaptive,R=e.roundOffsets,z=e.isFixed,j=k.x,$=j===void 0?0:j,H=k.y,Q=H===void 0?0:H,W=typeof R=="function"?R({x:$,y:Q}):{x:$,y:Q};$=W.x,Q=W.y;var te=k.hasOwnProperty("x"),ee=k.hasOwnProperty("y"),q=left$1,G=top$1,J=window;if(L){var Z=getOffsetParent$1(n),ne="clientHeight",oe="clientWidth";if(Z===getWindow$1(n)&&(Z=getDocumentElement$1(n),getComputedStyle$2(Z).position!=="static"&&y==="absolute"&&(ne="scrollHeight",oe="scrollWidth")),Z=Z,i===top$1||(i===left$1||i===right$1)&&C===end$1){G=bottom$1;var ae=z&&Z===J&&J.visualViewport?J.visualViewport.height:Z[ne];Q-=ae-r.height,Q*=B?1:-1}if(i===left$1||(i===top$1||i===bottom$1)&&C===end$1){q=right$1;var se=z&&Z===J&&J.visualViewport?J.visualViewport.width:Z[oe];$-=se-r.width,$*=B?1:-1}}var de=Object.assign({position:y},L&&unsetSides$1),ge=R===!0?roundOffsetsByDPR$1({x:$,y:Q},getWindow$1(n)):{x:$,y:Q};if($=ge.x,Q=ge.y,B){var fe;return Object.assign({},de,(fe={},fe[G]=ee?"0":"",fe[q]=te?"0":"",fe.transform=(J.devicePixelRatio||1)<=1?"translate("+$+"px, "+Q+"px)":"translate3d("+$+"px, "+Q+"px, 0)",fe))}return Object.assign({},de,(t={},t[G]=ee?Q+"px":"",t[q]=te?$+"px":"",t.transform="",t))}function computeStyles$3(e){var t=e.state,n=e.options,r=n.gpuAcceleration,i=r===void 0?!0:r,C=n.adaptive,k=C===void 0?!0:C,y=n.roundOffsets,B=y===void 0?!0:y,L={placement:getBasePlacement$3(t.placement),variation:getVariation$1(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:i,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,mapToStyles$1(Object.assign({},L,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:k,roundOffsets:B})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,mapToStyles$1(Object.assign({},L,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:B})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const computeStyles$2={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:computeStyles$3,data:{}};var passive$1={passive:!0};function effect$3(e){var t=e.state,n=e.instance,r=e.options,i=r.scroll,C=i===void 0?!0:i,k=r.resize,y=k===void 0?!0:k,B=getWindow$1(t.elements.popper),L=[].concat(t.scrollParents.reference,t.scrollParents.popper);return C&&L.forEach(function(R){R.addEventListener("scroll",n.update,passive$1)}),y&&B.addEventListener("resize",n.update,passive$1),function(){C&&L.forEach(function(R){R.removeEventListener("scroll",n.update,passive$1)}),y&&B.removeEventListener("resize",n.update,passive$1)}}const eventListeners$1={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:effect$3,data:{}};var hash$3={left:"right",right:"left",bottom:"top",top:"bottom"};function getOppositePlacement$1(e){return e.replace(/left|right|bottom|top/g,function(t){return hash$3[t]})}var hash$2={start:"end",end:"start"};function getOppositeVariationPlacement$1(e){return e.replace(/start|end/g,function(t){return hash$2[t]})}function getWindowScroll$1(e){var t=getWindow$1(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function getWindowScrollBarX$1(e){return getBoundingClientRect$1(getDocumentElement$1(e)).left+getWindowScroll$1(e).scrollLeft}function getViewportRect$1(e,t){var n=getWindow$1(e),r=getDocumentElement$1(e),i=n.visualViewport,C=r.clientWidth,k=r.clientHeight,y=0,B=0;if(i){C=i.width,k=i.height;var L=isLayoutViewport$1();(L||!L&&t==="fixed")&&(y=i.offsetLeft,B=i.offsetTop)}return{width:C,height:k,x:y+getWindowScrollBarX$1(e),y:B}}function getDocumentRect$1(e){var t,n=getDocumentElement$1(e),r=getWindowScroll$1(e),i=(t=e.ownerDocument)==null?void 0:t.body,C=max$1(n.scrollWidth,n.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),k=max$1(n.scrollHeight,n.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),y=-r.scrollLeft+getWindowScrollBarX$1(e),B=-r.scrollTop;return getComputedStyle$2(i||n).direction==="rtl"&&(y+=max$1(n.clientWidth,i?i.clientWidth:0)-C),{width:C,height:k,x:y,y:B}}function isScrollParent$1(e){var t=getComputedStyle$2(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+r)}function getScrollParent$1(e){return["html","body","#document"].indexOf(getNodeName$1(e))>=0?e.ownerDocument.body:isHTMLElement$2(e)&&isScrollParent$1(e)?e:getScrollParent$1(getParentNode$1(e))}function listScrollParents$1(e,t){var n;t===void 0&&(t=[]);var r=getScrollParent$1(e),i=r===((n=e.ownerDocument)==null?void 0:n.body),C=getWindow$1(r),k=i?[C].concat(C.visualViewport||[],isScrollParent$1(r)?r:[]):r,y=t.concat(k);return i?y:y.concat(listScrollParents$1(getParentNode$1(k)))}function rectToClientRect$1(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function getInnerBoundingClientRect$1(e,t){var n=getBoundingClientRect$1(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function getClientRectFromMixedType$1(e,t,n){return t===viewport$1?rectToClientRect$1(getViewportRect$1(e,n)):isElement$4(t)?getInnerBoundingClientRect$1(t,n):rectToClientRect$1(getDocumentRect$1(getDocumentElement$1(e)))}function getClippingParents$1(e){var t=listScrollParents$1(getParentNode$1(e)),n=["absolute","fixed"].indexOf(getComputedStyle$2(e).position)>=0,r=n&&isHTMLElement$2(e)?getOffsetParent$1(e):e;return isElement$4(r)?t.filter(function(i){return isElement$4(i)&&contains$1(i,r)&&getNodeName$1(i)!=="body"}):[]}function getClippingRect$1(e,t,n,r){var i=t==="clippingParents"?getClippingParents$1(e):[].concat(t),C=[].concat(i,[n]),k=C[0],y=C.reduce(function(B,L){var R=getClientRectFromMixedType$1(e,L,r);return B.top=max$1(R.top,B.top),B.right=min$1(R.right,B.right),B.bottom=min$1(R.bottom,B.bottom),B.left=max$1(R.left,B.left),B},getClientRectFromMixedType$1(e,k,r));return y.width=y.right-y.left,y.height=y.bottom-y.top,y.x=y.left,y.y=y.top,y}function computeOffsets$1(e){var t=e.reference,n=e.element,r=e.placement,i=r?getBasePlacement$3(r):null,C=r?getVariation$1(r):null,k=t.x+t.width/2-n.width/2,y=t.y+t.height/2-n.height/2,B;switch(i){case top$1:B={x:k,y:t.y-n.height};break;case bottom$1:B={x:k,y:t.y+t.height};break;case right$1:B={x:t.x+t.width,y};break;case left$1:B={x:t.x-n.width,y};break;default:B={x:t.x,y:t.y}}var L=i?getMainAxisFromPlacement$1(i):null;if(L!=null){var R=L==="y"?"height":"width";switch(C){case start$1:B[L]=B[L]-(t[R]/2-n[R]/2);break;case end$1:B[L]=B[L]+(t[R]/2-n[R]/2);break}}return B}function detectOverflow$1(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=r===void 0?e.placement:r,C=n.strategy,k=C===void 0?e.strategy:C,y=n.boundary,B=y===void 0?clippingParents$1:y,L=n.rootBoundary,R=L===void 0?viewport$1:L,z=n.elementContext,j=z===void 0?popper$1:z,$=n.altBoundary,H=$===void 0?!1:$,Q=n.padding,W=Q===void 0?0:Q,te=mergePaddingObject$1(typeof W!="number"?W:expandToHashMap$1(W,basePlacements$1)),ee=j===popper$1?reference$1:popper$1,q=e.rects.popper,G=e.elements[H?ee:j],J=getClippingRect$1(isElement$4(G)?G:G.contextElement||getDocumentElement$1(e.elements.popper),B,R,k),Z=getBoundingClientRect$1(e.elements.reference),ne=computeOffsets$1({reference:Z,element:q,placement:i}),oe=rectToClientRect$1(Object.assign({},q,ne)),ae=j===popper$1?oe:Z,se={top:J.top-ae.top+te.top,bottom:ae.bottom-J.bottom+te.bottom,left:J.left-ae.left+te.left,right:ae.right-J.right+te.right},de=e.modifiersData.offset;if(j===popper$1&&de){var ge=de[i];Object.keys(se).forEach(function(fe){var ie=[right$1,bottom$1].indexOf(fe)>=0?1:-1,ce=[top$1,bottom$1].indexOf(fe)>=0?"y":"x";se[fe]+=ge[ce]*ie})}return se}function computeAutoPlacement$1(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=n.boundary,C=n.rootBoundary,k=n.padding,y=n.flipVariations,B=n.allowedAutoPlacements,L=B===void 0?placements$2:B,R=getVariation$1(r),z=R?y?variationPlacements$1:variationPlacements$1.filter(function(H){return getVariation$1(H)===R}):basePlacements$1,j=z.filter(function(H){return L.indexOf(H)>=0});j.length===0&&(j=z);var $=j.reduce(function(H,Q){return H[Q]=detectOverflow$1(e,{placement:Q,boundary:i,rootBoundary:C,padding:k})[getBasePlacement$3(Q)],H},{});return Object.keys($).sort(function(H,Q){return $[H]-$[Q]})}function getExpandedFallbackPlacements$1(e){if(getBasePlacement$3(e)===auto$1)return[];var t=getOppositePlacement$1(e);return[getOppositeVariationPlacement$1(e),t,getOppositeVariationPlacement$1(t)]}function flip$3(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var i=n.mainAxis,C=i===void 0?!0:i,k=n.altAxis,y=k===void 0?!0:k,B=n.fallbackPlacements,L=n.padding,R=n.boundary,z=n.rootBoundary,j=n.altBoundary,$=n.flipVariations,H=$===void 0?!0:$,Q=n.allowedAutoPlacements,W=t.options.placement,te=getBasePlacement$3(W),ee=te===W,q=B||(ee||!H?[getOppositePlacement$1(W)]:getExpandedFallbackPlacements$1(W)),G=[W].concat(q).reduce(function(Ae,Te){return Ae.concat(getBasePlacement$3(Te)===auto$1?computeAutoPlacement$1(t,{placement:Te,boundary:R,rootBoundary:z,padding:L,flipVariations:H,allowedAutoPlacements:Q}):Te)},[]),J=t.rects.reference,Z=t.rects.popper,ne=new Map,oe=!0,ae=G[0],se=0;se<G.length;se++){var de=G[se],ge=getBasePlacement$3(de),fe=getVariation$1(de)===start$1,ie=[top$1,bottom$1].indexOf(ge)>=0,ce=ie?"width":"height",pe=detectOverflow$1(t,{placement:de,boundary:R,rootBoundary:z,altBoundary:j,padding:L}),le=ie?fe?right$1:left$1:fe?bottom$1:top$1;J[ce]>Z[ce]&&(le=getOppositePlacement$1(le));var ue=getOppositePlacement$1(le),he=[];if(C&&he.push(pe[ge]<=0),y&&he.push(pe[le]<=0,pe[ue]<=0),he.every(function(Ae){return Ae})){ae=de,oe=!1;break}ne.set(de,he)}if(oe)for(var ye=H?3:1,_e=function(Te){var Ze=G.find(function(lt){var Ge=ne.get(lt);if(Ge)return Ge.slice(0,Te).every(function(st){return st})});if(Ze)return ae=Ze,"break"},Ne=ye;Ne>0;Ne--){var be=_e(Ne);if(be==="break")break}t.placement!==ae&&(t.modifiersData[r]._skip=!0,t.placement=ae,t.reset=!0)}}const flip$2={name:"flip",enabled:!0,phase:"main",fn:flip$3,requiresIfExists:["offset"],data:{_skip:!1}};function getSideOffsets$1(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function isAnySideFullyClipped$1(e){return[top$1,right$1,bottom$1,left$1].some(function(t){return e[t]>=0})}function hide$3(e){var t=e.state,n=e.name,r=t.rects.reference,i=t.rects.popper,C=t.modifiersData.preventOverflow,k=detectOverflow$1(t,{elementContext:"reference"}),y=detectOverflow$1(t,{altBoundary:!0}),B=getSideOffsets$1(k,r),L=getSideOffsets$1(y,i,C),R=isAnySideFullyClipped$1(B),z=isAnySideFullyClipped$1(L);t.modifiersData[n]={referenceClippingOffsets:B,popperEscapeOffsets:L,isReferenceHidden:R,hasPopperEscaped:z},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":R,"data-popper-escaped":z})}const hide$2={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:hide$3};function distanceAndSkiddingToXY$1(e,t,n){var r=getBasePlacement$3(e),i=[left$1,top$1].indexOf(r)>=0?-1:1,C=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,k=C[0],y=C[1];return k=k||0,y=(y||0)*i,[left$1,right$1].indexOf(r)>=0?{x:y,y:k}:{x:k,y}}function offset$3(e){var t=e.state,n=e.options,r=e.name,i=n.offset,C=i===void 0?[0,0]:i,k=placements$2.reduce(function(R,z){return R[z]=distanceAndSkiddingToXY$1(z,t.rects,C),R},{}),y=k[t.placement],B=y.x,L=y.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=B,t.modifiersData.popperOffsets.y+=L),t.modifiersData[r]=k}const offset$2={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:offset$3};function popperOffsets$3(e){var t=e.state,n=e.name;t.modifiersData[n]=computeOffsets$1({reference:t.rects.reference,element:t.rects.popper,placement:t.placement})}const popperOffsets$2={name:"popperOffsets",enabled:!0,phase:"read",fn:popperOffsets$3,data:{}};function getAltAxis$1(e){return e==="x"?"y":"x"}function preventOverflow$3(e){var t=e.state,n=e.options,r=e.name,i=n.mainAxis,C=i===void 0?!0:i,k=n.altAxis,y=k===void 0?!1:k,B=n.boundary,L=n.rootBoundary,R=n.altBoundary,z=n.padding,j=n.tether,$=j===void 0?!0:j,H=n.tetherOffset,Q=H===void 0?0:H,W=detectOverflow$1(t,{boundary:B,rootBoundary:L,padding:z,altBoundary:R}),te=getBasePlacement$3(t.placement),ee=getVariation$1(t.placement),q=!ee,G=getMainAxisFromPlacement$1(te),J=getAltAxis$1(G),Z=t.modifiersData.popperOffsets,ne=t.rects.reference,oe=t.rects.popper,ae=typeof Q=="function"?Q(Object.assign({},t.rects,{placement:t.placement})):Q,se=typeof ae=="number"?{mainAxis:ae,altAxis:ae}:Object.assign({mainAxis:0,altAxis:0},ae),de=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,ge={x:0,y:0};if(Z){if(C){var fe,ie=G==="y"?top$1:left$1,ce=G==="y"?bottom$1:right$1,pe=G==="y"?"height":"width",le=Z[G],ue=le+W[ie],he=le-W[ce],ye=$?-oe[pe]/2:0,_e=ee===start$1?ne[pe]:oe[pe],Ne=ee===start$1?-oe[pe]:-ne[pe],be=t.elements.arrow,Ae=$&&be?getLayoutRect$1(be):{width:0,height:0},Te=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:getFreshSideObject$1(),Ze=Te[ie],lt=Te[ce],Ge=within$1(0,ne[pe],Ae[pe]),st=q?ne[pe]/2-ye-Ge-Ze-se.mainAxis:_e-Ge-Ze-se.mainAxis,Ue=q?-ne[pe]/2+ye+Ge+lt+se.mainAxis:Ne+Ge+lt+se.mainAxis,De=t.elements.arrow&&getOffsetParent$1(t.elements.arrow),We=De?G==="y"?De.clientTop||0:De.clientLeft||0:0,Ye=(fe=de?.[G])!=null?fe:0,Re=le+st-Ye-We,Je=le+Ue-Ye,Xe=within$1($?min$1(ue,Re):ue,le,$?max$1(he,Je):he);Z[G]=Xe,ge[G]=Xe-le}if(y){var Me,nt=G==="x"?top$1:left$1,et=G==="x"?bottom$1:right$1,wt=Z[J],tt=J==="y"?"height":"width",ot=wt+W[nt],gt=wt-W[et],Et=[top$1,left$1].indexOf(te)!==-1,Dt=(Me=de?.[J])!=null?Me:0,Ft=Et?ot:wt-ne[tt]-oe[tt]-Dt+se.altAxis,Nt=Et?wt+ne[tt]+oe[tt]-Dt-se.altAxis:gt,Pe=$&&Et?withinMaxClamp$1(Ft,wt,Nt):within$1($?Ft:ot,wt,$?Nt:gt);Z[J]=Pe,ge[J]=Pe-wt}t.modifiersData[r]=ge}}const preventOverflow$2={name:"preventOverflow",enabled:!0,phase:"main",fn:preventOverflow$3,requiresIfExists:["offset"]};function getHTMLElementScroll$1(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function getNodeScroll$1(e){return e===getWindow$1(e)||!isHTMLElement$2(e)?getWindowScroll$1(e):getHTMLElementScroll$1(e)}function isElementScaled$1(e){var t=e.getBoundingClientRect(),n=round$1(t.width)/e.offsetWidth||1,r=round$1(t.height)/e.offsetHeight||1;return n!==1||r!==1}function getCompositeRect$1(e,t,n){n===void 0&&(n=!1);var r=isHTMLElement$2(t),i=isHTMLElement$2(t)&&isElementScaled$1(t),C=getDocumentElement$1(t),k=getBoundingClientRect$1(e,i,n),y={scrollLeft:0,scrollTop:0},B={x:0,y:0};return(r||!r&&!n)&&((getNodeName$1(t)!=="body"||isScrollParent$1(C))&&(y=getNodeScroll$1(t)),isHTMLElement$2(t)?(B=getBoundingClientRect$1(t,!0),B.x+=t.clientLeft,B.y+=t.clientTop):C&&(B.x=getWindowScrollBarX$1(C))),{x:k.left+y.scrollLeft-B.x,y:k.top+y.scrollTop-B.y,width:k.width,height:k.height}}function order$1(e){var t=new Map,n=new Set,r=[];e.forEach(function(C){t.set(C.name,C)});function i(C){n.add(C.name);var k=[].concat(C.requires||[],C.requiresIfExists||[]);k.forEach(function(y){if(!n.has(y)){var B=t.get(y);B&&i(B)}}),r.push(C)}return e.forEach(function(C){n.has(C.name)||i(C)}),r}function orderModifiers$1(e){var t=order$1(e);return modifierPhases$1.reduce(function(n,r){return n.concat(t.filter(function(i){return i.phase===r}))},[])}function debounce$4(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function mergeByName$1(e){var t=e.reduce(function(n,r){var i=n[r.name];return n[r.name]=i?Object.assign({},i,r,{options:Object.assign({},i.options,r.options),data:Object.assign({},i.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var DEFAULT_OPTIONS$1={placement:"bottom",modifiers:[],strategy:"absolute"};function areValidElements$1(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return!t.some(function(r){return!(r&&typeof r.getBoundingClientRect=="function")})}function popperGenerator$1(e){e===void 0&&(e={});var t=e,n=t.defaultModifiers,r=n===void 0?[]:n,i=t.defaultOptions,C=i===void 0?DEFAULT_OPTIONS$1:i;return function(y,B,L){L===void 0&&(L=C);var R={placement:"bottom",orderedModifiers:[],options:Object.assign({},DEFAULT_OPTIONS$1,C),modifiersData:{},elements:{reference:y,popper:B},attributes:{},styles:{}},z=[],j=!1,$={state:R,setOptions:function(te){var ee=typeof te=="function"?te(R.options):te;Q(),R.options=Object.assign({},C,R.options,ee),R.scrollParents={reference:isElement$4(y)?listScrollParents$1(y):y.contextElement?listScrollParents$1(y.contextElement):[],popper:listScrollParents$1(B)};var q=orderModifiers$1(mergeByName$1([].concat(r,R.options.modifiers)));return R.orderedModifiers=q.filter(function(G){return G.enabled}),H(),$.update()},forceUpdate:function(){if(!j){var te=R.elements,ee=te.reference,q=te.popper;if(areValidElements$1(ee,q)){R.rects={reference:getCompositeRect$1(ee,getOffsetParent$1(q),R.options.strategy==="fixed"),popper:getLayoutRect$1(q)},R.reset=!1,R.placement=R.options.placement,R.orderedModifiers.forEach(function(se){return R.modifiersData[se.name]=Object.assign({},se.data)});for(var G=0;G<R.orderedModifiers.length;G++){if(R.reset===!0){R.reset=!1,G=-1;continue}var J=R.orderedModifiers[G],Z=J.fn,ne=J.options,oe=ne===void 0?{}:ne,ae=J.name;typeof Z=="function"&&(R=Z({state:R,options:oe,name:ae,instance:$})||R)}}}},update:debounce$4(function(){return new Promise(function(W){$.forceUpdate(),W(R)})}),destroy:function(){Q(),j=!0}};if(!areValidElements$1(y,B))return $;$.setOptions(L).then(function(W){!j&&L.onFirstUpdate&&L.onFirstUpdate(W)});function H(){R.orderedModifiers.forEach(function(W){var te=W.name,ee=W.options,q=ee===void 0?{}:ee,G=W.effect;if(typeof G=="function"){var J=G({state:R,name:te,instance:$,options:q}),Z=function(){};z.push(J||Z)}})}function Q(){z.forEach(function(W){return W()}),z=[]}return $}}var defaultModifiers$1=[eventListeners$1,popperOffsets$2,computeStyles$2,applyStyles$2,offset$2,flip$2,preventOverflow$2,arrow$2,hide$2],createPopper$1=popperGenerator$1({defaultModifiers:defaultModifiers$1}),BOX_CLASS$1="tippy-box",CONTENT_CLASS$1="tippy-content",BACKDROP_CLASS$1="tippy-backdrop",ARROW_CLASS$1="tippy-arrow",SVG_ARROW_CLASS$1="tippy-svg-arrow",TOUCH_OPTIONS$1={passive:!0,capture:!0},TIPPY_DEFAULT_APPEND_TO$1=function(){return document.body};function hasOwnProperty$e(e,t){return{}.hasOwnProperty.call(e,t)}function getValueAtIndexOrReturn$1(e,t,n){if(Array.isArray(e)){var r=e[t];return r??(Array.isArray(n)?n[t]:n)}return e}function isType$1(e,t){var n={}.toString.call(e);return n.indexOf("[object")===0&&n.indexOf(t+"]")>-1}function invokeWithArgsOrReturn$1(e,t){return typeof e=="function"?e.apply(void 0,t):e}function debounce$3(e,t){if(t===0)return e;var n;return function(r){clearTimeout(n),n=setTimeout(function(){e(r)},t)}}function removeProperties(e,t){var n=Object.assign({},e);return t.forEach(function(r){delete n[r]}),n}function splitBySpaces$1(e){return e.split(/\s+/).filter(Boolean)}function normalizeToArray$1(e){return[].concat(e)}function pushIfUnique$1(e,t){e.indexOf(t)===-1&&e.push(t)}function unique$2(e){return e.filter(function(t,n){return e.indexOf(t)===n})}function getBasePlacement$2(e){return e.split("-")[0]}function arrayFrom$1(e){return[].slice.call(e)}function removeUndefinedProps$1(e){return Object.keys(e).reduce(function(t,n){return e[n]!==void 0&&(t[n]=e[n]),t},{})}function div$1(){return document.createElement("div")}function isElement$3(e){return["Element","Fragment"].some(function(t){return isType$1(e,t)})}function isNodeList$1(e){return isType$1(e,"NodeList")}function isMouseEvent$1(e){return isType$1(e,"MouseEvent")}function isReferenceElement$1(e){return!!(e&&e._tippy&&e._tippy.reference===e)}function getArrayOfElements$1(e){return isElement$3(e)?[e]:isNodeList$1(e)?arrayFrom$1(e):Array.isArray(e)?e:arrayFrom$1(document.querySelectorAll(e))}function setTransitionDuration$1(e,t){e.forEach(function(n){n&&(n.style.transitionDuration=t+"ms")})}function setVisibilityState$1(e,t){e.forEach(function(n){n&&n.setAttribute("data-state",t)})}function getOwnerDocument$1(e){var t,n=normalizeToArray$1(e),r=n[0];return r!=null&&(t=r.ownerDocument)!=null&&t.body?r.ownerDocument:document}function isCursorOutsideInteractiveBorder$1(e,t){var n=t.clientX,r=t.clientY;return e.every(function(i){var C=i.popperRect,k=i.popperState,y=i.props,B=y.interactiveBorder,L=getBasePlacement$2(k.placement),R=k.modifiersData.offset;if(!R)return!0;var z=L==="bottom"?R.top.y:0,j=L==="top"?R.bottom.y:0,$=L==="right"?R.left.x:0,H=L==="left"?R.right.x:0,Q=C.top-r+z>B,W=r-C.bottom-j>B,te=C.left-n+$>B,ee=n-C.right-H>B;return Q||W||te||ee})}function updateTransitionEndListener$1(e,t,n){var r=t+"EventListener";["transitionend","webkitTransitionEnd"].forEach(function(i){e[r](i,n)})}function actualContains$1(e,t){for(var n=t;n;){var r;if(e.contains(n))return!0;n=n.getRootNode==null||(r=n.getRootNode())==null?void 0:r.host}return!1}var currentInput$1={isTouch:!1},lastMouseMoveTime$1=0;function onDocumentTouchStart$1(){currentInput$1.isTouch||(currentInput$1.isTouch=!0,window.performance&&document.addEventListener("mousemove",onDocumentMouseMove$1))}function onDocumentMouseMove$1(){var e=performance.now();e-lastMouseMoveTime$1<20&&(currentInput$1.isTouch=!1,document.removeEventListener("mousemove",onDocumentMouseMove$1)),lastMouseMoveTime$1=e}function onWindowBlur$1(){var e=document.activeElement;if(isReferenceElement$1(e)){var t=e._tippy;e.blur&&!t.state.isVisible&&e.blur()}}function bindGlobalEventListeners$1(){document.addEventListener("touchstart",onDocumentTouchStart$1,TOUCH_OPTIONS$1),window.addEventListener("blur",onWindowBlur$1)}var isBrowser$1=typeof window<"u"&&typeof document<"u",isIE11$1=isBrowser$1?!!window.msCrypto:!1;function createMemoryLeakWarning(e){var t=e==="destroy"?"n already-":" ";return[e+"() was called on a"+t+"destroyed instance. This is a no-op but","indicates a potential memory leak."].join(" ")}function clean(e){var t=/[ \t]{2,}/g,n=/^[ \t]*/gm;return e.replace(t," ").replace(n,"").trim()}function getDevMessage(e){return clean(`
7
7
  %ctippy.js
8
8
 
9
9
  %c`+clean(e)+`
@@ -35,9 +35,9 @@ usage: app.provide(ZINDEX_INJECTION_KEY, { current: 0 })`),{initialZIndex:r,curr
35
35
  m 0 ${G?"":"-"}${q}
36
36
  a ${q} ${q} 0 1 1 0 ${G?"-":""}${q*2}
37
37
  a ${q} ${q} 0 1 1 0 ${G?"":"-"}${q*2}
38
- `}),B=vue.computed(()=>2*Math.PI*k.value),L=vue.computed(()=>n.type==="dashboard"?.75:1),R=vue.computed(()=>`${-1*B.value*(1-L.value)/2}px`),z=vue.computed(()=>({strokeDasharray:`${B.value*L.value}px, ${B.value}px`,strokeDashoffset:R.value})),j=vue.computed(()=>({strokeDasharray:`${B.value*L.value*(n.percentage/100)}px, ${B.value}px`,strokeDashoffset:R.value,transition:"stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s"})),$=vue.computed(()=>{let q;return n.color?q=ee(n.percentage):q=t[n.status]||t.default,q}),H=vue.computed(()=>n.status==="warning"?warning_filled_default:n.type==="line"?n.status==="success"?circle_check_default:circle_close_default:n.status==="success"?check_default:close_default),Q=vue.computed(()=>n.type==="line"?12+n.strokeWidth*.4:n.width*.111111+2),W=vue.computed(()=>n.format(n.percentage));function te(q){const G=100/q.length;return q.map((J,Z)=>shared.isString(J)?{color:J,percentage:(Z+1)*G}:J).sort((J,Z)=>J.percentage-Z.percentage)}const ee=q=>{const{color:G}=n;if(shared.isFunction(G))return G(q);if(shared.isString(G))return G;{const J=te(G);for(const Z of J)if(Z.percentage>q)return Z.color;return J[J.length-1]?.color}};return(q,G)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass([vue.unref(r).b(),vue.unref(r).m(e.type),vue.unref(r).is(e.status),{[vue.unref(r).m("without-text")]:!e.showText,[vue.unref(r).m("text-inside")]:e.textInside}]),role:"progressbar","aria-valuenow":e.percentage,"aria-valuemin":"0","aria-valuemax":"100"},[e.type==="line"?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:vue.normalizeClass(vue.unref(r).b("bar"))},[vue.createElementVNode("div",{class:vue.normalizeClass(vue.unref(r).be("bar","outer")),style:vue.normalizeStyle({height:`${e.strokeWidth}px`})},[vue.createElementVNode("div",{class:vue.normalizeClass([vue.unref(r).be("bar","inner"),{[vue.unref(r).bem("bar","inner","indeterminate")]:e.indeterminate},{[vue.unref(r).bem("bar","inner","striped")]:e.striped},{[vue.unref(r).bem("bar","inner","striped-flow")]:e.stripedFlow}]),style:vue.normalizeStyle(i.value)},[(e.showText||q.$slots.default)&&e.textInside?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:vue.normalizeClass(vue.unref(r).be("bar","innerText"))},[vue.renderSlot(q.$slots,"default",{percentage:e.percentage},()=>[vue.createElementVNode("span",null,vue.toDisplayString(W.value),1)])],2)):vue.createCommentVNode("v-if",!0)],6)],6)],2)):(vue.openBlock(),vue.createElementBlock("div",{key:1,class:vue.normalizeClass(vue.unref(r).b("circle")),style:vue.normalizeStyle({height:`${e.width}px`,width:`${e.width}px`})},[(vue.openBlock(),vue.createElementBlock("svg",_hoisted_2$1h,[vue.createElementVNode("path",{class:vue.normalizeClass(vue.unref(r).be("circle","track")),d:y.value,stroke:`var(${vue.unref(r).cssVarName("fill-color-light")}, #e5e9f2)`,"stroke-linecap":e.strokeLinecap,"stroke-width":C.value,fill:"none",style:vue.normalizeStyle(z.value)},null,14,_hoisted_3$$),vue.createElementVNode("path",{class:vue.normalizeClass(vue.unref(r).be("circle","path")),d:y.value,stroke:$.value,fill:"none",opacity:e.percentage?1:0,"stroke-linecap":e.strokeLinecap,"stroke-width":C.value,style:vue.normalizeStyle(j.value)},null,14,_hoisted_4$L)]))],6)),(e.showText||q.$slots.default)&&!e.textInside?(vue.openBlock(),vue.createElementBlock("div",{key:2,class:vue.normalizeClass(vue.unref(r).e("text")),style:vue.normalizeStyle({fontSize:`${Q.value}px`})},[vue.renderSlot(q.$slots,"default",{percentage:e.percentage},()=>[e.status?(vue.openBlock(),vue.createBlock(vue.unref(ElIcon),{key:1},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(H.value)))]),_:1})):(vue.openBlock(),vue.createElementBlock("span",_hoisted_5$A,vue.toDisplayString(W.value),1))])],6)):vue.createCommentVNode("v-if",!0)],10,_hoisted_1$1D))}}),progress_default=progress_vue_vue_type_script_setup_true_lang_default;const ElProgress=withInstall(progress_default),tableProps={data:{type:Array,default:()=>[]},size:useSizeProp,width:[String,Number],height:[String,Number],maxHeight:[String,Number],fit:{type:Boolean,default:!0},stripe:Boolean,border:Boolean,rowKey:[String,Function],showHeader:{type:Boolean,default:!0},showSummary:Boolean,sumText:String,summaryMethod:Function,rowClassName:[String,Function],rowStyle:[Object,Function],cellClassName:[String,Function],cellStyle:[Object,Function],headerRowClassName:[String,Function],headerRowStyle:[Object,Function],headerCellClassName:[String,Function],headerCellStyle:[Object,Function],highlightCurrentRow:Boolean,currentRowKey:[String,Number],emptyText:String,expandRowKeys:Array,defaultExpandAll:Boolean,rowExpandable:{type:Function},defaultSort:Object,tooltipEffect:String,tooltipOptions:Object,spanMethod:Function,selectOnIndeterminate:{type:Boolean,default:!0},indent:{type:Number,default:16},treeProps:{type:Object,default:()=>({hasChildren:"hasChildren",children:"children",checkStrictly:!1})},lazy:Boolean,load:Function,style:{type:[String,Object,Array,Boolean],default:()=>({})},className:{type:String,default:""},tableLayout:{type:String,default:"fixed"},scrollbarAlwaysOn:Boolean,flexible:Boolean,showOverflowTooltip:{type:[Boolean,Object],default:void 0},tooltipFormatter:Function,appendFilterPanelTo:String,scrollbarTabindex:{type:[Number,String],default:void 0},allowDragLastColumn:{type:Boolean,default:!0},preserveExpandedContent:Boolean,nativeScrollbar:Boolean};let tableIdSeed=1,columnIdSeed=1;const createTableId=e=>`${e}-table_${tableIdSeed++}`,createTableColumnId=e=>`${e}_column_${columnIdSeed++}`,getCell=function(e){return e.target?.closest("td")},orderBy=function(e,t,n,r,i){if(!t&&!r&&(!i||shared.isArray(i)&&!i.length))return e;shared.isString(n)?n=n==="descending"?-1:1:n=n&&n<0?-1:1;const C=r?null:function(y,B){return i?flatMap(castArray$1(i),L=>shared.isString(L)?get(y,L):L(y,B,e)):(t!=="$key"&&shared.isObject(y)&&"$value"in y&&(y=y.$value),[shared.isObject(y)?t?get(y,t):null:y])},k=function(y,B){if(r)return r(y.value,B.value);for(let L=0,R=y.key?.length??0;L<R;L++){if(y.key?.[L]<B.key?.[L])return-1;if(y.key?.[L]>B.key?.[L])return 1}return 0};return e.map((y,B)=>({value:y,index:B,key:C?C(y,B):null})).sort((y,B)=>{let L=k(y,B);return L||(L=y.index-B.index),L*+n}).map(y=>y.value)},getColumnById=function(e,t){let n=null;return e.columns.forEach(r=>{r.id===t&&(n=r)}),n},getColumnByKey=function(e,t){let n=null;for(let r=0;r<e.columns.length;r++){const i=e.columns[r];if(i.columnKey===t){n=i;break}}return n||throwError("ElTable",`No column matching with column-key: ${t}`),n},getColumnByCell=function(e,t,n){const r=(t.className||"").match(new RegExp(`${n}-table_[^\\s]+`,"gm"));return r?getColumnById(e,r[0]):null},getRowIdentity=(e,t)=>{if(!e)throw new Error("Row is required when get row identity");if(shared.isString(t)){if(!t.includes("."))return`${e[t]}`;const n=t.split(".");let r=e;for(const i of n)r=r[i];return`${r}`}else if(shared.isFunction(t))return t.call(null,e);return""},getKeysMap=function(e,t,n=!1,r="children"){const i=e||[],C={};return i.forEach((k,y)=>{if(C[getRowIdentity(k,t)]={row:k,index:y},n){const B=k[r];shared.isArray(B)&&Object.assign(C,getKeysMap(B,t,!0,r))}}),C};function mergeOptions(e,t){const n={};let r;for(r in e)n[r]=e[r];for(r in t)if(shared.hasOwn(t,r)){const i=t[r];isUndefined(i)||(n[r]=i)}return n}function parseWidth(e){return e===""||isUndefined(e)||(e=Number.parseInt(e,10),Number.isNaN(e)&&(e="")),e}function parseMinWidth(e){return e===""||isUndefined(e)||(e=parseWidth(e),Number.isNaN(e)&&(e=80)),e}function parseHeight(e){return isNumber(e)?e:shared.isString(e)?/^\d+(?:px)?$/.test(e)?Number.parseInt(e,10):e:null}function compose(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,n)=>(...r)=>t(n(...r)))}function toggleRowStatus(e,t,n,r,i,C,k){let y=C??0,B=!1;const R=(()=>{if(!k)return e.indexOf(t);const Q=getRowIdentity(t,k);return e.findIndex(W=>getRowIdentity(W,k)===Q)})(),z=R!==-1,j=i?.call(null,t,y),$=Q=>{Q==="add"?e.push(t):e.splice(R,1),B=!0},H=Q=>{let W=0;const te=r?.children&&Q[r.children];return te&&shared.isArray(te)&&(W+=te.length,te.forEach(ee=>{W+=H(ee)})),W};return(!i||j)&&(isBoolean(n)?n&&!z?$("add"):!n&&z&&$("remove"):$(z?"remove":"add")),!r?.checkStrictly&&r?.children&&shared.isArray(t[r.children])&&t[r.children].forEach(Q=>{const W=toggleRowStatus(e,Q,n??!z,r,i,y+1,k);y+=H(Q)+1,W&&(B=W)}),B}function walkTreeNode(e,t,n="children",r="hasChildren",i=!1){const C=y=>!(shared.isArray(y)&&y.length);function k(y,B,L){t(y,B,L),B.forEach(R=>{if(R[r]&&i){t(R,null,L+1);return}const z=R[n];C(z)||k(R,z,L+1)})}e.forEach(y=>{if(y[r]&&i){t(y,null,0);return}const B=y[n];C(B)||k(y,B,0)})}const getTableOverflowTooltipProps=(e,t,n,r)=>{const i=shared.isFunction(r?.tooltipFormatter)?r.tooltipFormatter({row:n,column:r,cellValue:getProp(n,r.property).value}):void 0;return vue.isVNode(i)?{slotContent:i,content:null,strategy:"fixed",...e}:{slotContent:null,content:i??t,strategy:"fixed",...e}};let removePopper=null;function createTablePopper(e,t,n,r,i,C){const k=getTableOverflowTooltipProps(e,t,n,r),y={...k,slotContent:void 0};if(removePopper?.trigger===i){const $=removePopper.vm?.component;merge($?.props,y),$&&k.slotContent&&($.slots.content=()=>[k.slotContent]);return}removePopper?.();const B=C?.refs.tableWrapper,L=B?.dataset.prefix,R=vue.createVNode(ElTooltip,{virtualTriggering:!0,virtualRef:i,appendTo:B,placement:"top",transition:"none",offset:0,hideAfter:0,...y},k.slotContent?{content:()=>k.slotContent}:void 0);R.appContext={...C.appContext,...C};const z=document.createElement("div");vue.render(R,z),R.component.exposed.onOpen();const j=B?.querySelector(`.${L}-scrollbar__wrap`);removePopper=()=>{R.component?.exposed?.onClose&&R.component.exposed.onClose(),vue.render(null,z);const $=removePopper;j?.removeEventListener("scroll",$),$.trigger=void 0,$.vm=void 0,removePopper=null},removePopper.trigger=i??void 0,removePopper.vm=R,j?.addEventListener("scroll",removePopper)}function getCurrentColumns(e){return e.children?flatMap(e.children,getCurrentColumns):[e]}function getColSpan(e,t){return e+t.colSpan}const isFixedColumn=(e,t,n,r)=>{let i=0,C=e;const k=n.states.columns.value;if(r){const B=getCurrentColumns(r[e]);i=k.slice(0,k.indexOf(B[0])).reduce(getColSpan,0),C=i+B.reduce(getColSpan,0)-1}else i=e;let y;switch(t){case"left":C<n.states.fixedLeafColumnsLength.value&&(y="left");break;case"right":i>=k.length-n.states.rightFixedLeafColumnsLength.value&&(y="right");break;default:C<n.states.fixedLeafColumnsLength.value?y="left":i>=k.length-n.states.rightFixedLeafColumnsLength.value&&(y="right")}return y?{direction:y,start:i,after:C}:{}},getFixedColumnsClass=(e,t,n,r,i,C=0)=>{const k=[],{direction:y,start:B,after:L}=isFixedColumn(t,n,r,i);if(y){const R=y==="left";k.push(`${e}-fixed-column--${y}`),R&&L+C===r.states.fixedLeafColumnsLength.value-1?k.push("is-last-column"):!R&&B-C===r.states.columns.value.length-r.states.rightFixedLeafColumnsLength.value&&k.push("is-first-column")}return k};function getOffset(e,t){return e+(isNull(t.realWidth)||Number.isNaN(t.realWidth)?Number(t.width):t.realWidth)}const getFixedColumnOffset=(e,t,n,r)=>{const{direction:i,start:C=0,after:k=0}=isFixedColumn(e,t,n,r);if(!i)return;const y={},B=i==="left",L=n.states.columns.value;return B?y.left=L.slice(0,C).reduce(getOffset,0):y.right=L.slice(k+1).reverse().reduce(getOffset,0),y},ensurePosition=(e,t)=>{e&&(Number.isNaN(e[t])||(e[t]=`${e[t]}px`))};function ensureValidVNode(e){return e.some(t=>vue.isVNode(t)?!(t.type===vue.Comment||t.type===vue.Fragment&&!ensureValidVNode(t.children)):!0)?e:null}function useExpand(e){const t=vue.getCurrentInstance(),n=vue.ref(!1),r=vue.ref([]),i=(L,R)=>{const z=t.store.states.rowExpandable.value;return z?.(L,R)??!0};return{updateExpandRows:()=>{const L=e.data.value||[],R=e.rowKey.value;if(n.value)r.value=t.store.states.rowExpandable.value?L.filter(i):L.slice();else if(R){const z=getKeysMap(r.value,R);r.value=L.filter((j,$)=>!!z[getRowIdentity(j,R)]&&i(j,$))}else r.value=[]},toggleRowExpansion:(L,R)=>{const z=(e.data.value||[]).indexOf(L);z>-1&&!i(L,z)||toggleRowStatus(r.value,L,R,void 0,void 0,void 0,e.rowKey.value)&&t.emit("expand-change",L,r.value.slice())},setExpandRowKeys:L=>{t.store.assertRowKey();const R=e.data.value||[],z=e.rowKey.value,j=getKeysMap(R,z);r.value=L.reduce(($,H)=>{const Q=j[H];return Q&&i(Q.row,Q.index)&&$.push(Q.row),$},[])},isRowExpanded:L=>{const R=e.rowKey.value;return R?!!getKeysMap(r.value,R)[getRowIdentity(L,R)]:r.value.includes(L)},states:{expandRows:r,defaultExpandAll:n}}}function useCurrent(e){const t=vue.getCurrentInstance(),n=vue.ref(null),r=vue.ref(null),i=L=>{t.store.assertRowKey(),n.value=L,k(L)},C=()=>{n.value=null},k=L=>{const{data:R,rowKey:z}=e,j=r.value;let $=null;z.value&&($=(vue.unref(R)||[]).find(H=>getRowIdentity(H,z.value)===L)??null),r.value=$??null,t.emit("current-change",r.value,j)};return{setCurrentRowKey:i,restoreCurrentRowKey:C,setCurrentRowByKey:k,updateCurrentRow:L=>{const R=r.value;if(L&&L!==R){r.value=L,t.emit("current-change",r.value,R);return}!L&&R&&(r.value=null,t.emit("current-change",null,R))},updateCurrentRowData:()=>{const L=e.rowKey.value,R=e.data.value||[],z=r.value;z&&!R.includes(z)?L?k(getRowIdentity(z,L)):(r.value=null,t.emit("current-change",null,z)):n.value&&(k(n.value),C())},states:{_currentRowKey:n,currentRow:r}}}function useTree(e){const t=vue.ref([]),n=vue.ref({}),r=vue.ref(16),i=vue.ref(!1),C=vue.ref({}),k=vue.ref("hasChildren"),y=vue.ref("children"),B=vue.ref(!1),L=vue.getCurrentInstance(),R=vue.computed(()=>e.rowKey.value?j(e.data.value||[]):{}),z=vue.computed(()=>{const G=e.rowKey.value,J=Object.keys(C.value),Z={};return J.length&&J.forEach(ne=>{if(C.value[ne].length){const oe={children:[]};C.value[ne].forEach(ae=>{const se=getRowIdentity(ae,G);oe.children.push(se),ae[k.value]&&!Z[se]&&(Z[se]={children:[]})}),Z[ne]=oe}}),Z}),j=G=>{const J=e.rowKey.value,Z={};return walkTreeNode(G,(ne,oe,ae)=>{const se=getRowIdentity(ne,J);shared.isArray(oe)?Z[se]={children:oe.map(de=>getRowIdentity(de,J)),level:ae}:i.value&&(Z[se]={children:[],lazy:!0,level:ae})},y.value,k.value,i.value),Z},$=(G=!1,J)=>{J||=L.store?.states.defaultExpandAll.value;const Z=R.value,ne=z.value,oe=Object.keys(Z),ae={};if(oe.length){const se=vue.unref(n),de=[],ge=(ie,ce)=>{if(G)return t.value?J||t.value.includes(ce):!!(J||ie?.expanded);{const pe=J||t.value&&t.value.includes(ce);return!!(ie?.expanded||pe)}};oe.forEach(ie=>{const ce=se[ie],pe={...Z[ie]};if(pe.expanded=ge(ce,ie),pe.lazy){const{loaded:le=!1,loading:ue=!1}=ce||{};pe.loaded=!!le,pe.loading=!!ue,de.push(ie)}ae[ie]=pe});const fe=Object.keys(ne);i.value&&fe.length&&de.length&&fe.forEach(ie=>{const ce=se[ie],pe=ne[ie].children;if(de.includes(ie)){if(ae[ie].children?.length!==0)throw new Error("[ElTable]children must be an empty array.");ae[ie].children=pe}else{const{loaded:le=!1,loading:ue=!1}=ce||{};ae[ie]={lazy:!0,loaded:!!le,loading:!!ue,expanded:ge(ce,ie),children:pe,level:void 0}}})}n.value=ae,L.store?.updateTableScrollY()};vue.watch(()=>t.value,()=>{$(!0)},{deep:!0}),vue.watch(()=>R.value,()=>{$()}),vue.watch(()=>z.value,()=>{$()});const H=G=>{t.value=G,$()},Q=G=>i.value&&G&&"loaded"in G&&!G.loaded,W=(G,J)=>{L.store.assertRowKey();const Z=e.rowKey.value,ne=getRowIdentity(G,Z),oe=ne&&n.value[ne];if(ne&&oe&&"expanded"in oe){const ae=oe.expanded;J=isUndefined(J)?!oe.expanded:J,n.value[ne].expanded=J,ae!==J&&L.emit("expand-change",G,J),J&&Q(oe)&&ee(G,ne,oe),L.store.updateTableScrollY()}},te=G=>{L.store.assertRowKey();const J=e.rowKey.value,Z=getRowIdentity(G,J),ne=n.value[Z];Q(ne)?ee(G,Z,ne):W(G,void 0)},ee=(G,J,Z)=>{const{load:ne}=L.props;ne&&!n.value[J].loaded&&(n.value[J].loading=!0,ne(G,Z,oe=>{if(!shared.isArray(oe))throw new TypeError("[ElTable] data must be an array");n.value[J].loading=!1,n.value[J].loaded=!0,n.value[J].expanded=!0,oe.length&&(C.value={...C.value,[J]:oe}),L.emit("expand-change",G,!0)}))};return{loadData:ee,loadOrToggle:te,toggleTreeExpansion:W,updateTreeExpandKeys:H,updateTreeData:$,updateKeyChildren:(G,J)=>{const{lazy:Z,rowKey:ne}=L.props;if(Z){if(!ne)throw new Error("[Table] rowKey is required in updateKeyChild");C.value[G]&&(C.value={...C.value,[G]:J})}},normalize:j,states:{expandRowKeys:t,treeData:n,indent:r,lazy:i,lazyTreeNodeMap:C,lazyColumnIdentifier:k,childrenColumnName:y,checkStrictly:B}}}const sortData=(e,t)=>{const n=t.sortingColumn;return!n||shared.isString(n.sortable)?e:orderBy(e,t.sortProp,t.sortOrder,n.sortMethod,n.sortBy)},doFlattenColumns=e=>{const t=[];return e.forEach(n=>{n.children&&n.children.length>0?t.push.apply(t,doFlattenColumns(n.children)):t.push(n)}),t};function useWatcher$1(){const e=vue.getCurrentInstance(),{size:t}=vue.toRefs(e.proxy?.$props),n=vue.ref(null),r=vue.ref([]),i=vue.ref([]),C=vue.ref(!1),k=vue.ref([]),y=vue.ref([]),B=vue.ref([]),L=vue.ref([]),R=vue.ref([]),z=vue.ref([]),j=vue.ref([]),$=vue.ref([]),H=[],Q=vue.ref(0),W=vue.ref(0),te=vue.ref(0),ee=vue.ref(!1),q=vue.ref([]),G=vue.ref({}),J=vue.ref(!1),Z=vue.ref(!1),ne=vue.ref(null),oe=vue.ref(null),ae=vue.ref({}),se=vue.ref(null),de=vue.ref(null),ge=vue.ref(null),fe=vue.ref(null),ie=vue.ref(null);let ce=[];const pe=vue.computed(()=>n.value?getKeysMap(q.value,n.value):void 0),le=He=>{const{childrenColumnName:ut,lazyTreeNodeMap:bt}=e.store.states,At=He[ut.value]??[];if(!n.value)return At;const kt=getRowIdentity(He,n.value);return[...bt.value?.[kt]??[],...At]};vue.watch(r,()=>{e.state&&(_e(!1),e.props.tableLayout==="auto"&&e.refs.tableHeaderRef?.updateFixedColumnStyle())},{deep:!0});const ue=()=>{if(!n.value)throw new Error("[ElTable] prop row-key is required")},he=He=>{He.children?.forEach(ut=>{ut.fixed=He.fixed,he(ut)})},ye=()=>{k.value.forEach(Ie=>{he(Ie)}),L.value=k.value.filter(Ie=>[!0,"left"].includes(Ie.fixed));const He=k.value.find(Ie=>Ie.type==="selection");let ut;He&&He.fixed!=="right"&&!L.value.includes(He)&&k.value.indexOf(He)===0&&L.value.length&&(L.value.unshift(He),ut=!0),R.value=k.value.filter(Ie=>Ie.fixed==="right");const bt=k.value.filter(Ie=>(ut?Ie.type!=="selection":!0)&&!Ie.fixed);y.value=Array.from(L.value).concat(bt).concat(R.value);const At=doFlattenColumns(bt),kt=doFlattenColumns(L.value),xe=doFlattenColumns(R.value);Q.value=At.length,W.value=kt.length,te.value=xe.length,B.value=Array.from(kt).concat(At).concat(xe),C.value=L.value.length>0||R.value.length>0},_e=(He,ut=!1)=>{He&&ye(),ut?e.state.doLayout():e.state.debouncedUpdateLayout()},Ne=He=>pe.value?!!pe.value[getRowIdentity(He,n.value)]:q.value.includes(He),be=vue.computed(()=>{const He=new Map;if(!n.value||!ne.value)return He;let ut=0;const bt=At=>{shared.isArray(At)&&At.forEach(kt=>{const xe=getRowIdentity(kt,n.value);He.set(xe,ut),ut+=1;const Ie=le(kt);Ie.length&&bt(Ie)})};return bt(r.value||[]),He}),Ae=(He={})=>{const{emitChange:ut=!0}=He;if(Be.checkStrictly.value||!n.value){G.value={},ce=[];return}const bt=n.value,At=He.rowIndexMap??be.value,kt=ne.value,xe=new WeakMap,Ie=Ke=>{const Ct=xe.get(Ke);if(Ct)return Ct;const Rt=getRowIdentity(Ke,bt);return xe.set(Ke,Rt),Rt},$e={},mt=[],it=new Set(q.value.map(Ke=>Ie(Ke))),Tt=[];let Pt=!1;const Wt=(Ke,Ct,Rt)=>{const Yt=it.has(Ct);Rt&&!Yt?(Tt.push(Ke),it.add(Ct),Pt=!0):!Rt&&Yt&&(it.delete(Ct),Pt=!0)},on=Ke=>{let Ct=0,Rt=0;return shared.isArray(Ke)?(Ke.forEach(Yt=>{const mn=Ie(Yt),Bn=le(Yt);let Un=0,Hn=0;if(Bn.length){const dn=on(Bn);Un=dn.selectedCount,Hn=dn.selectableCount}const so=kt?kt.call(null,Yt,At.get(mn)??0):!0;if(so&&Hn>0){const dn=Un===Hn;!dn&&Un!==0&&($e[mn]=!0,mt.push(Yt)),Wt(Yt,mn,dn)}so&&(Rt+=1,it.has(mn)&&(Ct+=1)),Ct+=Un,Rt+=Hn}),{selectedCount:Ct,selectableCount:Rt}):{selectedCount:Ct,selectableCount:Rt}};if(on(r.value||[]),Pt){const Ke=q.value.filter(Ct=>it.has(Ie(Ct)));Tt.forEach(Ct=>{it.has(Ie(Ct))&&Ke.push(Ct)}),q.value=Ke}G.value=$e,ce=mt,Pt&&ut&&e.emit("selection-change",q.value?q.value.slice():[])},Te=()=>{ee.value=!1;const He=q.value;q.value=[],G.value={},ce=[],He.length&&e.emit("selection-change",[])},Ze=()=>{let He;if(n.value){He=[];const ut=e?.store?.states?.childrenColumnName.value,bt=getKeysMap(r.value,n.value,!0,ut),{lazyTreeNodeMap:At}=e.store.states;At.value&&Object.entries(At.value).forEach(([kt,xe])=>{bt[kt]&&xe.forEach(Ie=>{const $e=getRowIdentity(Ie,n.value);bt[$e]||(bt[$e]={row:Ie,index:-1})})});for(const kt in pe.value)shared.hasOwn(pe.value,kt)&&!bt[kt]&&He.push(pe.value[kt].row)}else He=q.value.filter(ut=>!r.value.includes(ut));if(He.length){const ut=q.value.filter(bt=>!He.includes(bt));q.value=ut,Ae({emitChange:!1}),e.emit("selection-change",[...ut])}},lt=()=>(q.value||[]).slice(),Ge=()=>ce.slice(),st=(He,ut,bt)=>{if(!n.value||Be.checkStrictly.value||!Be.lazy.value)return;const{lazyTreeNodeMap:At,childrenColumnName:kt}=e.store.states,xe=getRowIdentity(He,n.value),Ie=At.value?.[xe]??[],$e=He[kt.value]??[],mt={children:kt.value,checkStrictly:!1};for(const it of Ie){const Tt=bt.get(getRowIdentity(it,n.value))??0;toggleRowStatus(q.value,it,ut,mt,ne.value,Tt,n.value),st(it,ut,bt)}for(const it of $e)st(it,ut,bt)},Ue=(He,ut,bt=!0,At=!1)=>{const kt={children:e?.store?.states?.childrenColumnName.value,checkStrictly:e?.store?.states?.checkStrictly.value};if(toggleRowStatus(q.value,He,ut,kt,At?void 0:ne.value,r.value.indexOf(He),n.value)){Be.lazy.value&&!Be.checkStrictly.value?(st(He,ut??Ne(He),be.value),Ae({emitChange:!1,rowIndexMap:be.value})):Ae({emitChange:!1});const xe=(q.value||[]).slice();bt&&e.emit("select",xe,He),e.emit("selection-change",xe)}},De=()=>{const He=Z.value?!ee.value:!(ee.value||q.value.length);ee.value=He;let ut=!1,bt=0;const At=e?.store?.states?.rowKey.value,{childrenColumnName:kt}=e.store.states,xe={children:kt.value,checkStrictly:!1};r.value.forEach(($e,mt)=>{const it=mt+bt;toggleRowStatus(q.value,$e,He,xe,ne.value,it,At)&&(ut=!0),bt+=Re(getRowIdentity($e,At))});const Ie=be.value;if(Be.lazy.value&&!Be.checkStrictly.value&&At)for(const $e of Object.values(Be.lazyTreeNodeMap.value))for(const mt of $e){const it=Ie.get(getRowIdentity(mt,At))??0;toggleRowStatus(q.value,mt,He,xe,ne.value,it,At)&&(ut=!0),st(mt,He,Ie)}Ae({emitChange:!1,rowIndexMap:Ie}),ut&&e.emit("selection-change",q.value?[...q.value]:[]),e.emit("select-all",(q.value||[]).slice())},We=()=>{if(r.value?.length===0){ee.value=!1;return}let He=0,ut=0;const bt=kt=>{for(const xe of kt){const Ie=ne.value&&ne.value.call(null,xe,He);if(Ne(xe))ut++;else if(!ne.value||Ie)return!1;He++;const $e=le(xe);if($e.length&&!bt($e))return!1}return!0},At=bt(r.value||[]);ee.value=ut===0?!1:At},Ye=He=>{if(!n.value)return!1;const ut=getRowIdentity(He,n.value);return!!G.value[ut]},Re=He=>{if(!e||!e.store)return 0;const{treeData:ut}=e.store.states;let bt=0;const At=ut.value[He]?.children;return At&&(bt+=At.length,At.forEach(kt=>{bt+=Re(kt)})),bt},Je=(He,ut)=>{const bt={};return castArray$1(He).forEach(At=>{ae.value[At.id]=ut,bt[At.columnKey||At.id]=ut}),bt},Xe=(He,ut,bt)=>{de.value&&de.value!==He&&(de.value.order=null),de.value=He,ge.value=ut,fe.value=bt},Me=()=>{let He=vue.unref(i);Object.keys(ae.value).forEach(ut=>{const bt=ae.value[ut];if(!bt||bt.length===0)return;const At=getColumnById({columns:B.value},ut);At&&At.filterMethod&&(He=He.filter(kt=>bt.some(xe=>At.filterMethod.call(null,xe,kt,At))))}),se.value=He},nt=()=>{r.value=sortData(se.value??[],{sortingColumn:de.value,sortProp:ge.value,sortOrder:fe.value})},et=(He=void 0)=>{He?.filter||Me(),nt()},wt=He=>{const{tableHeaderRef:ut}=e.refs;if(!ut)return;const bt=Object.assign({},ut.filterPanels),At=Object.keys(bt);if(At.length)if(shared.isString(He)&&(He=[He]),shared.isArray(He)){const kt=He.map(xe=>getColumnByKey({columns:B.value},xe));At.forEach(xe=>{const Ie=kt.find($e=>$e.id===xe);Ie&&(Ie.filteredValue=[])}),e.store.commit("filterChange",{column:kt,values:[],silent:!0,multi:!0})}else At.forEach(kt=>{const xe=B.value.find(Ie=>Ie.id===kt);xe&&(xe.filteredValue=[])}),ae.value={},e.store.commit("filterChange",{column:{},values:[],silent:!0})},tt=()=>{de.value&&(Xe(null,null,null),e.store.commit("changeSortCondition",{silent:!0}))},{setExpandRowKeys:ot,toggleRowExpansion:gt,updateExpandRows:Et,states:Dt,isRowExpanded:Ft}=useExpand({data:r,rowKey:n}),{updateTreeExpandKeys:Nt,toggleTreeExpansion:Pe,updateTreeData:at,updateKeyChildren:_t,loadOrToggle:Oe,states:Be}=useTree({data:r,rowKey:n}),{updateCurrentRowData:Ee,updateCurrentRow:ve,setCurrentRowKey:ke,states:je}=useCurrent({data:r,rowKey:n}),Se=He=>{ot(He),Nt(He)},ze=(He,ut)=>{B.value.some(({type:bt})=>bt==="expand")?gt(He,ut):Pe(He,ut)};return vue.watch(()=>Be.checkStrictly.value,He=>{He?(G.value={},ce=[]):Ae({emitChange:!1}),We()}),vue.watch(()=>Be.lazyTreeNodeMap.value,()=>{if(!Be.lazy.value||Be.checkStrictly.value||!n.value)return;const He=be.value,ut=q.value.length;for(const At of Object.keys(Be.lazyTreeNodeMap.value))pe.value?.[At]&&st(pe.value[At].row,!0,He);const bt=q.value.length!==ut;Ae({emitChange:!bt,rowIndexMap:He}),We(),bt&&e.emit("selection-change",[...q.value])}),{assertRowKey:ue,updateColumns:ye,scheduleLayout:_e,isSelected:Ne,clearSelection:Te,cleanSelection:Ze,getSelectionRows:lt,getHalfSelectionRows:Ge,toggleRowSelection:Ue,_toggleAllSelection:De,toggleAllSelection:null,updateAllSelected:We,updateSelectionByChildren:Ae,getRowIndeterminate:Ye,updateFilters:Je,updateCurrentRow:ve,updateSort:Xe,execFilter:Me,execSort:nt,execQuery:et,clearFilter:wt,clearSort:tt,toggleRowExpansion:gt,setExpandRowKeysAdapter:Se,setCurrentRowKey:ke,toggleRowExpansionAdapter:ze,isRowExpanded:Ft,updateExpandRows:Et,updateCurrentRowData:Ee,loadOrToggle:Oe,updateTreeData:at,updateKeyChildren:_t,states:{tableSize:t,rowKey:n,data:r,_data:i,isComplex:C,_columns:k,originColumns:y,columns:B,fixedColumns:L,rightFixedColumns:R,leafColumns:z,fixedLeafColumns:j,rightFixedLeafColumns:$,updateOrderFns:H,leafColumnsLength:Q,fixedLeafColumnsLength:W,rightFixedLeafColumnsLength:te,isAllSelected:ee,selection:q,selectionIndeterminate:G,reserveSelection:J,selectOnIndeterminate:Z,selectable:ne,rowExpandable:oe,filters:ae,filteredData:se,sortingColumn:de,sortProp:ge,sortOrder:fe,hoverRow:ie,...Dt,...Be,...je}}}function replaceColumn(e,t){return e.map(n=>n.id===t.id?t:(n.children?.length&&(n.children=replaceColumn(n.children,t)),n))}function sortColumn(e){e.forEach(t=>{t.no=t.getColumnIndex?.(),t.children?.length&&sortColumn(t.children)}),e.sort((t,n)=>t.no-n.no)}function useStore(){const e=vue.getCurrentInstance(),t=useWatcher$1(),n=useNamespace("table"),{t:r}=useLocale();return{ns:n,t:r,...t,mutations:{setData(y,B){const L=vue.unref(y._data)!==B;y.data.value=B,y._data.value=B,e.store.execQuery(),e.store.updateCurrentRowData(),e.store.updateExpandRows(),e.store.updateTreeData(e.store.states.defaultExpandAll.value),vue.unref(y.reserveSelection)?e.store.assertRowKey():L?e.store.clearSelection():e.store.cleanSelection(),e.store.updateSelectionByChildren({emitChange:!1}),e.store.updateAllSelected(),e.$ready&&e.store.scheduleLayout()},insertColumn(y,B,L,R){const z=vue.unref(y._columns);let j=[];L?(L&&!L.children&&(L.children=[]),L.children?.push(B),j=replaceColumn(z,L)):(z.push(B),j=z),sortColumn(j),y._columns.value=j,y.updateOrderFns.push(R),B.type==="selection"&&(y.selectable.value=B.selectable,y.reserveSelection.value=B.reserveSelection),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},updateColumnOrder(y,B){B.getColumnIndex?.()!==B.no&&(sortColumn(y._columns.value),e.$ready&&e.store.updateColumns())},removeColumn(y,B,L,R){const z=vue.unref(y._columns)||[];if(L)L.children?.splice(L.children.findIndex($=>$.id===B.id),1),vue.nextTick(()=>{L.children?.length===0&&delete L.children}),y._columns.value=replaceColumn(z,L);else{const $=z.indexOf(B);$>-1&&(z.splice($,1),y._columns.value=z)}const j=y.updateOrderFns.indexOf(R);j>-1&&y.updateOrderFns.splice(j,1),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},sort(y,B){const{prop:L,order:R,init:z}=B;if(L){const j=vue.unref(y.columns).find($=>$.property===L);j&&(j.order=R,e.store.updateSort(j,L,R),e.store.commit("changeSortCondition",{init:z}))}},changeSortCondition(y,B){const{sortingColumn:L,sortProp:R,sortOrder:z}=y,j=vue.unref(L),$=vue.unref(R),H=vue.unref(z);isNull(H)&&(y.sortingColumn.value=null,y.sortProp.value=null),e.store.execQuery({filter:!0}),(!B||!(B.silent||B.init))&&e.emit("sort-change",{column:j,prop:$,order:H}),e.store.updateTableScrollY()},filterChange(y,B){const{column:L,values:R,silent:z}=B,j=e.store.updateFilters(L,R);e.store.execQuery(),z||e.emit("filter-change",j),e.store.updateTableScrollY()},toggleAllSelection(){e.store.toggleAllSelection?.()},rowSelectedChanged(y,B){e.store.toggleRowSelection(B),e.store.updateAllSelected()},setHoverRow(y,B){y.hoverRow.value=B},setCurrentRow(y,B){e.store.updateCurrentRow(B)}},commit:function(y,...B){const L=e.store.mutations;if(L[y])L[y].apply(e,[e.store.states,...B]);else throw new Error(`Action not found: ${y}`)},updateTableScrollY:function(){vue.nextTick(()=>e.layout.updateScrollY.apply(e.layout))}}}const InitialStateMap={rowKey:"rowKey",defaultExpandAll:"defaultExpandAll",rowExpandable:"rowExpandable",selectOnIndeterminate:"selectOnIndeterminate",indent:"indent",lazy:"lazy","treeProps.hasChildren":{key:"lazyColumnIdentifier",default:"hasChildren"},"treeProps.children":{key:"childrenColumnName",default:"children"},"treeProps.checkStrictly":{key:"checkStrictly",default:!1}};function createStore(e,t){if(!e)throw new Error("Table is required.");const n=useStore();return n.toggleAllSelection=debounce$2(n._toggleAllSelection,10),Object.keys(InitialStateMap).forEach(r=>{handleValue(getArrKeysValue(t,r),r,n)}),proxyTableProps(n,t),n}function proxyTableProps(e,t){Object.keys(InitialStateMap).forEach(n=>{vue.watch(()=>getArrKeysValue(t,n),r=>{handleValue(r,n,e)})})}function handleValue(e,t,n){let r=e,i=InitialStateMap[t];shared.isObject(i)&&(r=r||i.default,i=i.key),n.states[i].value=r}function getArrKeysValue(e,t){if(t.includes(".")){const n=t.split(".");let r=e;return n.forEach(i=>{r=r[i]}),r}else return e[t]}var TableLayout=class{constructor(e){this.observers=[],this.table=null,this.store=null,this.columns=[],this.fit=!0,this.showHeader=!0,this.heightMap={},this.height=vue.ref(null),this.scrollX=vue.ref(!1),this.scrollY=vue.ref(!1),this.bodyWidth=vue.ref(null),this.fixedWidth=vue.ref(null),this.rightFixedWidth=vue.ref(null),this.gutterWidth=0;for(const t in e)shared.hasOwn(e,t)&&(vue.isRef(this[t])?this[t].value=e[t]:this[t]=e[t]);if(!this.table)throw new Error("Table is required for Table Layout");if(!this.store)throw new Error("Store is required for Table Layout")}updateScrollY(){const e=this.height.value;if(isNull(e))return!1;const t=this.table.refs.scrollBarRef;if(this.table.vnode.el&&t?.wrapRef){let n=!0;const r=this.scrollY.value;return n=t.wrapRef.scrollHeight>t.wrapRef.clientHeight,this.scrollY.value=n,r!==n}return!1}setHeight(e,t="height"){if(!isClient$1)return;const n=this.table.vnode.el;if(e=parseHeight(e),this.height.value=Number(e),this.heightMap[t]=e,!n&&(e||e===0)){vue.nextTick(()=>{this.heightMap[t]===e&&this.setHeight(e,t)});return}n&&isNumber(e)?(n.style[t]=`${e}px`,this.updateElsHeight()):n&&shared.isString(e)&&(n.style[t]=e,this.updateElsHeight())}setMaxHeight(e){this.setHeight(e,"max-height")}getFlattenColumns(){const e=[];return this.table.store.states.columns.value.forEach(t=>{t.isColumnGroup?e.push.apply(e,t.columns):e.push(t)}),e}updateElsHeight(){this.updateScrollY(),this.notifyObservers("scrollable")}headerDisplayNone(e){if(!e)return!0;let t=e;for(;t.tagName!=="DIV";){if(getComputedStyle(t).display==="none")return!0;t=t.parentElement}return!1}updateColumnsWidth(){if(!isClient$1)return;const e=this.fit,t=this.table.vnode.el?.clientWidth;let n=0;const r=this.getFlattenColumns(),i=r.filter(y=>!isNumber(y.width));if(r.forEach(y=>{isNumber(y.width)&&y.realWidth&&(y.realWidth=null)}),i.length>0&&e){if(r.forEach(y=>{n+=Number(y.width||y.minWidth||80)}),n<=t){this.scrollX.value=!1;const y=t-n;if(i.length===1)i[0].realWidth=Number(i[0].minWidth||80)+y;else{const B=y/i.reduce((R,z)=>R+Number(z.minWidth||80),0);let L=0;i.forEach((R,z)=>{if(z===0)return;const j=Math.floor(Number(R.minWidth||80)*B);L+=j,R.realWidth=Number(R.minWidth||80)+j}),i[0].realWidth=Number(i[0].minWidth||80)+y-L}}else this.scrollX.value=!0,i.forEach(y=>{y.realWidth=Number(y.minWidth)});this.bodyWidth.value=Math.max(n,t),this.table.state.resizeState.value.width=this.bodyWidth.value}else r.forEach(y=>{!y.width&&!y.minWidth?y.realWidth=80:y.realWidth=Number(y.width||y.minWidth),n+=y.realWidth}),this.scrollX.value=n>t,this.bodyWidth.value=n;const C=this.store.states.fixedColumns.value;if(C.length>0){let y=0;C.forEach(B=>{y+=Number(B.realWidth||B.width)}),this.fixedWidth.value=y}const k=this.store.states.rightFixedColumns.value;if(k.length>0){let y=0;k.forEach(B=>{y+=Number(B.realWidth||B.width)}),this.rightFixedWidth.value=y}this.notifyObservers("columns")}addObserver(e){this.observers.push(e)}removeObserver(e){const t=this.observers.indexOf(e);t!==-1&&this.observers.splice(t,1)}notifyObservers(e){this.observers.forEach(t=>{switch(e){case"columns":t.state?.onColumnsChange(this);break;case"scrollable":t.state?.onScrollableChange(this);break;default:throw new Error(`Table Layout don't have event ${e}.`)}})}};const TABLE_INJECTION_KEY=Symbol("ElTable"),getAllColumns=e=>{const t=[];return e.forEach(n=>{n.children?(t.push(n),t.push.apply(t,getAllColumns(n.children))):t.push(n)}),t},convertToRows=e=>{let t=1;const n=(i,C)=>{if(C&&(i.level=C.level+1,t<i.level&&(t=i.level)),i.children){let k=0;i.children.forEach(y=>{n(y,i),k+=y.colSpan}),i.colSpan=k}else i.colSpan=1};e.forEach(i=>{i.level=1,n(i,void 0)});const r=[];for(let i=0;i<t;i++)r.push([]);return getAllColumns(e).forEach(i=>{i.children?(i.rowSpan=1,i.children.forEach(C=>C.isSubColumn=!0)):i.rowSpan=t-i.level+1,r[i.level-1].push(i)}),r};function useUtils$1(e){const t=vue.inject(TABLE_INJECTION_KEY),n=vue.computed(()=>convertToRows(e.store.states.originColumns.value));return{isGroup:vue.computed(()=>{const C=n.value.length>1;return C&&t&&(t.state.isGroup.value=!0),C}),toggleAllSelection:C=>{C.stopPropagation(),t?.store.commit("toggleAllSelection")},columnRows:n}}var filter_panel_vue_vue_type_script_lang_default=vue.defineComponent({name:"ElTableFilterPanel",components:{ElCheckbox,ElCheckboxGroup,ElScrollbar,ElTooltip,ElIcon,ArrowDown:arrow_down_default,ArrowUp:arrow_up_default},props:{placement:{type:String,default:"bottom-start"},store:{type:Object},column:{type:Object},upDataColumn:{type:Function},appendTo:useTooltipContentProps.appendTo},setup(e){const t=vue.getCurrentInstance(),{t:n}=useLocale(),r=useNamespace("table-filter"),i=t?.parent;e.column&&!i.filterPanels.value[e.column.id]&&(i.filterPanels.value[e.column.id]=t);const C=vue.ref(null),k=vue.ref(null),y=vue.ref(0),B=vue.computed(()=>e.column&&e.column.filters),L=vue.computed(()=>e.column&&e.column.filterClassName?`${r.b()} ${e.column.filterClassName}`:r.b()),R=vue.computed({get:()=>(e.column?.filteredValue||[])[0],set:ne=>{z.value&&(isPropAbsent(ne)?z.value.splice(0,1):z.value.splice(0,1,ne))}}),z=vue.computed({get(){return e.column?e.column.filteredValue||[]:[]},set(ne){e.column&&e.upDataColumn?.("filteredValue",ne)}}),j=vue.computed(()=>e.column?e.column.filterMultiple:!0),$=ne=>ne.value===R.value,H=()=>{C.value?.onClose()},Q=()=>{ee(z.value),H()},W=()=>{z.value=[],ee(z.value),H()},te=(ne,oe)=>{R.value=ne,y.value=oe,isPropAbsent(ne)?ee([]):ee(z.value),H()},ee=ne=>{e.store?.commit("filterChange",{column:e.column,values:ne}),e.store?.updateAllSelected()},q=()=>{k.value?.focus(),!j.value&&J(),e.column&&e.upDataColumn?.("filterOpened",!0)},G=()=>{e.column&&e.upDataColumn?.("filterOpened",!1)},J=()=>{if(isPropAbsent(R)){y.value=0;return}const ne=(B.value||[]).findIndex(oe=>oe.value===R.value);y.value=ne>=0?ne+1:0};return{multiple:j,filterClassName:L,filteredValue:z,filterValue:R,filters:B,handleConfirm:Q,handleReset:W,handleSelect:te,isPropAbsent,isActive:$,t:n,ns:r,tooltipRef:C,rootRef:k,checkedIndex:y,handleShowTooltip:q,handleHideTooltip:G,handleKeydown:ne=>{const oe=getEventCode(ne),ae=(B.value?B.value.length:0)+1;let se=y.value,de=!0;switch(oe){case EVENT_CODE.down:case EVENT_CODE.right:se=(se+1)%ae;break;case EVENT_CODE.up:case EVENT_CODE.left:se=(se-1+ae)%ae;break;case EVENT_CODE.tab:H(),de=!1;break;case EVENT_CODE.enter:case EVENT_CODE.space:if(se===0)te(null,0);else{const ge=(B.value||[])[se-1];ge.value&&te(ge.value,se)}break;default:de=!1;break}de&&ne.preventDefault(),y.value=se,k.value?.querySelector(`.${r.e("list-item")}:nth-child(${se+1})`)?.focus()}}}});const _hoisted_1$1C=["disabled"],_hoisted_2$1g=["tabindex","aria-checked"],_hoisted_3$_=["tabindex","aria-checked","onClick"],_hoisted_4$K=["aria-label"];function _sfc_render(e,t,n,r,i,C){const k=vue.resolveComponent("el-checkbox"),y=vue.resolveComponent("el-checkbox-group"),B=vue.resolveComponent("el-scrollbar"),L=vue.resolveComponent("arrow-up"),R=vue.resolveComponent("arrow-down"),z=vue.resolveComponent("el-icon"),j=vue.resolveComponent("el-tooltip");return vue.openBlock(),vue.createBlock(j,{ref:"tooltipRef",offset:0,placement:e.placement,"show-arrow":!1,trigger:"click",role:"dialog",teleported:"",effect:"light",pure:"",loop:"","popper-class":e.filterClassName,persistent:"","append-to":e.appendTo,onShow:e.handleShowTooltip,onHide:e.handleHideTooltip},{content:vue.withCtx(()=>[e.multiple?(vue.openBlock(),vue.createElementBlock("div",{key:0,ref:"rootRef",tabindex:"-1",class:vue.normalizeClass(e.ns.e("multiple"))},[vue.createElementVNode("div",{class:vue.normalizeClass(e.ns.e("content"))},[vue.createVNode(B,{"wrap-class":e.ns.e("wrap")},{default:vue.withCtx(()=>[vue.createVNode(y,{modelValue:e.filteredValue,"onUpdate:modelValue":t[0]||(t[0]=$=>e.filteredValue=$),class:vue.normalizeClass(e.ns.e("checkbox-group"))},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.filters,$=>(vue.openBlock(),vue.createBlock(k,{key:$.value,value:$.value},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString($.text),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue","class"])]),_:1},8,["wrap-class"])],2),vue.createElementVNode("div",{class:vue.normalizeClass(e.ns.e("bottom"))},[vue.createElementVNode("button",{class:vue.normalizeClass(e.ns.is("disabled",e.filteredValue.length===0)),disabled:e.filteredValue.length===0,type:"button",onClick:t[1]||(t[1]=(...$)=>e.handleConfirm&&e.handleConfirm(...$))},vue.toDisplayString(e.t("el.table.confirmFilter")),11,_hoisted_1$1C),vue.createElementVNode("button",{type:"button",onClick:t[2]||(t[2]=(...$)=>e.handleReset&&e.handleReset(...$))},vue.toDisplayString(e.t("el.table.resetFilter")),1)],2)],2)):(vue.openBlock(),vue.createElementBlock("ul",{key:1,ref:"rootRef",tabindex:"-1",role:"radiogroup",class:vue.normalizeClass(e.ns.e("list")),onKeydown:t[4]||(t[4]=(...$)=>e.handleKeydown&&e.handleKeydown(...$))},[vue.createElementVNode("li",{role:"radio",class:vue.normalizeClass([e.ns.e("list-item"),e.ns.is("active",e.isPropAbsent(e.filterValue))]),tabindex:e.checkedIndex===0?0:-1,"aria-checked":e.isPropAbsent(e.filterValue),onClick:t[3]||(t[3]=$=>e.handleSelect(null,0))},vue.toDisplayString(e.t("el.table.clearFilter")),11,_hoisted_2$1g),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.filters,($,H)=>(vue.openBlock(),vue.createElementBlock("li",{key:$.value,role:"radio",class:vue.normalizeClass([e.ns.e("list-item"),e.ns.is("active",e.isActive($))]),tabindex:e.checkedIndex===H+1?0:-1,"aria-checked":e.isActive($),onClick:Q=>e.handleSelect($.value,H+1)},vue.toDisplayString($.text),11,_hoisted_3$_))),128))],34))]),default:vue.withCtx(()=>[vue.createElementVNode("button",{type:"button",class:vue.normalizeClass(`${e.ns.namespace.value}-table__column-filter-trigger`),"aria-label":e.t("el.table.filterLabel",{column:e.column?.label||""})},[vue.createVNode(z,null,{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"filter-icon",{},()=>[e.column?.filterOpened?(vue.openBlock(),vue.createBlock(L,{key:0})):(vue.openBlock(),vue.createBlock(R,{key:1}))])]),_:3})],10,_hoisted_4$K)]),_:3},8,["placement","popper-class","append-to","onShow","onHide"])}var filter_panel_default=_plugin_vue_export_helper_default(filter_panel_vue_vue_type_script_lang_default,[["render",_sfc_render]]);function useLayoutObserver(e){const t=vue.getCurrentInstance();vue.onBeforeMount(()=>{n.value.addObserver(t)}),vue.onMounted(()=>{r(n.value),i(n.value)}),vue.onUpdated(()=>{r(n.value),i(n.value)}),vue.onUnmounted(()=>{n.value.removeObserver(t)});const n=vue.computed(()=>{const C=e.layout;if(!C)throw new Error("Can not find table layout.");return C}),r=C=>{const k=e.vnode.el?.querySelectorAll("colgroup > col")||[];if(!k.length)return;const y=C.getFlattenColumns(),B={};y.forEach(L=>{B[L.id]=L});for(let L=0,R=k.length;L<R;L++){const z=k[L],j=B[z.getAttribute("name")];j&&z.setAttribute("width",j.realWidth||j.width)}},i=C=>{const k=e.vnode.el?.querySelectorAll("colgroup > col[name=gutter]")||[];for(let B=0,L=k.length;B<L;B++)k[B].setAttribute("width",C.scrollY.value?C.gutterWidth:"0");const y=e.vnode.el?.querySelectorAll("th.gutter")||[];for(let B=0,L=y.length;B<L;B++){const R=y[B];R.style.width=C.scrollY.value?`${C.gutterWidth}px`:"0",R.style.display=C.scrollY.value?"":"none"}};return{tableLayout:n.value,onColumnsChange:r,onScrollableChange:i}}function useEvent(e,t){const n=vue.getCurrentInstance(),r=vue.inject(TABLE_INJECTION_KEY),i=Q=>{Q.stopPropagation()},C=(Q,W)=>{!W.filters&&W.sortable?H(Q,W,!1):W.filterable&&!W.sortable&&i(Q),r?.emit("header-click",W,Q)},k=(Q,W)=>{r?.emit("header-contextmenu",W,Q)},y=vue.ref(null),B=vue.ref(!1),L=vue.ref(),R=(Q,W)=>{if(isClient$1&&!(W.children&&W.children.length>0)&&y.value&&e.border&&y.value.id===W.id){B.value=!0;const te=r;t("set-drag-visible",!0);const ee=te?.vnode.el?.getBoundingClientRect().left,q=n?.vnode?.el?.querySelector(`th.${W.id}`),G=q.getBoundingClientRect(),J=G.left-ee+30;addClass(q,"noclick"),L.value={startMouseLeft:Q.clientX,startLeft:G.right-ee,startColumnLeft:G.left-ee,tableLeft:ee};const Z=te?.refs.resizeProxy;Z.style.left=`${L.value.startLeft}px`,document.onselectstart=function(){return!1},document.ondragstart=function(){return!1};const ne=ae=>{const se=ae.clientX-L.value.startMouseLeft,de=L.value.startLeft+se;Z.style.left=`${Math.max(J,de)}px`},oe=()=>{if(B.value){const{startColumnLeft:ae,startLeft:se}=L.value;W.width=W.realWidth=Number.parseInt(Z.style.left,10)-ae,te?.emit("header-dragend",W.width,se-ae,W,Q),requestAnimationFrame(()=>{e.store.scheduleLayout(!1,!0)}),document.body.style.cursor="",B.value=!1,y.value=null,L.value=void 0,t("set-drag-visible",!1)}document.removeEventListener("mousemove",ne),document.removeEventListener("mouseup",oe),document.onselectstart=null,document.ondragstart=null,setTimeout(()=>{removeClass(q,"noclick")},0)};document.addEventListener("mousemove",ne),document.addEventListener("mouseup",oe)}},z=(Q,W)=>{if(!e.border||W.children&&W.children.length>0)return;const te=Q.target,ee=isElement$2(te)?te.closest("th"):null;if(!ee)return;const q=hasClass(ee,"is-sortable");if(q){const ae=B.value?"col-resize":"";ee.style.cursor=ae;const se=ee.querySelector(".caret-wrapper");se&&(se.style.cursor=ae)}if(!W.resizable||B.value){y.value=null;return}const G=ee.getBoundingClientRect(),J=ee.parentNode?.lastElementChild===ee,Z=e.allowDragLastColumn||!J,ne=G.width>12&&G.right-Q.clientX<8&&Z,oe=ne?"col-resize":"";document.body.style.cursor=oe,y.value=ne?W:null,q&&(ee.style.cursor=oe)},j=()=>{!isClient$1||B.value||(document.body.style.cursor="")},$=({order:Q,sortOrders:W})=>{if(Q==="")return W[0];const te=W.indexOf(Q||null);return W[te>W.length-2?0:te+1]},H=(Q,W,te)=>{Q.stopPropagation();const ee=W.order===te?null:te||$(W),q=Q.target?.closest("th");if(q&&hasClass(q,"noclick")){removeClass(q,"noclick");return}if(!W.sortable)return;const G=Q.currentTarget;if(["ascending","descending"].some(ae=>hasClass(G,ae)&&!W.sortOrders.includes(ae)))return;const J=e.store.states;let Z=J.sortProp.value,ne;const oe=J.sortingColumn.value;(oe!==W||oe===W&&isNull(oe.order))&&(oe&&(oe.order=null),J.sortingColumn.value=W,Z=W.property??null),ee?ne=W.order=ee:ne=W.order=null,J.sortProp.value=Z,J.sortOrder.value=ne,r?.store.commit("changeSortCondition")};return{handleHeaderClick:C,handleHeaderContextMenu:k,handleMouseDown:R,handleMouseMove:z,handleMouseOut:j,handleSortClick:H,handleFilterClick:i}}function useStyle$2(e){const t=vue.inject(TABLE_INJECTION_KEY),n=useNamespace("table");return{getHeaderRowStyle:y=>{const B=t?.props.headerRowStyle;return shared.isFunction(B)?B.call(null,{rowIndex:y}):B},getHeaderRowClass:y=>{const B=[],L=t?.props.headerRowClassName;return shared.isString(L)?B.push(L):shared.isFunction(L)&&B.push(L.call(null,{rowIndex:y})),B.join(" ")},getHeaderCellStyle:(y,B,L,R)=>{let z=t?.props.headerCellStyle??{};shared.isFunction(z)&&(z=z.call(null,{rowIndex:y,columnIndex:B,row:L,column:R}));const j=getFixedColumnOffset(B,R.fixed,e.store,L);return ensurePosition(j,"left"),ensurePosition(j,"right"),Object.assign({},z,j)},getHeaderCellClass:(y,B,L,R)=>{const z=getFixedColumnsClass(n.b(),B,R.fixed,e.store,L),j=[R.id,R.order,R.headerAlign,R.className,R.labelClassName,...z];R.children||j.push("is-leaf"),R.sortable&&j.push("is-sortable");const $=t?.props.headerCellClassName;return shared.isString($)?j.push($):shared.isFunction($)&&j.push($.call(null,{rowIndex:y,columnIndex:B,row:L,column:R})),j.push(n.e("cell")),j.filter(H=>!!H).join(" ")}}}var table_header_default=vue.defineComponent({name:"ElTableHeader",components:{ElCheckbox},props:{fixed:{type:String,default:""},store:{required:!0,type:Object},border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})},appendFilterPanelTo:{type:String},allowDragLastColumn:{type:Boolean}},setup(e,{emit:t}){const n=vue.getCurrentInstance(),r=vue.inject(TABLE_INJECTION_KEY),i=useNamespace("table"),C=vue.ref({}),{onColumnsChange:k,onScrollableChange:y}=useLayoutObserver(r),B=r?.props.tableLayout==="auto",L=vue.reactive(new Map),R=vue.ref();let z;const j=()=>{z=setTimeout(()=>{L.size>0&&(L.forEach((ge,fe)=>{const ie=R.value.querySelector(`.${fe.replace(/\s/g,".")}`);ie&&(ge.width=ie.getBoundingClientRect().width||ge.width)}),L.clear())})};vue.watch(L,j),vue.onBeforeUnmount(()=>{z&&(clearTimeout(z),z=void 0)}),vue.onMounted(async()=>{await vue.nextTick(),await vue.nextTick();const{prop:ge,order:fe}=e.defaultSort;r?.store.commit("sort",{prop:ge,order:fe,init:!0}),j()});const{handleHeaderClick:$,handleHeaderContextMenu:H,handleMouseDown:Q,handleMouseMove:W,handleMouseOut:te,handleSortClick:ee,handleFilterClick:q}=useEvent(e,t),{getHeaderRowStyle:G,getHeaderRowClass:J,getHeaderCellStyle:Z,getHeaderCellClass:ne}=useStyle$2(e),{isGroup:oe,toggleAllSelection:ae,columnRows:se}=useUtils$1(e),{t:de}=useLocale();return n.state={onColumnsChange:k,onScrollableChange:y},n.filterPanels=C,{ns:i,t:de,filterPanels:C,onColumnsChange:k,onScrollableChange:y,columnRows:se,getHeaderRowClass:J,getHeaderRowStyle:G,getHeaderCellClass:ne,getHeaderCellStyle:Z,handleHeaderClick:$,handleHeaderContextMenu:H,handleMouseDown:Q,handleMouseMove:W,handleMouseOut:te,handleSortClick:ee,handleFilterClick:q,isGroup:oe,toggleAllSelection:ae,saveIndexSelection:L,isTableLayoutAuto:B,theadRef:R,updateFixedColumnStyle:j}},render(){const{ns:e,t,isGroup:n,columnRows:r,getHeaderCellStyle:i,getHeaderCellClass:C,getHeaderRowClass:k,getHeaderRowStyle:y,handleHeaderClick:B,handleHeaderContextMenu:L,handleMouseDown:R,handleMouseMove:z,handleSortClick:j,handleMouseOut:$,store:H,$parent:Q,saveIndexSelection:W,isTableLayoutAuto:te}=this;let ee=1;return vue.h("thead",{ref:"theadRef",class:e.is("group",n)},r.map((q,G)=>vue.h("tr",{class:k(G),key:G,style:y(G)},q.map((J,Z)=>{J.rowSpan>ee&&(ee=J.rowSpan);const ne=C(G,Z,q,J);return te&&J.fixed&&W.set(ne,J),vue.h("th",{class:ne,colspan:J.colSpan,key:`${J.id}-thead`,rowspan:J.rowSpan,scope:J.colSpan>1?"colgroup":"col",ariaSort:J.sortable?J.order:void 0,style:i(G,Z,q,J),onClick:oe=>{oe.currentTarget?.classList.contains("noclick")||B(oe,J)},onContextmenu:oe=>L(oe,J),onMousedown:oe=>R(oe,J),onMousemove:oe=>z(oe,J),onMouseout:$},[vue.h("div",{class:["cell",J.filteredValue&&J.filteredValue.length>0?"highlight":""]},[J.renderHeader?J.renderHeader({column:J,$index:Z,store:H,_self:Q}):J.label,J.sortable&&vue.h("button",{type:"button",class:"caret-wrapper","aria-label":t("el.table.sortLabel",{column:J.label||""}),onClick:oe=>j(oe,J)},[vue.h("i",{onClick:oe=>j(oe,J,"ascending"),class:"sort-caret ascending"}),vue.h("i",{onClick:oe=>j(oe,J,"descending"),class:"sort-caret descending"})]),J.filterable&&vue.h(filter_panel_default,{store:H,placement:J.filterPlacement||"bottom-start",appendTo:Q?.appendFilterPanelTo,column:J,upDataColumn:(oe,ae)=>{J[oe]=ae}},{"filter-icon":()=>J.renderFilterIcon?J.renderFilterIcon({filterOpened:J.filterOpened}):null})])])}))))}});function useEvents(e){const t=vue.inject(TABLE_INJECTION_KEY),n=vue.ref(""),r=vue.ref(vue.h("div")),i=(H,Q,W)=>{const te=t,ee=getCell(H);let q=null;const G=te?.vnode.el?.dataset.prefix;ee&&(q=getColumnByCell({columns:e.store?.states.columns.value??[]},ee,G),q&&te?.emit(`cell-${W}`,Q,q,ee,H)),te?.emit(`row-${W}`,Q,q,H)},C=(H,Q)=>{i(H,Q,"dblclick")},k=(H,Q)=>{e.store?.commit("setCurrentRow",Q),i(H,Q,"click")},y=(H,Q)=>{i(H,Q,"contextmenu")},B=debounce$2(H=>{e.store?.commit("setHoverRow",H)},30),L=debounce$2(()=>{e.store?.commit("setHoverRow",null)},30),R=H=>{const Q=window.getComputedStyle(H,null);return{left:Number.parseInt(Q.paddingLeft,10)||0,right:Number.parseInt(Q.paddingRight,10)||0,top:Number.parseInt(Q.paddingTop,10)||0,bottom:Number.parseInt(Q.paddingBottom,10)||0}},z=(H,Q,W)=>{let te=Q?.target?.parentNode;for(;H>1&&(te=te?.nextSibling,!(!te||te.nodeName!=="TR"));)W(te,"hover-row hover-fixed-row"),H--};return{handleDoubleClick:C,handleClick:k,handleContextMenu:y,handleMouseEnter:B,handleMouseLeave:L,handleCellMouseEnter:(H,Q,W)=>{if(!t)return;const te=t,ee=getCell(H),q=te?.vnode.el?.dataset.prefix;let G=null;if(ee){if(G=getColumnByCell({columns:e.store?.states.columns.value??[]},ee,q),!G)return;ee.rowSpan>1&&z(ee.rowSpan,H,addClass);const le=te.hoverState={cell:ee,column:G,row:Q};te?.emit("cell-mouse-enter",le.row,le.column,le.cell,H)}if(!W){removePopper?.trigger===ee&&removePopper?.();return}const J=H.target.querySelector(".cell");if(!(hasClass(J,`${q}-tooltip`)&&J.childNodes.length&&J.textContent?.trim()))return;const Z=document.createRange();Z.setStart(J,0),Z.setEnd(J,J.childNodes.length);const{width:ne,height:oe}=Z.getBoundingClientRect(),{width:ae,height:se}=J.getBoundingClientRect(),{top:de,left:ge,right:fe,bottom:ie}=R(J),ce=ge+fe,pe=de+ie;isGreaterThan(ne+ce,ae)||isGreaterThan(oe+pe,se)||isGreaterThan(J.scrollWidth,ae)?createTablePopper(W,(ee?.innerText||ee?.textContent)??"",Q,G,ee,te):removePopper?.trigger===ee&&removePopper?.()},handleCellMouseLeave:H=>{const Q=getCell(H);if(!Q)return;Q.rowSpan>1&&z(Q.rowSpan,H,removeClass);const W=t?.hoverState;t?.emit("cell-mouse-leave",W?.row,W?.column,W?.cell,H)},tooltipContent:n,tooltipTrigger:r}}function useStyles(e){const t=vue.inject(TABLE_INJECTION_KEY),n=useNamespace("table");return{getRowStyle:(L,R)=>{const z=t?.props.rowStyle;return shared.isFunction(z)?z.call(null,{row:L,rowIndex:R}):z||null},getRowClass:(L,R,z)=>{const j=[n.e("row")];t?.props.highlightCurrentRow&&L===e.store?.states.currentRow.value&&j.push("current-row"),e.stripe&&z%2===1&&j.push(n.em("row","striped"));const $=t?.props.rowClassName;return shared.isString($)?j.push($):shared.isFunction($)&&j.push($.call(null,{row:L,rowIndex:R})),j},getCellStyle:(L,R,z,j)=>{const $=t?.props.cellStyle;let H=$??{};shared.isFunction($)&&(H=$.call(null,{rowIndex:L,columnIndex:R,row:z,column:j}));const Q=getFixedColumnOffset(R,e?.fixed,e.store);return ensurePosition(Q,"left"),ensurePosition(Q,"right"),Object.assign({},H,Q)},getCellClass:(L,R,z,j,$)=>{const H=getFixedColumnsClass(n.b(),R,e?.fixed,e.store,void 0,$),Q=[j.id,j.align,j.className,...H],W=t?.props.cellClassName;return shared.isString(W)?Q.push(W):shared.isFunction(W)&&Q.push(W.call(null,{rowIndex:L,columnIndex:R,row:z,column:j})),Q.push(n.e("cell")),Q.filter(te=>!!te).join(" ")},getSpan:(L,R,z,j)=>{let $=1,H=1;const Q=t?.props.spanMethod;if(shared.isFunction(Q)){const W=Q({row:L,column:R,rowIndex:z,columnIndex:j});shared.isArray(W)?($=W[0],H=W[1]):shared.isObject(W)&&($=W.rowspan,H=W.colspan)}return{rowspan:$,colspan:H}},getColspanRealWidth:(L,R,z)=>{if(R<1)return L[z].realWidth;const j=L.map(({realWidth:$,width:H})=>$||H).slice(z,z+R);return Number(j.reduce(($,H)=>Number($)+Number(H),-1))}}}const _hoisted_1$1B=["colspan","rowspan"];var td_wrapper_vue_vue_type_script_setup_true_lang_default=vue.defineComponent({name:"TableTdWrapper",__name:"td-wrapper",props:{colspan:{type:Number,default:1},rowspan:{type:Number,default:1}},setup(e){return(t,n)=>(vue.openBlock(),vue.createElementBlock("td",{colspan:e.colspan,rowspan:e.rowspan},[vue.renderSlot(t.$slots,"default")],8,_hoisted_1$1B))}}),td_wrapper_default=td_wrapper_vue_vue_type_script_setup_true_lang_default;function useRender$1(e){const t=vue.inject(TABLE_INJECTION_KEY),n=useNamespace("table"),{handleDoubleClick:r,handleClick:i,handleContextMenu:C,handleMouseEnter:k,handleMouseLeave:y,handleCellMouseEnter:B,handleCellMouseLeave:L,tooltipContent:R,tooltipTrigger:z}=useEvents(e),{getRowStyle:j,getRowClass:$,getCellStyle:H,getCellClass:Q,getSpan:W,getColspanRealWidth:te}=useStyles(e);let ee=-1;const q=vue.computed(()=>e.store?.states.columns.value.findIndex(({type:oe})=>oe==="default")),G=(oe,ae)=>{const se=t?.props?.rowKey;return se?getRowIdentity(oe,se):ae},J=(oe,ae,se,de=!1)=>{const{tooltipEffect:ge,tooltipOptions:fe,store:ie}=e,{indent:ce,columns:pe}=ie.states,le=[];let ue=!0;return se&&(le.push(n.em("row",`level-${se.level}`)),ue=!!se.display),ae===0&&(ee=-1),e.stripe&&ue&&ee++,le.push(...$(oe,ae,ee)),vue.h("tr",{style:[ue?null:{display:"none"},j(oe,ae)],class:le,key:G(oe,ae),onDblclick:he=>r(he,oe),onClick:he=>i(he,oe),onContextmenu:he=>C(he,oe),onMouseenter:()=>k(ae),onMouseleave:y},pe.value.map((he,ye)=>{const{rowspan:_e,colspan:Ne}=W(oe,he,ae,ye);if(!_e||!Ne)return null;const be=Object.assign({},he);be.realWidth=te(pe.value,Ne,ye);const Ae={store:ie,_self:e.context||t,column:be,row:oe,$index:ae,cellIndex:ye,expanded:de};ye===q.value&&se&&(Ae.treeNode={indent:se.level&&se.level*ce.value,level:se.level},isBoolean(se.expanded)&&(Ae.treeNode.expanded=se.expanded,"loading"in se&&(Ae.treeNode.loading=se.loading),"noLazyChildren"in se&&(Ae.treeNode.noLazyChildren=se.noLazyChildren)));const Te=`${G(oe,ae)},${ye}`,Ze=be.columnKey||be.rawColumnKey||"",lt=he.showOverflowTooltip&&merge({effect:ge},fe,he.showOverflowTooltip);return vue.h(td_wrapper_default,{style:H(ae,ye,oe,he),class:Q(ae,ye,oe,he,Ne-1),key:`${Ze}${Te}`,rowspan:_e,colspan:Ne,onMouseenter:Ge=>B(Ge,oe,lt),onMouseleave:L},{default:()=>Z(ye,he,Ae)})}))},Z=(oe,ae,se)=>ae.renderCell(se);return{wrappedRowRender:(oe,ae)=>{const se=e.store,{isRowExpanded:de,assertRowKey:ge}=se,{treeData:fe,lazyTreeNodeMap:ie,childrenColumnName:ce,rowKey:pe}=se.states,le=se.states.columns.value;if(le.some(({type:ue})=>ue==="expand")){const ue=de(oe),he=J(oe,ae,void 0,ue),ye=t?.renderExpanded;if(!ye)return console.error("[Element Error]renderExpanded is required."),he;const _e=[[he]];return(t.props.preserveExpandedContent||ue)&&_e[0].push(vue.h("tr",{key:`expanded-row__${he.key}`,style:{display:ue?"":"none"}},[vue.h("td",{colspan:le.length,class:`${n.e("cell")} ${n.e("expanded-cell")}`},[ye({row:oe,$index:ae,store:se,expanded:ue})])])),_e}else if(Object.keys(fe.value).length){ge();const ue=getRowIdentity(oe,pe.value);let he=fe.value[ue],ye=null;he&&(ye={expanded:he.expanded,level:he.level,display:!0,noLazyChildren:void 0,loading:void 0},isBoolean(he.lazy)&&(ye&&isBoolean(he.loaded)&&he.loaded&&(ye.noLazyChildren=!(he.children&&he.children.length)),ye.loading=he.loading));const _e=[J(oe,ae,ye??void 0)];if(he){let Ne=0;const be=(Ae,Te)=>{Ae&&Ae.length&&Te&&Ae.forEach(Ze=>{const lt={display:Te.display&&Te.expanded,level:Te.level+1,expanded:!1,noLazyChildren:!1,loading:!1},Ge=getRowIdentity(Ze,pe.value);if(isPropAbsent(Ge))throw new Error("For nested data item, row-key is required.");he={...fe.value[Ge]},he&&(lt.expanded=he.expanded,he.level=he.level||lt.level,he.display=!!(he.expanded&&lt.display),isBoolean(he.lazy)&&(isBoolean(he.loaded)&&he.loaded&&(lt.noLazyChildren=!(he.children&&he.children.length)),lt.loading=he.loading)),Ne++,_e.push(J(Ze,ae+Ne,lt)),he&&be(ie.value[Ge]||Ze[ce.value],he)})};he.display=!0,be(ie.value[ue]||oe[ce.value],he)}return _e}else return J(oe,ae,void 0)},tooltipContent:R,tooltipTrigger:z}}const defaultProps$2={store:{required:!0,type:Object},stripe:Boolean,tooltipEffect:String,tooltipOptions:{type:Object},context:{default:()=>({}),type:Object},rowClassName:[String,Function],rowStyle:[Object,Function],fixed:{type:String,default:""},highlight:Boolean};var table_body_default=vue.defineComponent({name:"ElTableBody",props:defaultProps$2,setup(e){const t=vue.getCurrentInstance(),n=vue.inject(TABLE_INJECTION_KEY),r=useNamespace("table"),{wrappedRowRender:i,tooltipContent:C,tooltipTrigger:k}=useRender$1(e),{onColumnsChange:y,onScrollableChange:B}=useLayoutObserver(n),L=[];return vue.watch(e.store?.states.hoverRow,(R,z)=>{const j=t?.vnode.el,$=Array.from(j?.children||[]).filter(W=>W?.classList.contains(`${r.e("row")}`));let H=R;const Q=$[H]?.childNodes;if(Q?.length){let W=0;Array.from(Q).reduce((te,ee,q)=>(Q[q]?.colSpan>1&&(W=Q[q]?.colSpan),ee.nodeName!=="TD"&&W===0&&te.push(q),W>0&&W--,te),[]).forEach(te=>{for(H=R;H>0;){const ee=$[H-1]?.childNodes;if(ee[te]&&ee[te].nodeName==="TD"&&ee[te].rowSpan>1){addClass(ee[te],"hover-cell"),L.push(ee[te]);break}H--}})}else L.forEach(W=>removeClass(W,"hover-cell")),L.length=0;!e.store?.states.isComplex.value||!isClient$1||rAF(()=>{const W=$[z],te=$[R];W&&!W.classList.contains("hover-fixed-row")&&removeClass(W,"hover-row"),te&&addClass(te,"hover-row")})}),vue.onUnmounted(()=>{removePopper?.()}),{ns:r,onColumnsChange:y,onScrollableChange:B,wrappedRowRender:i,tooltipContent:C,tooltipTrigger:k}},render(){const{wrappedRowRender:e,store:t}=this;return vue.h("tbody",{tabIndex:-1},[(t?.states.data.value||[]).reduce((n,r)=>n.concat(e(r,n.length)),[])])}});function useMapState(){const e=vue.inject(TABLE_INJECTION_KEY)?.store;return{leftFixedLeafCount:vue.computed(()=>e?.states.fixedLeafColumnsLength.value??0),rightFixedLeafCount:vue.computed(()=>e?.states.rightFixedColumns.value.length??0),columnsCount:vue.computed(()=>e?.states.columns.value.length??0),leftFixedCount:vue.computed(()=>e?.states.fixedColumns.value.length??0),rightFixedCount:vue.computed(()=>e?.states.rightFixedColumns.value.length??0),columns:vue.computed(()=>e?.states.columns.value??[])}}function useStyle$1(e){const{columns:t}=useMapState(),n=useNamespace("table");return{getCellClasses:(C,k)=>{const y=C[k],B=[n.e("cell"),y.id,y.align,y.labelClassName,...getFixedColumnsClass(n.b(),k,y.fixed,e.store)];return y.className&&B.push(y.className),y.children||B.push(n.is("leaf")),B},getCellStyles:(C,k)=>{const y=getFixedColumnOffset(k,C.fixed,e.store);return ensurePosition(y,"left"),ensurePosition(y,"right"),y},columns:t}}var table_footer_default=vue.defineComponent({name:"ElTableFooter",props:{fixed:{type:String,default:""},store:{required:!0,type:Object},summaryMethod:Function,sumText:String,border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})}},setup(e){const t=vue.inject(TABLE_INJECTION_KEY),n=useNamespace("table"),{getCellClasses:r,getCellStyles:i,columns:C}=useStyle$1(e),{onScrollableChange:k,onColumnsChange:y}=useLayoutObserver(t);return{ns:n,onScrollableChange:k,onColumnsChange:y,getCellClasses:r,getCellStyles:i,columns:C}},render(){const{columns:e,getCellStyles:t,getCellClasses:n,summaryMethod:r,sumText:i}=this,C=this.store.states.data.value;let k=[];return r?k=r({columns:e,data:C}):e.forEach((y,B)=>{if(B===0){k[B]=i;return}const L=C.map($=>Number($[y.property])),R=[];let z=!0;L.forEach($=>{if(!Number.isNaN(+$)){z=!1;const H=`${$}`.split(".")[1];R.push(H?H.length:0)}});const j=Math.max.apply(null,R);z?k[B]="":k[B]=L.reduce(($,H)=>{const Q=Number(H);return Number.isNaN(+Q)?$:Number.parseFloat(($+H).toFixed(Math.min(j,20)))},0)}),vue.h(vue.h("tfoot",[vue.h("tr",{},[...e.map((y,B)=>vue.h("td",{key:B,colspan:y.colSpan,rowspan:y.rowSpan,class:n(e,B),style:t(y,B)},[vue.h("div",{class:["cell",y.labelClassName]},[k[B]])]))])]))}});function useUtils(e){return{setCurrentRow:j=>{e.commit("setCurrentRow",j)},getSelectionRows:()=>e.getSelectionRows(),getHalfSelectionRows:()=>e.getHalfSelectionRows(),toggleRowSelection:(j,$,H=!0)=>{e.toggleRowSelection(j,$,!1,H),e.updateAllSelected()},clearSelection:()=>{e.clearSelection()},clearFilter:j=>{e.clearFilter(j)},toggleAllSelection:()=>{e.commit("toggleAllSelection")},toggleRowExpansion:(j,$)=>{e.toggleRowExpansionAdapter(j,$)},clearSort:()=>{e.clearSort()},sort:(j,$)=>{e.commit("sort",{prop:j,order:$})},updateKeyChildren:(j,$)=>{e.updateKeyChildren(j,$)}}}function useStyle(e,t,n,r){const i=vue.ref(!1),C=vue.ref(null),k=vue.ref(!1),y=ce=>{k.value=ce},B=vue.ref({width:null,height:null,headerHeight:null}),L=vue.ref(!1),R={display:"inline-block",verticalAlign:"middle"},z=vue.ref(),j=vue.ref(0),$=vue.ref(0),H=vue.ref(0),Q=vue.ref(0),W=vue.ref(0);vue.watch(()=>e.height,ce=>{t.setHeight(ce??null)},{immediate:!0}),vue.watch(()=>e.maxHeight,ce=>{t.setMaxHeight(ce??null)},{immediate:!0}),vue.watch(()=>[e.currentRowKey,n.states.rowKey],([ce,pe])=>{!vue.unref(pe)||!vue.unref(ce)||n.setCurrentRowKey(`${ce}`)},{immediate:!0}),vue.watch(()=>e.data,ce=>{r.store.commit("setData",ce)},{immediate:!0,deep:!0}),vue.watchEffect(()=>{e.expandRowKeys&&n.setExpandRowKeysAdapter(e.expandRowKeys)});const te=()=>{r.store.commit("setHoverRow",null),r.hoverState&&(r.hoverState=null)},ee=(ce,pe)=>{const{pixelX:le,pixelY:ue}=pe;Math.abs(le)>=Math.abs(ue)&&(r.refs.bodyWrapper.scrollLeft+=pe.pixelX/5)},q=vue.computed(()=>e.height||e.maxHeight||n.states.fixedColumns.value.length>0||n.states.rightFixedColumns.value.length>0),G=vue.computed(()=>({width:t.bodyWidth.value?`${t.bodyWidth.value}px`:""})),J=()=>{q.value&&t.updateElsHeight(),t.updateColumnsWidth(),!(typeof window>"u")&&requestAnimationFrame(ae)};vue.onMounted(async()=>{await vue.nextTick(),n.updateColumns(),se(),requestAnimationFrame(J);const ce=r.vnode.el,pe=r.refs.headerWrapper;e.flexible&&ce&&ce.parentElement&&(ce.parentElement.style.minWidth="0"),B.value={width:z.value=ce.offsetWidth,height:ce.offsetHeight,headerHeight:e.showHeader&&pe?pe.offsetHeight:null},n.states.columns.value.forEach(le=>{le.filteredValue&&le.filteredValue.length&&r.store.commit("filterChange",{column:le,values:le.filteredValue,silent:!0})}),r.$ready=!0});const Z=(ce,pe)=>{if(!ce)return;const le=Array.from(ce.classList).filter(ue=>!ue.startsWith("is-scrolling-"));le.push(t.scrollX.value?pe:"is-scrolling-none"),ce.className=le.join(" ")},ne=ce=>{const{tableWrapper:pe}=r.refs;Z(pe,ce)},oe=ce=>{const{tableWrapper:pe}=r.refs;return!!(pe&&pe.classList.contains(ce))},ae=function(){if(!r.refs.scrollBarRef)return;if(!t.scrollX.value){const _e="is-scrolling-none";oe(_e)||ne(_e);return}const ce=r.refs.scrollBarRef.wrapRef;if(!ce)return;const{scrollLeft:pe,offsetWidth:le,scrollWidth:ue}=ce,{headerWrapper:he,footerWrapper:ye}=r.refs;he&&(he.scrollLeft=pe),ye&&(ye.scrollLeft=pe),pe>=ue-le-1?ne("is-scrolling-right"):ne(pe===0?"is-scrolling-left":"is-scrolling-middle")},se=()=>{r.refs.scrollBarRef&&(r.refs.scrollBarRef.wrapRef&&useEventListener(r.refs.scrollBarRef.wrapRef,"scroll",ae,{passive:!0}),e.fit?useResizeObserver$1(r.vnode.el,de):useEventListener(window,"resize",de),useResizeObserver$1(r.refs.tableInnerWrapper,()=>{de(),r.refs?.scrollBarRef?.update()}))},de=()=>{const ce=r.vnode.el;if(!r.$ready||!ce)return;let pe=!1;const{width:le,height:ue,headerHeight:he}=B.value,ye=z.value=ce.offsetWidth;le!==ye&&(pe=!0);const _e=ce.offsetHeight;(e.height||q.value)&&ue!==_e&&(pe=!0);const Ne=e.tableLayout==="fixed"?r.refs.headerWrapper:r.refs.tableHeaderRef?.$el;e.showHeader&&Ne?.offsetHeight!==he&&(pe=!0),j.value=r.refs.tableWrapper?.scrollHeight||0,H.value=Ne?.scrollHeight||0,Q.value=r.refs.footerWrapper?.offsetHeight||0,W.value=r.refs.appendWrapper?.offsetHeight||0,$.value=j.value-H.value-Q.value-W.value,pe&&(B.value={width:ye,height:_e,headerHeight:e.showHeader&&Ne?.offsetHeight||0},J())},ge=useFormSize(),fe=vue.computed(()=>{const{bodyWidth:ce,scrollY:pe,gutterWidth:le}=t;return ce.value?`${ce.value-(pe.value?le:0)}px`:""}),ie=vue.computed(()=>e.maxHeight?"fixed":e.tableLayout);return{isHidden:i,renderExpanded:C,setDragVisible:y,isGroup:L,handleMouseLeave:te,handleHeaderFooterMousewheel:ee,tableSize:ge,emptyBlockStyle:vue.computed(()=>{if(e.data&&e.data.length)return;let ce="100%";e.height&&$.value&&(ce=`${$.value}px`);const pe=z.value;return{width:pe?`${pe}px`:"",height:ce}}),resizeProxyVisible:k,bodyWidth:fe,resizeState:B,doLayout:J,tableBodyStyles:G,tableLayout:ie,scrollbarViewStyle:R,scrollbarStyle:vue.computed(()=>e.height?{height:"100%"}:e.maxHeight?Number.isNaN(Number(e.maxHeight))?{maxHeight:`calc(${e.maxHeight} - ${H.value+Q.value}px)`}:{maxHeight:`${+e.maxHeight-H.value-Q.value}px`}:{})}}function useKeyRender(e){let t;const n=()=>{const r=e.vnode.el.querySelector(".hidden-columns"),i={childList:!0,subtree:!0},C=e.store.states.updateOrderFns;t=new MutationObserver(()=>{C.forEach(k=>k())}),t.observe(r,i)};vue.onMounted(()=>{n()}),vue.onUnmounted(()=>{t?.disconnect()})}function hColgroup(e){const t=e.tableLayout==="auto";let n=e.columns||[];t&&n.every(({width:i})=>isUndefined(i))&&(n=[]);const r=i=>{const C={key:`${e.tableLayout}_${i.id}`,style:{},name:void 0};return t?C.style={width:`${i.width}px`}:C.name=i.id,C};return vue.h("colgroup",{},n.map(i=>vue.h("col",r(i))))}hColgroup.props=["columns","tableLayout"];const useScrollbar=()=>{const e=vue.ref(),t=(C,k)=>{const y=e.value;y&&y.scrollTo(C,k)},n=(C,k)=>{const y=e.value;y&&isNumber(k)&&["Top","Left"].includes(C)&&y[`setScroll${C}`](k)};return{scrollBarRef:e,scrollTo:t,setScrollTop:C=>n("Top",C),setScrollLeft:C=>n("Left",C)}},_hoisted_1$1A=["data-prefix"],_hoisted_2$1f={ref:"hiddenColumns",class:"hidden-columns"};var table_vue_vue_type_script_setup_true_lang_default=vue.defineComponent({name:"ElTable",__name:"table",props:tableProps,emits:["select","select-all","selection-change","cell-mouse-enter","cell-mouse-leave","cell-dblclick","cell-contextmenu","cell-click","row-dblclick","row-click","row-contextmenu","header-click","header-contextmenu","sort-change","filter-change","current-change","header-dragend","expand-change","scroll"],setup(e,{expose:t}){const n=e,{t:r}=useLocale(),i=useNamespace("table"),C=useGlobalConfig("table"),k=vue.getCurrentInstance();vue.provide(TABLE_INJECTION_KEY,k);const y=createStore(k,n);k.store=y;const B=new TableLayout({store:k.store,table:k,fit:n.fit,showHeader:n.showHeader});k.layout=B;const L=vue.computed(()=>(y.states.data.value||[]).length===0),{setCurrentRow:R,getSelectionRows:z,getHalfSelectionRows:j,toggleRowSelection:$,clearSelection:H,clearFilter:Q,toggleAllSelection:W,toggleRowExpansion:te,clearSort:ee,sort:q,updateKeyChildren:G}=useUtils(y),{isHidden:J,renderExpanded:Z,setDragVisible:ne,isGroup:oe,handleMouseLeave:ae,handleHeaderFooterMousewheel:se,tableSize:de,emptyBlockStyle:ge,resizeProxyVisible:fe,bodyWidth:ie,resizeState:ce,doLayout:pe,tableBodyStyles:le,tableLayout:ue,scrollbarViewStyle:he,scrollbarStyle:ye}=useStyle(n,B,y,k),{scrollBarRef:_e,scrollTo:Ne,setScrollLeft:be,setScrollTop:Ae}=useScrollbar(),Te=debounce$2(pe,50),Ze=createTableId(i.namespace.value),lt=k;k.tableId=Ze,k.state={isGroup:oe,resizeState:ce,doLayout:pe,debouncedUpdateLayout:Te};const Ge=vue.computed(()=>n.sumText??r("el.table.sumText")),st=vue.computed(()=>n.emptyText??r("el.table.emptyText")),Ue=vue.computed(()=>n.tooltipEffect??C.value?.tooltipEffect),De=vue.computed(()=>n.tooltipOptions??C.value?.tooltipOptions),We=vue.computed(()=>convertToRows(y.states.originColumns.value)[0]);return useKeyRender(k),vue.onBeforeUnmount(()=>{Te.cancel()}),t({ns:i,layout:B,store:y,columns:We,handleHeaderFooterMousewheel:se,handleMouseLeave:ae,tableId:Ze,tableSize:de,isHidden:J,isEmpty:L,renderExpanded:Z,resizeProxyVisible:fe,resizeState:ce,isGroup:oe,bodyWidth:ie,tableBodyStyles:le,emptyBlockStyle:ge,debouncedUpdateLayout:Te,setCurrentRow:R,getSelectionRows:z,getHalfSelectionRows:j,toggleRowSelection:$,clearSelection:H,clearFilter:Q,toggleAllSelection:W,toggleRowExpansion:te,clearSort:ee,doLayout:pe,sort:q,updateKeyChildren:G,t:r,setDragVisible:ne,context:lt,computedSumText:Ge,computedEmptyText:st,computedTooltipEffect:Ue,computedTooltipOptions:De,tableLayout:ue,scrollbarViewStyle:he,scrollbarStyle:ye,scrollBarRef:_e,scrollTo:Ne,setScrollLeft:be,setScrollTop:Ae,allowDragLastColumn:n.allowDragLastColumn}),(Ye,Re)=>(vue.openBlock(),vue.createElementBlock("div",{ref:"tableWrapper",class:vue.normalizeClass([{[vue.unref(i).m("fit")]:e.fit,[vue.unref(i).m("striped")]:e.stripe,[vue.unref(i).m("border")]:e.border||vue.unref(oe),[vue.unref(i).m("hidden")]:vue.unref(J),[vue.unref(i).m("group")]:vue.unref(oe),[vue.unref(i).m("fluid-height")]:e.maxHeight,[vue.unref(i).m("scrollable-x")]:vue.unref(B).scrollX.value,[vue.unref(i).m("scrollable-y")]:vue.unref(B).scrollY.value,[vue.unref(i).m("enable-row-hover")]:!vue.unref(y).states.isComplex.value,[vue.unref(i).m("enable-row-transition")]:(vue.unref(y).states.data.value||[]).length!==0&&(vue.unref(y).states.data.value||[]).length<100,"has-footer":e.showSummary},vue.unref(i).m(vue.unref(de)),e.className,vue.unref(i).b(),vue.unref(i).m(`layout-${vue.unref(ue)}`)]),style:vue.normalizeStyle(e.style),"data-prefix":vue.unref(i).namespace.value,onMouseleave:Re[1]||(Re[1]=(...Je)=>vue.unref(ae)&&vue.unref(ae)(...Je))},[vue.createElementVNode("div",{ref:"tableInnerWrapper",class:vue.normalizeClass(vue.unref(i).e("inner-wrapper"))},[vue.createElementVNode("div",_hoisted_2$1f,[vue.renderSlot(Ye.$slots,"default")],512),e.showHeader&&vue.unref(ue)==="fixed"?vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",{key:0,ref:"headerWrapper",class:vue.normalizeClass(vue.unref(i).e("header-wrapper"))},[vue.createElementVNode("table",{ref:"tableHeader",class:vue.normalizeClass(vue.unref(i).e("header")),style:vue.normalizeStyle(vue.unref(le)),border:"0",cellpadding:"0",cellspacing:"0"},[vue.createVNode(vue.unref(hColgroup),{columns:vue.unref(y).states.columns.value,"table-layout":vue.unref(ue)},null,8,["columns","table-layout"]),vue.createVNode(vue.unref(table_header_default),{ref:"tableHeaderRef",border:e.border,"default-sort":e.defaultSort,store:vue.unref(y),"append-filter-panel-to":e.appendFilterPanelTo,"allow-drag-last-column":e.allowDragLastColumn,onSetDragVisible:vue.unref(ne)},null,8,["border","default-sort","store","append-filter-panel-to","allow-drag-last-column","onSetDragVisible"])],6)],2)),[[vue.unref(Mousewheel),vue.unref(se)]]):vue.createCommentVNode("v-if",!0),vue.createElementVNode("div",{ref:"bodyWrapper",class:vue.normalizeClass(vue.unref(i).e("body-wrapper"))},[vue.createVNode(vue.unref(ElScrollbar),{ref_key:"scrollBarRef",ref:_e,"view-style":vue.unref(he),"wrap-style":vue.unref(ye),always:e.scrollbarAlwaysOn,tabindex:e.scrollbarTabindex,native:e.nativeScrollbar,onScroll:Re[0]||(Re[0]=Je=>Ye.$emit("scroll",Je))},{default:vue.withCtx(()=>[vue.createElementVNode("table",{ref:"tableBody",class:vue.normalizeClass(vue.unref(i).e("body")),cellspacing:"0",cellpadding:"0",border:"0",style:vue.normalizeStyle({width:vue.unref(ie),tableLayout:vue.unref(ue)})},[vue.createVNode(vue.unref(hColgroup),{columns:vue.unref(y).states.columns.value,"table-layout":vue.unref(ue)},null,8,["columns","table-layout"]),e.showHeader&&vue.unref(ue)==="auto"?(vue.openBlock(),vue.createBlock(vue.unref(table_header_default),{key:0,ref:"tableHeaderRef",class:vue.normalizeClass(vue.unref(i).e("body-header")),border:e.border,"default-sort":e.defaultSort,store:vue.unref(y),"append-filter-panel-to":e.appendFilterPanelTo,onSetDragVisible:vue.unref(ne)},null,8,["class","border","default-sort","store","append-filter-panel-to","onSetDragVisible"])):vue.createCommentVNode("v-if",!0),vue.createVNode(vue.unref(table_body_default),{context:vue.unref(lt),highlight:e.highlightCurrentRow,"row-class-name":e.rowClassName,"tooltip-effect":Ue.value,"tooltip-options":De.value,"row-style":e.rowStyle,store:vue.unref(y),stripe:e.stripe},null,8,["context","highlight","row-class-name","tooltip-effect","tooltip-options","row-style","store","stripe"]),e.showSummary&&vue.unref(ue)==="auto"?(vue.openBlock(),vue.createBlock(vue.unref(table_footer_default),{key:1,class:vue.normalizeClass(vue.unref(i).e("body-footer")),border:e.border,"default-sort":e.defaultSort,store:vue.unref(y),"sum-text":Ge.value,"summary-method":e.summaryMethod},null,8,["class","border","default-sort","store","sum-text","summary-method"])):vue.createCommentVNode("v-if",!0)],6),L.value?(vue.openBlock(),vue.createElementBlock("div",{key:0,ref:"emptyBlock",style:vue.normalizeStyle(vue.unref(ge)),class:vue.normalizeClass(vue.unref(i).e("empty-block"))},[vue.createElementVNode("span",{class:vue.normalizeClass(vue.unref(i).e("empty-text"))},[vue.renderSlot(Ye.$slots,"empty",{},()=>[vue.createTextVNode(vue.toDisplayString(st.value),1)])],2)],6)):vue.createCommentVNode("v-if",!0),Ye.$slots.append?(vue.openBlock(),vue.createElementBlock("div",{key:1,ref:"appendWrapper",class:vue.normalizeClass(vue.unref(i).e("append-wrapper"))},[vue.renderSlot(Ye.$slots,"append")],2)):vue.createCommentVNode("v-if",!0)]),_:3},8,["view-style","wrap-style","always","tabindex","native"])],2),e.showSummary&&vue.unref(ue)==="fixed"?vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",{key:1,ref:"footerWrapper",class:vue.normalizeClass(vue.unref(i).e("footer-wrapper"))},[vue.createElementVNode("table",{class:vue.normalizeClass(vue.unref(i).e("footer")),cellspacing:"0",cellpadding:"0",border:"0",style:vue.normalizeStyle(vue.unref(le))},[vue.createVNode(vue.unref(hColgroup),{columns:vue.unref(y).states.columns.value,"table-layout":vue.unref(ue)},null,8,["columns","table-layout"]),vue.createVNode(vue.unref(table_footer_default),{border:e.border,"default-sort":e.defaultSort,store:vue.unref(y),"sum-text":Ge.value,"summary-method":e.summaryMethod},null,8,["border","default-sort","store","sum-text","summary-method"])],6)],2)),[[vue.vShow,!L.value],[vue.unref(Mousewheel),vue.unref(se)]]):vue.createCommentVNode("v-if",!0),e.border||vue.unref(oe)?(vue.openBlock(),vue.createElementBlock("div",{key:2,class:vue.normalizeClass(vue.unref(i).e("border-left-patch"))},null,2)):vue.createCommentVNode("v-if",!0)],2),vue.withDirectives(vue.createElementVNode("div",{ref:"resizeProxy",class:vue.normalizeClass(vue.unref(i).e("column-resize-proxy"))},null,2),[[vue.vShow,vue.unref(fe)]])],46,_hoisted_1$1A))}}),table_default=table_vue_vue_type_script_setup_true_lang_default;const tableColumnProps={type:{type:String,default:"default"},label:String,className:String,labelClassName:String,property:String,prop:String,width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},renderHeader:Function,sortable:{type:[Boolean,String],default:!1},sortMethod:Function,sortBy:[String,Function,Array],resizable:{type:Boolean,default:!0},columnKey:String,align:String,headerAlign:String,showOverflowTooltip:{type:[Boolean,Object],default:void 0},tooltipFormatter:Function,fixed:[Boolean,String],formatter:Function,selectable:Function,reserveSelection:Boolean,filterMethod:Function,filteredValue:Array,filters:Array,filterPlacement:String,filterMultiple:{type:Boolean,default:!0},filterClassName:String,index:[Number,Function],sortOrders:{type:Array,default:()=>["ascending","descending",null],validator:e=>e.every(t=>["ascending","descending",null].includes(t))}},defaultClassNames={selection:"table-column--selection",expand:"table__expand-column"},cellStarts={default:{order:""},selection:{width:48,minWidth:48,realWidth:48,order:""},expand:{width:48,minWidth:48,realWidth:48,order:""},index:{width:48,minWidth:48,realWidth:48,order:""}},getDefaultClassName=e=>defaultClassNames[e]||"",cellForced={selection:{renderHeader({store:e}){function t(){return e.states.data.value&&e.states.data.value.length===0}return vue.h(ElCheckbox,{disabled:t(),size:e.states.tableSize.value,indeterminate:e.states.selection.value.length>0&&!e.states.isAllSelected.value,"onUpdate:modelValue":e.toggleAllSelection??void 0,modelValue:e.states.isAllSelected.value,ariaLabel:e.t("el.table.selectAllLabel")})},renderCell({row:e,column:t,store:n,$index:r}){return vue.h(ElCheckbox,{disabled:t.selectable?!t.selectable.call(null,e,r):!1,size:n.states.tableSize.value,onChange:()=>{n.commit("rowSelectedChanged",e)},onClick:i=>i.stopPropagation(),modelValue:n.isSelected(e),indeterminate:n.getRowIndeterminate(e),ariaLabel:n.t("el.table.selectRowLabel")})},sortable:!1,resizable:!1},index:{renderHeader({column:e}){return e.label||"#"},renderCell({column:e,$index:t}){let n=t+1;const r=e.index;return isNumber(r)?n=t+r:shared.isFunction(r)&&(n=r(t)),vue.h("div",{},[n])},sortable:!1},expand:{renderHeader({column:e}){return e.label||""},renderCell({column:e,row:t,store:n,expanded:r,$index:i}){const{ns:C}=n,k=[C.e("expand-icon")];!e.renderExpand&&r&&k.push(C.em("expand-icon","expanded"));const y=function(L){L.stopPropagation(),n.toggleRowExpansion(t)},B=n.states.rowExpandable.value?.(t,i)??!0;return B||k.push(C.is("disabled")),vue.h("button",{type:"button",disabled:!B,"aria-label":n.t(r?"el.table.collapseRowLabel":"el.table.expandRowLabel"),"aria-expanded":r,class:k,onClick:y},{default:()=>e.renderExpand?[e.renderExpand({expanded:r,expandable:B})]:[vue.h(ElIcon,null,{default:()=>[vue.h(arrow_right_default)]})]})},sortable:!1,resizable:!1}};function defaultRenderCell({row:e,column:t,$index:n}){const r=t.property,i=r&&getProp(e,r).value;return t&&t.formatter?t.formatter(e,t,i,n):i?.toString?.()||""}function treeCellPrefix({row:e,treeNode:t,store:n},r=!1){const{ns:i}=n;if(!t)return r?[vue.h("span",{class:i.e("placeholder")})]:null;const C=[],k=function(y){y.stopPropagation(),!t.loading&&n.loadOrToggle(e)};if(t.indent&&C.push(vue.h("span",{class:i.e("indent"),style:{"padding-left":`${t.indent}px`}})),isBoolean(t.expanded)&&!t.noLazyChildren){const y=[i.e("expand-icon"),t.expanded?i.em("expand-icon","expanded"):""];let B=arrow_right_default;t.loading&&(B=loading_default),C.push(vue.h("button",{type:"button","aria-label":n.t(t.expanded?"el.table.collapseRowLabel":"el.table.expandRowLabel"),"aria-expanded":t.expanded,class:y,onClick:k},{default:()=>[vue.h(ElIcon,{class:i.is("loading",t.loading)},{default:()=>[vue.h(B)]})]}))}else C.push(vue.h("span",{class:i.e("placeholder")}));return C}function getAllAliases(e,t){return e.reduce((n,r)=>(n[r]=r,n),t)}function useWatcher(e,t){const n=vue.getCurrentInstance();return{registerComplexWatchers:()=>{const C=["fixed"],k={realWidth:"width",realMinWidth:"minWidth"},y=getAllAliases(C,k);Object.keys(y).forEach(B=>{const L=k[B];shared.hasOwn(t,L)&&vue.watch(()=>t[L],R=>{let z=R;L==="width"&&B==="realWidth"&&(z=parseWidth(R)),L==="minWidth"&&B==="realMinWidth"&&(z=parseMinWidth(R)),n.columnConfig.value[L]=z,n.columnConfig.value[B]=z;const j=L==="fixed";e.value.store.scheduleLayout(j)})})},registerNormalWatchers:()=>{const C=["label","filters","filterMultiple","filteredValue","sortable","index","formatter","className","labelClassName","filterClassName","showOverflowTooltip","tooltipFormatter","resizable"],k=["showOverflowTooltip"],y={property:"prop",align:"realAlign",headerAlign:"realHeaderAlign"},B=getAllAliases(C,y);Object.keys(B).forEach(R=>{const z=y[R];shared.hasOwn(t,z)&&vue.watch(()=>t[z],j=>{n.columnConfig.value[R]=j,(R==="filters"||R==="filterMethod")&&(n.columnConfig.value.filterable=!!(n.columnConfig.value.filters||n.columnConfig.value.filterMethod))})}),k.forEach(R=>{shared.hasOwn(e.value.props,R)&&vue.watch(()=>e.value.props[R],z=>{n.columnConfig.value.type!=="selection"&&isUndefined(t[R])&&(n.columnConfig.value[R]=z)})});const L=useGlobalConfig("table");L.value&&shared.hasOwn(L.value,"showOverflowTooltip")&&vue.watch(()=>L.value?.showOverflowTooltip,R=>{n.columnConfig.value.type!=="selection"&&(!isUndefined(t.showOverflowTooltip)||!isUndefined(e.value.props.showOverflowTooltip)||(n.columnConfig.value.showOverflowTooltip=R))})}}}function useRender(e,t,n){const r=vue.getCurrentInstance(),i=vue.ref(""),C=vue.ref(!1),k=vue.ref(),y=vue.ref(),B=useNamespace("table");vue.watchEffect(()=>{k.value=e.align?`is-${e.align}`:null,k.value}),vue.watchEffect(()=>{y.value=e.headerAlign?`is-${e.headerAlign}`:k.value,y.value});const L=vue.computed(()=>{let G=r.vnode.vParent||r.parent;for(;G&&!G.tableId&&!G.columnId;)G=G.vnode.vParent||G.parent;return G}),R=vue.computed(()=>{const{store:G}=r.parent;if(!G)return!1;const{treeData:J}=G.states,Z=J.value;return Z&&Object.keys(Z).length>0}),z=vue.ref(parseWidth(e.width)),j=vue.ref(parseMinWidth(e.minWidth)),$=G=>(z.value&&(G.width=z.value),j.value&&(G.minWidth=j.value),!z.value&&j.value&&(G.width=void 0),G.minWidth||(G.minWidth=80),G.realWidth=Number(isUndefined(G.width)?G.minWidth:G.width),G),H=G=>{const J=G.type,Z=cellForced[J]||{};Object.keys(Z).forEach(oe=>{const ae=Z[oe];oe!=="className"&&!isUndefined(ae)&&(G[oe]=ae)});const ne=getDefaultClassName(J);if(ne){const oe=`${vue.unref(B.namespace)}-${ne}`;G.className=G.className?`${G.className} ${oe}`:oe}return G},Q=G=>{shared.isArray(G)?G.forEach(Z=>J(Z)):J(G);function J(Z){Z?.type?.name==="ElTableColumn"&&(Z.vParent=r)}};return{columnId:i,realAlign:k,isSubColumn:C,realHeaderAlign:y,columnOrTableParent:L,setColumnWidth:$,setColumnForcedProps:H,setColumnRenders:G=>{e.renderHeader?debugWarn("TableColumn","Comparing to render-header, scoped-slot header is easier to use. We recommend users to use scoped-slot header."):G.type!=="selection"&&(G.renderHeader=Z=>{if(r.columnConfig.value.label,t.header){const ne=t.header(Z);if(ensureValidVNode(ne))return vue.h(vue.Fragment,ne)}return vue.createTextVNode(G.label)}),t["filter-icon"]&&(G.renderFilterIcon=Z=>vue.renderSlot(t,"filter-icon",Z)),t.expand&&(G.renderExpand=Z=>vue.renderSlot(t,"expand",Z));let J=G.renderCell;return G.type==="expand"?(G.renderCell=Z=>vue.h("div",{class:"cell"},[J(Z)]),n.value.renderExpanded=Z=>t.default?t.default(Z):t.default):(J=J||defaultRenderCell,G.renderCell=Z=>{let ne=null;if(t.default){const ge=t.default(Z);ne=ge.some(fe=>fe.type!==vue.Comment)?ge:J(Z)}else ne=J(Z);const{columns:oe}=n.value.store.states,ae=oe.value.findIndex(ge=>ge.type==="default"),se=treeCellPrefix(Z,R.value&&Z.cellIndex===ae),de={class:"cell",style:{}};return G.showOverflowTooltip&&(de.class=`${de.class} ${vue.unref(B.namespace)}-tooltip`,de.style={width:`${(Z.column.realWidth||Number(Z.column.width))-1}px`}),Q(ne),vue.h("div",de,[se,ne])}),G},getPropsData:(...G)=>G.reduce((J,Z)=>(shared.isArray(Z)&&Z.forEach(ne=>{J[ne]=e[ne]}),J),{}),getColumnElIndex:(G,J)=>Array.prototype.indexOf.call(G,J),updateColumnOrder:()=>{n.value.store.commit("updateColumnOrder",r.columnConfig.value)}}}var index_vue_vue_type_script_setup_true_lang_default=vue.defineComponent({name:"ElTableColumn",__name:"index",props:tableColumnProps,setup(e){const t=e,n=vue.useSlots(),r=vue.getCurrentInstance(),i=useGlobalConfig("table"),C=vue.ref({}),k=vue.computed(()=>{let Z=r.parent;for(;Z&&!Z.tableId;)Z=Z.parent;return Z}),{registerNormalWatchers:y,registerComplexWatchers:B}=useWatcher(k,t),{columnId:L,isSubColumn:R,realHeaderAlign:z,columnOrTableParent:j,setColumnWidth:$,setColumnForcedProps:H,setColumnRenders:Q,getPropsData:W,getColumnElIndex:te,realAlign:ee,updateColumnOrder:q}=useRender(t,n,k),G=j.value;L.value=createTableColumnId("tableId"in G?G.tableId:G.columnId),vue.onBeforeMount(()=>{R.value=k.value!==G;const Z=t.type||"default",ne=t.sortable===""?!0:t.sortable,oe=Z==="selection"?!1:isUndefined(t.showOverflowTooltip)?G.props.showOverflowTooltip??i.value?.showOverflowTooltip:t.showOverflowTooltip,ae=isUndefined(t.tooltipFormatter)?G.props.tooltipFormatter??i.value?.tooltipFormatter:t.tooltipFormatter,se={...cellStarts[Z],id:L.value,type:Z,property:t.prop||t.property,align:ee,headerAlign:z,showOverflowTooltip:oe,tooltipFormatter:ae,filterable:t.filters||t.filterMethod,filteredValue:[],filterPlacement:"",filterClassName:"",isColumnGroup:!1,isSubColumn:!1,filterOpened:!1,sortable:ne,index:t.index,rawColumnKey:r.vnode.key};let de=W(["columnKey","label","className","labelClassName","type","renderHeader","formatter","fixed","resizable"],["sortMethod","sortBy","sortOrders"],["selectable","reserveSelection"],["filterMethod","filters","filterMultiple","filterOpened","filteredValue","filterPlacement","filterClassName"]);de=mergeOptions(se,de),de=compose(Q,$,H)(de),C.value=de,y(),B()}),vue.onMounted(()=>{const Z=j.value,ne=R.value?Z.vnode.el?.children:Z.refs.hiddenColumns?.children,oe=()=>te(ne||[],r.vnode.el);C.value.getColumnIndex=oe,oe()>-1&&k.value.store.commit("insertColumn",C.value,R.value?"columnConfig"in Z&&Z.columnConfig.value:null,q)}),vue.onBeforeUnmount(()=>{const Z=C.value.getColumnIndex;(Z?Z():-1)>-1&&k.value.store.commit("removeColumn",C.value,R.value?"columnConfig"in G&&G.columnConfig.value:null,q)}),r.columnId=L.value,r.columnConfig=C;const J=()=>{try{const Z=n.default?.({row:{},column:{},$index:-1}),ne=[];if(shared.isArray(Z))for(const oe of Z)oe.type?.name==="ElTableColumn"||oe.shapeFlag&2?ne.push(oe):oe.type===vue.Fragment&&shared.isArray(oe.children)&&oe.children.forEach(ae=>{ae?.patchFlag!==1024&&!shared.isString(ae?.children)&&ne.push(ae)});return vue.h("div",ne)}catch{return vue.h("div",[])}};return(Z,ne)=>(vue.openBlock(),vue.createBlock(J))}}),table_column_default$1=index_vue_vue_type_script_setup_true_lang_default,table_column_default=table_column_default$1,tableColumn_default=table_column_default;const ElTable=withInstall(table_default,{TableColumn:tableColumn_default}),ElTableColumn=withNoopInstall(tableColumn_default),SCOPE$1="ElUpload";var UploadAjaxError=class extends Error{constructor(e,t,n,r){super(e),this.name="UploadAjaxError",this.status=t,this.method=n,this.url=r}};function getError(e,t,n){let r;return n.response?r=`${n.response.error||n.response}`:n.responseText?r=`${n.responseText}`:r=`fail to ${t.method} ${e} ${n.status}`,new UploadAjaxError(r,n.status,t.method,e)}function getBody(e){const t=e.responseText||e.response;if(!t)return t;try{return JSON.parse(t)}catch{return t}}const ajaxUpload=e=>{typeof XMLHttpRequest>"u"&&throwError(SCOPE$1,"XMLHttpRequest is undefined");const t=new XMLHttpRequest,n=e.action;t.upload&&t.upload.addEventListener("progress",C=>{const k=C;k.percent=C.total>0?C.loaded/C.total*100:0,e.onProgress(k)});const r=new FormData;if(e.data)for(const[C,k]of Object.entries(e.data))shared.isArray(k)?k.length===2&&k[0]instanceof Blob&&shared.isString(k[1])?r.append(C,k[0],k[1]):k.forEach(y=>{r.append(C,y)}):r.append(C,k);r.append(e.filename,e.file,e.file.name),t.addEventListener("error",()=>{e.onError(getError(n,e,t))}),t.addEventListener("load",()=>{if(t.status<200||t.status>=300)return e.onError(getError(n,e,t));e.onSuccess(getBody(t))}),t.open(e.method,n,!0),e.withCredentials&&"withCredentials"in t&&(t.withCredentials=!0);const i=e.headers||{};if(i instanceof Headers)i.forEach((C,k)=>t.setRequestHeader(k,C));else for(const[C,k]of Object.entries(i))isNil(k)||t.setRequestHeader(C,String(k));return t.send(r),t},uploadListTypes=["text","picture","picture-card"];let fileId=1;const genFileId=()=>Date.now()+fileId++,uploadBaseProps=buildProps({action:{type:String,default:"#"},headers:{type:definePropType(Object)},method:{type:String,default:"post"},data:{type:definePropType([Object,Function,Promise]),default:()=>mutable({})},multiple:Boolean,name:{type:String,default:"file"},drag:Boolean,withCredentials:Boolean,showFileList:{type:Boolean,default:!0},accept:{type:String,default:""},fileList:{type:definePropType(Array),default:()=>mutable([])},autoUpload:{type:Boolean,default:!0},listType:{type:String,values:uploadListTypes,default:"text"},httpRequest:{type:definePropType(Function),default:ajaxUpload},disabled:{type:Boolean,default:void 0},limit:Number,directory:Boolean}),uploadProps=buildProps({...uploadBaseProps,beforeUpload:{type:definePropType(Function),default:shared.NOOP},beforeRemove:{type:definePropType(Function)},onRemove:{type:definePropType(Function),default:shared.NOOP},onChange:{type:definePropType(Function),default:shared.NOOP},onPreview:{type:definePropType(Function),default:shared.NOOP},onSuccess:{type:definePropType(Function),default:shared.NOOP},onProgress:{type:definePropType(Function),default:shared.NOOP},onError:{type:definePropType(Function),default:shared.NOOP},onExceed:{type:definePropType(Function),default:shared.NOOP},crossorigin:{type:definePropType(String)}}),uploadContextKey=Symbol("uploadContextKey"),uploadListProps=buildProps({files:{type:definePropType(Array),default:()=>mutable([])},disabled:{type:Boolean,default:void 0},handlePreview:{type:definePropType(Function),default:shared.NOOP},listType:{type:String,values:uploadListTypes,default:"text"},crossorigin:{type:definePropType(String)}}),uploadListEmits={remove:e=>!!e},uploadContentProps=buildProps({...uploadBaseProps,beforeUpload:{type:definePropType(Function),default:shared.NOOP},onRemove:{type:definePropType(Function),default:shared.NOOP},onStart:{type:definePropType(Function),default:shared.NOOP},onSuccess:{type:definePropType(Function),default:shared.NOOP},onProgress:{type:definePropType(Function),default:shared.NOOP},onError:{type:definePropType(Function),default:shared.NOOP},onExceed:{type:definePropType(Function),default:shared.NOOP}}),uploadDraggerProps=buildProps({disabled:{type:Boolean,default:void 0},directory:Boolean}),uploadDraggerEmits={file:e=>shared.isArray(e)},_hoisted_1$1z=["tabindex","aria-disabled","onKeydown"],_hoisted_2$1e=["src","crossorigin"],_hoisted_3$Z=["onClick"],_hoisted_4$J=["title"],_hoisted_5$z=["onClick"],_hoisted_6$r=["onClick"];var upload_list_vue_vue_type_script_setup_true_lang_default=vue.defineComponent({name:"ElUploadList",__name:"upload-list",props:uploadListProps,emits:uploadListEmits,setup(e,{emit:t}){const n=e,r=t,{t:i}=useLocale(),C=useNamespace("upload"),k=useNamespace("icon"),y=useNamespace("list"),B=useFormDisabled(),L=vue.ref(!1),R=vue.computed(()=>[C.b("list"),C.bm("list",n.listType),C.is("disabled",B.value)]),z=j=>{r("remove",j)};return(j,$)=>(vue.openBlock(),vue.createBlock(vue.TransitionGroup,{tag:"ul",class:vue.normalizeClass(R.value),name:vue.unref(y).b()},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.files,(H,Q)=>(vue.openBlock(),vue.createElementBlock("li",{key:H.uid||H.name,class:vue.normalizeClass([vue.unref(C).be("list","item"),vue.unref(C).is(H.status),{focusing:L.value}]),tabindex:vue.unref(B)?void 0:0,"aria-disabled":vue.unref(B),role:"button",onKeydown:vue.withKeys(W=>!vue.unref(B)&&z(H),["delete"]),onFocus:$[0]||($[0]=W=>L.value=!0),onBlur:$[1]||($[1]=W=>L.value=!1),onClick:$[2]||($[2]=W=>L.value=!1)},[vue.renderSlot(j.$slots,"default",{file:H,index:Q},()=>[e.listType==="picture"||H.status!=="uploading"&&e.listType==="picture-card"?(vue.openBlock(),vue.createElementBlock("img",{key:0,class:vue.normalizeClass(vue.unref(C).be("list","item-thumbnail")),src:H.url,crossorigin:e.crossorigin,alt:""},null,10,_hoisted_2$1e)):vue.createCommentVNode("v-if",!0),H.status==="uploading"||e.listType!=="picture-card"?(vue.openBlock(),vue.createElementBlock("div",{key:1,class:vue.normalizeClass(vue.unref(C).be("list","item-info"))},[vue.createElementVNode("a",{class:vue.normalizeClass(vue.unref(C).be("list","item-name")),onClick:vue.withModifiers(W=>e.handlePreview(H),["prevent"])},[vue.createVNode(vue.unref(ElIcon),{class:vue.normalizeClass(vue.unref(k).m("document"))},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(document_default))]),_:1},8,["class"]),vue.createElementVNode("span",{class:vue.normalizeClass(vue.unref(C).be("list","item-file-name")),title:H.name},vue.toDisplayString(H.name),11,_hoisted_4$J)],10,_hoisted_3$Z),H.status==="uploading"?(vue.openBlock(),vue.createBlock(vue.unref(ElProgress),{key:0,type:e.listType==="picture-card"?"circle":"line","stroke-width":e.listType==="picture-card"?6:2,percentage:Number(H.percentage),style:vue.normalizeStyle(e.listType==="picture-card"?"":"margin-top: 0.5rem")},null,8,["type","stroke-width","percentage","style"])):vue.createCommentVNode("v-if",!0)],2)):vue.createCommentVNode("v-if",!0),vue.createElementVNode("label",{class:vue.normalizeClass(vue.unref(C).be("list","item-status-label"))},[e.listType==="text"?(vue.openBlock(),vue.createBlock(vue.unref(ElIcon),{key:0,class:vue.normalizeClass([vue.unref(k).m("upload-success"),vue.unref(k).m("circle-check")])},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(circle_check_default))]),_:1},8,["class"])):["picture-card","picture"].includes(e.listType)?(vue.openBlock(),vue.createBlock(vue.unref(ElIcon),{key:1,class:vue.normalizeClass([vue.unref(k).m("upload-success"),vue.unref(k).m("check")])},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(check_default))]),_:1},8,["class"])):vue.createCommentVNode("v-if",!0)],2),vue.unref(B)?vue.createCommentVNode("v-if",!0):(vue.openBlock(),vue.createBlock(vue.unref(ElIcon),{key:2,class:vue.normalizeClass(vue.unref(k).m("close")),"aria-label":vue.unref(i)("el.upload.delete"),role:"button",tabindex:"0",onClick:W=>z(H),onKeydown:vue.withKeys(vue.withModifiers(W=>z(H),["prevent"]),["enter","space"])},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(close_default))]),_:1},8,["class","aria-label","onClick","onKeydown"])),vue.unref(B)?vue.createCommentVNode("v-if",!0):(vue.openBlock(),vue.createElementBlock("i",{key:3,class:vue.normalizeClass(vue.unref(k).m("close-tip"))},vue.toDisplayString(vue.unref(i)("el.upload.deleteTip")),3)),e.listType==="picture-card"?(vue.openBlock(),vue.createElementBlock("span",{key:4,class:vue.normalizeClass(vue.unref(C).be("list","item-actions"))},[vue.createElementVNode("span",{class:vue.normalizeClass(vue.unref(C).be("list","item-preview")),onClick:W=>e.handlePreview(H)},[vue.createVNode(vue.unref(ElIcon),{class:vue.normalizeClass(vue.unref(k).m("zoom-in"))},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(zoom_in_default))]),_:1},8,["class"])],10,_hoisted_5$z),vue.unref(B)?vue.createCommentVNode("v-if",!0):(vue.openBlock(),vue.createElementBlock("span",{key:0,class:vue.normalizeClass(vue.unref(C).be("list","item-delete")),onClick:W=>z(H)},[vue.createVNode(vue.unref(ElIcon),{class:vue.normalizeClass(vue.unref(k).m("delete"))},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(delete_default))]),_:1},8,["class"])],10,_hoisted_6$r))],2)):vue.createCommentVNode("v-if",!0)])],42,_hoisted_1$1z))),128)),vue.renderSlot(j.$slots,"append")]),_:3},8,["class","name"]))}}),upload_list_default=upload_list_vue_vue_type_script_setup_true_lang_default;const COMPONENT_NAME="ElUploadDrag";var upload_dragger_vue_vue_type_script_setup_true_lang_default=vue.defineComponent({name:COMPONENT_NAME,__name:"upload-dragger",props:uploadDraggerProps,emits:uploadDraggerEmits,setup(e,{emit:t}){const n=e,r=t;vue.inject(uploadContextKey)||throwError(COMPONENT_NAME,"usage: <el-upload><el-upload-dragger /></el-upload>");const i=useNamespace("upload"),C=vue.ref(!1),k=useFormDisabled(),y=j=>new Promise(($,H)=>j.file($,H)),B=async j=>{try{if(j.isFile){const $=await y(j);return $.isDirectory=!1,[$]}if(j.isDirectory){const $=j.createReader(),H=()=>new Promise((ee,q)=>$.readEntries(ee,q)),Q=[];let W=await H();for(;W.length>0;)Q.push(...W),W=await H();const te=Q.map(ee=>B(ee).catch(()=>[]));return flatten(await Promise.all(te))}}catch{return[]}return[]},L=async j=>{if(k.value)return;C.value=!1,j.stopPropagation();const $=Array.from(j.dataTransfer.files),H=j.dataTransfer.items||[];if(n.directory){const Q=Array.from(H).map(W=>W?.webkitGetAsEntry?.()).filter(W=>W);r("file",flatten(await Promise.all(Q.map(B))));return}$.forEach((Q,W)=>{const te=H[W]?.webkitGetAsEntry?.();te&&(Q.isDirectory=te.isDirectory)}),r("file",$)},R=()=>{k.value||(C.value=!0)},z=j=>{j.currentTarget.contains(j.relatedTarget)||(C.value=!1)};return(j,$)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass([vue.unref(i).b("dragger"),vue.unref(i).is("dragover",C.value)]),onDrop:vue.withModifiers(L,["prevent"]),onDragover:vue.withModifiers(R,["prevent"]),onDragleave:vue.withModifiers(z,["prevent"])},[vue.renderSlot(j.$slots,"default")],34))}}),upload_dragger_default=upload_dragger_vue_vue_type_script_setup_true_lang_default;const _hoisted_1$1y=["tabindex","aria-disabled","onKeydown"],_hoisted_2$1d=["name","disabled","multiple","accept","webkitdirectory"];var upload_content_vue_vue_type_script_setup_true_lang_default=vue.defineComponent({name:"ElUploadContent",inheritAttrs:!1,__name:"upload-content",props:uploadContentProps,setup(e,{expose:t}){const n=e,r=useNamespace("upload"),i=useFormDisabled(),C=vue.shallowRef({}),k=vue.shallowRef(),y=Q=>{if(Q.length===0)return;const{autoUpload:W,limit:te,fileList:ee,multiple:q,onStart:G,onExceed:J}=n;if(te&&ee.length+Q.length>te){J(Q,ee);return}q||(Q=Q.slice(0,1));for(const Z of Q){const ne=Z;ne.uid=genFileId(),G(ne),W&&B(ne)}},B=async Q=>{if(k.value.value="",!n.beforeUpload)return R(Q);let W,te={};try{const q=n.data,G=n.beforeUpload(Q);te=shared.isPlainObject(n.data)?cloneDeep(n.data):n.data,W=await G,shared.isPlainObject(n.data)&&isEqual(q,te)&&(te=cloneDeep(n.data))}catch{W=!1}if(W===!1){n.onRemove(Q);return}let ee=Q;W instanceof Blob&&(W instanceof File?ee=W:ee=new File([W],Q.name,{type:Q.type})),R(Object.assign(ee,{uid:Q.uid}),te)},L=async(Q,W)=>shared.isFunction(Q)?Q(W):Q,R=async(Q,W)=>{const{headers:te,data:ee,method:q,withCredentials:G,name:J,action:Z,onProgress:ne,onSuccess:oe,onError:ae,httpRequest:se}=n;try{W=await L(W??ee,Q)}catch{n.onRemove(Q);return}const{uid:de}=Q,ge={headers:te||{},withCredentials:G,file:Q,data:W,method:q,filename:J,action:Z,onProgress:ie=>{ne(ie,Q)},onSuccess:ie=>{oe(ie,Q),delete C.value[de]},onError:ie=>{ae(ie,Q),delete C.value[de]}},fe=se(ge);C.value[de]=fe,fe instanceof Promise&&fe.then(ge.onSuccess,ge.onError)},z=Q=>{const W=Q.target.files;W&&y(Array.from(W))},j=()=>{i.value||(k.value.value="",k.value.click())},$=()=>{j()};return t({abort:Q=>{entriesOf(C.value).filter(Q?([W])=>String(Q.uid)===W:()=>!0).forEach(([W,te])=>{te instanceof XMLHttpRequest&&te.abort(),delete C.value[W]})},upload:B}),(Q,W)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass([vue.unref(r).b(),vue.unref(r).m(e.listType),vue.unref(r).is("drag",e.drag),vue.unref(r).is("disabled",vue.unref(i))]),tabindex:vue.unref(i)?void 0:0,"aria-disabled":vue.unref(i),role:"button",onClick:j,onKeydown:vue.withKeys(vue.withModifiers($,["self"]),["enter","space"])},[e.drag?(vue.openBlock(),vue.createBlock(upload_dragger_default,{key:0,disabled:vue.unref(i),directory:e.directory,onFile:y},{default:vue.withCtx(()=>[vue.renderSlot(Q.$slots,"default")]),_:3},8,["disabled","directory"])):vue.renderSlot(Q.$slots,"default",{key:1}),vue.createElementVNode("input",{ref_key:"inputRef",ref:k,class:vue.normalizeClass(vue.unref(r).e("input")),name:e.name,disabled:vue.unref(i),multiple:e.multiple,accept:e.accept,webkitdirectory:e.directory||void 0,type:"file",onChange:z,onClick:W[0]||(W[0]=vue.withModifiers(()=>{},["stop"]))},null,42,_hoisted_2$1d)],42,_hoisted_1$1y))}}),upload_content_default=upload_content_vue_vue_type_script_setup_true_lang_default;const SCOPE="ElUpload",revokeFileObjectURL=e=>{e.url?.startsWith("blob:")&&URL.revokeObjectURL(e.url)},useHandlers=(e,t)=>{const n=useVModel(e,"fileList",void 0,{passive:!0}),r=H=>n.value.find(Q=>Q.uid===H.uid);function i(H){t.value?.abort(H)}function C(H=["ready","uploading","success","fail"]){n.value=n.value.filter(Q=>!H.includes(Q.status))}function k(H){n.value=n.value.filter(Q=>Q.uid!==H.uid)}const y=H=>{vue.nextTick(()=>e.onChange(H,n.value))},B=(H,Q)=>{const W=r(Q);W&&(console.error(H),W.status="fail",k(W),e.onError(H,W,n.value),y(W))},L=(H,Q)=>{const W=r(Q);W&&(e.onProgress(H,W,n.value),W.status="uploading",W.percentage=Math.round(H.percent))},R=(H,Q)=>{const W=r(Q);W&&(W.status="success",W.response=H,e.onSuccess(H,W,n.value),y(W))},z=H=>{isNil(H.uid)&&(H.uid=genFileId());const Q={name:H.name,percentage:0,status:"ready",size:H.size,raw:H,uid:H.uid};if(e.listType==="picture-card"||e.listType==="picture")try{Q.url=URL.createObjectURL(H)}catch(W){debugWarn(SCOPE,W.message),e.onError(W,Q,n.value)}n.value=[...n.value,Q],y(Q)},j=async H=>{const Q=H instanceof File?r(H):H;Q||throwError(SCOPE,"file to be removed not found");const W=te=>{i(te),k(te),e.onRemove(te,n.value),revokeFileObjectURL(te)};e.beforeRemove?await e.beforeRemove(Q,n.value)!==!1&&W(Q):W(Q)};function $(){n.value.filter(({status:H})=>H==="ready").forEach(({raw:H})=>H&&t.value?.upload(H))}return vue.watch(()=>e.listType,H=>{H!=="picture-card"&&H!=="picture"||(n.value=n.value.map(Q=>{const{raw:W,url:te}=Q;if(!te&&W)try{Q.url=URL.createObjectURL(W)}catch(ee){e.onError(ee,Q,n.value)}return Q}))}),vue.watch(n,H=>{for(const Q of H)Q.uid||=genFileId(),Q.status||="success"},{immediate:!0,deep:!0}),{uploadFiles:n,abort:i,clearFiles:C,handleError:B,handleProgress:L,handleStart:z,handleSuccess:R,handleRemove:j,submit:$,revokeFileObjectURL}};var upload_vue_vue_type_script_setup_true_lang_default=vue.defineComponent({name:"ElUpload",__name:"upload",props:uploadProps,setup(e,{expose:t}){const n=e,r=useFormDisabled(),i=vue.shallowRef(),{abort:C,submit:k,clearFiles:y,uploadFiles:B,handleStart:L,handleError:R,handleRemove:z,handleSuccess:j,handleProgress:$,revokeFileObjectURL:H}=useHandlers(n,i),Q=vue.computed(()=>n.listType==="picture-card"),W=vue.computed(()=>({...n,fileList:B.value,onStart:L,onProgress:$,onSuccess:j,onError:R,onRemove:z}));return vue.onBeforeUnmount(()=>{B.value.forEach(H)}),vue.provide(uploadContextKey,{accept:vue.toRef(n,"accept")}),t({abort:C,submit:k,clearFiles:y,handleStart:L,handleRemove:z}),(te,ee)=>(vue.openBlock(),vue.createElementBlock("div",null,[Q.value&&e.showFileList?(vue.openBlock(),vue.createBlock(upload_list_default,{key:0,disabled:vue.unref(r),"list-type":e.listType,files:vue.unref(B),crossorigin:e.crossorigin,"handle-preview":e.onPreview,onRemove:vue.unref(z)},vue.createSlots({append:vue.withCtx(()=>[vue.createVNode(upload_content_default,vue.mergeProps({ref_key:"uploadRef",ref:i},W.value),{default:vue.withCtx(()=>[te.$slots.trigger?vue.renderSlot(te.$slots,"trigger",{key:0}):vue.createCommentVNode("v-if",!0),!te.$slots.trigger&&te.$slots.default?vue.renderSlot(te.$slots,"default",{key:1}):vue.createCommentVNode("v-if",!0)]),_:3},16)]),_:2},[te.$slots.file?{name:"default",fn:vue.withCtx(({file:q,index:G})=>[vue.renderSlot(te.$slots,"file",{file:q,index:G})]),key:"0"}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):vue.createCommentVNode("v-if",!0),!Q.value||Q.value&&!e.showFileList?(vue.openBlock(),vue.createBlock(upload_content_default,vue.mergeProps({key:1,ref_key:"uploadRef",ref:i},W.value),{default:vue.withCtx(()=>[te.$slots.trigger?vue.renderSlot(te.$slots,"trigger",{key:0}):vue.createCommentVNode("v-if",!0),!te.$slots.trigger&&te.$slots.default?vue.renderSlot(te.$slots,"default",{key:1}):vue.createCommentVNode("v-if",!0)]),_:3},16)):vue.createCommentVNode("v-if",!0),te.$slots.trigger?vue.renderSlot(te.$slots,"default",{key:2}):vue.createCommentVNode("v-if",!0),vue.renderSlot(te.$slots,"tip"),!Q.value&&e.showFileList?(vue.openBlock(),vue.createBlock(upload_list_default,{key:3,disabled:vue.unref(r),"list-type":e.listType,files:vue.unref(B),crossorigin:e.crossorigin,"handle-preview":e.onPreview,onRemove:vue.unref(z)},vue.createSlots({_:2},[te.$slots.file?{name:"default",fn:vue.withCtx(({file:q,index:G})=>[vue.renderSlot(te.$slots,"file",{file:q,index:G})]),key:"0"}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):vue.createCommentVNode("v-if",!0)]))}}),upload_default=upload_vue_vue_type_script_setup_true_lang_default;const ElUpload=withInstall(upload_default),_hoisted_1$1x={class:"tag-checkbox"},_hoisted_2$1c={key:0},_hoisted_3$Y={key:1,class:"rf-view-value"},_sfc_main$1F=vue.defineComponent({__name:"TagCheckbox",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{default:()=>[]},disabled:{type:Boolean,default:!1},fullVariableList:{default:()=>[]}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.inject("getFormData"),k=vue.inject("onHookForm"),y=vue.inject("getParent"),L=vue.useAttrs().items||[],R=vue.ref(L),z=vue.getCurrentInstance(),j=useFormMixins({attrs:{disabled:{type:Boolean,default:!1},value:{type:[Array,String],default:()=>[]}},emit:(te,...ee)=>{te==="change"?i("change",ee[0],ee[1]):te==="init"?i("init",ee[0]):te==="onShow"?i("onShow"):te==="onHide"&&i("onHide")},getFormData:C,onHookForm:k,getParent:y});vue.onMounted(()=>{z?.proxy&&Object.defineProperty(z.proxy,"items",{get(){return R.value},set(te){Array.isArray(te)&&te.length>0&&(R.value=te)},enumerable:!0,configurable:!0})}),j.setupLifecycle(r,r);const $=vue.computed(()=>r.modelValue),H=te=>{j.updateForm(te)},Q=vue.computed(()=>R.value.length===1&&!R.value[0].label?Array.isArray($.value)&&$.value.length?"是":"否":!Array.isArray($.value)||!$.value.length?"--":$.value.map(te=>{let ee=te;return R.value.some(q=>q.value===te?(ee=q.name,!0):!1),ee}).join(","));return t({validate:te=>j.validate(void 0,r.validation,te!==void 0?te:r.modelValue,r.parentValue,r.validateSet)}),(te,ee)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1x,[e.formMode?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$1c,[vue.createVNode(vue.unref(ElCheckboxGroup),{"model-value":$.value,"onUpdate:modelValue":H},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(R.value,q=>(vue.openBlock(),vue.createElementBlock("div",{class:"checkbox-item",key:q.name},[vue.createVNode(vue.unref(ElCheckbox),{value:q.value,disabled:!e.formEdit||e.disabled},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(q.name),1)]),_:2},1032,["value","disabled"])]))),128))]),_:1},8,["model-value","onUpdate:modelValue"]),vue.withDirectives(vue.createElementVNode("span",{class:"common-error-tip error-info"},vue.toDisplayString(vue.unref(j).validateInfo.message),513),[[vue.vShow,!vue.unref(j).validateInfo.valid]])])):(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$Y,vue.toDisplayString(Q.value),1))]))}}),TagCheckbox=_export_sfc(_sfc_main$1F,[["__scopeId","data-v-7fac6b2a"]]),__vite_glob_0_1=Object.freeze(Object.defineProperty({__proto__:null,default:TagCheckbox},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1w={class:"tag-code-editor"},_hoisted_2$1b={key:0,class:"control-header"},_hoisted_3$X={class:"language-select"},_sfc_main$1E=vue.defineComponent({__name:"TagCodeEditor",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{default:""},language:{default:"python"},height:{default:"100px"},showMiniMap:{type:Boolean,default:!1},showLanguageSwitch:{type:Boolean,default:!0},readOnly:{type:Boolean,default:!1},fullVariableList:{default:()=>[]}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.inject("getFormData"),k=vue.inject("onHookForm"),y=vue.inject("getParent"),B=useFormMixins({attrs:{language:{type:String,default:"python"},height:{type:String,default:"100px"},showMiniMap:{type:Boolean,default:!1},showLanguageSwitch:{type:Boolean,default:!0},readOnly:{type:Boolean,default:!1},value:{type:[String,Object],default:""}},emit:(q,...G)=>{q==="change"?i("change",G[0],G[1]):q==="init"?i("init",G[0]):q==="onShow"?i("onShow"):q==="onHide"&&i("onHide")},getFormData:C,onHookForm:k,getParent:y});B.setupLifecycle(r,r);const L=vue.ref(!1),R=vue.ref(r.language),z=["javascript","typescript","json","python","shell"],j=vue.computed(()=>!r.formEdit||r.readOnly),$=vue.computed(()=>typeof r.modelValue=="string"?r.modelValue:JSON.stringify(r.modelValue,null,4)),H=q=>{R.value=q},Q=q=>{B.updateForm(q)},W=()=>{te()},te=()=>{L.value=!0,vue.nextTick(()=>{L.value=!1})};return vue.watch(()=>r.formEdit,()=>{W()}),vue.watch(()=>r.readOnly,()=>{W()}),t({validate:q=>B.validate(void 0,r.validation,q!==void 0?q:r.modelValue,r.parentValue,r.validateSet)}),(q,G)=>{const J=vue.resolveComponent("bk-option"),Z=vue.resolveComponent("bk-select");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1w,[e.showLanguageSwitch?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$1b,[vue.createElementVNode("div",_hoisted_3$X,[vue.createVNode(Z,{"model-value":R.value,"onUpdate:modelValue":H,clearable:!1,size:"mini",style:{width:"120px"},onChange:W},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(z,ne=>vue.createVNode(J,{key:ne,name:ne,id:ne},null,8,["name","id"])),64))]),_:1},8,["model-value"])])])):vue.createCommentVNode("",!0),vue.createElementVNode("div",{style:vue.normalizeStyle({height:e.height}),class:"code-editor-wrap"},[L.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(CodeEditor,{key:0,ref:"tagCodeEditorRef","model-value":$.value,"onUpdate:modelValue":Q,options:{language:R.value,readOnly:j.value,minimap:{enabled:e.showMiniMap}}},null,8,["model-value","options"])),vue.withDirectives(vue.createElementVNode("span",{class:"common-error-tip error-info"},vue.toDisplayString(vue.unref(B).validateInfo.message),513),[[vue.vShow,!vue.unref(B).validateInfo.valid]])],4)])}}}),TagCodeEditor=_export_sfc(_sfc_main$1E,[["__scopeId","data-v-df8cbaa3"]]),__vite_glob_0_2=Object.freeze(Object.defineProperty({__proto__:null,default:TagCodeEditor},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1v={class:"tag-datatable"},_hoisted_2$1a={key:0,class:"button-area"},_hoisted_3$W={key:1,class:"rf-view-value"},_hoisted_4$I={key:0,class:"row-actions"},_hoisted_5$y={key:1,class:"row-actions"},_sfc_main$1D=vue.defineComponent({__name:"TagDatatable",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{default:()=>[]},columns:{default:()=>[{tag_code:"name",type:"text",attrs:{name:"参数名称"}},{tag_code:"type",type:"text",attrs:{name:"参数类型",hidden:!0}},{tag_code:"value",type:"textarea",attrs:{name:"参数值",editable:!0}}]},editable:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},rowEditable:{type:Boolean,default:!0},deleteable:{type:Boolean,default:!0},add_btn:{type:Boolean,default:!1},empty_text:{default:"无数据"},remote_url:{type:[String,Function],default:""},remote_data_init:{type:Function,default:e=>e},table_buttons:{default:()=>[]},pagination:{type:Boolean,default:!0},page_size:{default:10},row_click_handler:{type:Function,default:()=>{}},row_draggable:{type:Boolean,default:!1},fullVariableList:{default:()=>[]}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.inject("getFormData"),k=vue.inject("getParent"),y=useFormMixins({attrs:{columns:{type:Array,default:()=>[]},editable:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},rowEditable:{type:Boolean,default:!0},deleteable:{type:Boolean,default:!0},value:{type:[Array,String],default:()=>[]},add_btn:{type:Boolean,default:!1},empty_text:{type:String,default:"无数据"},remote_url:{type:[String,Function],default:""},remote_data_init:{type:Function,default:be=>be},table_buttons:{type:Array,default:()=>[]},pagination:{type:Boolean,default:!0},page_size:{type:Number,default:10},row_click_handler:{type:Function,default:()=>{}},row_draggable:{type:Boolean,default:!1}},emit:(be,...Ae)=>{be==="change"?i("change",Ae[0],Ae[1]):be==="init"?i("init",Ae[0]):be==="onShow"?i("onShow"):be==="onHide"&&i("onHide")},getFormData:C,getParent:k});y.setupLifecycle(r,r);const B=vue.ref(),L=vue.ref(null),R=vue.ref([]),z=vue.ref(void 0),j=vue.ref(Array.isArray(r.modelValue)?lodash$1.cloneDeep(r.modelValue):[]),$=vue.ref(!1),H=vue.ref(1),Q=vue.ref({}),W={save_text:"保存",cancel_text:"取消",edit_text:"编辑",operate_text:"操作",delete_text:"删除",add_text:"添加"},te=vue.computed(()=>{if(r.pagination){const be=(H.value-1)*r.page_size;return j.value.slice(be,be+r.page_size)}return j.value}),ee=(be,Ae,Te,Ze)=>{if(be){const Ge=`row_${r.pagination?(H.value-1)*r.page_size+Ae:Ae}_${Te}_${Ze}`;Q.value[Ge]=be}},q=be=>{const Ae=r.pagination?(H.value-1)*r.page_size+be:be;return{showHook:!1,showGroup:!1,showLabel:!1,editable:z.value===Ae,formMode:z.value===Ae,validateSet:["required","custom","regex"]}},G=()=>{const be=B.value?.$el;if(J(),be){const Ae=be.querySelector(".el-table__body-wrapper tbody");Ae&&(L.value=Sortable.create(Ae,{onEnd({oldIndex:Te,newIndex:Ze}){if(Te==null||Ze==null)return;let lt=0;r.pagination&&(lt=(H.value-1)*r.page_size);const Ge=Te+lt,st=Ze+lt,Ue=j.value.splice(Ge,1)[0];j.value.splice(st,0,Ue),y.updateForm(j.value)}}))}},J=()=>{L.value&&(L.value.destroy(),L.value=null)},Z=()=>{const be=[],Ae=[],Te=[];for(let Ue=0;Ue<r.columns.length;Ue++){const De=r.columns[Ue].tag_code,We=`${r.columns[Ue].attrs.name}(${De})`;be.push(We),Te.push(De)}Ae.push(be);const Ze=j.value;for(let Ue=0;Ue<Ze.length;Ue++){const De=[];for(let We=0;We<Te.length;We++){let Ye=Ze[Ue][Te[We]];if(Array.isArray(Ye)){const Re=r.columns.find(Je=>Je.tag_code===Te[We]);Re&&Re.attrs.items&&(Ye=Ye.map(Je=>{const Xe=Re.attrs.items.find(Me=>Me.value===Je);return Xe?Xe.name||Xe.text:Je})),Ye=JSON.stringify(Ye)}De.push(Ye)}Ae.push(De)}const lt="Sheet1",Ge=XLSX__namespace.utils.book_new(),st=XLSX__namespace.utils.aoa_to_sheet(Ae);XLSX__namespace.utils.book_append_sheet(Ge,st,lt),XLSX__namespace.writeFile(Ge,"tableData.xlsx")},ne=be=>{const Ae=be.name.split(".")[1];if(!["xlsx","xlc","xlm","xls","xlt","xlw","csv"].some(Ze=>Ze===Ae)){console.error("格式错误!请选择xlsx,xls,xlc,xlm,xlt,xlw或csv文件");return}oe(be).then(Ze=>{if(Ze&&Ze.length>0){const lt=/\([\w|\p{Unified_Ideograph}]+\)$/u,Ge={};for(let Ue=0;Ue<r.columns.length;Ue++)Ge[r.columns[Ue].attrs.name]=r.columns[Ue].tag_code;const st=lodash$1.cloneDeep(Ze[0].sheet);for(let Ue=0;Ue<st.length;Ue++)for(const De in st[Ue]){let We;if(lt.test(De)){const Re=De.match(lt);We=Re?Re[0].replace(/[\(|\)]/g,""):""}else We=Ge[De];const Ye=r.columns.find(Re=>Re.tag_code===We);if(Ye){let Re=st[Ue][De];if(Ye.type==="select"&&Ye.attrs.multiple||Ye.type==="checkbox")try{const Je=JSON.parse(Re);Array.isArray(Je)&&(Re=Je.map(Xe=>{const Me=Ye.attrs.items?.find(nt=>nt.text===Xe||nt.name===Xe);return Me?Me.value:Xe}))}catch{}Ye.type==="int"&&typeof Re=="string"&&Re&&(Re=Number(Re)),Ye.type==="input"&&typeof Re=="number"&&(Re=String(Re)),De!==We&&(st[Ue][We]=Re,delete st[Ue][De])}}r.pagination&&(H.value=1),y.set_value(st),j.value=lodash$1.cloneDeep(st)}})},oe=be=>new Promise((Ae,Te)=>{const Ze=new FileReader;Ze.onload=function(lt){const Ge=lt.target.result,st=XLSX__namespace.read(Ge,{type:"binary"}),Ue=[];st.SheetNames.forEach(De=>{Ue.push({sheetName:De,sheet:XLSX__namespace.utils.sheet_to_json(st.Sheets[De],{defval:""})})}),Ae(Ue)},Ze.readAsBinaryString(be.raw)}),ae=be=>{let Ae=!0;const Te=`^row_${be}`;for(const Ze in Q.value){let lt=!0;if(new RegExp(Te).test(Ze)){const Ge=Q.value[Ze];Ge&&Array.isArray(Ge)?lt=Ge[0]?.validate?.()??!0:Ge?lt=Ge.validate?.()??!0:delete Q.value[Ze],Ae&&(Ae=lt)}}return Ae},se=(be,Ae,Te,Ze)=>{const lt=r.columns[Te].tag_code;r.columns.forEach((Ge,st)=>{if(lt!==Ge.tag_code){const Ue=(Ge.events||[]).filter(De=>De.source===lt&&De.type===be);if(Ue.length>0){let De=null;const We=`row_${Ae}_${st}_${Ge.tag_code}`,Ye=Q.value[We];Ye&&Array.isArray(Ye)&&Ye.length>0&&Ye.some(Re=>Re.$parent?.fixed===void 0?(De=Re,!0):!1),De&&Ue.forEach(Re=>{const Je=De.$refs?.tagComponent;Je&&typeof Re.action=="function"&&Re.action.call(Je,Ze)})}}})},de=be=>{typeof be=="function"&&be()},ge=(be,Ae,Te)=>{se("init",be,Ae,Te)},fe=(be,Ae)=>{const Te=r.pagination?(H.value-1)*r.page_size+be:be;z.value=Te},ie=(be,Ae,Te,Ze)=>{const lt=Te.slice(-1)[0];z.value!=null&&j.value[z.value]&&(j.value[z.value][lt]=Ze),se("change",be,Ae,Ze)},ce=(be,Ae)=>{const Te=r.pagination?(H.value-1)*r.page_size+be:be;j.value.splice(Te,1),j.value.length%r.page_size===0&&H.value>1&&(H.value-=1),y.updateForm(j.value)},pe=(be,Ae)=>{const Te=r.pagination?(H.value-1)*r.page_size+be:be;ae(Te)&&(z.value=void 0,y.updateForm(lodash$1.cloneDeep(j.value)))},le=()=>{z.value=void 0,j.value=Array.isArray(r.modelValue)?lodash$1.cloneDeep(r.modelValue):[],te.value.length===0&&H.value>1&&(H.value-=1)},ue=be=>{$.value=be},he=()=>{if(typeof z.value=="number"&&!ae(z.value))return;const be={};r.columns.forEach(Ae=>{be[Ae.tag_code]=getRenderFormInputItemDefaultValue(Ae)}),z.value=j.value.length,j.value.push(be),H.value=Math.ceil(j.value.length/r.page_size)},ye=()=>{const be=typeof r.remote_url=="function"?r.remote_url():r.remote_url;be&&($.value=!0,fetch(be,{method:"GET"}).then(Ae=>Ae.json()).then(Ae=>{const Te=r.remote_data_init(Ae);for(const Ze in Te)Te[Ze].width=`${Math.max(150,Te[Ze].attrs.name.length*20)}px`;R.value=Te.map(Ze=>({...Ze,events:[]})),$.value=!1}).catch(()=>{$.value=!1}))},_e=(be,Ae,Te)=>{typeof r.row_click_handler=="function"&&r.row_click_handler(be,Ae,Te)};return vue.watch(()=>r.remote_url,()=>{ye()}),vue.watch(()=>r.modelValue,be=>{j.value=Array.isArray(be)?lodash$1.cloneDeep(be):[]},{deep:!0}),vue.watch(()=>r.columns,be=>{R.value=be.map(Ae=>({...Ae,events:[]}))},{immediate:!0}),vue.onMounted(()=>{ye(),r.row_draggable&&vue.nextTick(()=>{G()})}),vue.onBeforeUnmount(()=>{J()}),t({set_loading:ue,export2Excel:Z,validate:be=>{const Ae=y.validate(void 0,r.validation,be!==void 0?be:r.modelValue,r.parentValue,r.validateSet);let Te=!0;if(Ae&&r.modelValue&&Array.isArray(r.modelValue)){for(let Ze=0;Ze<r.modelValue.length;Ze++)if(!ae(Ze)){Te=!1;break}}return Ae&&Te}}),(be,Ae)=>{const Te=vue.resolveComponent("bk-button"),Ze=vue.resolveDirective("bkloading");return vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1v,[e.editable&&e.formMode?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$1a,[e.add_btn?(vue.openBlock(),vue.createBlock(Te,{key:0,class:"add-column button-item",size:"small",disabled:!e.formEdit||e.disabled,onClick:he},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(W.add_text),1)]),_:1},8,["disabled"])):vue.createCommentVNode("",!0),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.table_buttons,lt=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:lt.type},[lt.type!=="import"?(vue.openBlock(),vue.createBlock(Te,{key:0,class:"button-item",type:"default",size:"small",disabled:!e.formEdit||e.disabled,onClick:vue.withModifiers(Ge=>de(lt.callback),["stop"])},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(lt.text),1)]),_:2},1032,["disabled","onClick"])):(vue.openBlock(),vue.createBlock(vue.unref(ElUpload),{key:1,class:"upload-btn button-item",action:"/","show-file-list":!1,"on-change":ne,disabled:!e.formEdit||e.disabled,"auto-upload":!1},{trigger:vue.withCtx(()=>[vue.createVNode(Te,{size:"small",disabled:!e.formEdit||e.disabled,type:"default"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(lt.text),1)]),_:2},1032,["disabled"])]),_:2},1032,["disabled"]))],64))),128))])):vue.createCommentVNode("",!0),e.constants.subflow_detail_var?(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$W,vue.toDisplayString(e.constants[e.tagCode]),1)):Array.isArray(e.modelValue)&&!$.value?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:2},[vue.createVNode(vue.unref(ElTable),{ref_key:"tableElRef",ref:B,style:{width:"100%","font-size":"12px"},border:"",data:te.value,"empty-text":e.empty_text,fit:!0,onRowClick:_e},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(R.value,(lt,Ge)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:`${lt.tag_code}_${Ge}`},[!("hidden"in lt.attrs)||!lt.attrs.hidden?(vue.openBlock(),vue.createBlock(vue.unref(ElTableColumn),{key:0,prop:lt.tag_code,label:"name"in lt.attrs?lt.attrs.name:"",width:"width"in lt.attrs?lt.attrs.width:"","min-width":"min_width"in lt.attrs?lt.attrs.min_width:"",align:"center"},{default:vue.withCtx(({row:st,$index:Ue})=>[(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(lt.type==="combine"?_sfc_main$1m:_sfc_main$1n),{ref_for:!0,ref:De=>ee(De,Ue,Ge,lt.tag_code),scheme:lt,option:q(Ue),value:st[lt.tag_code],"parent-value":st,onInit:De=>ge(Ue,Ge,De),onChange:(De,We)=>ie(Ue,Ge,De,We)},null,40,["scheme","option","value","parent-value","onInit","onChange"]))]),_:2},1032,["prop","label","width","min-width"])):vue.createCommentVNode("",!0)],64))),128)),e.editable&&e.formEdit&&e.formMode?(vue.openBlock(),vue.createBlock(vue.unref(ElTableColumn),{key:0,prop:"operation",fixed:"right",align:"center",width:"100",label:W.operate_text},{default:vue.withCtx(({row:lt,$index:Ge})=>[(e.pagination?(H.value-1)*e.page_size+Ge:Ge)===z.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$I,[vue.createVNode(Te,{theme:"primary",text:!0,disabled:e.disabled,onClick:st=>pe(Ge)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(W.save_text),1)]),_:1},8,["disabled","onClick"]),vue.createVNode(Te,{theme:"primary",text:!0,disabled:e.disabled,onClick:Ae[0]||(Ae[0]=st=>le())},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(W.cancel_text),1)]),_:1},8,["disabled"])])):(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$y,[e.rowEditable?(vue.openBlock(),vue.createBlock(Te,{key:0,theme:"primary",text:!0,disabled:e.disabled,onClick:st=>fe(Ge)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(W.edit_text),1)]),_:1},8,["disabled","onClick"])):vue.createCommentVNode("",!0),e.deleteable?(vue.openBlock(),vue.createBlock(Te,{key:1,theme:"primary",text:!0,disabled:e.disabled,onClick:st=>ce(Ge)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(W.delete_text),1)]),_:1},8,["disabled","onClick"])):vue.createCommentVNode("",!0)]))]),_:1},8,["label"])):vue.createCommentVNode("",!0)]),_:1},8,["data","empty-text"]),e.pagination&&j.value.length/e.page_size>1?(vue.openBlock(),vue.createBlock(vue.unref(ElPagination),{key:0,layout:"prev, pager, next",total:j.value.length,"page-size":e.page_size,"current-page":H.value,"onUpdate:currentPage":Ae[1]||(Ae[1]=lt=>H.value=lt)},null,8,["total","page-size","current-page"])):vue.createCommentVNode("",!0)],64)):vue.createCommentVNode("",!0),vue.withDirectives(vue.createElementVNode("span",{class:"common-error-tip error-info"},vue.toDisplayString(vue.unref(y).validateInfo.message),513),[[vue.vShow,!vue.unref(y).validateInfo.valid]])])),[[Ze,{isLoading:$.value,opacity:1,zIndex:100}]])}}}),TagDatatable=_export_sfc(_sfc_main$1D,[["__scopeId","data-v-a341012e"]]),__vite_glob_0_3=Object.freeze(Object.defineProperty({__proto__:null,default:TagDatatable},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1u={class:"tag-datetime-range"},_hoisted_2$19={key:0},_hoisted_3$V={key:1,class:"rf-view-value"},_sfc_main$1C=vue.defineComponent({__name:"TagDateTimeRange",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{default:()=>[]},placeholder:{default:"请选择日期时间"},disabled:{type:Boolean,default:!1},fullVariableList:{default:()=>[]}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.inject("getFormData"),k=vue.inject("onHookForm"),y=vue.inject("getParent"),B=useFormMixins({attrs:{placeholder:{type:String,default:"请选择日期时间"},disabled:{type:Boolean,default:!1},value:{type:Array,default:()=>[]}},emit:($,...H)=>{$==="change"?i("change",H[0],H[1]):$==="init"?i("init",H[0]):$==="onShow"?i("onShow"):$==="onHide"&&i("onHide")},getFormData:C,onHookForm:k,getParent:y});B.setupLifecycle(r,r);const L=vue.computed(()=>r.modelValue),R=$=>{const H=$.map(Q=>Q&&dayjs(Q).format("YYYY-MM-DD HH:mm:ss"));B.updateForm(H)},z=vue.computed(()=>r.modelValue?.join("-")||"");return t({validate:$=>B.validate(void 0,r.validation,$!==void 0?$:r.modelValue,r.parentValue,r.validateSet)}),($,H)=>{const Q=vue.resolveComponent("bk-date-picker");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1u,[e.formMode?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$19,[vue.createVNode(Q,{"model-value":L.value,"onUpdate:modelValue":R,type:"datetimerange",disabled:!e.formEdit||e.disabled,transfer:!0,placeholder:e.placeholder},null,8,["model-value","disabled","placeholder"]),vue.withDirectives(vue.createElementVNode("span",{class:"common-error-tip error-info"},vue.toDisplayString(vue.unref(B).validateInfo.message),513),[[vue.vShow,!vue.unref(B).validateInfo.valid]])])):(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$V,vue.toDisplayString(z.value==="undefined"||z.value===""?"--":z.value),1))])}}}),TagDateTimeRange=_export_sfc(_sfc_main$1C,[["__scopeId","data-v-57c72e00"]]),__vite_glob_0_4=Object.freeze(Object.defineProperty({__proto__:null,default:TagDateTimeRange},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1t={class:"tag-datetime"},_hoisted_2$18={key:0},_hoisted_3$U={key:1,class:"rf-view-value"},_sfc_main$1B=vue.defineComponent({__name:"TagDatetime",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{default:""},placeholder:{default:"请选择日期时间"},disabled:{type:Boolean,default:!1},type:{default:"datetime"},format:{default:"yyyy-MM-dd HH:mm:ss"},fullVariableList:{default:()=>[]}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.inject("getFormData"),k=vue.inject("onHookForm"),y=vue.inject("getParent"),B=useFormMixins({attrs:{placeholder:{type:String,default:"请选择日期时间"},disabled:{type:Boolean,default:!1},type:{type:String,default:"datetime"},format:{type:String,default:"yyyy-MM-dd HH:mm:ss"},value:{type:String,default:""}},emit:(j,...$)=>{j==="change"?i("change",$[0],$[1]):j==="init"?i("init",$[0]):j==="onShow"?i("onShow"):j==="onHide"&&i("onHide")},getFormData:C,onHookForm:k,getParent:y});B.setupLifecycle(r,r);const L=vue.computed(()=>r.modelValue),R=j=>{B.updateForm(j)};return t({validate:j=>B.validate(void 0,r.validation,j!==void 0?j:r.modelValue,r.parentValue,r.validateSet)}),(j,$)=>{const H=vue.resolveComponent("el-date-picker");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1t,[e.formMode?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$18,[vue.createVNode(H,{"model-value":L.value,"onUpdate:modelValue":R,"popper-class":"tag-component-popper",type:e.type,format:e.format,"value-format":e.format,disabled:!e.formEdit||e.disabled,placeholder:e.placeholder},null,8,["model-value","type","format","value-format","disabled","placeholder"]),vue.withDirectives(vue.createElementVNode("span",{class:"common-error-tip error-info"},vue.toDisplayString(vue.unref(B).validateInfo.message),513),[[vue.vShow,!vue.unref(B).validateInfo.valid]])])):(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$U,vue.toDisplayString(e.modelValue==="undefined"||e.modelValue===""?"--":e.modelValue),1))])}}}),TagDatetime=_export_sfc(_sfc_main$1B,[["__scopeId","data-v-4f9f99c4"]]),__vite_glob_0_5=Object.freeze(Object.defineProperty({__proto__:null,default:TagDatetime},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1s={class:"tag-python-code-input-vars"},_hoisted_2$17={class:"var-input-wrapper"},_hoisted_3$T={class:"rf-select-list"},_hoisted_4$H={class:"rf-select-content"},_hoisted_5$x=["onClick"],_hoisted_6$q={class:"var-key"},_hoisted_7$j={class:"var-name"},_sfc_main$1A=vue.defineComponent({__name:"TagFieldMappings",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{default:()=>({})},disabled:{type:Boolean,default:!1},fullVariableList:{default:()=>[]},internalVariable:{default:()=>({})}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=(fe,ie)=>{if(!ie)return!1;if(fe.compareDocumentPosition)return fe===ie||!!(fe.compareDocumentPosition(ie)&16);if("contains"in fe&&ie.nodeType===1)return fe.contains(ie)&&fe!==ie;let ce=ie.parentNode;for(;ce;){if(ce===fe)return!0;ce=ce.parentNode}return!1},i=/\$.*$/,C=e,k=n,y=vue.inject("getFormData"),B=vue.inject("onHookForm"),L=vue.inject("getParent"),R=useFormMixins({attrs:{value:{type:Object,default:()=>({})},disabled:{type:Boolean,default:!1}},emit:(fe,...ie)=>{fe==="change"?k("change",ie[0],ie[1]):fe==="init"?k("init",ie[0]):fe==="onShow"?k("onShow"):fe==="onHide"&&k("onHide")},getFormData:y,onHookForm:B,getParent:L});R.setupLifecycle(C,C);const z=vue.ref(),j=fe=>!fe||typeof fe!="object"||Object.keys(fe).length===0?[{key:"arg1",value:""},{key:"arg2",value:""}]:Object.entries(fe).map(([ie,ce])=>({key:ie,value:ce})),$=vue.ref(j(C.modelValue)),H=vue.ref([]),Q=vue.ref(!1),W=vue.ref(-1),te=vue.ref(!1),ee=vue.ref(!1),q=vue.computed(()=>{let fe=[];if(C.constants&&(fe=Object.keys(C.constants).map(ie=>({key:ie,name:C.constants[ie]?.name||ie}))),C.fullVariableList&&C.fullVariableList.length>0&&(fe=[...fe,...C.fullVariableList]),C.internalVariable){const ie=Object.keys(C.internalVariable).map(ce=>({key:ce,name:C.internalVariable[ce]?.name||ce}));fe=[...fe,...ie]}return fe}),G=vue.computed(()=>[{required:!0,message:"参数名不能为空",trigger:"blur"},{validator:fe=>$.value.map(ce=>ce.key).filter(ce=>ce===fe).length<=1,message:"参数名不能重复",trigger:"change"}]),J=fe=>{const ie={};return fe.forEach(ce=>{ce.key&&(ie[ce.key]=ce.value)}),ie},Z=fe=>{if(!Q.value)return;const ie=document.querySelector(".rf-select-list");ie&&!r(ie,fe.target)&&(Q.value=!1)},ne=(fe,ie)=>{const ce=fe.match(i);if(ce&&ce[0]){const pe=ce[0].substring(1);H.value=q.value.filter(le=>le.key.includes(pe)),Q.value=H.value.length>0,W.value=ie}else H.value=[],Q.value=!1},oe=()=>{setTimeout(()=>{Q.value=!1,W.value=-1},200)},ae=fe=>{W.value=fe;const ie=$.value[fe].value;ie&&ie.includes("$")&&ne(ie,fe)},se=fe=>{const ie=fe,ce=$.value[W.value].value.replace(i,ie);$.value[W.value].value=ce,Q.value=!1,W.value=-1},de=(fe,ie)=>{ie==="delete"?$.value.splice(fe,1):$.value.splice(fe+1,0,{key:"",value:""})};return t({validate:()=>z.value?.validate?.().catch(fe=>(console.error(fe),!1))}),vue.watch($,fe=>{if(ee.value)return;const ie=J(fe);lodash$1.isEqual(ie,C.modelValue)||(te.value=!0,R.updateForm(ie),vue.nextTick(()=>{te.value=!1}))},{deep:!0}),vue.watch(()=>C.modelValue,fe=>{if(te.value)return;const ie=J($.value);lodash$1.isEqual(fe,ie)||(ee.value=!0,$.value=j(fe),vue.nextTick(()=>{ee.value=!1}))},{immediate:!1,deep:!0}),vue.onMounted(()=>{window.addEventListener("click",Z,!1)}),vue.onBeforeUnmount(()=>{window.removeEventListener("click",Z,!1)}),(fe,ie)=>{const ce=vue.resolveComponent("bk-input"),pe=vue.resolveComponent("bk-form-item"),le=vue.resolveComponent("bk-button"),ue=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1s,[vue.createVNode(ue,{ref_key:"formRef",ref:z,"label-width":0,model:{formList:$.value}},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList($.value,(he,ye)=>(vue.openBlock(),vue.createElementBlock("div",{key:ye,class:"form-content-item"},[vue.createVNode(pe,{property:`formList.${ye}.key`,rules:G.value,"error-tip-append-to-parent":!0},{default:vue.withCtx(()=>[vue.createVNode(ce,{modelValue:he.key,"onUpdate:modelValue":_e=>he.key=_e,disabled:e.disabled||!e.formEdit,placeholder:"参数名",class:"param-input"},null,8,["modelValue","onUpdate:modelValue","disabled"])]),_:2},1032,["property","rules"]),vue.createElementVNode("div",_hoisted_2$17,[vue.createVNode(ce,{modelValue:he.value,"onUpdate:modelValue":_e=>he.value=_e,disabled:e.disabled||!e.formEdit,placeholder:"请输入值或 $ 选择变量",onInput:_e=>ne(_e,ye),onFocus:_e=>ae(ye),onBlur:oe},null,8,["modelValue","onUpdate:modelValue","disabled","onInput","onFocus"]),vue.createVNode(vue.Transition,null,{default:vue.withCtx(()=>[vue.withDirectives(vue.createElementVNode("div",_hoisted_3$T,[vue.createElementVNode("ul",_hoisted_4$H,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(H.value,_e=>(vue.openBlock(),vue.createElementBlock("li",{key:_e.key,class:"rf-select-item",onClick:vue.withModifiers(Ne=>se(_e.key),["stop"])},[vue.createElementVNode("span",_hoisted_6$q,vue.toDisplayString(_e.key),1),vue.createElementVNode("span",_hoisted_7$j,vue.toDisplayString(_e.name),1)],8,_hoisted_5$x))),128))])],512),[[vue.vShow,Q.value&&W.value===ye]])]),_:2},1024)]),!e.disabled&&e.formEdit?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(le,{class:"var-button",onClick:_e=>de(ye,"add")},{default:vue.withCtx(()=>[...ie[0]||(ie[0]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-zoom-add"},null,-1)])]),_:1},8,["onClick"]),vue.createVNode(le,{class:"var-button",disabled:$.value.length===1,onClick:_e=>de(ye,"delete")},{default:vue.withCtx(()=>[...ie[1]||(ie[1]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-zoom-minus"},null,-1)])]),_:1},8,["disabled","onClick"])],64)):vue.createCommentVNode("",!0)]))),128))]),_:1},8,["model"]),vue.withDirectives(vue.createElementVNode("span",{class:"common-error-tip error-info"},vue.toDisplayString(vue.unref(R).validateInfo.message),513),[[vue.vShow,!vue.unref(R).validateInfo.valid]])])}}}),TagFieldMappings=_export_sfc(_sfc_main$1A,[["__scopeId","data-v-72257ceb"]]),__vite_glob_0_6=Object.freeze(Object.defineProperty({__proto__:null,default:TagFieldMappings},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1r={class:"tag-input"},_hoisted_2$16={class:"rf-form-wrapper"},_hoisted_3$S={class:"rf-select-list"},_hoisted_4$G={class:"rf-select-content"},_hoisted_5$w=["onClick"],_hoisted_6$p={class:"var-key"},_hoisted_7$i={class:"var-name"},_hoisted_8$e={key:1,class:"rf-view-value"},_sfc_main$1z=vue.defineComponent({__name:"TagInput",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{default:""},placeholder:{default:""},disabled:{type:Boolean,default:!1},showPassword:{type:Boolean,default:!1},showVarList:{type:Boolean,default:!1},fullVariableList:{default:()=>[]}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=/\$.*$/,i=e,C=n,k=vue.inject("getFormData"),y=vue.inject("onHookForm"),B=vue.inject("getParent"),L=useFormMixins({attrs:{placeholder:{type:String,default:""},disabled:{type:Boolean,default:!1},showPassword:{type:Boolean,default:!1},value:{type:[String,Number],default:""},showVarList:{type:Boolean,default:!1,inner:!0}},emit:(G,...J)=>{G==="change"?C("change",J[0],J[1]):G==="init"?C("init",J[0]):G==="onShow"?C("onShow"):G==="onHide"&&C("onHide")},getFormData:k,onHookForm:y,getParent:B});L.setupLifecycle(i,i);const R=vue.ref(!1),z=vue.ref([]),j=vue.computed(()=>{let G=[];return i.constants&&(G=[...Object.values(i.constants)]),i.fullVariableList&&i.fullVariableList.length>0&&(G=[...G,...i.fullVariableList]),G}),$=vue.computed(()=>i.modelValue),H=G=>{L.updateForm(G)},Q=vue.computed(()=>i.modelValue===""||i.modelValue===void 0?"--":i.showPassword?"******":String(i.modelValue)),W=G=>{if(!R.value)return;const J=document.querySelector(".rf-select-list");J&&!J.contains(G.target)&&(R.value=!1)},te=G=>{const J=G.match(r);if(J&&J[0]){const Z=J[0].replace(/\\/g,"\\\\").replace(/[\$\{\}]/g,"\\$&"),ne=new RegExp(Z);z.value=j.value.filter(oe=>ne.test(oe.key))}else z.value=[];R.value=!!z.value.length},ee=G=>{const J=String(i.modelValue).replace(r,G);L.updateForm(J),R.value=!1};return vue.onMounted(()=>{window.addEventListener("click",W,!1)}),vue.onBeforeUnmount(()=>{window.removeEventListener("click",W,!1)}),t({validate:G=>L.validate(void 0,i.validation,G!==void 0?G:i.modelValue,i.parentValue,i.validateSet)}),(G,J)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1r,[vue.createElementVNode("div",_hoisted_2$16,[e.formMode?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(vue.unref(ElInput),{"model-value":$.value,"onUpdate:modelValue":H,type:"text",disabled:!e.formEdit||e.disabled,"show-password":e.showPassword,placeholder:e.placeholder,onInput:te},null,8,["model-value","disabled","show-password","placeholder"]),vue.createVNode(vue.Transition,null,{default:vue.withCtx(()=>[vue.withDirectives(vue.createElementVNode("div",_hoisted_3$S,[vue.createElementVNode("ul",_hoisted_4$G,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(z.value,Z=>(vue.openBlock(),vue.createElementBlock("li",{key:Z.key,class:"rf-select-item",onClick:vue.withModifiers(ne=>ee(Z.key),["stop"])},[vue.createElementVNode("span",_hoisted_6$p,vue.toDisplayString(Z.key),1),vue.createElementVNode("span",_hoisted_7$i,vue.toDisplayString(Z.name),1)],8,_hoisted_5$w))),128))])],512),[[vue.vShow,e.showVarList&&R.value]])]),_:1})],64)):(vue.openBlock(),vue.createElementBlock("span",_hoisted_8$e,vue.toDisplayString(Q.value),1))]),vue.withDirectives(vue.createElementVNode("span",{class:"common-error-tip error-info"},vue.toDisplayString(vue.unref(L).validateInfo.message),513),[[vue.vShow,!vue.unref(L).validateInfo.valid]])]))}}),TagInput=_export_sfc(_sfc_main$1z,[["__scopeId","data-v-04bd7cee"]]),__vite_glob_0_7=Object.freeze(Object.defineProperty({__proto__:null,default:TagInput},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1q={class:"tag-int"},_hoisted_2$15={key:0},_hoisted_3$R={key:1,class:"rf-view-value"},_sfc_main$1y=vue.defineComponent({__name:"TagInt",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{default:0},placeholder:{default:""},min:{default:-1/0},max:{default:1/0},disabled:{type:Boolean,default:!1},fullVariableList:{default:()=>[]}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.inject("getFormData"),k=vue.inject("onHookForm"),y=vue.inject("getParent"),B=useFormMixins({attrs:{placeholder:{type:String,default:""},min:{type:Number,default:-1/0},max:{type:Number,default:1/0},disabled:{type:Boolean,default:!1},value:{type:[Number,String],default:0}},emit:(j,...$)=>{j==="change"?i("change",$[0],$[1]):j==="init"?i("init",$[0]):j==="onShow"?i("onShow"):j==="onHide"&&i("onHide")},getFormData:C,onHookForm:k,getParent:y});B.setupLifecycle(r,r);const L=vue.computed(()=>Number(r.modelValue)),R=j=>{const $=j||0;B.updateForm($)};return t({validate:j=>B.validate(void 0,r.validation,j!==void 0?j:r.modelValue,r.parentValue,r.validateSet)}),(j,$)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1q,[e.formMode?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$15,[vue.createVNode(vue.unref(ElInputNumber),{min:e.min,max:e.max,controls:!1,disabled:!e.formEdit||e.disabled,placeholder:e.placeholder,"model-value":L.value,"onUpdate:modelValue":R},null,8,["min","max","disabled","placeholder","model-value"]),vue.withDirectives(vue.createElementVNode("span",{class:"common-error-tip error-info"},vue.toDisplayString(vue.unref(B).validateInfo.message),513),[[vue.vShow,!vue.unref(B).validateInfo.valid]])])):(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$R,vue.toDisplayString(e.modelValue==="undefined"||e.modelValue===""?"--":e.modelValue),1))]))}}),TagInt=_export_sfc(_sfc_main$1y,[["__scopeId","data-v-17d0ab12"]]),__vite_glob_0_8=Object.freeze(Object.defineProperty({__proto__:null,default:TagInt},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1p={class:"tag-member-selector"},_hoisted_2$14={key:0,class:"tag-member-selector-wrap"},_hoisted_3$Q={key:1,class:"rf-view-value"},_sfc_main$1x=vue.defineComponent({__name:"TagMemberSelector",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{default:""},disabled:{type:Boolean,default:!1},placeholder:{default:""},fullVariableList:{default:()=>[]}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const{fetchUserApi:r}=useFlowApiConfig(),i=e,C=n,k=vue.inject("getFormData"),y=vue.inject("onHookForm"),B=vue.inject("getParent"),L=useFormMixins({attrs:{value:{type:String,default:""},disabled:{type:Boolean,default:!1},placeholder:{type:String,default:""}},emit:(H,...Q)=>{H==="change"?C("change",Q[0],Q[1]):H==="init"?C("init",Q[0]):H==="onShow"?C("onShow"):H==="onHide"&&C("onHide")},getFormData:k,onHookForm:y,getParent:B});L.setupLifecycle(i,i);const R=vue.computed(()=>i.modelValue&&i.modelValue.split(",")||[]),z=H=>{L.updateForm(H.join(","))},j=vue.computed(()=>i.modelValue||"--");return t({validate:H=>L.validate(void 0,i.validation,H!==void 0?H:i.modelValue,i.parentValue,i.validateSet)}),(H,Q)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1p,[e.formMode?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$14,[vue.createVNode(_sfc_main$1K,{modelValue:R.value,"onUpdate:modelValue":Q[0]||(Q[0]=W=>R.value=W),"fetch-user-api":vue.unref(r),disabled:!e.formEdit||e.disabled,placeholder:e.placeholder,onChange:z},null,8,["modelValue","fetch-user-api","disabled","placeholder"])])):(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$Q,vue.toDisplayString(e.constants.subflow_detail_var?e.constants[e.tagCode]:j.value),1)),vue.withDirectives(vue.createElementVNode("span",{class:"common-error-tip error-info"},vue.toDisplayString(vue.unref(L).validateInfo.message),513),[[vue.vShow,!vue.unref(L).validateInfo.valid]])]))}}),TagMemberSelector=_export_sfc(_sfc_main$1x,[["__scopeId","data-v-63236a5d"]]),__vite_glob_0_9=Object.freeze(Object.defineProperty({__proto__:null,default:TagMemberSelector},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1o={class:"tag-radio"},_hoisted_2$13={key:0},_hoisted_3$P={key:1,class:"rf-view-value"},_sfc_main$1w=vue.defineComponent({__name:"TagRadio",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{type:[String,Boolean],default:""},items:{default:()=>[{name:"选项1",value:"value1"},{name:"选项2",value:"value2"},{name:"选项3",value:"value3"}]},disabled:{type:Boolean,default:!1},fullVariableList:{default:()=>[]}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.inject("getFormData"),k=vue.inject("onHookForm"),y=vue.inject("getParent"),B=useFormMixins({attrs:{items:{type:Array,required:!0,default:()=>[]},disabled:{type:Boolean,default:!1},value:{type:[String,Boolean],default:""}},emit:($,...H)=>{$==="change"?i("change",H[0],H[1]):$==="init"?i("init",H[0]):$==="onShow"?i("onShow"):$==="onHide"&&i("onHide")},getFormData:C,onHookForm:k,getParent:y});B.setupLifecycle(r,r);const L=vue.computed(()=>r.modelValue),R=$=>{B.updateForm($)},z=vue.computed(()=>{if(L.value==="")return"--";let $=String(L.value);return r.items.some(H=>H.value===L.value?($=H.name,!0):!1),$});return t({validate:$=>B.validate(void 0,r.validation,$!==void 0?$:r.modelValue,r.parentValue,r.validateSet)}),($,H)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1o,[e.formMode?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$13,[vue.createVNode(vue.unref(ElRadioGroup),{"model-value":L.value,"onUpdate:modelValue":R},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.items,Q=>(vue.openBlock(),vue.createElementBlock("div",{class:"radio-item",key:Q.name},[vue.createVNode(vue.unref(ElRadio),{value:Q.value,disabled:!e.formEdit||e.disabled},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(Q.name),1)]),_:2},1032,["value","disabled"])]))),128))]),_:1},8,["model-value"]),vue.withDirectives(vue.createElementVNode("span",{class:"common-error-tip error-info"},vue.toDisplayString(vue.unref(B).validateInfo.message),513),[[vue.vShow,!vue.unref(B).validateInfo.valid]])])):(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$P,vue.toDisplayString(z.value),1))]))}}),TagRadio=_export_sfc(_sfc_main$1w,[["__scopeId","data-v-887ca893"]]),__vite_glob_0_10=Object.freeze(Object.defineProperty({__proto__:null,default:TagRadio},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1n={class:"tag-section"},_sfc_main$1v=vue.defineComponent({__name:"TagSection",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.inject("getFormData"),k=vue.inject("onHookForm"),y=vue.inject("getParent"),B=useFormMixins({attrs:{},emit:(R,...z)=>{R==="change"?i("change",z[0],z[1]):R==="init"?i("init",z[0]):R==="onShow"?i("onShow"):R==="onHide"&&i("onHide")},getFormData:C,onHookForm:k,getParent:y});return B.setupLifecycle(r,r),t({validate:R=>B.validate(void 0,r.validation,R!==void 0?R:r.modelValue,r.parentValue,r.validateSet)}),(R,z)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1n,vue.toDisplayString(e.name),1))}}),TagSection=_export_sfc(_sfc_main$1v,[["__scopeId","data-v-4d50dbe5"]]),__vite_glob_0_11=Object.freeze(Object.defineProperty({__proto__:null,default:TagSection},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1m={class:"tag-select"},_hoisted_2$12={key:0},_hoisted_3$O={class:"option-item"},_hoisted_4$F={class:"option-item"},_hoisted_5$v={key:0,class:"selected-tip"},_hoisted_6$o={class:"count"},_hoisted_7$h={key:1,class:"rf-view-value"},_sfc_main$1u=vue.defineComponent({__name:"TagSelect",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{type:[String,Array,Boolean,Number],default:""},items:{default:()=>[]},multiple:{type:Boolean,default:!1},multiple_limit:{default:0},clearable:{type:Boolean,default:!0},allowCreate:{type:Boolean,default:!1},remote:{type:Boolean,default:!1},remote_url:{type:[String,Function],default:""},remote_data_init:{type:Function,default:e=>e},hasGroup:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},placeholder:{default:""},showRightBtn:{type:Boolean,default:!1},rightBtnIcon:{default:"bk-icon icon-chain"},rightBtnCb:{type:[Function,null],default:void 0},empty_text:{default:"无数据"},fullVariableList:{default:()=>[]}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r={updated(se,de){const{hasGroup:ge,multiple:fe,options:ie,seletedValue:ce}=de.value;if(fe){const pe=[];ce.forEach((le,ue)=>{let he=!1;ge?he=ie.some(ye=>ye.options.some(_e=>_e.value===le)):he=ie.some(ye=>ye.value===le),he||pe.push(ue)}),vue.nextTick(()=>{setTimeout(()=>{se.querySelectorAll(".el-select__tags .el-tag").forEach((ue,he)=>{pe.includes(he)?ue.classList.add("individual"):ue.classList.remove("individual")})},0)})}}},i=e,C=n,k=vue.inject("getFormData"),y=vue.inject("onHookForm"),B=vue.inject("getParent"),L=useFormMixins({attrs:{value:{type:[String,Array,Boolean,Number],default:""},items:{type:Array,default:()=>[]},multiple:{type:Boolean,default:!1},multiple_limit:{type:Number,default:0},clearable:{type:Boolean,default:!0},allowCreate:{type:Boolean,default:!1},remote:{type:Boolean,default:!1},remote_url:{type:[String,Function],default:""},remote_data_init:{type:Function,default:se=>se},hasGroup:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},placeholder:{type:String,default:""},showRightBtn:{type:Boolean,default:!1},rightBtnIcon:{type:String,default:"bk-icon icon-chain"},rightBtnCb:{type:Function,default:null},empty_text:{type:String,default:"无数据"}},emit:(se,...de)=>{se==="change"?C("change",de[0],de[1]):se==="init"?C("init",de[0]):se==="onShow"?C("onShow"):se==="onHide"&&C("onHide")},getFormData:k,onHookForm:y,getParent:B});L.setupLifecycle(i,i);const R=vue.ref(),z=vue.ref(i.items?[...i.items]:[]),j=vue.ref(!1),$=vue.ref(null),H=vue.computed(()=>i.modelValue),Q=se=>{i.hook||L.updateForm(se)},W=se=>{let de=se;return i.items.some(ge=>ge.value===se?(de=ge.text,!0):!1),de},te=vue.computed(()=>Array.isArray(H.value)?H.value.length?i.items.length?H.value.map(se=>W(se)).join(","):i.modelValue.join(","):"--":H.value==="undefined"?"--":i.items.length?W(H.value):i.modelValue),ee=se=>{if(!se){z.value=[...i.items];return}const de=se.split(",");z.value=i.items.filter(ge=>de.some(fe=>ge.text.toLowerCase().includes(fe.toLowerCase())))};t({set_loading:se=>{j.value=se},validate:se=>L.validate(void 0,i.validation,se!==void 0?se:i.modelValue,i.parentValue,i.validateSet)});const J=()=>{const se=typeof i.remote_url=="function"?i.remote_url():i.remote_url;se&&(j.value=!0,fetch(se,{method:"GET",credentials:"include"}).then(de=>de.json()).then(de=>{const ge=i.remote_data_init(de)||[];i.items.splice(0,i.items.length,...ge),z.value=[...ge],j.value=!1}).catch(()=>{j.value=!1}))},Z=()=>{typeof i.rightBtnCb=="function"&&i.rightBtnCb()},ne=se=>{se||(z.value=[...i.items])},oe=()=>{L.updateForm([])},ae=se=>{let de=(se.clipboardData||window.clipboardData).getData("text");de=de.replace(/\\(t|s)/g," ");const ge=window.getSelection();if(!ge||!ge.rangeCount)return!1;de=de.split(/,|;|\s+/).filter(ce=>ce),de.length>1&&se.preventDefault();const fe=[],ie=i.items.map(ce=>ce.text);if(de.forEach(ce=>{const pe=ie.includes(ce),le=i.items.find(ue=>pe?ue.text===ce:ce.toLowerCase()===ue.text.toLowerCase());le&&fe.push(le.value)}),!(de.length===1&&fe.length===0)){if(i.multiple){const pe=[...Array.isArray(i.modelValue)?i.modelValue:[],...fe];L.updateForm([...new Set(pe)])}R.value?.blur?.()}};return vue.watch(()=>i.items,se=>{z.value=[...se]}),vue.onMounted(()=>{J(),i.multiple&&($.value=document.querySelector(".el-select .el-select__input"),$.value&&$.value.addEventListener("paste",ae))}),vue.onBeforeUnmount(()=>{$.value&&$.value.removeEventListener("paste",ae)}),(se,de)=>{const ge=vue.resolveComponent("bk-button"),fe=vue.resolveDirective("loading");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1m,[e.formMode?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$12,[vue.withDirectives((vue.openBlock(),vue.createBlock(vue.unref(ElSelect),{ref_key:"selectCompRef",ref:R,"model-value":H.value,"onUpdate:modelValue":Q,filterable:"","default-first-option":"",clearable:e.clearable,"popper-class":"tag-component-popper","allow-create":e.allowCreate,disabled:!e.formEdit||e.disabled,remote:e.remote,"multiple-limit":e.multiple_limit,multiple:e.multiple,"no-data-text":e.empty_text,"filter-method":ee,placeholder:e.placeholder,onVisibleChange:ne},vue.createSlots({default:vue.withCtx(()=>[e.hasGroup?(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,{key:1},vue.renderList(z.value,ie=>(vue.openBlock(),vue.createBlock(vue.unref(ElOptionGroup),{key:ie.value,label:ie.text},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(ie.options||[],ce=>(vue.openBlock(),vue.createBlock(vue.unref(ElOption),{key:ce.value,label:ce.text,value:ce.value},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_4$F,vue.toDisplayString(ce.text),1)]),_:2},1032,["label","value"]))),128))]),_:2},1032,["label"]))),128)):(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,{key:0},vue.renderList(z.value,ie=>(vue.openBlock(),vue.createBlock(vue.unref(ElOption),{key:ie.value,label:ie.text,value:ie.value},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_3$O,vue.toDisplayString(ie.text),1)]),_:2},1032,["label","value"]))),128))]),_:2},[e.showRightBtn?{name:"prefix",fn:vue.withCtx(()=>[vue.createElementVNode("i",{class:vue.normalizeClass(["right-btn",e.rightBtnIcon]),onClick:Z},null,2)]),key:"0"}:void 0]),1032,["model-value","clearable","allow-create","disabled","remote","multiple-limit","multiple","no-data-text","placeholder"])),[[fe,j.value],[r,{multiple:e.multiple,hasGroup:e.hasGroup,seletedValue:H.value,options:e.items}]]),e.multiple?(vue.openBlock(),vue.createElementBlock("p",_hoisted_5$v,[de[1]||(de[1]=vue.createTextVNode(" 已选 ",-1)),vue.createElementVNode("span",_hoisted_6$o,vue.toDisplayString(Array.isArray(H.value)?H.value.length:0),1),de[2]||(de[2]=vue.createTextVNode(" 项 ",-1)),vue.createVNode(ge,{class:"ml10",disabled:!e.formEdit||e.disabled||!(Array.isArray(H.value)&&H.value.length),text:"",title:"primary",onClick:oe},{default:vue.withCtx(()=>[...de[0]||(de[0]=[vue.createTextVNode(" 清除 ",-1)])]),_:1},8,["disabled"])])):vue.createCommentVNode("",!0),vue.withDirectives(vue.createElementVNode("span",{class:"common-error-tip error-info"},vue.toDisplayString(vue.unref(L).validateInfo.message),513),[[vue.vShow,!vue.unref(L).validateInfo.valid]])])):(vue.openBlock(),vue.createElementBlock("span",_hoisted_7$h,vue.toDisplayString(te.value),1))])}}}),TagSelect=_export_sfc(_sfc_main$1u,[["__scopeId","data-v-62f86643"]]),__vite_glob_0_12=Object.freeze(Object.defineProperty({__proto__:null,default:TagSelect},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1l={class:"tag-switch"},_hoisted_2$11={key:1,class:"rf-view-value"},_sfc_main$1t=vue.defineComponent({__name:"TagSwitch",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},size:{default:"normal"},theme:{default:"success"}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.inject("getFormData"),k=vue.inject("onHookForm"),y=vue.inject("getParent"),B=useFormMixins({attrs:{value:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},size:{type:String,default:"normal"},theme:{type:String,default:"success"}},emit:(j,...$)=>{j==="change"?i("change",$[0],$[1]):j==="init"?i("init",$[0]):j==="onShow"?i("onShow"):j==="onHide"&&i("onHide")},getFormData:C,onHookForm:k,getParent:y});B.setupLifecycle(r,r);const L=vue.computed(()=>r.modelValue),R=j=>{B.updateForm(j)};return t({validate:j=>B.validate(void 0,r.validation,j!==void 0?j:r.modelValue,r.parentValue,r.validateSet)}),(j,$)=>{const H=vue.resolveComponent("bk-switcher");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1l,[e.formMode?(vue.openBlock(),vue.createBlock(H,{key:0,"model-value":L.value,"onUpdate:modelValue":R,disabled:!e.formEdit||e.disabled,size:e.size,theme:e.theme},null,8,["model-value","disabled","size","theme"])):(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$11,vue.toDisplayString(e.modelValue),1))])}}}),TagSwitch=_export_sfc(_sfc_main$1t,[["__scopeId","data-v-4f3c44c3"]]),__vite_glob_0_13=Object.freeze(Object.defineProperty({__proto__:null,default:TagSwitch},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1k={class:"tag-text"},_hoisted_2$10={key:0,class:"view-value-raw"},_hoisted_3$N={key:1,class:"rf-view-value"},_sfc_main$1s=vue.defineComponent({__name:"TagText",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{default:""},raw:{type:Boolean,default:!1}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.inject("getFormData"),k=vue.inject("onHookForm"),y=vue.inject("getParent"),B=useFormMixins({attrs:{raw:{type:Boolean,default:!1},value:{type:String,default:""}},emit:(z,...j)=>{z==="change"?i("change",j[0],j[1]):z==="init"?i("init",j[0]):z==="onShow"?i("onShow"):z==="onHide"&&i("onHide")},getFormData:C,onHookForm:k,getParent:y});B.setupLifecycle(r,r);const L=vue.computed(()=>r.modelValue==="undefined"||r.modelValue===""?"--":r.modelValue);return t({validate:z=>B.validate(void 0,r.validation,z!==void 0?z:r.modelValue,r.parentValue,r.validateSet)}),(z,j)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1k,[e.raw?(vue.openBlock(),vue.createElementBlock("pre",_hoisted_2$10,vue.toDisplayString(L.value),1)):(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$N,vue.toDisplayString(L.value),1))]))}}),TagText=_export_sfc(_sfc_main$1s,[["__scopeId","data-v-e7f23de8"]]),__vite_glob_0_14=Object.freeze(Object.defineProperty({__proto__:null,default:TagText},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1j={class:"tag-textarea"},_sfc_main$1r=vue.defineComponent({__name:"TagTextarea",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{default:""},disabled:{type:Boolean,default:!1},placeholder:{default:""},fullVariableList:{default:()=>[]}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.inject("getFormData"),k=vue.inject("onHookForm"),y=vue.inject("getParent"),B=useFormMixins({attrs:{value:{type:[String,Object],default:""},disabled:{type:Boolean,default:!1},placeholder:{type:String,default:""}},emit:($,...H)=>{$==="change"?i("change",H[0],H[1]):$==="init"?i("init",H[0]):$==="onShow"?i("onShow"):$==="onHide"&&i("onHide")},getFormData:C,onHookForm:k,getParent:y});B.setupLifecycle(r,r);const L=vue.ref(),R=vue.computed(()=>!r.formMode&&["",void 0].includes(r.modelValue)?"--":typeof r.modelValue=="string"?r.modelValue:JSON.stringify(r.modelValue)),z=$=>{B.updateForm($)};return vue.watch(()=>r.formMode,()=>{vue.nextTick(()=>{L.value&&typeof L.value.resizeTextarea=="function"&&L.value.resizeTextarea()})}),t({validate:$=>B.validate(void 0,r.validation,$!==void 0?$:r.modelValue,r.parentValue,r.validateSet)}),($,H)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1j,[vue.createVNode(vue.unref(ElInput),{ref_key:"tagTextareaRef",ref:L,type:"textarea","model-value":R.value,"onUpdate:modelValue":z,class:vue.normalizeClass({"rf-view-textarea-value":!e.formMode}),disabled:!e.formEdit||!e.formMode||e.disabled,autosize:e.formMode?{minRows:2}:!0,resize:"none",placeholder:e.placeholder},null,8,["model-value","class","disabled","autosize","placeholder"]),vue.withDirectives(vue.createElementVNode("span",{class:"common-error-tip error-info"},vue.toDisplayString(vue.unref(B).validateInfo.message),513),[[vue.vShow,!vue.unref(B).validateInfo.valid]])]))}}),__vite_glob_0_15=Object.freeze(Object.defineProperty({__proto__:null,default:_sfc_main$1r},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1i={class:"tag-time"},_hoisted_2$$={key:0},_hoisted_3$M={key:1,class:"rf-view-value"},_sfc_main$1q=vue.defineComponent({__name:"TagTime",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{default:""},placeholder:{default:"请选择时间"},startPlaceholder:{default:"请选择开始时间"},endPlaceholder:{default:"请选择结束时间"},disabled:{type:Boolean,default:!1},isRange:{type:Boolean,default:!1},format:{default:"HH:mm:ss"},fullVariableList:{default:()=>[]}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.inject("getFormData"),k=vue.inject("onHookForm"),y=vue.inject("getParent"),B=useFormMixins({attrs:{placeholder:{type:String,default:"请选择时间"},startPlaceholder:{type:String,default:"请选择开始时间"},endPlaceholder:{type:String,default:"请选择结束时间"},disabled:{type:Boolean,default:!1},isRange:{type:String,default:!1},format:{type:String,default:"HH:mm:ss"},value:{type:[String,Array],default:""}},emit:($,...H)=>{$==="change"?i("change",H[0],H[1]):$==="init"?i("init",H[0]):$==="onShow"?i("onShow"):$==="onHide"&&i("onHide")},getFormData:C,onHookForm:k,getParent:y});B.setupLifecycle(r,r);const L=vue.computed(()=>r.modelValue),R=$=>{B.updateForm($)},z=vue.computed(()=>Array.isArray(L.value)?L.value.length?L.value.join("-"):"--":L.value||"--");return t({validate:$=>B.validate(void 0,r.validation,$!==void 0?$:r.modelValue,r.parentValue,r.validateSet)}),($,H)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1i,[e.formMode?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$$,[vue.createVNode(vue.unref(ElTimePicker),{"model-value":L.value,"onUpdate:modelValue":R,"popper-class":"tag-component-popper","is-range":e.isRange,"value-format":e.format,"start-placeholder":e.startPlaceholder,"end-placeholder":e.endPlaceholder,disabled:!e.formEdit||e.disabled,placeholder:e.placeholder},null,8,["model-value","is-range","value-format","start-placeholder","end-placeholder","disabled","placeholder"]),vue.withDirectives(vue.createElementVNode("span",{class:"common-error-tip error-info"},vue.toDisplayString(vue.unref(B).validateInfo.message),513),[[vue.vShow,!vue.unref(B).validateInfo.valid]])])):(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$M,vue.toDisplayString(z.value),1))]))}}),TagTime=_export_sfc(_sfc_main$1q,[["__scopeId","data-v-2b8adc56"]]),__vite_glob_0_16=Object.freeze(Object.defineProperty({__proto__:null,default:TagTime},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1h={class:"tag-time-picker"},_hoisted_2$_={class:"time-picker-form"},_hoisted_3$L={class:"form-row"},_hoisted_4$E={class:"form-row"},_hoisted_5$u={class:"form-row"},_hoisted_6$n={key:0,class:"form-row range-limit-config"},_hoisted_7$g={class:"range-limit-controls"},_hoisted_8$d={class:"form-row custom-options-row"},_hoisted_9$c={key:0,class:"custom-options-section"},_hoisted_10$a={class:"options-table"},_hoisted_11$a=["onDragstart","onDragover","onDrop"],_hoisted_12$8={class:"col-expr expression-cell"},_hoisted_13$6={class:"col-label"},_hoisted_14$3={class:"col-actions"},_hoisted_15$3=["onClick"],_hoisted_16$2=["onClick"],_hoisted_17$2={class:"form-row default-value-row"},_hoisted_18$1={class:"default-value-area"},_hoisted_19$1={key:1,class:"relative-time-config"},_hoisted_20$1={key:1,class:"relative-time-config"},_hoisted_21$1={key:1,class:"rf-view-value"},_sfc_main$1p=vue.defineComponent({__name:"TagTimePicker",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!1},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{default:()=>({type:"time_range",methods:["relative"],range_limit_enabled:!1,time_offset:1,time_unit:"hour",time_base:"now"})},fullVariableList:{default:()=>[]}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=[{value:"now",label:"此刻"},{value:"today",label:"今天"},{value:"yesterday",label:"昨天"},{value:"the_day_before_yesterday",label:"前天"}],i=[{value:"minute",label:"分钟"},{value:"hour",label:"小时"},{value:"day",label:"天"}],C={minute:"分钟",hour:"小时",day:"天"},k={now:"此刻",today:"今天",yesterday:"昨天",the_day_before_yesterday:"前天"},y=[{start_expr:"now-5m",end_expr:"now",label:"近5分钟"},{start_expr:"now-15m",end_expr:"now",label:"近15分钟"},{start_expr:"now-30m",end_expr:"now",label:"近30分钟"}],B={"5m":5*6e4,"15m":15*6e4,"30m":30*6e4,"1h":36e5,"2h":72e5,"6h":216e5,"1d":864e5,"7d":6048e5,"15d":1296e6,"30d":2592e6},L=e,R=n,z=vue.inject("getFormData"),j=vue.inject("onHookForm"),$=vue.inject("getParent"),H=useFormMixins({attrs:{value:{type:Object,default:()=>({type:"time_range",methods:["relative"],range_limit_enabled:!1,time_offset:1,time_unit:"hour",time_base:"now"})}},emit:(Xe,...Me)=>{Xe==="change"?R("change",Me[0],Me[1]):Xe==="init"?R("init",Me[0]):Xe==="onShow"?R("onShow"):Xe==="onHide"&&R("onHide")},getFormData:z,onHookForm:j,getParent:$});H.setupLifecycle(L,L);const Q=Xe=>{if(!Xe||typeof Xe!="object")return{type:"time_range",methods:["relative"],range_limit_enabled:!1,time_offset:1,time_unit:"hour",time_base:"now"};const Me=lodash$1.cloneDeep(Xe);return Me.methods||(Me.methods=Me.time_base==="absolute"?["absolute"]:["relative"]),Me.range_limit_enabled===void 0&&(Me.range_limit_enabled=!1),Me},W=vue.ref(Q(L.modelValue)),te=vue.ref(W.value.type==="time_point"&&W.value.methods?.[0]==="absolute"?"absolute":W.value.type==="time_point"&&W.value.methods?.[0]||"absolute"),ee=vue.ref(W.value.datetime||""),q=vue.ref(W.value.start_time&&W.value.end_time?[W.value.start_time,W.value.end_time]:[]),G=vue.ref(W.value.range_limit_start&&W.value.range_limit_end?[W.value.range_limit_start,W.value.range_limit_end]:[]),J=vue.ref(lodash$1.cloneDeep(W.value.custom_options)||lodash$1.cloneDeep(y)),Z=vue.computed(()=>W.value.methods?.includes("absolute")),ne=vue.computed(()=>W.value.methods?.includes("relative")),oe=vue.computed(()=>W.value.custom_options_enabled&&J.value.length?J.value:y),ae=vue.computed(()=>oe.value.map(Xe=>{const nt=Xe.start_expr.match(/^now-(\d+[a-z]+)$/)?.[1]||"",et=B[nt]||36e5;return{text:Xe.label,value:()=>{const wt=new Date;return[new Date(wt.getTime()-et),wt]}}}));vue.watch(()=>L.modelValue,Xe=>{if(Xe&&typeof Xe=="object"){const Me=Q(Xe);W.value=Me,Xe.type==="time_point"&&(te.value=Me.methods?.[0]||"absolute"),Me.methods?.includes("absolute")&&(Me.type==="time_range"?q.value=[Me.start_time||"",Me.end_time||""]:ee.value=Me.datetime||""),Me.range_limit_start&&Me.range_limit_end&&(G.value=[Me.range_limit_start,Me.range_limit_end]),Me.custom_options?.length&&(J.value=lodash$1.cloneDeep(Me.custom_options))}},{deep:!0});const se=vue.computed(()=>{const Xe=L.modelValue;if(!Xe||typeof Xe!="object")return"--";const Me=Xe.methods||["relative"];if(Me.includes("absolute")&&!Me.includes("relative"))return Xe.type==="time_range"?Xe.start_time&&Xe.end_time?`${Xe.start_time} ~ ${Xe.end_time}`:"绝对时间范围(未设置)":Xe.datetime||"绝对时间点(未设置)";const nt=C[Xe.time_unit]||Xe.time_unit,et=k[Xe.time_base]||Xe.time_base;return Xe.type==="time_range"?`基于${et}的最近 ${Xe.time_offset} ${nt}`:`最近 ${Xe.time_offset} ${nt}`}),de=()=>{W.value.type==="time_range"?(W.value.start_time=q.value[0]||"",W.value.end_time=q.value[1]||"",delete W.value.datetime):(W.value.datetime=ee.value||"",delete W.value.start_time,delete W.value.end_time)},ge=()=>{const Xe=lodash$1.cloneDeep(W.value);Xe.methods?.includes("absolute")||(delete Xe.start_time,delete Xe.end_time,delete Xe.datetime),H.updateForm(Xe)},fe=()=>{W.value.type==="time_point"?(W.value.methods=[te.value],W.value.custom_options_enabled=!1):W.value.methods=["relative"],W.value.time_base="now",ge()},ie=Xe=>{if(Xe.length===0){W.value.methods=["relative"];return}W.value.methods=Xe,Xe.includes("absolute")&&W.value.type==="time_range"&&de(),!Xe.includes("absolute")&&!Xe.includes("relative")&&(W.value.methods=["relative"]),ge()},ce=Xe=>{te.value=Xe,W.value.methods=[Xe],Xe==="absolute"?(W.value.time_base="absolute",de()):(W.value.time_base="now",delete W.value.start_time,delete W.value.end_time,delete W.value.datetime),ge()},pe=()=>{W.value.range_limit_enabled&&(W.value.range_limit_type=W.value.range_limit_type||"absolute_range",W.value.range_limit_offset=W.value.range_limit_offset||1,W.value.range_limit_unit=W.value.range_limit_unit||"year"),ge()},le=()=>{W.value.range_limit_start=G.value[0]||"",W.value.range_limit_end=G.value[1]||"",ge()},ue=Xe=>{W.value.range_limit_offset=Number(Xe)||1,ge()},he=()=>{W.value.custom_options_enabled&&!J.value.length&&(J.value=lodash$1.cloneDeep(y)),_e()},ye=()=>{J.value=lodash$1.cloneDeep(y),_e()},_e=()=>{W.value.custom_options=lodash$1.cloneDeep(J.value),ge()},Ne=Xe=>{J.value.splice(Xe+1,0,{start_expr:"now-1h",end_expr:"now",label:""}),_e()},be=Xe=>{J.value.splice(Xe,1),_e()},Ae=vue.ref(-1),Te=vue.ref(-1),Ze=(Xe,Me)=>{Ae.value=Xe,Me.dataTransfer&&(Me.dataTransfer.effectAllowed="move")},lt=Xe=>{Te.value=Xe},Ge=()=>{Te.value=-1},st=Xe=>{const Me=Ae.value;if(Me<0||Me===Xe)return;const[nt]=J.value.splice(Me,1);J.value.splice(Xe,0,nt),_e()},Ue=()=>{Ae.value=-1,Te.value=-1},De=Xe=>{W.value.time_offset=Number(Xe)||1,ge()},We=()=>{de(),ge()},Ye=Xe=>{const Me=Et=>String(Et).padStart(2,"0"),nt=Xe.getFullYear(),et=Me(Xe.getMonth()+1),wt=Me(Xe.getDate()),tt=Me(Xe.getHours()),ot=Me(Xe.getMinutes()),gt=Me(Xe.getSeconds());return`${nt}-${et}-${wt} ${tt}:${ot}:${gt}`},Re=Xe=>{if(typeof Xe?.value=="function"){const Me=Xe.value();Array.isArray(Me)&&Me.length>=2&&(q.value=Me.map(nt=>nt instanceof Date?Ye(nt):String(nt)))}de(),ge()};return t({validate:Xe=>H.validate(void 0,L.validation,Xe!==void 0?Xe:L.modelValue,L.parentValue,L.validateSet)}),(Xe,Me)=>{const nt=vue.resolveComponent("bk-radio-button"),et=vue.resolveComponent("bk-radio-group"),wt=vue.resolveComponent("bk-checkbox"),tt=vue.resolveComponent("bk-checkbox-group"),ot=vue.resolveComponent("bk-radio"),gt=vue.resolveComponent("bk-switcher"),Et=vue.resolveComponent("bk-option"),Dt=vue.resolveComponent("bk-select"),Ft=vue.resolveComponent("bk-date-picker"),Nt=vue.resolveComponent("bk-input");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1h,[e.formMode?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createElementVNode("div",_hoisted_2$_,[vue.createElementVNode("div",_hoisted_3$L,[Me[19]||(Me[19]=vue.createElementVNode("span",{class:"form-label required"},"选择类型",-1)),vue.createVNode(et,{modelValue:W.value.type,"onUpdate:modelValue":Me[0]||(Me[0]=Pe=>W.value.type=Pe),disabled:!e.formEdit,onChange:fe},{default:vue.withCtx(()=>[vue.createVNode(nt,{label:"time_range"},{default:vue.withCtx(()=>[...Me[17]||(Me[17]=[vue.createTextVNode("时间范围",-1)])]),_:1}),vue.createVNode(nt,{label:"time_point"},{default:vue.withCtx(()=>[...Me[18]||(Me[18]=[vue.createTextVNode("时间点",-1)])]),_:1})]),_:1},8,["modelValue","disabled"])]),vue.createElementVNode("div",_hoisted_4$E,[Me[24]||(Me[24]=vue.createElementVNode("span",{class:"form-label required"},"选择方式",-1)),W.value.type==="time_range"?(vue.openBlock(),vue.createBlock(tt,{key:0,modelValue:W.value.methods,"onUpdate:modelValue":Me[1]||(Me[1]=Pe=>W.value.methods=Pe),disabled:!e.formEdit,onChange:ie},{default:vue.withCtx(()=>[vue.createVNode(wt,{label:"absolute",size:"small"},{default:vue.withCtx(()=>[...Me[20]||(Me[20]=[vue.createTextVNode("绝对时间(具体日期)",-1)])]),_:1}),vue.createVNode(wt,{label:"relative",size:"small"},{default:vue.withCtx(()=>[...Me[21]||(Me[21]=[vue.createTextVNode("相对时间",-1)])]),_:1})]),_:1},8,["modelValue","disabled"])):(vue.openBlock(),vue.createBlock(et,{key:1,modelValue:te.value,"onUpdate:modelValue":Me[2]||(Me[2]=Pe=>te.value=Pe),disabled:!e.formEdit,onChange:ce},{default:vue.withCtx(()=>[vue.createVNode(ot,{label:"absolute"},{default:vue.withCtx(()=>[...Me[22]||(Me[22]=[vue.createTextVNode("绝对时间点",-1)])]),_:1}),vue.createVNode(ot,{label:"relative"},{default:vue.withCtx(()=>[...Me[23]||(Me[23]=[vue.createTextVNode("相对时间点",-1)])]),_:1})]),_:1},8,["modelValue","disabled"]))]),vue.createElementVNode("div",_hoisted_5$u,[Me[25]||(Me[25]=vue.createElementVNode("span",{class:"form-label"},"限制可选范围",-1)),vue.createVNode(gt,{modelValue:W.value.range_limit_enabled,"onUpdate:modelValue":Me[3]||(Me[3]=Pe=>W.value.range_limit_enabled=Pe),disabled:!e.formEdit,theme:"primary",size:"small",onChange:pe},null,8,["modelValue","disabled"])]),W.value.range_limit_enabled?(vue.openBlock(),vue.createElementBlock("div",_hoisted_6$n,[Me[26]||(Me[26]=vue.createElementVNode("span",{class:"form-label"},null,-1)),vue.createElementVNode("div",_hoisted_7$g,[vue.createVNode(Dt,{modelValue:W.value.range_limit_type,"onUpdate:modelValue":Me[4]||(Me[4]=Pe=>W.value.range_limit_type=Pe),class:"limit-type-select",disabled:!e.formEdit,clearable:!1,onChange:ge},{default:vue.withCtx(()=>[vue.createVNode(Et,{value:"absolute_range",label:"绝对时间范围"}),vue.createVNode(Et,{value:"relative",label:"最近"})]),_:1},8,["modelValue","disabled"]),W.value.range_limit_type==="absolute_range"?(vue.openBlock(),vue.createBlock(Ft,{key:0,modelValue:G.value,"onUpdate:modelValue":Me[5]||(Me[5]=Pe=>G.value=Pe),type:"datetimerange",class:"limit-date-picker",disabled:!e.formEdit,clearable:!1,format:"yyyy-MM-dd HH:mm:ss",onChange:le},null,8,["modelValue","disabled"])):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createVNode(Nt,{modelValue:W.value.range_limit_offset,"onUpdate:modelValue":Me[6]||(Me[6]=Pe=>W.value.range_limit_offset=Pe),class:"limit-offset-input",type:"number",min:1,disabled:!e.formEdit,clearable:!1,onChange:ue},null,8,["modelValue","disabled"]),vue.createVNode(Dt,{modelValue:W.value.range_limit_unit,"onUpdate:modelValue":Me[7]||(Me[7]=Pe=>W.value.range_limit_unit=Pe),class:"limit-unit-select",disabled:!e.formEdit,clearable:!1,onChange:ge},{default:vue.withCtx(()=>[vue.createVNode(Et,{value:"minute",label:"分钟"}),vue.createVNode(Et,{value:"hour",label:"小时"}),vue.createVNode(Et,{value:"day",label:"天"}),vue.createVNode(Et,{value:"month",label:"月"}),vue.createVNode(Et,{value:"year",label:"年"})]),_:1},8,["modelValue","disabled"])],64))])])):vue.createCommentVNode("",!0),W.value.type==="time_range"&&Z.value&&ne.value?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createElementVNode("div",_hoisted_8$d,[Me[27]||(Me[27]=vue.createElementVNode("span",{class:"form-label"},"定制相对时间选项",-1)),vue.createVNode(gt,{modelValue:W.value.custom_options_enabled,"onUpdate:modelValue":Me[8]||(Me[8]=Pe=>W.value.custom_options_enabled=Pe),disabled:!e.formEdit,theme:"primary",size:"small",onChange:he},null,8,["modelValue","disabled"]),W.value.custom_options_enabled?(vue.openBlock(),vue.createElementBlock("span",{key:0,class:"restore-btn",onClick:ye}," ↺ 恢复初始化 ")):vue.createCommentVNode("",!0)]),W.value.custom_options_enabled?(vue.openBlock(),vue.createElementBlock("div",_hoisted_9$c,[vue.createElementVNode("div",_hoisted_10$a,[Me[30]||(Me[30]=vue.createStaticVNode('<div class="table-header" data-v-20365ccf><span class="col-drag" data-v-20365ccf></span><span class="col-expr required-col" data-v-20365ccf>时间表达式</span><span class="col-label required-col" data-v-20365ccf>选项显示名</span><span class="col-actions" data-v-20365ccf></span></div>',1)),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(J.value,(Pe,at)=>(vue.openBlock(),vue.createElementBlock("div",{key:at,class:vue.normalizeClass(["table-row",{"drag-over":Te.value===at}]),draggable:"true",onDragstart:_t=>Ze(at,_t),onDragover:vue.withModifiers(_t=>lt(at),["prevent"]),onDragleave:Ge,onDrop:vue.withModifiers(_t=>st(at),["prevent"]),onDragend:Ue},[Me[29]||(Me[29]=vue.createElementVNode("span",{class:"col-drag drag-handle"},"⠿",-1)),vue.createElementVNode("div",_hoisted_12$8,[vue.createVNode(Nt,{modelValue:Pe.start_expr,"onUpdate:modelValue":_t=>Pe.start_expr=_t,disabled:!e.formEdit,size:"small",onBlur:_e},null,8,["modelValue","onUpdate:modelValue","disabled"]),Me[28]||(Me[28]=vue.createElementVNode("span",{class:"expr-sep"},"~",-1)),vue.createVNode(Nt,{modelValue:Pe.end_expr,"onUpdate:modelValue":_t=>Pe.end_expr=_t,disabled:!e.formEdit,size:"small",onBlur:_e},null,8,["modelValue","onUpdate:modelValue","disabled"])]),vue.createElementVNode("div",_hoisted_13$6,[vue.createVNode(Nt,{modelValue:Pe.label,"onUpdate:modelValue":_t=>Pe.label=_t,disabled:!e.formEdit,size:"small",onBlur:_e},null,8,["modelValue","onUpdate:modelValue","disabled"])]),vue.createElementVNode("div",_hoisted_14$3,[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-plus-circle",onClick:_t=>Ne(at)},null,8,_hoisted_15$3),vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-minus-circle",onClick:_t=>be(at)},null,8,_hoisted_16$2)])],42,_hoisted_11$a))),128))])])):vue.createCommentVNode("",!0)],64)):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_17$2,[Me[34]||(Me[34]=vue.createElementVNode("span",{class:"form-label"},"默认值",-1)),vue.createElementVNode("div",_hoisted_18$1,[W.value.type==="time_range"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[Z.value&&!ne.value?(vue.openBlock(),vue.createBlock(Ft,{key:0,modelValue:q.value,"onUpdate:modelValue":Me[9]||(Me[9]=Pe=>q.value=Pe),type:"datetimerange",disabled:!e.formEdit,clearable:!1,format:"yyyy-MM-dd HH:mm:ss",onChange:We},null,8,["modelValue","disabled"])):!Z.value&&ne.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_19$1,[Me[31]||(Me[31]=vue.createElementVNode("span",{class:"relative-label"},"基于",-1)),vue.createVNode(Dt,{modelValue:W.value.time_base,"onUpdate:modelValue":Me[10]||(Me[10]=Pe=>W.value.time_base=Pe),class:"base-select",disabled:!e.formEdit,clearable:!1,onChange:ge},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(r,Pe=>vue.createVNode(Et,{key:Pe.value,value:Pe.value,label:Pe.label},null,8,["value","label"])),64))]),_:1},8,["modelValue","disabled"]),Me[32]||(Me[32]=vue.createElementVNode("span",{class:"relative-label"},"的最近",-1)),vue.createVNode(Nt,{modelValue:W.value.time_offset,"onUpdate:modelValue":Me[11]||(Me[11]=Pe=>W.value.time_offset=Pe),class:"offset-input",type:"number",min:1,disabled:!e.formEdit,clearable:!1,onChange:De},null,8,["modelValue","disabled"]),vue.createVNode(Dt,{modelValue:W.value.time_unit,"onUpdate:modelValue":Me[12]||(Me[12]=Pe=>W.value.time_unit=Pe),class:"unit-select",disabled:!e.formEdit,clearable:!1,onChange:ge},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(i,Pe=>vue.createVNode(Et,{key:Pe.value,value:Pe.value,label:Pe.label},null,8,["value","label"])),64))]),_:1},8,["modelValue","disabled"])])):Z.value&&ne.value?(vue.openBlock(),vue.createBlock(Ft,{key:2,modelValue:q.value,"onUpdate:modelValue":Me[13]||(Me[13]=Pe=>q.value=Pe),type:"datetimerange",disabled:!e.formEdit,clearable:!1,shortcuts:ae.value,"shortcut-close":!0,"use-shortcut-text":!0,format:"yyyy-MM-dd HH:mm:ss",onChange:We,onShortcutChange:Re},null,8,["modelValue","disabled","shortcuts"])):vue.createCommentVNode("",!0)],64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[te.value==="absolute"?(vue.openBlock(),vue.createBlock(Ft,{key:0,modelValue:ee.value,"onUpdate:modelValue":Me[14]||(Me[14]=Pe=>ee.value=Pe),type:"datetime",disabled:!e.formEdit,clearable:!1,format:"yyyy-MM-dd HH:mm:ss",onChange:We},null,8,["modelValue","disabled"])):(vue.openBlock(),vue.createElementBlock("div",_hoisted_20$1,[Me[33]||(Me[33]=vue.createElementVNode("span",{class:"relative-label"},"最近",-1)),vue.createVNode(Nt,{modelValue:W.value.time_offset,"onUpdate:modelValue":Me[15]||(Me[15]=Pe=>W.value.time_offset=Pe),class:"offset-input",type:"number",min:1,disabled:!e.formEdit,clearable:!1,onChange:De},null,8,["modelValue","disabled"]),vue.createVNode(Dt,{modelValue:W.value.time_unit,"onUpdate:modelValue":Me[16]||(Me[16]=Pe=>W.value.time_unit=Pe),class:"unit-select",disabled:!e.formEdit,clearable:!1,onChange:ge},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(i,Pe=>vue.createVNode(Et,{key:Pe.value,value:Pe.value,label:Pe.label},null,8,["value","label"])),64))]),_:1},8,["modelValue","disabled"])]))],64))])])]),vue.withDirectives(vue.createElementVNode("span",{class:"common-error-tip error-info"},vue.toDisplayString(vue.unref(H).validateInfo.message),513),[[vue.vShow,!vue.unref(H).validateInfo.valid]])],64)):(vue.openBlock(),vue.createElementBlock("span",_hoisted_21$1,vue.toDisplayString(se.value),1))])}}}),TagTimePicker=_export_sfc(_sfc_main$1p,[["__scopeId","data-v-20365ccf"]]),__vite_glob_0_17=Object.freeze(Object.defineProperty({__proto__:null,default:TagTimePicker},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1g={class:"value-assign-plugin"},_hoisted_2$Z={key:0},_hoisted_3$K={class:"custom-option-content"},_hoisted_4$D={class:"var-key"},_hoisted_5$t={class:"var-name"},_hoisted_6$m={key:1,class:"rf-view-value"},_sfc_main$1o=vue.defineComponent({__name:"TagValueAssign",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{default:()=>[]},disabled:{type:Boolean,default:!1},fullVariableList:{default:()=>[]},variableList:{default:()=>[]}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.inject("getFormData"),k=vue.inject("onHookForm"),y=vue.inject("getParent"),B=useFormMixins({attrs:{value:{type:Object,default:()=>({})},disabled:{type:Boolean,default:!1},variableList:{type:Array,default:()=>[]}},emit:(J,...Z)=>{J==="change"?i("change",Z[0],Z[1]):J==="init"?i("init",Z[0]):J==="onShow"?i("onShow"):J==="onHide"&&i("onHide")},getFormData:C,onHookForm:k,getParent:y});B.setupLifecycle(r,r);const L=vue.ref(),R=vue.ref(r.modelValue.length>0?lodash$1.cloneDeep(r.modelValue):[{key:"",value:"",value_type:"String"}]),z=[{id:"String",name:"字符串"},{id:"Int",name:"整数"},{id:"Bool",name:"布尔值"},{id:"Object",name:"Object"}],j={required:[{required:!0,message:"必填项",trigger:"blur"}],key:[{required:!0,message:"必填项",trigger:"blur"},{validator:J=>R.value.map(ne=>ne.key).filter(ne=>ne===J).length<=1,message:"被赋值变量不能重复",trigger:"change"}]},$=["component_inputs","component_outputs"],H=["input","int","textarea"],Q=J=>!!(J.source_type&&$.includes(J.source_type)||J.custom_type&&H.includes(J.custom_type)),W=J=>J.startsWith("${")&&J.endsWith("}")?J.slice(2,-1):J,te=vue.computed(()=>{if(!r.formEdit||r.disabled)return r.fullVariableList.map(ne=>({key:W(ne.key),displayKey:ne.key,name:ne.name}));const J=[],Z=[];return r.fullVariableList.forEach(ne=>{const oe={key:W(ne.key),displayKey:ne.key,name:ne.name,disabled:!1};Q(ne)?J.push(oe):Z.push({...oe,disabled:!0})}),[...J,...Z]}),ee=vue.computed(()=>!R.value||R.value.length===0?"--":R.value.map(J=>`${J.key?J.key.replace(/^\$\{|\}$/g,""):""} = ${J.value||""}`).join("; ")),q=(J,Z)=>{Z==="delete"?R.value.splice(J,1):R.value.splice(J+1,0,{key:"",value:"",value_type:"String"})};return t({validate:J=>L.value?L.value.validate().then(()=>B.validate(void 0,r.validation,J!==void 0?J:R.value,r.parentValue,r.validateSet)).catch(()=>!1):B.validate(void 0,r.validation,J!==void 0?J:R.value,r.parentValue,r.validateSet)}),vue.watch(R,J=>{B.updateForm(J)},{deep:!0}),vue.watch(()=>r.modelValue,J=>{lodash$1.isEqual(J,R.value)||(R.value=J.length>0?lodash$1.cloneDeep(J):[{key:"",value:"",value_type:"String"}])},{deep:!0,immediate:!0}),(J,Z)=>{const ne=vue.resolveComponent("bk-select"),oe=vue.resolveComponent("bk-form-item"),ae=vue.resolveComponent("bk-option"),se=vue.resolveComponent("bk-input"),de=vue.resolveComponent("bk-button"),ge=vue.resolveComponent("bk-form"),fe=vue.resolveDirective("bk-overflow-tips");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1g,[e.formMode?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$Z,[vue.createVNode(ge,{ref_key:"valueAssignFormRef",ref:L,"label-width":0,model:R.value},{default:vue.withCtx(()=>[vue.createVNode(oe,{label:"''","label-width":100,required:!0},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(R.value,(ie,ce)=>(vue.openBlock(),vue.createElementBlock("div",{key:ce,class:"form-content-item"},[vue.createVNode(oe,{label:"",property:`${ce}.key`,rules:j.key},{default:vue.withCtx(()=>[vue.createVNode(ne,{modelValue:ie.key,"onUpdate:modelValue":pe=>ie.key=pe,class:"value-selector","ext-popover-cls":"value-selector-popover",placeholder:"被赋值变量","id-key":"key","display-key":"displayKey",filterable:"",disabled:!e.formEdit||e.disabled,list:te.value},{optionRender:vue.withCtx(({item:pe})=>[vue.createElementVNode("div",_hoisted_3$K,[vue.withDirectives((vue.openBlock(),vue.createElementBlock("span",_hoisted_4$D,[vue.createTextVNode(vue.toDisplayString(pe.displayKey),1)])),[[fe]]),vue.withDirectives((vue.openBlock(),vue.createElementBlock("span",_hoisted_5$t,[vue.createTextVNode(vue.toDisplayString(pe.name),1)])),[[fe]])])]),_:2},1032,["modelValue","onUpdate:modelValue","disabled","list"])]),_:2},1032,["property","rules"]),Z[2]||(Z[2]=vue.createElementVNode("span",{class:"equal-sign"},vue.toDisplayString("="),-1)),vue.createVNode(oe,{label:"",property:`${ce}.value`,rules:j.required},{default:vue.withCtx(()=>[vue.createVNode(se,{modelValue:ie.value,"onUpdate:modelValue":pe=>ie.value=pe,disabled:!e.formEdit||e.disabled,placeholder:"值"},{prefix:vue.withCtx(()=>[vue.createVNode(ne,{modelValue:ie.value_type,"onUpdate:modelValue":pe=>ie.value_type=pe,clearable:!1,class:"value-type-selector",disabled:!e.formEdit||e.disabled},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(z,pe=>vue.createVNode(ae,{id:pe.id,key:pe.id,name:pe.name},null,8,["id","name"])),64))]),_:1},8,["modelValue","onUpdate:modelValue","disabled"])]),_:2},1032,["modelValue","onUpdate:modelValue","disabled"])]),_:2},1032,["property","rules"]),e.formEdit&&!e.disabled?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(de,{class:"row-button add-button",onClick:pe=>q(Number(ce),"add")},{default:vue.withCtx(()=>[...Z[0]||(Z[0]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-zoom-add"},null,-1)])]),_:1},8,["onClick"]),vue.createVNode(de,{class:"row-button delete-button",disabled:R.value.length===1,onClick:pe=>q(Number(ce),"delete")},{default:vue.withCtx(()=>[...Z[1]||(Z[1]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-zoom-minus"},null,-1)])]),_:1},8,["disabled","onClick"])],64)):vue.createCommentVNode("",!0)]))),128))]),_:1})]),_:1},8,["model"]),vue.withDirectives(vue.createElementVNode("span",{class:"common-error-tip error-info"},vue.toDisplayString(vue.unref(B).validateInfo.message),513),[[vue.vShow,!vue.unref(B).validateInfo.valid]])])):(vue.openBlock(),vue.createElementBlock("span",_hoisted_6$m,vue.toDisplayString(ee.value),1))])}}}),TagValueAssign=_export_sfc(_sfc_main$1o,[["__scopeId","data-v-9bb0ca44"]]),__vite_glob_0_18=Object.freeze(Object.defineProperty({__proto__:null,default:TagValueAssign},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1f={class:"name"},_hoisted_2$Y={key:0,class:"required"},_hoisted_3$J={key:1,class:"scheme-code"},_hoisted_4$C={key:2,class:"not-reuse-tip"},_hoisted_5$s={key:3,class:"pre-mako-tip"},_hoisted_6$l={key:4,class:"used-tip"},_hoisted_7$f={key:2,class:"scheme-desc-wrap"},_hoisted_8$c={class:"hide-html-text"},_hoisted_9$b={key:0},_sfc_main$1n=vue.defineComponent({__name:"FormItem",props:{scheme:{default:()=>({})},option:{default:()=>({})},value:{type:[String,Number,Boolean,Array,Object],default:void 0},parentValue:{type:[String,Number,Boolean,Array,Object],default:void 0},hook:{type:Boolean,default:!1},render:{type:Boolean,default:!0},constants:{default:()=>({})},fullVariableList:{default:()=>[]}},emits:["init","change"],setup(e,{expose:t,emit:n}){const r=Object.assign({"./tags/TagButton.vue":__vite_glob_0_0,"./tags/TagCheckbox.vue":__vite_glob_0_1,"./tags/TagCodeEditor.vue":__vite_glob_0_2,"./tags/TagDatatable.vue":__vite_glob_0_3,"./tags/TagDateTimeRange.vue":__vite_glob_0_4,"./tags/TagDatetime.vue":__vite_glob_0_5,"./tags/TagFieldMappings.vue":__vite_glob_0_6,"./tags/TagInput.vue":__vite_glob_0_7,"./tags/TagInt.vue":__vite_glob_0_8,"./tags/TagMemberSelector.vue":__vite_glob_0_9,"./tags/TagRadio.vue":__vite_glob_0_10,"./tags/TagSection.vue":__vite_glob_0_11,"./tags/TagSelect.vue":__vite_glob_0_12,"./tags/TagSwitch.vue":__vite_glob_0_13,"./tags/TagText.vue":__vite_glob_0_14,"./tags/TagTextarea.vue":__vite_glob_0_15,"./tags/TagTime.vue":__vite_glob_0_16,"./tags/TagTimePicker.vue":__vite_glob_0_17,"./tags/TagValueAssign.vue":__vite_glob_0_18}),i={};Object.keys(r).forEach(ne=>{const ae=r[ne].default;if(ae){const se=ne.split("/").pop()?.replace(".vue","")||"";if(se.startsWith("Tag")){const ge=`tag-${se.slice(3).replace(/[A-Z]/g,(fe,ie)=>ie>0?`-${fe.toLowerCase()}`:fe.toLowerCase())}`;i[ge]=ae}}});const C=e,k=n,y=vue.ref(!0);"formViewHidden"in C.scheme.attrs&&!C.option.formEdit?y.value=!C.scheme.attrs.formViewHidden:"hidden"in C.scheme.attrs&&(y.value=!C.scheme.attrs.hidden);const B=vue.ref(new Date().getTime()),L=vue.computed(()=>{const ne=`tag-${C.scheme.type.replace(/_/g,"-")}`;return i[ne]||ne}),R=vue.ref(lodash$1.cloneDeep(C.value)),z=vue.ref(!1),j=vue.ref(!1),$=vue.ref(),H=vue.computed(()=>!C.hook&&C.option.showGroup&&!!(C.scheme.name||C.scheme.attrs.name)),Q=vue.computed(()=>C.option.formEdit&&C.scheme.attrs.notReuse),W=vue.computed(()=>{const{type:ne,attrs:oe}=C.scheme;return oe.html_used_tip&&["input","textarea","select"].includes(ne)?"rf-tag-used":""});vue.watch(()=>C.value,ne=>{R.value=lodash$1.cloneDeep(ne)});const te=()=>{const ne=lodash$1.cloneDeep(C.scheme.attrs);return ne.showVarList=C.option.showVarList,ne.formEdit=C.option.formEdit,ne.formMode=C.option.formMode,ne.validateSet=C.option.validateSet,{...ne}},ee=()=>{let ne=!1;return C.option.showRequired===!0&&"validation"in C.scheme.attrs&&(ne=C.scheme.attrs.validation.some(oe=>oe.type==="required")),ne},q=(ne,oe)=>{k("change",ne,oe)},G=()=>{y.value=!0},J=()=>{y.value=!1};return t({validate:ne=>!C.hook&&y.value?$.value?.validate?.(ne)??!0:!0,onShowForm:G,onHideForm:J,scheme:vue.computed(()=>C.scheme)}),(ne,oe)=>{const ae=vue.resolveComponent("tag-section"),se=vue.resolveDirective("bk-tooltips");return vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",{key:B.value,class:vue.normalizeClass(["rf-form-item","clearfix",{"show-label":e.option.showLabel,"rf-view-mode":!e.option.formMode,"rf-col-layout":e.scheme.attrs.cols,"rf-section-item":e.scheme.type==="section"}]),style:vue.normalizeStyle({width:(e.scheme.attrs.cols?e.scheme.attrs.cols/12*100:100)+"%"})},[e.scheme.type==="section"?(vue.openBlock(),vue.createBlock(ae,{key:0,ref_key:"tagComponentRef",ref:$,name:e.scheme.attrs.name,"tag-code":e.scheme.tag_code},null,8,["name","tag-code"])):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[H.value?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:vue.normalizeClass(["rf-group-name",{"not-reuse":Q.value}])},[vue.createElementVNode("span",_hoisted_1$1f,vue.toDisplayString(e.scheme.name||e.scheme.attrs.name),1),ee()?(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$Y,"*")):vue.createCommentVNode("",!0),e.option.showHook?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$J,vue.toDisplayString(e.scheme.attrs.varKey||e.scheme.tag_code),1)),Q.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_4$C,[...oe[2]||(oe[2]=[vue.createElementVNode("i",{class:"common-icon-dark-circle-warning"},null,-1),vue.createTextVNode(" 未能重用 ",-1)])])):vue.createCommentVNode("",!0),e.option.formEdit&&e.scheme.attrs.pre_mako_tip?(vue.openBlock(),vue.createElementBlock("span",_hoisted_5$s,[oe[3]||(oe[3]=vue.createElementVNode("i",{class:"common-icon-dark-circle-warning"},null,-1)),vue.createTextVNode(" "+vue.toDisplayString(e.scheme.attrs.pre_mako_tip),1)])):!e.scheme.attrs.html_used_tip&&e.scheme.attrs.used_tip?(vue.openBlock(),vue.createElementBlock("span",_hoisted_6$l,[oe[4]||(oe[4]=vue.createElementVNode("i",{class:"common-icon-dark-circle-warning"},null,-1)),vue.createTextVNode(" "+vue.toDisplayString(e.scheme.attrs.used_tip),1)])):vue.createCommentVNode("",!0)],2)):vue.createCommentVNode("",!0),e.option.showLabel&&e.scheme.attrs.name?(vue.openBlock(),vue.createElementBlock("label",{key:1,class:vue.normalizeClass(["rf-tag-label",{required:ee()}])},[vue.withDirectives((vue.openBlock(),vue.createElementBlock("span",{class:vue.normalizeClass({"tag-label-tips":e.scheme.attrs.tips})},[vue.createTextVNode(vue.toDisplayString(e.scheme.attrs.name),1)],2)),[[se,{allowHtml:!0,content:e.scheme.attrs.tips,placement:"top-start",theme:"light",extCls:"rf-label-tips",boundary:"window",zIndex:2072,disabled:!e.scheme.attrs.tips}]])],2)):vue.createCommentVNode("",!0),vue.withDirectives((vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(L.value),vue.mergeProps({class:[e.scheme.attrs.name?"rf-tag-form":"",W.value],ref_key:"tagComponentRef",ref:$},te(),{"tag-code":e.scheme.tag_code,hook:e.hook,constants:e.constants,"atom-events":e.scheme.events,"atom-methods":e.scheme.methods,"model-value":R.value,"parent-value":e.parentValue,"full-variable-list":e.fullVariableList,onInit:oe[0]||(oe[0]=de=>k("init",de)),"onUpdate:modelValue":q,onChange:q,onOnShow:G,onOnHide:J}),null,16,["class","tag-code","hook","constants","atom-events","atom-methods","model-value","parent-value","full-variable-list"])),[[vue.vShow,!e.hook]]),e.scheme.attrs.desc?(vue.openBlock(),vue.createElementBlock("div",_hoisted_7$f,[vue.createElementVNode("div",_hoisted_8$c,vue.toDisplayString(e.scheme.attrs.desc),1),vue.createElementVNode("div",{class:vue.normalizeClass(["rf-group-desc",{"is-fold":!j.value}])},vue.toDisplayString(e.scheme.attrs.desc),3),z.value?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:vue.normalizeClass({mt10:j.value})},[j.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("span",_hoisted_9$b,"...")),vue.createElementVNode("span",{class:"expand-btn",onClick:oe[1]||(oe[1]=de=>j.value=!j.value)},vue.toDisplayString(j.value?"收起":"展开全部"),1)],2)):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0)],64))],6)),[[vue.vShow,y.value]])}}}),_hoisted_1$1e={class:"name"},_hoisted_2$X={key:0,class:"required"},_hoisted_3$I={class:"scheme-code"},_hoisted_4$B={key:1,class:"not-reuse-tip"},_hoisted_5$r={key:2,class:"pre-mako-tip"},_hoisted_6$k={key:3,class:"used-tip"},_hoisted_7$e={class:"tip-title"},_hoisted_8$b={key:2,class:"rf-form-item rf-has-hook show-label"},_hoisted_9$a={key:0,class:"rf-tag-label"},_hoisted_10$9={class:"rf-tag-form rf-has-hook"},_hoisted_11$9={key:4,class:"scheme-desc-wrap"},_hoisted_12$7={class:"hide-html-text"},_hoisted_13$5={key:0},_sfc_main$1m=vue.defineComponent({__name:"FormGroup",props:{scheme:{default:()=>({})},option:{default:()=>({})},value:{default:()=>({})},hook:{type:Boolean,default:!1},render:{type:Boolean,default:!0},constants:{default:()=>({})}},emits:["init","change"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.getCurrentInstance(),k=vue.ref(!0);"formViewHidden"in r.scheme.attrs&&!r.option.formEdit?k.value=!r.scheme.attrs.formViewHidden:"hidden"in r.scheme.attrs&&(k.value=!r.scheme.attrs.hidden);const y=vue.ref(Object.assign({},r.option,{showGroup:!1})),B=vue.ref(new Date().getTime()),L=vue.reactive({}),R=vue.ref(!1),z=vue.ref(!1),j=vue.ref(),$=vue.ref([]),H=vue.computed(()=>!r.hook&&r.option.showGroup&&!!(r.scheme.name||r.scheme.attrs.name)),Q=vue.computed(()=>r.option.formEdit&&r.scheme.attrs.notReuse),W=(fe,ie)=>{fe&&($.value[Number(ie)]=fe)};vue.watch(()=>r.option,fe=>{y.value=Object.assign({},y.value,fe,{showGroup:!1})},{deep:!0});const te=()=>{let fe=!1;return r.option.showRequired===!0&&"validation"in r.scheme.attrs&&(fe=r.scheme.attrs.validation.some(ie=>ie.type==="required")),fe},ee=(fe,ie)=>{fe.unshift(r.scheme.tag_code),i("change",fe,ie)},q=fe=>{let ie;return typeof fe=="string"&&fe!==""?$.value.some(ce=>ce?.scheme&&ce.scheme.tag_code===fe?(ie=fe==="combine"?ce:ce.$refs?.tagComponent,!0):!1):ie=$.value.map(ce=>ce?.scheme?.tag_code==="combine"?ce:ce?.$refs?.tagComponent),ie},G=fe=>ie=>{fe.call(C?.proxy,ie)},J=(fe,ie,ce)=>{const pe=C?.parent;pe&&typeof pe.emit=="function"&&pe.emit(`${fe}_${ie}`,ce)},Z=()=>{k.value=!0},ne=()=>{k.value=!1},oe=()=>{Z()},ae=()=>{ne()},se=()=>{let fe=!0;return!r.hook&&k.value&&$.value.forEach(ie=>{if(!ie)return;const ce=ie.$options?.name||ie.constructor?.name;if(!(ce!=="FormItem"&&ce!=="FormGroup")&&typeof ie.validate=="function"){const pe=ie.validate();fe&&(fe=pe)}}),fe},de=()=>{j.value?.hideHandler?.(),r.scheme.attrs.html_used_tip=!1,r.scheme.attrs.disabled=!0,r.scheme.attrs.children&&ge(r.scheme.attrs.children);const fe=r.constants[r.scheme.tag_code]?.value;if(fe)for(const ie in fe)ee([ie],fe[ie]);B.value=new Date().getTime()},ge=fe=>{fe.forEach(ie=>{ie.attrs||(ie.attrs={}),ie.attrs.disabled=!0,ie.attrs.children&&ge(ie.attrs.children)})};return t({validate:se,get_child:q,onShowForm:oe,onHideForm:ae,show:Z,hide:ne,scheme:vue.computed(()=>r.scheme)}),vue.onMounted(()=>{const{scheme:fe}=r;fe.events&&fe.events.forEach(ie=>{const ce=`${ie.source}_${ie.type}`;L[ce]=G(ie.action);const pe=C?.parent;pe&&typeof pe.on=="function"&&pe.on(ce,L[ce])}),fe.methods&&Object.keys(fe.methods).forEach(ie=>{fe.methods[ie]}),vue.nextTick(()=>{J(r.scheme.tag_code,"init",r.value)})}),vue.onBeforeUnmount(()=>{r.scheme.events&&r.scheme.events.forEach(fe=>{const ie=`${fe.source}_${fe.type}`,ce=C?.parent;ce&&typeof ce.off=="function"&&ce.off(ie,L[ie])})}),(fe,ie)=>{const ce=vue.resolveComponent("bk-popover"),pe=vue.resolveComponent("bk-input"),le=vue.resolveDirective("bk-tooltips");return vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["rf-form-group",[e.scheme.status||""]]),key:B.value},[H.value?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:vue.normalizeClass(["rf-group-name",{"not-reuse":Q.value}])},[vue.createElementVNode("span",_hoisted_1$1e,vue.toDisplayString(e.scheme.name||e.scheme.attrs.name),1),te()?(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$X,"*")):vue.createCommentVNode("",!0),vue.createElementVNode("span",_hoisted_3$I,vue.toDisplayString(e.scheme.attrs.varKey||e.scheme.tag_code),1),Q.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_4$B,[...ie[2]||(ie[2]=[vue.createElementVNode("i",{class:"common-icon-dark-circle-warning"},null,-1),vue.createTextVNode(" 未能重用 ",-1)])])):vue.createCommentVNode("",!0),e.option.formEdit&&e.scheme.attrs.pre_mako_tip?(vue.openBlock(),vue.createElementBlock("span",_hoisted_5$r,[ie[3]||(ie[3]=vue.createElementVNode("i",{class:"common-icon-dark-circle-warning"},null,-1)),vue.createTextVNode(" "+vue.toDisplayString(e.scheme.attrs.pre_mako_tip),1)])):!e.scheme.attrs.html_used_tip&&e.scheme.attrs.used_tip?(vue.openBlock(),vue.createElementBlock("span",_hoisted_6$k,[ie[4]||(ie[4]=vue.createElementVNode("i",{class:"common-icon-dark-circle-warning"},null,-1)),vue.createTextVNode(" "+vue.toDisplayString(e.scheme.attrs.used_tip),1)])):vue.createCommentVNode("",!0)],2)):vue.createCommentVNode("",!0),e.scheme.attrs.html_used_tip?(vue.openBlock(),vue.createBlock(ce,{key:1,ref_key:"htmlUsedTipPopperRef",ref:j,placement:"top-start",theme:"light",always:"",class:"html-used-tippy","ext-cls":"html-used-tippy-popper"},{content:vue.withCtx(()=>[vue.createElementVNode("p",_hoisted_7$e,[ie[5]||(ie[5]=vue.createElementVNode("i",{class:"common-icon-dark-circle-warning"},null,-1)),vue.createTextVNode(" "+vue.toDisplayString(e.scheme.attrs.used_tip),1)]),ie[6]||(ie[6]=vue.createElementVNode("p",{class:"tip-content"},"将沿用原参数值提交",-1)),vue.createElementVNode("p",{class:"tip-btn",onClick:de},"知道了")]),default:vue.withCtx(()=>[ie[7]||(ie[7]=vue.createElementVNode("div",{class:"empty-box"},null,-1))]),_:1},512)):vue.createCommentVNode("",!0),e.hook?(vue.openBlock(),vue.createElementBlock("div",_hoisted_8$b,[e.option.showLabel?(vue.openBlock(),vue.createElementBlock("label",_hoisted_9$a,[vue.withDirectives((vue.openBlock(),vue.createElementBlock("span",{class:vue.normalizeClass({"tag-label-tips":e.option.formEdit&&e.scheme.attrs.tips})},[vue.createTextVNode(vue.toDisplayString(e.scheme.attrs.name),1)],2)),[[le,{allowHtml:!0,content:e.scheme.attrs.tips,placement:"top-start",theme:"light",extCls:"rf-label-tips",boundary:"window",zIndex:2072,disabled:!e.option.formEdit||!e.scheme.attrs.tips}]])])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_10$9,[vue.createVNode(pe,{disabled:!0,"model-value":String(e.value)},null,8,["model-value"])])])):(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,{key:3},vue.renderList(e.scheme.attrs.children,(ue,he)=>(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(ue.type==="combine"?_sfc_main$1m:_sfc_main$1n),{key:`${ue.tag_code}_${he}`,ref_for:!0,ref:ye=>W(ye,he),constants:e.constants,scheme:ue,option:y.value,value:typeof e.value=="object"&&e.value!==null?e.value[ue.tag_code]:void 0,"parent-value":e.value,onInit:ie[0]||(ie[0]=ye=>i("init",ye)),onChange:ee},null,40,["constants","scheme","option","value","parent-value"]))),128)),e.scheme.attrs.desc?(vue.openBlock(),vue.createElementBlock("div",_hoisted_11$9,[vue.createElementVNode("div",_hoisted_12$7,vue.toDisplayString(e.scheme.attrs.desc),1),vue.createElementVNode("div",{class:vue.normalizeClass(["rf-group-desc",{"is-fold":!z.value}])},vue.toDisplayString(e.scheme.attrs.desc),3),R.value?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:vue.normalizeClass({mt10:z.value})},[z.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("span",_hoisted_13$5,"...")),vue.createElementVNode("span",{class:"expand-btn",onClick:ie[1]||(ie[1]=ue=>z.value=!z.value)},vue.toDisplayString(z.value?"收起":"展开全部"),1)],2)):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0)],2)),[[vue.vShow,k.value]])}}}),_hoisted_1$1d={class:"render-form"},_sfc_main$1l=vue.defineComponent({__name:"Renderform",props:{fullVariableList:{default:()=>[]},scheme:{default:()=>[]},formOption:{default:()=>({})},formData:{default:()=>({})},hooked:{default:()=>({})},renderConfig:{default:()=>({})},constants:{default:()=>({})},isTriggerConfig:{type:Boolean,default:!1}},emits:["update:formData","change","onHookChange","onRenderChange"],setup(e,{expose:t,emit:n}){const r={showRequired:!0,showHook:!1,showGroup:!1,showLabel:!1,formEdit:!0,formMode:!0,showVarList:!1,showDesc:!1,validateSet:["required","custom","regex"]},i=e,C=n,k=vue.computed({get:()=>i.formData,set:q=>C("update:formData",q)});vue.provide("getFormData",()=>k.value);const y=vue.ref(lodash$1.cloneDeep(i.formData)),B=vue.ref({}),L=vue.ref({}),R=vue.ref([]),z=vue.computed(()=>Object.assign({},r,i.formOption)),j=(q,G)=>{q&&(R.value[G]=q)},$=(q,G)=>{const J=lodash$1.cloneDeep(y.value);if(q.reduce((ne,oe,ae,se)=>ae===se.length-1?(ne[oe]=G,ne):(ne.hasOwnProperty(oe)||(ne[oe]={}),ne[oe]),J),y.value=lodash$1.cloneDeep(J),C("change",J),k.value=lodash$1.cloneDeep(J),!Object.keys(B.value).length)return;const Z=q[0];W(Z,G)},H=(q,G)=>{C("onHookChange",q,G)},Q=(q,G)=>{C("onRenderChange",q,G)},W=(q,G)=>{q in B.value&&B.value[q].forEach(Z=>{let ne=JSON.stringify(G)===JSON.stringify(Z.value);const oe=i.scheme.findIndex(fe=>fe.tag_code===Z.target_key),ae=R.value[oe],se=L.value[Z.target_key];if(!ae||!se)return;ne=Z.operator==="="&&ne||Z.operator==="!="&&!ne,se[q]=ne;let de=!1;const ge=Object.values(se);Z.isOr?de=ge.some(fe=>fe):de=ge.every(fe=>fe),de?ae.onHideForm?.():ae.onShowForm?.()})};return t({validate:()=>{let q=!0;return R.value.forEach(G=>{if(G&&typeof G.validate=="function"){const J=G.validate();q&&(q=J)}}),q},get_child:q=>{let G;return typeof q=="string"&&q!==""?R.value.some(J=>J?.scheme&&J.scheme.tag_code===q?(G=q==="combine"?J:J.$refs?.tagComponent,!0):!1):G=R.value.map(J=>J?.scheme?.tag_code==="combine"?J:J?.$refs?.tagComponent),G}}),vue.onMounted(()=>{const q={},G={};if(Object.values(i.constants).forEach(J=>{!J.hide_condition||!J.hide_condition.length||J.hide_condition.forEach(Z=>{const{constant_key:ne,operator:oe,value:ae}=Z;J.key in G||(G[J.key]={}),G[J.key][ne]=!1;const se={target_key:J.key,operator:oe,value:ae,isOr:!0};ne in q?q[ne].push(se):q[ne]=[se]})}),B.value=q,L.value=G,!!Object.keys(B.value).length)for(const[J,Z]of Object.entries(i.formData))W(J,Z)}),vue.watch(()=>i.formData,q=>{y.value=lodash$1.cloneDeep(q)},{deep:!0}),(q,G)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1d,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.scheme,(J,Z)=>(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(J.type==="combine"?_sfc_main$1m:_sfc_main$1n),{key:`${J.tag_code}_${Z}`,ref_for:!0,ref:ne=>j(ne,Z),scheme:J,option:z.value,value:y.value[J.tag_code],hook:e.hooked[J.tag_code],render:e.renderConfig[J.tag_code],constants:e.constants,"full-variable-list":e.fullVariableList,onChange:$,onOnHook:H,onOnRenderChange:Q},null,40,["scheme","option","value","hook","render","constants","full-variable-list"]))),128))]))}}),RenderForm=_export_sfc(_sfc_main$1l,[["__scopeId","data-v-2fdc0641"]]),_hoisted_1$1c={key:0,class:"json-editor-wrapper"},_hoisted_2$W={key:1,class:"array-value-table"},_hoisted_3$H={class:"index-cell"},_hoisted_4$A={class:"action-cell"},_hoisted_5$q={class:"action-cell-inner"},_hoisted_6$j=["onClick"],_hoisted_7$d=["onClick"],_hoisted_8$a={key:2,class:"validate-message"},_hoisted_9$9={key:1,class:"usage-array-view"},_sfc_main$1k=vue.defineComponent({__name:"builtin-array-usage",props:{variable:{},modelValue:{},editable:{type:Boolean,default:!0}},emits:["update:modelValue"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.ref(""),k=vue.ref(!1),y=vue.ref([]),B=vue.computed(()=>r.variable.name||r.variable.key),L=vue.computed(()=>r.variable.meta||{}),R=vue.computed(()=>L.value.item_type||"string"),z=vue.computed(()=>R.value==="json"),j=vue.computed(()=>!!L.value.required),$=vue.computed(()=>L.value.item_validation||""),H=[{value:!0,label:"true"},{value:!1,label:"false"}],Q=vue.computed(()=>({language:"json",theme:"vs-dark",readOnly:!r.editable,lineNumbers:"on",scrollBeyondLastLine:!1,tabSize:2,placeholder:"[]"})),W=()=>`array_usage_item_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,te=()=>({id:W(),value:"",isPlaceholder:!0}),ee=(be,Ae)=>{if(be==null)return"";if(Ae==="number"){if(be==="")return"";const Te=Number(be);return Number.isNaN(Te)?String(be):Te}if(Ae==="boolean"){if(typeof be=="boolean")return be;if(typeof be=="string"){if(be.toLowerCase()==="true")return!0;if(be.toLowerCase()==="false")return!1}return""}return typeof be=="object"?JSON.stringify(be):String(be)},q=(be,Ae)=>(Array.isArray(be)?be:[]).map(Ze=>ee(Ze,Ae)),G=(be,Ae)=>{const Te=q(be,Ae);return Te.length<1?[te()]:Te.map(Ze=>({id:W(),value:Ze}))},J=()=>r.modelValue??r.variable.value,Z=be=>{if(be==null||be==="")return"[]";if(typeof be=="string"){const Ae=be.trim();if(!Ae)return"[]";try{const Te=JSON.parse(Ae);return JSON.stringify(Array.isArray(Te)?Te:[],null,2)}catch{return be}}return JSON.stringify(Array.isArray(be)?be:[],null,2)},ne=vue.ref(Z(J())),oe=()=>y.value.filter(be=>!be.isPlaceholder),ae=be=>oe().map(Ae=>ee(Ae.value,be)),se=()=>{if(z.value){const be=Z(J());be!==ne.value&&(ne.value=be);return}y.value=G(J(),R.value)};vue.watch(()=>[r.modelValue,r.variable.value,R.value],se,{immediate:!0,deep:!0});const de=()=>{R.value!=="json"&&i("update:modelValue",ae(R.value))},ge=()=>{const be=ne.value.trim();if(!be)return{valid:!j.value,message:"请输入 JSON 数组参数值",value:[]};try{const Ae=JSON.parse(be);return Array.isArray(Ae)?{valid:!0,value:Ae}:{valid:!1,message:"请输入数组格式的 JSON 参数值"}}catch{return{valid:!1,message:"请输入正确的 JSON 格式数据"}}},fe=()=>{const be=ge();return be.valid?(C.value="",i("update:modelValue",be.value),!0):!1},ie=()=>{C.value="",fe()},ce=()=>{r.editable&&fe()&&(ne.value=Z(JSON.parse(ne.value)))},pe=({hasErrors:be})=>{k.value=be},le=(be,Ae)=>{if(R.value==="json")return;const Te=y.value.slice();Te[be]={...Te[be],value:ee(Ae,R.value),isPlaceholder:!1},y.value=Te,C.value="",de()},ue=be=>{const Ae=y.value.slice();Ae[be]?.isPlaceholder&&(Ae[be]={...Ae[be],isPlaceholder:!1}),Ae.splice(be+1,0,{id:W(),value:""}),y.value=Ae,C.value="",de()},he=be=>{const Ae=y.value.slice();Ae.splice(be,1),y.value=Ae.length>0?Ae:[te()],C.value="",de()},ye=()=>{const be=oe();if(j.value&&be.length<1)return C.value="请至少填写一个元素值",!1;if(R.value==="number"&&be.some(Te=>Te.value===""||Number.isNaN(Number(Te.value))))return C.value="请输入合法的数字元素值",!1;if(R.value==="boolean"&&be.some(Te=>Te.value!==!0&&Te.value!==!1))return C.value="请选择合法的布尔元素值",!1;if($.value.trim()){let Ae;try{Ae=new RegExp($.value)}catch{return C.value="元素正则表达式格式不合法",!1}if(be.some(Ze=>!Ae.test(String(Ze.value))))return C.value=`元素值不符合正则规则:${$.value}`,!1}return C.value="",de(),!0},_e=()=>{if(C.value="",!r.editable)return!0;if(z.value){const be=ge();return!be.valid||k.value?(C.value=be.message||"请输入正确的 JSON 格式数据",!1):(i("update:modelValue",be.value),!0)}return ye()},Ne=vue.computed(()=>Z(J()));return t({validate:_e}),(be,Ae)=>{const Te=vue.resolveComponent("bk-select"),Ze=vue.resolveComponent("bk-input"),lt=vue.resolveComponent("bk-form-item");return vue.openBlock(),vue.createBlock(lt,{label:B.value,required:j.value},{default:vue.withCtx(()=>[r.editable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[z.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1c,[vue.createVNode(CodeEditor,{modelValue:ne.value,"onUpdate:modelValue":Ae[0]||(Ae[0]=Ge=>ne.value=Ge),options:Q.value,onChange:ie,onBlur:ce,onMarkersChange:pe},null,8,["modelValue","options"])])):(vue.openBlock(),vue.createElementBlock("table",_hoisted_2$W,[Ae[3]||(Ae[3]=vue.createElementVNode("colgroup",null,[vue.createElementVNode("col",{class:"index-col"}),vue.createElementVNode("col"),vue.createElementVNode("col",{class:"action-col"})],-1)),Ae[4]||(Ae[4]=vue.createElementVNode("thead",null,[vue.createElementVNode("tr",null,[vue.createElementVNode("th",null,"index"),vue.createElementVNode("th",null,"元素值"),vue.createElementVNode("th")])],-1)),vue.createElementVNode("tbody",null,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(y.value,(Ge,st)=>(vue.openBlock(),vue.createElementBlock("tr",{key:Ge.id},[vue.createElementVNode("td",_hoisted_3$H,vue.toDisplayString(st),1),vue.createElementVNode("td",{class:vue.normalizeClass(["array-value-cell",{"select-cell":R.value==="boolean"}])},[R.value==="boolean"?(vue.openBlock(),vue.createBlock(Te,{key:0,class:"array-value-select","model-value":Ge.value,clearable:!1,list:H,placeholder:"请选择",onChange:Ue=>le(st,Ue)},null,8,["model-value","onChange"])):(vue.openBlock(),vue.createBlock(Ze,{key:1,class:"array-value-input","model-value":Ge.value,type:R.value==="number"?"number":"text",placeholder:"请输入",onChange:Ue=>le(st,Ue)},null,8,["model-value","type","onChange"]))],2),vue.createElementVNode("td",_hoisted_4$A,[vue.createElementVNode("div",_hoisted_5$q,[vue.createElementVNode("div",{class:"action-btn",onClick:Ue=>ue(st)},[...Ae[1]||(Ae[1]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-plus-circle-shape"},null,-1)])],8,_hoisted_6$j),vue.createElementVNode("div",{class:"action-btn",onClick:Ue=>he(st)},[...Ae[2]||(Ae[2]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-minus-circle-shape"},null,-1)])],8,_hoisted_7$d)])])]))),128))])])),C.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_8$a,vue.toDisplayString(C.value),1)):vue.createCommentVNode("",!0)],64)):(vue.openBlock(),vue.createElementBlock("pre",_hoisted_9$9,vue.toDisplayString(Ne.value),1))]),_:1},8,["label","required"])}}}),BuiltinArrayUsage=_export_sfc(_sfc_main$1k,[["__scopeId","data-v-b1e294bc"]]),_hoisted_1$1b={class:"json-editor-wrapper"},_hoisted_2$V={key:0,class:"validate-message"},_hoisted_3$G={key:1,class:"usage-json-view"},_sfc_main$1j=vue.defineComponent({__name:"builtin-json-usage",props:{variable:{},modelValue:{},editable:{type:Boolean,default:!0}},emits:["update:modelValue"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.ref(""),k=vue.ref(!1),y=vue.computed(()=>r.variable.name||r.variable.key),B=vue.computed(()=>!!r.variable.meta?.required),L=vue.computed(()=>({language:"json",theme:"vs-dark",readOnly:!r.editable,lineNumbers:"on",scrollBeyondLastLine:!1,tabSize:2,placeholder:"{}"})),R=q=>{if(q==null||q==="")return"{}";if(typeof q=="string"){const G=q.trim();if(!G)return"{}";try{return JSON.stringify(JSON.parse(G),null,2)}catch{return q}}return JSON.stringify(q,null,2)},z=vue.ref(R(r.modelValue??r.variable.value));vue.watch(()=>[r.modelValue,r.variable.value],()=>{const q=R(r.modelValue??r.variable.value);q!==z.value&&(z.value=q)},{deep:!0});const j=()=>{const q=z.value.trim();if(!q)return{valid:!B.value,message:"请输入 JSON 参数值",value:{}};try{return{valid:!0,value:JSON.parse(q)}}catch{return{valid:!1,message:"请输入正确的 JSON 格式数据"}}},$=()=>{const q=j();return q.valid?(C.value="",i("update:modelValue",q.value),!0):!1},H=()=>{C.value="",$()},Q=()=>{r.editable&&$()&&(z.value=R(JSON.parse(z.value)))},W=({hasErrors:q})=>{k.value=q},te=()=>{if(C.value="",!r.editable)return!0;const q=j();return!q.valid||k.value?(C.value=q.message||"请输入正确的 JSON 格式数据",!1):(i("update:modelValue",q.value),!0)},ee=vue.computed(()=>R(r.modelValue??r.variable.value));return t({validate:te}),(q,G)=>{const J=vue.resolveComponent("bk-form-item");return vue.openBlock(),vue.createBlock(J,{label:y.value,required:B.value},{default:vue.withCtx(()=>[r.editable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createElementVNode("div",_hoisted_1$1b,[vue.createVNode(CodeEditor,{modelValue:z.value,"onUpdate:modelValue":G[0]||(G[0]=Z=>z.value=Z),options:L.value,onChange:H,onBlur:Q,onMarkersChange:W},null,8,["modelValue","options"])]),C.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$V,vue.toDisplayString(C.value),1)):vue.createCommentVNode("",!0)],64)):(vue.openBlock(),vue.createElementBlock("pre",_hoisted_3$G,vue.toDisplayString(ee.value),1))]),_:1},8,["label","required"])}}}),BuiltinJsonUsage=_export_sfc(_sfc_main$1j,[["__scopeId","data-v-9eaa82a5"]]),_hoisted_1$1a={class:"usage-view-value"},_sfc_main$1i=vue.defineComponent({__name:"builtin-placeholder-usage",props:{variable:{},modelValue:{},editable:{type:Boolean}},setup(e,{expose:t}){const n=e,r=vue.computed(()=>n.variable.name||n.variable.key),i=vue.computed(()=>{const k=n.modelValue??n.variable.value;return k==null||k===""||Array.isArray(k)&&k.length<1?"--":typeof k=="object"?JSON.stringify(k):String(k)});return t({validate:()=>!0}),(k,y)=>{const B=vue.resolveComponent("bk-form-item");return vue.openBlock(),vue.createBlock(B,{label:r.value},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_1$1a,vue.toDisplayString(i.value),1)]),_:1},8,["label"])}}}),BuiltinPlaceholderUsage=_export_sfc(_sfc_main$1i,[["__scopeId","data-v-0c1dae03"]]),_hoisted_1$19={key:0,class:"validate-message"},_hoisted_2$U={key:1,class:"usage-view-value"},SELECT_ALL_VALUE="__ALL__",_sfc_main$1h=vue.defineComponent({__name:"builtin-select-usage",props:{variable:{},modelValue:{},editable:{type:Boolean,default:!0}},emits:["update:modelValue"],setup(e,{expose:t,emit:n}){const r={id:SELECT_ALL_VALUE,name:"- ALL -"},i=e,C=n,k=vue.ref(""),y=vue.ref(""),B=vue.computed(()=>i.variable.name||i.variable.key),L=vue.computed(()=>i.variable.meta||{}),R=vue.computed(()=>!!L.value.multiple),z=vue.computed(()=>!!L.value.required),j=vue.computed(()=>L.value.option_source||"manual"),$=vue.computed(()=>(Array.isArray(L.value.options)?L.value.options:[]).filter(ne=>String(ne.value??"").trim().length>0).map(ne=>({id:ne.value,name:ne.label||ne.value}))),H=vue.computed(()=>{const Z=L.value.related?.candidate_values;return Array.isArray(Z)&&Z.length>0?Z:[SELECT_ALL_VALUE]}),Q=vue.computed(()=>H.value.map(Z=>Z===SELECT_ALL_VALUE?r:{id:Z,name:Z})),W=vue.computed(()=>{const Z=j.value==="manual"?$.value:Q.value;return R.value&&L.value.include_all?[r,...Z.filter(ne=>ne.id!==SELECT_ALL_VALUE)]:Z.filter(ne=>ne.id!==SELECT_ALL_VALUE)}),te=Z=>R.value?Array.isArray(Z)?Z.map(String):[]:Array.isArray(Z)?Z[0]||"":Z==null?"":String(Z);vue.watch(()=>[i.modelValue,i.variable.value,R.value],()=>{y.value=te(i.modelValue??i.variable.value)},{immediate:!0,deep:!0});const ee=()=>{k.value="";let Z=te(y.value);R.value&&Array.isArray(Z)&&Z.includes(SELECT_ALL_VALUE)&&(Z=[SELECT_ALL_VALUE],y.value=Z),C("update:modelValue",Z)},q=()=>{if(k.value="",!i.editable)return!0;const Z=te(y.value),ne=R.value?Array.isArray(Z)&&Z.length<1:!Z;return z.value&&ne?(k.value="请选择参数值",!1):(ee(),!0)},G=vue.computed(()=>{const Z=new Map;return W.value.forEach(ne=>Z.set(ne.id,ne.name)),Z}),J=vue.computed(()=>{const Z=te(i.modelValue??i.variable.value);return Array.isArray(Z)?Z.length<1?"--":Z.map(ne=>G.value.get(ne)||ne).join(","):Z?G.value.get(Z)||Z:"--"});return t({validate:q}),(Z,ne)=>{const oe=vue.resolveComponent("bk-select"),ae=vue.resolveComponent("bk-form-item");return vue.openBlock(),vue.createBlock(ae,{label:B.value,required:z.value},{default:vue.withCtx(()=>[i.editable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(oe,{modelValue:y.value,"onUpdate:modelValue":ne[0]||(ne[0]=se=>y.value=se),multiple:R.value,list:W.value,"id-key":"id","display-key":"name",placeholder:"请选择",onChange:ee},null,8,["modelValue","multiple","list"]),k.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$19,vue.toDisplayString(k.value),1)):vue.createCommentVNode("",!0)],64)):(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$U,vue.toDisplayString(J.value),1))]),_:1},8,["label","required"])}}}),BuiltinSelectUsage=_export_sfc(_sfc_main$1h,[["__scopeId","data-v-23a60ce2"]]),_hoisted_1$18={key:2,class:"validate-message"},_hoisted_2$T={key:1,class:"usage-view-value"},_sfc_main$1g=vue.defineComponent({__name:"builtin-text-usage",props:{variable:{},modelValue:{},editable:{type:Boolean,default:!0}},emits:["update:modelValue"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.ref(""),k=vue.ref(""),y=vue.computed(()=>r.variable.name||r.variable.key),B=vue.computed(()=>r.variable.custom_type==="textarea"),L=vue.computed(()=>r.variable.meta?.data_type==="number"&&!B.value),R=vue.computed(()=>typeof r.variable.meta?.required=="boolean"?r.variable.meta.required:!!r.variable.validation),z=vue.computed(()=>r.variable.meta?.placeholder||"请输入"),j=vue.computed(()=>r.variable.meta?.validation_error_msg||"参数值不符合正则规则"),$=q=>{if(q==null)return"";if(L.value){if(q==="")return"";const G=Number(q);return Number.isNaN(G)?"":G}return String(q)},H=()=>{k.value=$(r.modelValue??r.variable.value)};vue.watch(()=>[r.modelValue,r.variable.value,r.variable.meta?.data_type],H,{immediate:!0,deep:!0});const Q=q=>q===""||q===void 0||q===null,W=()=>{C.value="";const q=L.value&&k.value!==""?Number(k.value):String(k.value??"");i("update:modelValue",q)},te=()=>{if(C.value="",!r.editable)return!0;if(R.value&&Q(k.value))return C.value="请输入参数值",!1;if(L.value&&!Q(k.value)&&Number.isNaN(Number(k.value)))return C.value="请输入合法的数字",!1;if(r.variable.validation&&!Q(k.value))try{if(!new RegExp(r.variable.validation).test(String(k.value)))return C.value=j.value,!1}catch{return C.value="正则表达式格式不合法",!1}return W(),!0},ee=vue.computed(()=>{const q=$(r.modelValue??r.variable.value);return Q(q)?"--":String(q)});return t({validate:te}),(q,G)=>{const J=vue.resolveComponent("bk-input"),Z=vue.resolveComponent("bk-form-item");return vue.openBlock(),vue.createBlock(Z,{label:y.value,required:R.value},{default:vue.withCtx(()=>[r.editable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[B.value?(vue.openBlock(),vue.createBlock(J,{key:0,modelValue:k.value,"onUpdate:modelValue":G[0]||(G[0]=ne=>k.value=ne),type:"textarea",rows:4,resize:!1,placeholder:z.value,onChange:W},null,8,["modelValue","placeholder"])):(vue.openBlock(),vue.createBlock(J,{key:1,modelValue:k.value,"onUpdate:modelValue":G[1]||(G[1]=ne=>k.value=ne),type:L.value?"number":"text",placeholder:z.value,onChange:W},null,8,["modelValue","type","placeholder"])),C.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$18,vue.toDisplayString(C.value),1)):vue.createCommentVNode("",!0)],64)):(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$T,vue.toDisplayString(ee.value),1))]),_:1},8,["label","required"])}}}),BuiltinTextUsage=_export_sfc(_sfc_main$1g,[["__scopeId","data-v-83e5de15"]]),_hoisted_1$17={class:"timepicker-usage"},_hoisted_2$S={key:1,class:"relative-time-config"},_hoisted_3$F={key:1,class:"relative-time-config"},_hoisted_4$z={key:0,class:"validate-message"},_hoisted_5$p={key:1,class:"usage-view-value"},_sfc_main$1f=vue.defineComponent({__name:"builtin-timepicker-usage",props:{variable:{},modelValue:{},editable:{type:Boolean,default:!0}},emits:["update:modelValue"],setup(e,{expose:t,emit:n}){const r=[{value:"now",label:"此刻"},{value:"today",label:"今天"},{value:"yesterday",label:"昨天"},{value:"the_day_before_yesterday",label:"前天"}],i=[{value:"minute",label:"分钟"},{value:"hour",label:"小时"},{value:"day",label:"天"}],C={minute:"分钟",hour:"小时",day:"天"},k={now:"此刻",today:"今天",yesterday:"昨天",the_day_before_yesterday:"前天"},y=[{start_expr:"now-5m",end_expr:"now",label:"近5分钟"},{start_expr:"now-15m",end_expr:"now",label:"近15分钟"},{start_expr:"now-30m",end_expr:"now",label:"近30分钟"}],B={"5m":3e5,"15m":9e5,"30m":18e5,"1h":36e5,"2h":72e5,"6h":216e5,"1d":864e5,"7d":6048e5,"15d":1296e6,"30d":2592e6},L=e,R=n,z=vue.ref(""),j=vue.ref(lodash$1.cloneDeep(TIME_PICKER_DEFAULT_VALUE)),$=vue.ref("absolute"),H=vue.ref(""),Q=vue.ref([]),W=vue.computed(()=>L.variable.name||L.variable.key),te=vue.computed(()=>!!L.variable.meta?.required),ee=vue.computed(()=>j.value.methods?.includes("absolute")),q=vue.computed(()=>j.value.methods?.includes("relative")),G=le=>{const ue=lodash$1.cloneDeep(TIME_PICKER_DEFAULT_VALUE);if(!le||typeof le!="object")return ue;const he={...ue,...lodash$1.cloneDeep(le)};return(!Array.isArray(he.methods)||he.methods.length===0)&&(he.methods=he.time_base==="absolute"?["absolute"]:["relative"]),he.type==="time_point"&&(he.methods=[he.methods[0]||"absolute"]),he.time_offset=Number(he.time_offset)||1,he},J=le=>{$.value=le.type==="time_point"&&le.methods?.[0]==="relative"?"relative":le.type==="time_point"&&le.methods?.[0]||"absolute",H.value=le.datetime||"",Q.value=le.start_time&&le.end_time?[le.start_time,le.end_time]:[]},Z=()=>L.modelValue??L.variable.value;vue.watch(()=>[L.modelValue,L.variable.value],()=>{const le=G(Z());j.value=le,J(le)},{immediate:!0,deep:!0});const ne=vue.computed(()=>j.value.custom_options_enabled&&j.value.custom_options?.length?j.value.custom_options:y),oe=vue.computed(()=>ne.value.map(le=>{const he=le.start_expr.match(/^now-(\d+[a-z]+)$/)?.[1]||"",ye=B[he]||36e5;return{text:le.label,value:()=>{const _e=new Date;return[new Date(_e.getTime()-ye),_e]}}})),ae=()=>{if(j.value.type==="time_range"){j.value.start_time=Q.value[0]||"",j.value.end_time=Q.value[1]||"",delete j.value.datetime;return}j.value.datetime=H.value||"",delete j.value.start_time,delete j.value.end_time},se=()=>{z.value="";const le=lodash$1.cloneDeep(j.value);le.methods?.includes("absolute")||(delete le.start_time,delete le.end_time,delete le.datetime),R("update:modelValue",le)},de=le=>{j.value.time_offset=Number(le)||1,se()},ge=()=>{ae(),se()},fe=le=>{const ue=Te=>String(Te).padStart(2,"0"),he=le.getFullYear(),ye=ue(le.getMonth()+1),_e=ue(le.getDate()),Ne=ue(le.getHours()),be=ue(le.getMinutes()),Ae=ue(le.getSeconds());return`${he}-${ye}-${_e} ${Ne}:${be}:${Ae}`},ie=le=>{if(typeof le?.value=="function"){const ue=le.value();Array.isArray(ue)&&ue.length>=2&&(Q.value=ue.map(he=>he instanceof Date?fe(he):String(he)))}ae(),se()},ce=()=>{if(z.value="",!L.editable)return!0;if(ee.value){if(j.value.type==="time_range"&&(!j.value.start_time||!j.value.end_time))return z.value="请选择时间范围",!1;if(j.value.type==="time_point"&&$.value==="absolute"&&!j.value.datetime)return z.value="请选择时间点",!1}return q.value&&(!j.value.time_offset||Number(j.value.time_offset)<1)?(z.value="请输入有效的相对时间",!1):(se(),!0)},pe=vue.computed(()=>{const le=G(Z()),ue=le.methods||["relative"];if(ue.includes("absolute")&&!ue.includes("relative"))return le.type==="time_range"?le.start_time&&le.end_time?`${le.start_time} ~ ${le.end_time}`:"--":le.datetime||"--";const he=C[le.time_unit]||le.time_unit,ye=k[le.time_base]||le.time_base;return le.type==="time_range"?`基于${ye}的最近 ${le.time_offset} ${he}`:`最近 ${le.time_offset} ${he}`});return t({validate:ce}),(le,ue)=>{const he=vue.resolveComponent("bk-date-picker"),ye=vue.resolveComponent("bk-option"),_e=vue.resolveComponent("bk-select"),Ne=vue.resolveComponent("bk-input"),be=vue.resolveComponent("bk-form-item");return vue.openBlock(),vue.createBlock(be,{label:W.value,required:te.value},{default:vue.withCtx(()=>[L.editable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createElementVNode("div",_hoisted_1$17,[j.value.type==="time_range"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[ee.value&&!q.value?(vue.openBlock(),vue.createBlock(he,{key:0,modelValue:Q.value,"onUpdate:modelValue":ue[0]||(ue[0]=Ae=>Q.value=Ae),type:"datetimerange",clearable:!1,"append-to-body":!0,format:"yyyy-MM-dd HH:mm:ss",onChange:ge},null,8,["modelValue"])):!ee.value&&q.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$S,[ue[8]||(ue[8]=vue.createElementVNode("span",{class:"relative-label"},"基于",-1)),vue.createVNode(_e,{modelValue:j.value.time_base,"onUpdate:modelValue":ue[1]||(ue[1]=Ae=>j.value.time_base=Ae),class:"base-select",clearable:!1,onChange:se},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(r,Ae=>vue.createVNode(ye,{key:Ae.value,value:Ae.value,label:Ae.label},null,8,["value","label"])),64))]),_:1},8,["modelValue"]),ue[9]||(ue[9]=vue.createElementVNode("span",{class:"relative-label"},"的最近",-1)),vue.createVNode(Ne,{modelValue:j.value.time_offset,"onUpdate:modelValue":ue[2]||(ue[2]=Ae=>j.value.time_offset=Ae),class:"offset-input",type:"number",min:1,clearable:!1,onChange:de},null,8,["modelValue"]),vue.createVNode(_e,{modelValue:j.value.time_unit,"onUpdate:modelValue":ue[3]||(ue[3]=Ae=>j.value.time_unit=Ae),class:"unit-select",clearable:!1,onChange:se},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(i,Ae=>vue.createVNode(ye,{key:Ae.value,value:Ae.value,label:Ae.label},null,8,["value","label"])),64))]),_:1},8,["modelValue"])])):ee.value&&q.value?(vue.openBlock(),vue.createBlock(he,{key:2,modelValue:Q.value,"onUpdate:modelValue":ue[4]||(ue[4]=Ae=>Q.value=Ae),type:"datetimerange",clearable:!1,"append-to-body":!0,shortcuts:oe.value,"shortcut-close":!0,"use-shortcut-text":!0,format:"yyyy-MM-dd HH:mm:ss",onChange:ge,onShortcutChange:ie},null,8,["modelValue","shortcuts"])):vue.createCommentVNode("",!0)],64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[$.value==="absolute"?(vue.openBlock(),vue.createBlock(he,{key:0,modelValue:H.value,"onUpdate:modelValue":ue[5]||(ue[5]=Ae=>H.value=Ae),type:"datetime",clearable:!1,"append-to-body":!0,format:"yyyy-MM-dd HH:mm:ss",onChange:ge},null,8,["modelValue"])):(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$F,[ue[10]||(ue[10]=vue.createElementVNode("span",{class:"relative-label"},"最近",-1)),vue.createVNode(Ne,{modelValue:j.value.time_offset,"onUpdate:modelValue":ue[6]||(ue[6]=Ae=>j.value.time_offset=Ae),class:"offset-input",type:"number",min:1,clearable:!1,onChange:de},null,8,["modelValue"]),vue.createVNode(_e,{modelValue:j.value.time_unit,"onUpdate:modelValue":ue[7]||(ue[7]=Ae=>j.value.time_unit=Ae),class:"unit-select",clearable:!1,onChange:se},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(i,Ae=>vue.createVNode(ye,{key:Ae.value,value:Ae.value,label:Ae.label},null,8,["value","label"])),64))]),_:1},8,["modelValue"])]))],64))]),z.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$z,vue.toDisplayString(z.value),1)):vue.createCommentVNode("",!0)],64)):(vue.openBlock(),vue.createElementBlock("span",_hoisted_5$p,vue.toDisplayString(pe.value),1))]),_:1},8,["label","required"])}}}),BuiltinTimepickerUsage=_export_sfc(_sfc_main$1f,[["__scopeId","data-v-afe28cfd"]]),_sfc_main$1e=vue.defineComponent({__name:"builtin-variable-usage-form",props:{variables:{},modelValue:{},editable:{type:Boolean,default:!0}},emits:["update:modelValue","change"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.ref({}),k=vue.computed(()=>r.modelValue||{}),y=(R,z)=>{if(z){C.value[R]=z;return}delete C.value[R]},B=(R,z)=>{const j=lodash$1.cloneDeep(k.value);j[R]=z,i("update:modelValue",j),i("change",j)};return t({validate:async()=>(await Promise.all(r.variables.map(z=>{const j=C.value[z.key];return typeof j?.validate=="function"?j.validate():!0}))).every(Boolean)}),(R,z)=>{const j=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createBlock(j,{"form-type":"vertical",class:"builtin-variable-usage-form",model:k.value},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(r.variables,$=>(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(vue.unref(getBuiltinUsageComponent)($.custom_type)),{key:$.key,ref_for:!0,ref:H=>y($.key,H),variable:$,"model-value":k.value[$.key],editable:r.editable,"onUpdate:modelValue":H=>B($.key,H)},null,8,["variable","model-value","editable","onUpdate:modelValue"]))),128))]),_:1},8,["model"])}}}),BuiltinVariableUsageForm=_export_sfc(_sfc_main$1e,[["__scopeId","data-v-bf9cf480"]]),BUILTIN_USAGE_COMPONENTS={input:BuiltinTextUsage,textarea:BuiltinTextUsage,select:BuiltinSelectUsage,filter:BuiltinPlaceholderUsage,timepicker:BuiltinTimepickerUsage,json:BuiltinJsonUsage,array:BuiltinArrayUsage},getBuiltinUsageComponent=e=>{const t=normalizeBuiltinTypeCode(e);return BUILTIN_USAGE_COMPONENTS[t]||BuiltinPlaceholderUsage},_hoisted_1$16={class:"timed-trigger-wrapper"},_hoisted_2$R={class:"mode-switch-wrapper"},_hoisted_3$E={class:"bk-button-group"},_hoisted_4$y={key:0,class:"form-wrapper"},_hoisted_5$o={key:1,class:"code-wrapper"};function _isSlot(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!vue.isVNode(e)}const _sfc_main$1d=vue.defineComponent({__name:"trigger-config",props:{triggers:{},constants:{default:()=>({})},editable:{type:Boolean,default:!0},spaceId:{default:""},templateId:{default:""}},emits:["change"],setup(e,{emit:t}){const n={minute:"*/30",hour:"*",day_of_week:"*",day_of_month:"*",month_of_year:"*"},r={language:"json",placeholder:`{
38
+ `}),B=vue.computed(()=>2*Math.PI*k.value),L=vue.computed(()=>n.type==="dashboard"?.75:1),R=vue.computed(()=>`${-1*B.value*(1-L.value)/2}px`),z=vue.computed(()=>({strokeDasharray:`${B.value*L.value}px, ${B.value}px`,strokeDashoffset:R.value})),j=vue.computed(()=>({strokeDasharray:`${B.value*L.value*(n.percentage/100)}px, ${B.value}px`,strokeDashoffset:R.value,transition:"stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s"})),$=vue.computed(()=>{let q;return n.color?q=ee(n.percentage):q=t[n.status]||t.default,q}),H=vue.computed(()=>n.status==="warning"?warning_filled_default:n.type==="line"?n.status==="success"?circle_check_default:circle_close_default:n.status==="success"?check_default:close_default),Q=vue.computed(()=>n.type==="line"?12+n.strokeWidth*.4:n.width*.111111+2),W=vue.computed(()=>n.format(n.percentage));function te(q){const G=100/q.length;return q.map((J,Z)=>shared.isString(J)?{color:J,percentage:(Z+1)*G}:J).sort((J,Z)=>J.percentage-Z.percentage)}const ee=q=>{const{color:G}=n;if(shared.isFunction(G))return G(q);if(shared.isString(G))return G;{const J=te(G);for(const Z of J)if(Z.percentage>q)return Z.color;return J[J.length-1]?.color}};return(q,G)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass([vue.unref(r).b(),vue.unref(r).m(e.type),vue.unref(r).is(e.status),{[vue.unref(r).m("without-text")]:!e.showText,[vue.unref(r).m("text-inside")]:e.textInside}]),role:"progressbar","aria-valuenow":e.percentage,"aria-valuemin":"0","aria-valuemax":"100"},[e.type==="line"?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:vue.normalizeClass(vue.unref(r).b("bar"))},[vue.createElementVNode("div",{class:vue.normalizeClass(vue.unref(r).be("bar","outer")),style:vue.normalizeStyle({height:`${e.strokeWidth}px`})},[vue.createElementVNode("div",{class:vue.normalizeClass([vue.unref(r).be("bar","inner"),{[vue.unref(r).bem("bar","inner","indeterminate")]:e.indeterminate},{[vue.unref(r).bem("bar","inner","striped")]:e.striped},{[vue.unref(r).bem("bar","inner","striped-flow")]:e.stripedFlow}]),style:vue.normalizeStyle(i.value)},[(e.showText||q.$slots.default)&&e.textInside?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:vue.normalizeClass(vue.unref(r).be("bar","innerText"))},[vue.renderSlot(q.$slots,"default",{percentage:e.percentage},()=>[vue.createElementVNode("span",null,vue.toDisplayString(W.value),1)])],2)):vue.createCommentVNode("v-if",!0)],6)],6)],2)):(vue.openBlock(),vue.createElementBlock("div",{key:1,class:vue.normalizeClass(vue.unref(r).b("circle")),style:vue.normalizeStyle({height:`${e.width}px`,width:`${e.width}px`})},[(vue.openBlock(),vue.createElementBlock("svg",_hoisted_2$1h,[vue.createElementVNode("path",{class:vue.normalizeClass(vue.unref(r).be("circle","track")),d:y.value,stroke:`var(${vue.unref(r).cssVarName("fill-color-light")}, #e5e9f2)`,"stroke-linecap":e.strokeLinecap,"stroke-width":C.value,fill:"none",style:vue.normalizeStyle(z.value)},null,14,_hoisted_3$$),vue.createElementVNode("path",{class:vue.normalizeClass(vue.unref(r).be("circle","path")),d:y.value,stroke:$.value,fill:"none",opacity:e.percentage?1:0,"stroke-linecap":e.strokeLinecap,"stroke-width":C.value,style:vue.normalizeStyle(j.value)},null,14,_hoisted_4$L)]))],6)),(e.showText||q.$slots.default)&&!e.textInside?(vue.openBlock(),vue.createElementBlock("div",{key:2,class:vue.normalizeClass(vue.unref(r).e("text")),style:vue.normalizeStyle({fontSize:`${Q.value}px`})},[vue.renderSlot(q.$slots,"default",{percentage:e.percentage},()=>[e.status?(vue.openBlock(),vue.createBlock(vue.unref(ElIcon),{key:1},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(H.value)))]),_:1})):(vue.openBlock(),vue.createElementBlock("span",_hoisted_5$A,vue.toDisplayString(W.value),1))])],6)):vue.createCommentVNode("v-if",!0)],10,_hoisted_1$1D))}}),progress_default=progress_vue_vue_type_script_setup_true_lang_default;const ElProgress=withInstall(progress_default),tableProps={data:{type:Array,default:()=>[]},size:useSizeProp,width:[String,Number],height:[String,Number],maxHeight:[String,Number],fit:{type:Boolean,default:!0},stripe:Boolean,border:Boolean,rowKey:[String,Function],showHeader:{type:Boolean,default:!0},showSummary:Boolean,sumText:String,summaryMethod:Function,rowClassName:[String,Function],rowStyle:[Object,Function],cellClassName:[String,Function],cellStyle:[Object,Function],headerRowClassName:[String,Function],headerRowStyle:[Object,Function],headerCellClassName:[String,Function],headerCellStyle:[Object,Function],highlightCurrentRow:Boolean,currentRowKey:[String,Number],emptyText:String,expandRowKeys:Array,defaultExpandAll:Boolean,rowExpandable:{type:Function},defaultSort:Object,tooltipEffect:String,tooltipOptions:Object,spanMethod:Function,selectOnIndeterminate:{type:Boolean,default:!0},indent:{type:Number,default:16},treeProps:{type:Object,default:()=>({hasChildren:"hasChildren",children:"children",checkStrictly:!1})},lazy:Boolean,load:Function,style:{type:[String,Object,Array,Boolean],default:()=>({})},className:{type:String,default:""},tableLayout:{type:String,default:"fixed"},scrollbarAlwaysOn:Boolean,flexible:Boolean,showOverflowTooltip:{type:[Boolean,Object],default:void 0},tooltipFormatter:Function,appendFilterPanelTo:String,scrollbarTabindex:{type:[Number,String],default:void 0},allowDragLastColumn:{type:Boolean,default:!0},preserveExpandedContent:Boolean,nativeScrollbar:Boolean};let tableIdSeed=1,columnIdSeed=1;const createTableId=e=>`${e}-table_${tableIdSeed++}`,createTableColumnId=e=>`${e}_column_${columnIdSeed++}`,getCell=function(e){return e.target?.closest("td")},orderBy=function(e,t,n,r,i){if(!t&&!r&&(!i||shared.isArray(i)&&!i.length))return e;shared.isString(n)?n=n==="descending"?-1:1:n=n&&n<0?-1:1;const C=r?null:function(y,B){return i?flatMap(castArray$1(i),L=>shared.isString(L)?get(y,L):L(y,B,e)):(t!=="$key"&&shared.isObject(y)&&"$value"in y&&(y=y.$value),[shared.isObject(y)?t?get(y,t):null:y])},k=function(y,B){if(r)return r(y.value,B.value);for(let L=0,R=y.key?.length??0;L<R;L++){if(y.key?.[L]<B.key?.[L])return-1;if(y.key?.[L]>B.key?.[L])return 1}return 0};return e.map((y,B)=>({value:y,index:B,key:C?C(y,B):null})).sort((y,B)=>{let L=k(y,B);return L||(L=y.index-B.index),L*+n}).map(y=>y.value)},getColumnById=function(e,t){let n=null;return e.columns.forEach(r=>{r.id===t&&(n=r)}),n},getColumnByKey=function(e,t){let n=null;for(let r=0;r<e.columns.length;r++){const i=e.columns[r];if(i.columnKey===t){n=i;break}}return n||throwError("ElTable",`No column matching with column-key: ${t}`),n},getColumnByCell=function(e,t,n){const r=(t.className||"").match(new RegExp(`${n}-table_[^\\s]+`,"gm"));return r?getColumnById(e,r[0]):null},getRowIdentity=(e,t)=>{if(!e)throw new Error("Row is required when get row identity");if(shared.isString(t)){if(!t.includes("."))return`${e[t]}`;const n=t.split(".");let r=e;for(const i of n)r=r[i];return`${r}`}else if(shared.isFunction(t))return t.call(null,e);return""},getKeysMap=function(e,t,n=!1,r="children"){const i=e||[],C={};return i.forEach((k,y)=>{if(C[getRowIdentity(k,t)]={row:k,index:y},n){const B=k[r];shared.isArray(B)&&Object.assign(C,getKeysMap(B,t,!0,r))}}),C};function mergeOptions(e,t){const n={};let r;for(r in e)n[r]=e[r];for(r in t)if(shared.hasOwn(t,r)){const i=t[r];isUndefined(i)||(n[r]=i)}return n}function parseWidth(e){return e===""||isUndefined(e)||(e=Number.parseInt(e,10),Number.isNaN(e)&&(e="")),e}function parseMinWidth(e){return e===""||isUndefined(e)||(e=parseWidth(e),Number.isNaN(e)&&(e=80)),e}function parseHeight(e){return isNumber(e)?e:shared.isString(e)?/^\d+(?:px)?$/.test(e)?Number.parseInt(e,10):e:null}function compose(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,n)=>(...r)=>t(n(...r)))}function toggleRowStatus(e,t,n,r,i,C,k){let y=C??0,B=!1;const R=(()=>{if(!k)return e.indexOf(t);const Q=getRowIdentity(t,k);return e.findIndex(W=>getRowIdentity(W,k)===Q)})(),z=R!==-1,j=i?.call(null,t,y),$=Q=>{Q==="add"?e.push(t):e.splice(R,1),B=!0},H=Q=>{let W=0;const te=r?.children&&Q[r.children];return te&&shared.isArray(te)&&(W+=te.length,te.forEach(ee=>{W+=H(ee)})),W};return(!i||j)&&(isBoolean(n)?n&&!z?$("add"):!n&&z&&$("remove"):$(z?"remove":"add")),!r?.checkStrictly&&r?.children&&shared.isArray(t[r.children])&&t[r.children].forEach(Q=>{const W=toggleRowStatus(e,Q,n??!z,r,i,y+1,k);y+=H(Q)+1,W&&(B=W)}),B}function walkTreeNode(e,t,n="children",r="hasChildren",i=!1){const C=y=>!(shared.isArray(y)&&y.length);function k(y,B,L){t(y,B,L),B.forEach(R=>{if(R[r]&&i){t(R,null,L+1);return}const z=R[n];C(z)||k(R,z,L+1)})}e.forEach(y=>{if(y[r]&&i){t(y,null,0);return}const B=y[n];C(B)||k(y,B,0)})}const getTableOverflowTooltipProps=(e,t,n,r)=>{const i=shared.isFunction(r?.tooltipFormatter)?r.tooltipFormatter({row:n,column:r,cellValue:getProp(n,r.property).value}):void 0;return vue.isVNode(i)?{slotContent:i,content:null,strategy:"fixed",...e}:{slotContent:null,content:i??t,strategy:"fixed",...e}};let removePopper=null;function createTablePopper(e,t,n,r,i,C){const k=getTableOverflowTooltipProps(e,t,n,r),y={...k,slotContent:void 0};if(removePopper?.trigger===i){const $=removePopper.vm?.component;merge($?.props,y),$&&k.slotContent&&($.slots.content=()=>[k.slotContent]);return}removePopper?.();const B=C?.refs.tableWrapper,L=B?.dataset.prefix,R=vue.createVNode(ElTooltip,{virtualTriggering:!0,virtualRef:i,appendTo:B,placement:"top",transition:"none",offset:0,hideAfter:0,...y},k.slotContent?{content:()=>k.slotContent}:void 0);R.appContext={...C.appContext,...C};const z=document.createElement("div");vue.render(R,z),R.component.exposed.onOpen();const j=B?.querySelector(`.${L}-scrollbar__wrap`);removePopper=()=>{R.component?.exposed?.onClose&&R.component.exposed.onClose(),vue.render(null,z);const $=removePopper;j?.removeEventListener("scroll",$),$.trigger=void 0,$.vm=void 0,removePopper=null},removePopper.trigger=i??void 0,removePopper.vm=R,j?.addEventListener("scroll",removePopper)}function getCurrentColumns(e){return e.children?flatMap(e.children,getCurrentColumns):[e]}function getColSpan(e,t){return e+t.colSpan}const isFixedColumn=(e,t,n,r)=>{let i=0,C=e;const k=n.states.columns.value;if(r){const B=getCurrentColumns(r[e]);i=k.slice(0,k.indexOf(B[0])).reduce(getColSpan,0),C=i+B.reduce(getColSpan,0)-1}else i=e;let y;switch(t){case"left":C<n.states.fixedLeafColumnsLength.value&&(y="left");break;case"right":i>=k.length-n.states.rightFixedLeafColumnsLength.value&&(y="right");break;default:C<n.states.fixedLeafColumnsLength.value?y="left":i>=k.length-n.states.rightFixedLeafColumnsLength.value&&(y="right")}return y?{direction:y,start:i,after:C}:{}},getFixedColumnsClass=(e,t,n,r,i,C=0)=>{const k=[],{direction:y,start:B,after:L}=isFixedColumn(t,n,r,i);if(y){const R=y==="left";k.push(`${e}-fixed-column--${y}`),R&&L+C===r.states.fixedLeafColumnsLength.value-1?k.push("is-last-column"):!R&&B-C===r.states.columns.value.length-r.states.rightFixedLeafColumnsLength.value&&k.push("is-first-column")}return k};function getOffset(e,t){return e+(isNull(t.realWidth)||Number.isNaN(t.realWidth)?Number(t.width):t.realWidth)}const getFixedColumnOffset=(e,t,n,r)=>{const{direction:i,start:C=0,after:k=0}=isFixedColumn(e,t,n,r);if(!i)return;const y={},B=i==="left",L=n.states.columns.value;return B?y.left=L.slice(0,C).reduce(getOffset,0):y.right=L.slice(k+1).reverse().reduce(getOffset,0),y},ensurePosition=(e,t)=>{e&&(Number.isNaN(e[t])||(e[t]=`${e[t]}px`))};function ensureValidVNode(e){return e.some(t=>vue.isVNode(t)?!(t.type===vue.Comment||t.type===vue.Fragment&&!ensureValidVNode(t.children)):!0)?e:null}function useExpand(e){const t=vue.getCurrentInstance(),n=vue.ref(!1),r=vue.ref([]),i=(L,R)=>{const z=t.store.states.rowExpandable.value;return z?.(L,R)??!0};return{updateExpandRows:()=>{const L=e.data.value||[],R=e.rowKey.value;if(n.value)r.value=t.store.states.rowExpandable.value?L.filter(i):L.slice();else if(R){const z=getKeysMap(r.value,R);r.value=L.filter((j,$)=>!!z[getRowIdentity(j,R)]&&i(j,$))}else r.value=[]},toggleRowExpansion:(L,R)=>{const z=(e.data.value||[]).indexOf(L);z>-1&&!i(L,z)||toggleRowStatus(r.value,L,R,void 0,void 0,void 0,e.rowKey.value)&&t.emit("expand-change",L,r.value.slice())},setExpandRowKeys:L=>{t.store.assertRowKey();const R=e.data.value||[],z=e.rowKey.value,j=getKeysMap(R,z);r.value=L.reduce(($,H)=>{const Q=j[H];return Q&&i(Q.row,Q.index)&&$.push(Q.row),$},[])},isRowExpanded:L=>{const R=e.rowKey.value;return R?!!getKeysMap(r.value,R)[getRowIdentity(L,R)]:r.value.includes(L)},states:{expandRows:r,defaultExpandAll:n}}}function useCurrent(e){const t=vue.getCurrentInstance(),n=vue.ref(null),r=vue.ref(null),i=L=>{t.store.assertRowKey(),n.value=L,k(L)},C=()=>{n.value=null},k=L=>{const{data:R,rowKey:z}=e,j=r.value;let $=null;z.value&&($=(vue.unref(R)||[]).find(H=>getRowIdentity(H,z.value)===L)??null),r.value=$??null,t.emit("current-change",r.value,j)};return{setCurrentRowKey:i,restoreCurrentRowKey:C,setCurrentRowByKey:k,updateCurrentRow:L=>{const R=r.value;if(L&&L!==R){r.value=L,t.emit("current-change",r.value,R);return}!L&&R&&(r.value=null,t.emit("current-change",null,R))},updateCurrentRowData:()=>{const L=e.rowKey.value,R=e.data.value||[],z=r.value;z&&!R.includes(z)?L?k(getRowIdentity(z,L)):(r.value=null,t.emit("current-change",null,z)):n.value&&(k(n.value),C())},states:{_currentRowKey:n,currentRow:r}}}function useTree(e){const t=vue.ref([]),n=vue.ref({}),r=vue.ref(16),i=vue.ref(!1),C=vue.ref({}),k=vue.ref("hasChildren"),y=vue.ref("children"),B=vue.ref(!1),L=vue.getCurrentInstance(),R=vue.computed(()=>e.rowKey.value?j(e.data.value||[]):{}),z=vue.computed(()=>{const G=e.rowKey.value,J=Object.keys(C.value),Z={};return J.length&&J.forEach(ne=>{if(C.value[ne].length){const oe={children:[]};C.value[ne].forEach(ae=>{const se=getRowIdentity(ae,G);oe.children.push(se),ae[k.value]&&!Z[se]&&(Z[se]={children:[]})}),Z[ne]=oe}}),Z}),j=G=>{const J=e.rowKey.value,Z={};return walkTreeNode(G,(ne,oe,ae)=>{const se=getRowIdentity(ne,J);shared.isArray(oe)?Z[se]={children:oe.map(de=>getRowIdentity(de,J)),level:ae}:i.value&&(Z[se]={children:[],lazy:!0,level:ae})},y.value,k.value,i.value),Z},$=(G=!1,J)=>{J||=L.store?.states.defaultExpandAll.value;const Z=R.value,ne=z.value,oe=Object.keys(Z),ae={};if(oe.length){const se=vue.unref(n),de=[],ge=(ie,ce)=>{if(G)return t.value?J||t.value.includes(ce):!!(J||ie?.expanded);{const pe=J||t.value&&t.value.includes(ce);return!!(ie?.expanded||pe)}};oe.forEach(ie=>{const ce=se[ie],pe={...Z[ie]};if(pe.expanded=ge(ce,ie),pe.lazy){const{loaded:le=!1,loading:ue=!1}=ce||{};pe.loaded=!!le,pe.loading=!!ue,de.push(ie)}ae[ie]=pe});const fe=Object.keys(ne);i.value&&fe.length&&de.length&&fe.forEach(ie=>{const ce=se[ie],pe=ne[ie].children;if(de.includes(ie)){if(ae[ie].children?.length!==0)throw new Error("[ElTable]children must be an empty array.");ae[ie].children=pe}else{const{loaded:le=!1,loading:ue=!1}=ce||{};ae[ie]={lazy:!0,loaded:!!le,loading:!!ue,expanded:ge(ce,ie),children:pe,level:void 0}}})}n.value=ae,L.store?.updateTableScrollY()};vue.watch(()=>t.value,()=>{$(!0)},{deep:!0}),vue.watch(()=>R.value,()=>{$()}),vue.watch(()=>z.value,()=>{$()});const H=G=>{t.value=G,$()},Q=G=>i.value&&G&&"loaded"in G&&!G.loaded,W=(G,J)=>{L.store.assertRowKey();const Z=e.rowKey.value,ne=getRowIdentity(G,Z),oe=ne&&n.value[ne];if(ne&&oe&&"expanded"in oe){const ae=oe.expanded;J=isUndefined(J)?!oe.expanded:J,n.value[ne].expanded=J,ae!==J&&L.emit("expand-change",G,J),J&&Q(oe)&&ee(G,ne,oe),L.store.updateTableScrollY()}},te=G=>{L.store.assertRowKey();const J=e.rowKey.value,Z=getRowIdentity(G,J),ne=n.value[Z];Q(ne)?ee(G,Z,ne):W(G,void 0)},ee=(G,J,Z)=>{const{load:ne}=L.props;ne&&!n.value[J].loaded&&(n.value[J].loading=!0,ne(G,Z,oe=>{if(!shared.isArray(oe))throw new TypeError("[ElTable] data must be an array");n.value[J].loading=!1,n.value[J].loaded=!0,n.value[J].expanded=!0,oe.length&&(C.value={...C.value,[J]:oe}),L.emit("expand-change",G,!0)}))};return{loadData:ee,loadOrToggle:te,toggleTreeExpansion:W,updateTreeExpandKeys:H,updateTreeData:$,updateKeyChildren:(G,J)=>{const{lazy:Z,rowKey:ne}=L.props;if(Z){if(!ne)throw new Error("[Table] rowKey is required in updateKeyChild");C.value[G]&&(C.value={...C.value,[G]:J})}},normalize:j,states:{expandRowKeys:t,treeData:n,indent:r,lazy:i,lazyTreeNodeMap:C,lazyColumnIdentifier:k,childrenColumnName:y,checkStrictly:B}}}const sortData=(e,t)=>{const n=t.sortingColumn;return!n||shared.isString(n.sortable)?e:orderBy(e,t.sortProp,t.sortOrder,n.sortMethod,n.sortBy)},doFlattenColumns=e=>{const t=[];return e.forEach(n=>{n.children&&n.children.length>0?t.push.apply(t,doFlattenColumns(n.children)):t.push(n)}),t};function useWatcher$1(){const e=vue.getCurrentInstance(),{size:t}=vue.toRefs(e.proxy?.$props),n=vue.ref(null),r=vue.ref([]),i=vue.ref([]),C=vue.ref(!1),k=vue.ref([]),y=vue.ref([]),B=vue.ref([]),L=vue.ref([]),R=vue.ref([]),z=vue.ref([]),j=vue.ref([]),$=vue.ref([]),H=[],Q=vue.ref(0),W=vue.ref(0),te=vue.ref(0),ee=vue.ref(!1),q=vue.ref([]),G=vue.ref({}),J=vue.ref(!1),Z=vue.ref(!1),ne=vue.ref(null),oe=vue.ref(null),ae=vue.ref({}),se=vue.ref(null),de=vue.ref(null),ge=vue.ref(null),fe=vue.ref(null),ie=vue.ref(null);let ce=[];const pe=vue.computed(()=>n.value?getKeysMap(q.value,n.value):void 0),le=He=>{const{childrenColumnName:ut,lazyTreeNodeMap:bt}=e.store.states,At=He[ut.value]??[];if(!n.value)return At;const kt=getRowIdentity(He,n.value);return[...bt.value?.[kt]??[],...At]};vue.watch(r,()=>{e.state&&(_e(!1),e.props.tableLayout==="auto"&&e.refs.tableHeaderRef?.updateFixedColumnStyle())},{deep:!0});const ue=()=>{if(!n.value)throw new Error("[ElTable] prop row-key is required")},he=He=>{He.children?.forEach(ut=>{ut.fixed=He.fixed,he(ut)})},ye=()=>{k.value.forEach(Ie=>{he(Ie)}),L.value=k.value.filter(Ie=>[!0,"left"].includes(Ie.fixed));const He=k.value.find(Ie=>Ie.type==="selection");let ut;He&&He.fixed!=="right"&&!L.value.includes(He)&&k.value.indexOf(He)===0&&L.value.length&&(L.value.unshift(He),ut=!0),R.value=k.value.filter(Ie=>Ie.fixed==="right");const bt=k.value.filter(Ie=>(ut?Ie.type!=="selection":!0)&&!Ie.fixed);y.value=Array.from(L.value).concat(bt).concat(R.value);const At=doFlattenColumns(bt),kt=doFlattenColumns(L.value),xe=doFlattenColumns(R.value);Q.value=At.length,W.value=kt.length,te.value=xe.length,B.value=Array.from(kt).concat(At).concat(xe),C.value=L.value.length>0||R.value.length>0},_e=(He,ut=!1)=>{He&&ye(),ut?e.state.doLayout():e.state.debouncedUpdateLayout()},Ne=He=>pe.value?!!pe.value[getRowIdentity(He,n.value)]:q.value.includes(He),be=vue.computed(()=>{const He=new Map;if(!n.value||!ne.value)return He;let ut=0;const bt=At=>{shared.isArray(At)&&At.forEach(kt=>{const xe=getRowIdentity(kt,n.value);He.set(xe,ut),ut+=1;const Ie=le(kt);Ie.length&&bt(Ie)})};return bt(r.value||[]),He}),Ae=(He={})=>{const{emitChange:ut=!0}=He;if(Be.checkStrictly.value||!n.value){G.value={},ce=[];return}const bt=n.value,At=He.rowIndexMap??be.value,kt=ne.value,xe=new WeakMap,Ie=Ke=>{const Ct=xe.get(Ke);if(Ct)return Ct;const Rt=getRowIdentity(Ke,bt);return xe.set(Ke,Rt),Rt},$e={},mt=[],it=new Set(q.value.map(Ke=>Ie(Ke))),Tt=[];let Pt=!1;const Wt=(Ke,Ct,Rt)=>{const Yt=it.has(Ct);Rt&&!Yt?(Tt.push(Ke),it.add(Ct),Pt=!0):!Rt&&Yt&&(it.delete(Ct),Pt=!0)},on=Ke=>{let Ct=0,Rt=0;return shared.isArray(Ke)?(Ke.forEach(Yt=>{const mn=Ie(Yt),Bn=le(Yt);let Un=0,Hn=0;if(Bn.length){const dn=on(Bn);Un=dn.selectedCount,Hn=dn.selectableCount}const so=kt?kt.call(null,Yt,At.get(mn)??0):!0;if(so&&Hn>0){const dn=Un===Hn;!dn&&Un!==0&&($e[mn]=!0,mt.push(Yt)),Wt(Yt,mn,dn)}so&&(Rt+=1,it.has(mn)&&(Ct+=1)),Ct+=Un,Rt+=Hn}),{selectedCount:Ct,selectableCount:Rt}):{selectedCount:Ct,selectableCount:Rt}};if(on(r.value||[]),Pt){const Ke=q.value.filter(Ct=>it.has(Ie(Ct)));Tt.forEach(Ct=>{it.has(Ie(Ct))&&Ke.push(Ct)}),q.value=Ke}G.value=$e,ce=mt,Pt&&ut&&e.emit("selection-change",q.value?q.value.slice():[])},Te=()=>{ee.value=!1;const He=q.value;q.value=[],G.value={},ce=[],He.length&&e.emit("selection-change",[])},Ze=()=>{let He;if(n.value){He=[];const ut=e?.store?.states?.childrenColumnName.value,bt=getKeysMap(r.value,n.value,!0,ut),{lazyTreeNodeMap:At}=e.store.states;At.value&&Object.entries(At.value).forEach(([kt,xe])=>{bt[kt]&&xe.forEach(Ie=>{const $e=getRowIdentity(Ie,n.value);bt[$e]||(bt[$e]={row:Ie,index:-1})})});for(const kt in pe.value)shared.hasOwn(pe.value,kt)&&!bt[kt]&&He.push(pe.value[kt].row)}else He=q.value.filter(ut=>!r.value.includes(ut));if(He.length){const ut=q.value.filter(bt=>!He.includes(bt));q.value=ut,Ae({emitChange:!1}),e.emit("selection-change",[...ut])}},lt=()=>(q.value||[]).slice(),Ge=()=>ce.slice(),st=(He,ut,bt)=>{if(!n.value||Be.checkStrictly.value||!Be.lazy.value)return;const{lazyTreeNodeMap:At,childrenColumnName:kt}=e.store.states,xe=getRowIdentity(He,n.value),Ie=At.value?.[xe]??[],$e=He[kt.value]??[],mt={children:kt.value,checkStrictly:!1};for(const it of Ie){const Tt=bt.get(getRowIdentity(it,n.value))??0;toggleRowStatus(q.value,it,ut,mt,ne.value,Tt,n.value),st(it,ut,bt)}for(const it of $e)st(it,ut,bt)},Ue=(He,ut,bt=!0,At=!1)=>{const kt={children:e?.store?.states?.childrenColumnName.value,checkStrictly:e?.store?.states?.checkStrictly.value};if(toggleRowStatus(q.value,He,ut,kt,At?void 0:ne.value,r.value.indexOf(He),n.value)){Be.lazy.value&&!Be.checkStrictly.value?(st(He,ut??Ne(He),be.value),Ae({emitChange:!1,rowIndexMap:be.value})):Ae({emitChange:!1});const xe=(q.value||[]).slice();bt&&e.emit("select",xe,He),e.emit("selection-change",xe)}},De=()=>{const He=Z.value?!ee.value:!(ee.value||q.value.length);ee.value=He;let ut=!1,bt=0;const At=e?.store?.states?.rowKey.value,{childrenColumnName:kt}=e.store.states,xe={children:kt.value,checkStrictly:!1};r.value.forEach(($e,mt)=>{const it=mt+bt;toggleRowStatus(q.value,$e,He,xe,ne.value,it,At)&&(ut=!0),bt+=Re(getRowIdentity($e,At))});const Ie=be.value;if(Be.lazy.value&&!Be.checkStrictly.value&&At)for(const $e of Object.values(Be.lazyTreeNodeMap.value))for(const mt of $e){const it=Ie.get(getRowIdentity(mt,At))??0;toggleRowStatus(q.value,mt,He,xe,ne.value,it,At)&&(ut=!0),st(mt,He,Ie)}Ae({emitChange:!1,rowIndexMap:Ie}),ut&&e.emit("selection-change",q.value?[...q.value]:[]),e.emit("select-all",(q.value||[]).slice())},We=()=>{if(r.value?.length===0){ee.value=!1;return}let He=0,ut=0;const bt=kt=>{for(const xe of kt){const Ie=ne.value&&ne.value.call(null,xe,He);if(Ne(xe))ut++;else if(!ne.value||Ie)return!1;He++;const $e=le(xe);if($e.length&&!bt($e))return!1}return!0},At=bt(r.value||[]);ee.value=ut===0?!1:At},Ye=He=>{if(!n.value)return!1;const ut=getRowIdentity(He,n.value);return!!G.value[ut]},Re=He=>{if(!e||!e.store)return 0;const{treeData:ut}=e.store.states;let bt=0;const At=ut.value[He]?.children;return At&&(bt+=At.length,At.forEach(kt=>{bt+=Re(kt)})),bt},Je=(He,ut)=>{const bt={};return castArray$1(He).forEach(At=>{ae.value[At.id]=ut,bt[At.columnKey||At.id]=ut}),bt},Xe=(He,ut,bt)=>{de.value&&de.value!==He&&(de.value.order=null),de.value=He,ge.value=ut,fe.value=bt},Me=()=>{let He=vue.unref(i);Object.keys(ae.value).forEach(ut=>{const bt=ae.value[ut];if(!bt||bt.length===0)return;const At=getColumnById({columns:B.value},ut);At&&At.filterMethod&&(He=He.filter(kt=>bt.some(xe=>At.filterMethod.call(null,xe,kt,At))))}),se.value=He},nt=()=>{r.value=sortData(se.value??[],{sortingColumn:de.value,sortProp:ge.value,sortOrder:fe.value})},et=(He=void 0)=>{He?.filter||Me(),nt()},wt=He=>{const{tableHeaderRef:ut}=e.refs;if(!ut)return;const bt=Object.assign({},ut.filterPanels),At=Object.keys(bt);if(At.length)if(shared.isString(He)&&(He=[He]),shared.isArray(He)){const kt=He.map(xe=>getColumnByKey({columns:B.value},xe));At.forEach(xe=>{const Ie=kt.find($e=>$e.id===xe);Ie&&(Ie.filteredValue=[])}),e.store.commit("filterChange",{column:kt,values:[],silent:!0,multi:!0})}else At.forEach(kt=>{const xe=B.value.find(Ie=>Ie.id===kt);xe&&(xe.filteredValue=[])}),ae.value={},e.store.commit("filterChange",{column:{},values:[],silent:!0})},tt=()=>{de.value&&(Xe(null,null,null),e.store.commit("changeSortCondition",{silent:!0}))},{setExpandRowKeys:ot,toggleRowExpansion:gt,updateExpandRows:Et,states:Dt,isRowExpanded:Ft}=useExpand({data:r,rowKey:n}),{updateTreeExpandKeys:Nt,toggleTreeExpansion:Pe,updateTreeData:at,updateKeyChildren:_t,loadOrToggle:Oe,states:Be}=useTree({data:r,rowKey:n}),{updateCurrentRowData:Ee,updateCurrentRow:ve,setCurrentRowKey:ke,states:je}=useCurrent({data:r,rowKey:n}),Se=He=>{ot(He),Nt(He)},ze=(He,ut)=>{B.value.some(({type:bt})=>bt==="expand")?gt(He,ut):Pe(He,ut)};return vue.watch(()=>Be.checkStrictly.value,He=>{He?(G.value={},ce=[]):Ae({emitChange:!1}),We()}),vue.watch(()=>Be.lazyTreeNodeMap.value,()=>{if(!Be.lazy.value||Be.checkStrictly.value||!n.value)return;const He=be.value,ut=q.value.length;for(const At of Object.keys(Be.lazyTreeNodeMap.value))pe.value?.[At]&&st(pe.value[At].row,!0,He);const bt=q.value.length!==ut;Ae({emitChange:!bt,rowIndexMap:He}),We(),bt&&e.emit("selection-change",[...q.value])}),{assertRowKey:ue,updateColumns:ye,scheduleLayout:_e,isSelected:Ne,clearSelection:Te,cleanSelection:Ze,getSelectionRows:lt,getHalfSelectionRows:Ge,toggleRowSelection:Ue,_toggleAllSelection:De,toggleAllSelection:null,updateAllSelected:We,updateSelectionByChildren:Ae,getRowIndeterminate:Ye,updateFilters:Je,updateCurrentRow:ve,updateSort:Xe,execFilter:Me,execSort:nt,execQuery:et,clearFilter:wt,clearSort:tt,toggleRowExpansion:gt,setExpandRowKeysAdapter:Se,setCurrentRowKey:ke,toggleRowExpansionAdapter:ze,isRowExpanded:Ft,updateExpandRows:Et,updateCurrentRowData:Ee,loadOrToggle:Oe,updateTreeData:at,updateKeyChildren:_t,states:{tableSize:t,rowKey:n,data:r,_data:i,isComplex:C,_columns:k,originColumns:y,columns:B,fixedColumns:L,rightFixedColumns:R,leafColumns:z,fixedLeafColumns:j,rightFixedLeafColumns:$,updateOrderFns:H,leafColumnsLength:Q,fixedLeafColumnsLength:W,rightFixedLeafColumnsLength:te,isAllSelected:ee,selection:q,selectionIndeterminate:G,reserveSelection:J,selectOnIndeterminate:Z,selectable:ne,rowExpandable:oe,filters:ae,filteredData:se,sortingColumn:de,sortProp:ge,sortOrder:fe,hoverRow:ie,...Dt,...Be,...je}}}function replaceColumn(e,t){return e.map(n=>n.id===t.id?t:(n.children?.length&&(n.children=replaceColumn(n.children,t)),n))}function sortColumn(e){e.forEach(t=>{t.no=t.getColumnIndex?.(),t.children?.length&&sortColumn(t.children)}),e.sort((t,n)=>t.no-n.no)}function useStore(){const e=vue.getCurrentInstance(),t=useWatcher$1(),n=useNamespace("table"),{t:r}=useLocale();return{ns:n,t:r,...t,mutations:{setData(y,B){const L=vue.unref(y._data)!==B;y.data.value=B,y._data.value=B,e.store.execQuery(),e.store.updateCurrentRowData(),e.store.updateExpandRows(),e.store.updateTreeData(e.store.states.defaultExpandAll.value),vue.unref(y.reserveSelection)?e.store.assertRowKey():L?e.store.clearSelection():e.store.cleanSelection(),e.store.updateSelectionByChildren({emitChange:!1}),e.store.updateAllSelected(),e.$ready&&e.store.scheduleLayout()},insertColumn(y,B,L,R){const z=vue.unref(y._columns);let j=[];L?(L&&!L.children&&(L.children=[]),L.children?.push(B),j=replaceColumn(z,L)):(z.push(B),j=z),sortColumn(j),y._columns.value=j,y.updateOrderFns.push(R),B.type==="selection"&&(y.selectable.value=B.selectable,y.reserveSelection.value=B.reserveSelection),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},updateColumnOrder(y,B){B.getColumnIndex?.()!==B.no&&(sortColumn(y._columns.value),e.$ready&&e.store.updateColumns())},removeColumn(y,B,L,R){const z=vue.unref(y._columns)||[];if(L)L.children?.splice(L.children.findIndex($=>$.id===B.id),1),vue.nextTick(()=>{L.children?.length===0&&delete L.children}),y._columns.value=replaceColumn(z,L);else{const $=z.indexOf(B);$>-1&&(z.splice($,1),y._columns.value=z)}const j=y.updateOrderFns.indexOf(R);j>-1&&y.updateOrderFns.splice(j,1),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},sort(y,B){const{prop:L,order:R,init:z}=B;if(L){const j=vue.unref(y.columns).find($=>$.property===L);j&&(j.order=R,e.store.updateSort(j,L,R),e.store.commit("changeSortCondition",{init:z}))}},changeSortCondition(y,B){const{sortingColumn:L,sortProp:R,sortOrder:z}=y,j=vue.unref(L),$=vue.unref(R),H=vue.unref(z);isNull(H)&&(y.sortingColumn.value=null,y.sortProp.value=null),e.store.execQuery({filter:!0}),(!B||!(B.silent||B.init))&&e.emit("sort-change",{column:j,prop:$,order:H}),e.store.updateTableScrollY()},filterChange(y,B){const{column:L,values:R,silent:z}=B,j=e.store.updateFilters(L,R);e.store.execQuery(),z||e.emit("filter-change",j),e.store.updateTableScrollY()},toggleAllSelection(){e.store.toggleAllSelection?.()},rowSelectedChanged(y,B){e.store.toggleRowSelection(B),e.store.updateAllSelected()},setHoverRow(y,B){y.hoverRow.value=B},setCurrentRow(y,B){e.store.updateCurrentRow(B)}},commit:function(y,...B){const L=e.store.mutations;if(L[y])L[y].apply(e,[e.store.states,...B]);else throw new Error(`Action not found: ${y}`)},updateTableScrollY:function(){vue.nextTick(()=>e.layout.updateScrollY.apply(e.layout))}}}const InitialStateMap={rowKey:"rowKey",defaultExpandAll:"defaultExpandAll",rowExpandable:"rowExpandable",selectOnIndeterminate:"selectOnIndeterminate",indent:"indent",lazy:"lazy","treeProps.hasChildren":{key:"lazyColumnIdentifier",default:"hasChildren"},"treeProps.children":{key:"childrenColumnName",default:"children"},"treeProps.checkStrictly":{key:"checkStrictly",default:!1}};function createStore(e,t){if(!e)throw new Error("Table is required.");const n=useStore();return n.toggleAllSelection=debounce$2(n._toggleAllSelection,10),Object.keys(InitialStateMap).forEach(r=>{handleValue(getArrKeysValue(t,r),r,n)}),proxyTableProps(n,t),n}function proxyTableProps(e,t){Object.keys(InitialStateMap).forEach(n=>{vue.watch(()=>getArrKeysValue(t,n),r=>{handleValue(r,n,e)})})}function handleValue(e,t,n){let r=e,i=InitialStateMap[t];shared.isObject(i)&&(r=r||i.default,i=i.key),n.states[i].value=r}function getArrKeysValue(e,t){if(t.includes(".")){const n=t.split(".");let r=e;return n.forEach(i=>{r=r[i]}),r}else return e[t]}var TableLayout=class{constructor(e){this.observers=[],this.table=null,this.store=null,this.columns=[],this.fit=!0,this.showHeader=!0,this.heightMap={},this.height=vue.ref(null),this.scrollX=vue.ref(!1),this.scrollY=vue.ref(!1),this.bodyWidth=vue.ref(null),this.fixedWidth=vue.ref(null),this.rightFixedWidth=vue.ref(null),this.gutterWidth=0;for(const t in e)shared.hasOwn(e,t)&&(vue.isRef(this[t])?this[t].value=e[t]:this[t]=e[t]);if(!this.table)throw new Error("Table is required for Table Layout");if(!this.store)throw new Error("Store is required for Table Layout")}updateScrollY(){const e=this.height.value;if(isNull(e))return!1;const t=this.table.refs.scrollBarRef;if(this.table.vnode.el&&t?.wrapRef){let n=!0;const r=this.scrollY.value;return n=t.wrapRef.scrollHeight>t.wrapRef.clientHeight,this.scrollY.value=n,r!==n}return!1}setHeight(e,t="height"){if(!isClient$1)return;const n=this.table.vnode.el;if(e=parseHeight(e),this.height.value=Number(e),this.heightMap[t]=e,!n&&(e||e===0)){vue.nextTick(()=>{this.heightMap[t]===e&&this.setHeight(e,t)});return}n&&isNumber(e)?(n.style[t]=`${e}px`,this.updateElsHeight()):n&&shared.isString(e)&&(n.style[t]=e,this.updateElsHeight())}setMaxHeight(e){this.setHeight(e,"max-height")}getFlattenColumns(){const e=[];return this.table.store.states.columns.value.forEach(t=>{t.isColumnGroup?e.push.apply(e,t.columns):e.push(t)}),e}updateElsHeight(){this.updateScrollY(),this.notifyObservers("scrollable")}headerDisplayNone(e){if(!e)return!0;let t=e;for(;t.tagName!=="DIV";){if(getComputedStyle(t).display==="none")return!0;t=t.parentElement}return!1}updateColumnsWidth(){if(!isClient$1)return;const e=this.fit,t=this.table.vnode.el?.clientWidth;let n=0;const r=this.getFlattenColumns(),i=r.filter(y=>!isNumber(y.width));if(r.forEach(y=>{isNumber(y.width)&&y.realWidth&&(y.realWidth=null)}),i.length>0&&e){if(r.forEach(y=>{n+=Number(y.width||y.minWidth||80)}),n<=t){this.scrollX.value=!1;const y=t-n;if(i.length===1)i[0].realWidth=Number(i[0].minWidth||80)+y;else{const B=y/i.reduce((R,z)=>R+Number(z.minWidth||80),0);let L=0;i.forEach((R,z)=>{if(z===0)return;const j=Math.floor(Number(R.minWidth||80)*B);L+=j,R.realWidth=Number(R.minWidth||80)+j}),i[0].realWidth=Number(i[0].minWidth||80)+y-L}}else this.scrollX.value=!0,i.forEach(y=>{y.realWidth=Number(y.minWidth)});this.bodyWidth.value=Math.max(n,t),this.table.state.resizeState.value.width=this.bodyWidth.value}else r.forEach(y=>{!y.width&&!y.minWidth?y.realWidth=80:y.realWidth=Number(y.width||y.minWidth),n+=y.realWidth}),this.scrollX.value=n>t,this.bodyWidth.value=n;const C=this.store.states.fixedColumns.value;if(C.length>0){let y=0;C.forEach(B=>{y+=Number(B.realWidth||B.width)}),this.fixedWidth.value=y}const k=this.store.states.rightFixedColumns.value;if(k.length>0){let y=0;k.forEach(B=>{y+=Number(B.realWidth||B.width)}),this.rightFixedWidth.value=y}this.notifyObservers("columns")}addObserver(e){this.observers.push(e)}removeObserver(e){const t=this.observers.indexOf(e);t!==-1&&this.observers.splice(t,1)}notifyObservers(e){this.observers.forEach(t=>{switch(e){case"columns":t.state?.onColumnsChange(this);break;case"scrollable":t.state?.onScrollableChange(this);break;default:throw new Error(`Table Layout don't have event ${e}.`)}})}};const TABLE_INJECTION_KEY=Symbol("ElTable"),getAllColumns=e=>{const t=[];return e.forEach(n=>{n.children?(t.push(n),t.push.apply(t,getAllColumns(n.children))):t.push(n)}),t},convertToRows=e=>{let t=1;const n=(i,C)=>{if(C&&(i.level=C.level+1,t<i.level&&(t=i.level)),i.children){let k=0;i.children.forEach(y=>{n(y,i),k+=y.colSpan}),i.colSpan=k}else i.colSpan=1};e.forEach(i=>{i.level=1,n(i,void 0)});const r=[];for(let i=0;i<t;i++)r.push([]);return getAllColumns(e).forEach(i=>{i.children?(i.rowSpan=1,i.children.forEach(C=>C.isSubColumn=!0)):i.rowSpan=t-i.level+1,r[i.level-1].push(i)}),r};function useUtils$1(e){const t=vue.inject(TABLE_INJECTION_KEY),n=vue.computed(()=>convertToRows(e.store.states.originColumns.value));return{isGroup:vue.computed(()=>{const C=n.value.length>1;return C&&t&&(t.state.isGroup.value=!0),C}),toggleAllSelection:C=>{C.stopPropagation(),t?.store.commit("toggleAllSelection")},columnRows:n}}var filter_panel_vue_vue_type_script_lang_default=vue.defineComponent({name:"ElTableFilterPanel",components:{ElCheckbox,ElCheckboxGroup,ElScrollbar,ElTooltip,ElIcon,ArrowDown:arrow_down_default,ArrowUp:arrow_up_default},props:{placement:{type:String,default:"bottom-start"},store:{type:Object},column:{type:Object},upDataColumn:{type:Function},appendTo:useTooltipContentProps.appendTo},setup(e){const t=vue.getCurrentInstance(),{t:n}=useLocale(),r=useNamespace("table-filter"),i=t?.parent;e.column&&!i.filterPanels.value[e.column.id]&&(i.filterPanels.value[e.column.id]=t);const C=vue.ref(null),k=vue.ref(null),y=vue.ref(0),B=vue.computed(()=>e.column&&e.column.filters),L=vue.computed(()=>e.column&&e.column.filterClassName?`${r.b()} ${e.column.filterClassName}`:r.b()),R=vue.computed({get:()=>(e.column?.filteredValue||[])[0],set:ne=>{z.value&&(isPropAbsent(ne)?z.value.splice(0,1):z.value.splice(0,1,ne))}}),z=vue.computed({get(){return e.column?e.column.filteredValue||[]:[]},set(ne){e.column&&e.upDataColumn?.("filteredValue",ne)}}),j=vue.computed(()=>e.column?e.column.filterMultiple:!0),$=ne=>ne.value===R.value,H=()=>{C.value?.onClose()},Q=()=>{ee(z.value),H()},W=()=>{z.value=[],ee(z.value),H()},te=(ne,oe)=>{R.value=ne,y.value=oe,isPropAbsent(ne)?ee([]):ee(z.value),H()},ee=ne=>{e.store?.commit("filterChange",{column:e.column,values:ne}),e.store?.updateAllSelected()},q=()=>{k.value?.focus(),!j.value&&J(),e.column&&e.upDataColumn?.("filterOpened",!0)},G=()=>{e.column&&e.upDataColumn?.("filterOpened",!1)},J=()=>{if(isPropAbsent(R)){y.value=0;return}const ne=(B.value||[]).findIndex(oe=>oe.value===R.value);y.value=ne>=0?ne+1:0};return{multiple:j,filterClassName:L,filteredValue:z,filterValue:R,filters:B,handleConfirm:Q,handleReset:W,handleSelect:te,isPropAbsent,isActive:$,t:n,ns:r,tooltipRef:C,rootRef:k,checkedIndex:y,handleShowTooltip:q,handleHideTooltip:G,handleKeydown:ne=>{const oe=getEventCode(ne),ae=(B.value?B.value.length:0)+1;let se=y.value,de=!0;switch(oe){case EVENT_CODE.down:case EVENT_CODE.right:se=(se+1)%ae;break;case EVENT_CODE.up:case EVENT_CODE.left:se=(se-1+ae)%ae;break;case EVENT_CODE.tab:H(),de=!1;break;case EVENT_CODE.enter:case EVENT_CODE.space:if(se===0)te(null,0);else{const ge=(B.value||[])[se-1];ge.value&&te(ge.value,se)}break;default:de=!1;break}de&&ne.preventDefault(),y.value=se,k.value?.querySelector(`.${r.e("list-item")}:nth-child(${se+1})`)?.focus()}}}});const _hoisted_1$1C=["disabled"],_hoisted_2$1g=["tabindex","aria-checked"],_hoisted_3$_=["tabindex","aria-checked","onClick"],_hoisted_4$K=["aria-label"];function _sfc_render(e,t,n,r,i,C){const k=vue.resolveComponent("el-checkbox"),y=vue.resolveComponent("el-checkbox-group"),B=vue.resolveComponent("el-scrollbar"),L=vue.resolveComponent("arrow-up"),R=vue.resolveComponent("arrow-down"),z=vue.resolveComponent("el-icon"),j=vue.resolveComponent("el-tooltip");return vue.openBlock(),vue.createBlock(j,{ref:"tooltipRef",offset:0,placement:e.placement,"show-arrow":!1,trigger:"click",role:"dialog",teleported:"",effect:"light",pure:"",loop:"","popper-class":e.filterClassName,persistent:"","append-to":e.appendTo,onShow:e.handleShowTooltip,onHide:e.handleHideTooltip},{content:vue.withCtx(()=>[e.multiple?(vue.openBlock(),vue.createElementBlock("div",{key:0,ref:"rootRef",tabindex:"-1",class:vue.normalizeClass(e.ns.e("multiple"))},[vue.createElementVNode("div",{class:vue.normalizeClass(e.ns.e("content"))},[vue.createVNode(B,{"wrap-class":e.ns.e("wrap")},{default:vue.withCtx(()=>[vue.createVNode(y,{modelValue:e.filteredValue,"onUpdate:modelValue":t[0]||(t[0]=$=>e.filteredValue=$),class:vue.normalizeClass(e.ns.e("checkbox-group"))},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.filters,$=>(vue.openBlock(),vue.createBlock(k,{key:$.value,value:$.value},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString($.text),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue","class"])]),_:1},8,["wrap-class"])],2),vue.createElementVNode("div",{class:vue.normalizeClass(e.ns.e("bottom"))},[vue.createElementVNode("button",{class:vue.normalizeClass(e.ns.is("disabled",e.filteredValue.length===0)),disabled:e.filteredValue.length===0,type:"button",onClick:t[1]||(t[1]=(...$)=>e.handleConfirm&&e.handleConfirm(...$))},vue.toDisplayString(e.t("el.table.confirmFilter")),11,_hoisted_1$1C),vue.createElementVNode("button",{type:"button",onClick:t[2]||(t[2]=(...$)=>e.handleReset&&e.handleReset(...$))},vue.toDisplayString(e.t("el.table.resetFilter")),1)],2)],2)):(vue.openBlock(),vue.createElementBlock("ul",{key:1,ref:"rootRef",tabindex:"-1",role:"radiogroup",class:vue.normalizeClass(e.ns.e("list")),onKeydown:t[4]||(t[4]=(...$)=>e.handleKeydown&&e.handleKeydown(...$))},[vue.createElementVNode("li",{role:"radio",class:vue.normalizeClass([e.ns.e("list-item"),e.ns.is("active",e.isPropAbsent(e.filterValue))]),tabindex:e.checkedIndex===0?0:-1,"aria-checked":e.isPropAbsent(e.filterValue),onClick:t[3]||(t[3]=$=>e.handleSelect(null,0))},vue.toDisplayString(e.t("el.table.clearFilter")),11,_hoisted_2$1g),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.filters,($,H)=>(vue.openBlock(),vue.createElementBlock("li",{key:$.value,role:"radio",class:vue.normalizeClass([e.ns.e("list-item"),e.ns.is("active",e.isActive($))]),tabindex:e.checkedIndex===H+1?0:-1,"aria-checked":e.isActive($),onClick:Q=>e.handleSelect($.value,H+1)},vue.toDisplayString($.text),11,_hoisted_3$_))),128))],34))]),default:vue.withCtx(()=>[vue.createElementVNode("button",{type:"button",class:vue.normalizeClass(`${e.ns.namespace.value}-table__column-filter-trigger`),"aria-label":e.t("el.table.filterLabel",{column:e.column?.label||""})},[vue.createVNode(z,null,{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"filter-icon",{},()=>[e.column?.filterOpened?(vue.openBlock(),vue.createBlock(L,{key:0})):(vue.openBlock(),vue.createBlock(R,{key:1}))])]),_:3})],10,_hoisted_4$K)]),_:3},8,["placement","popper-class","append-to","onShow","onHide"])}var filter_panel_default=_plugin_vue_export_helper_default(filter_panel_vue_vue_type_script_lang_default,[["render",_sfc_render]]);function useLayoutObserver(e){const t=vue.getCurrentInstance();vue.onBeforeMount(()=>{n.value.addObserver(t)}),vue.onMounted(()=>{r(n.value),i(n.value)}),vue.onUpdated(()=>{r(n.value),i(n.value)}),vue.onUnmounted(()=>{n.value.removeObserver(t)});const n=vue.computed(()=>{const C=e.layout;if(!C)throw new Error("Can not find table layout.");return C}),r=C=>{const k=e.vnode.el?.querySelectorAll("colgroup > col")||[];if(!k.length)return;const y=C.getFlattenColumns(),B={};y.forEach(L=>{B[L.id]=L});for(let L=0,R=k.length;L<R;L++){const z=k[L],j=B[z.getAttribute("name")];j&&z.setAttribute("width",j.realWidth||j.width)}},i=C=>{const k=e.vnode.el?.querySelectorAll("colgroup > col[name=gutter]")||[];for(let B=0,L=k.length;B<L;B++)k[B].setAttribute("width",C.scrollY.value?C.gutterWidth:"0");const y=e.vnode.el?.querySelectorAll("th.gutter")||[];for(let B=0,L=y.length;B<L;B++){const R=y[B];R.style.width=C.scrollY.value?`${C.gutterWidth}px`:"0",R.style.display=C.scrollY.value?"":"none"}};return{tableLayout:n.value,onColumnsChange:r,onScrollableChange:i}}function useEvent(e,t){const n=vue.getCurrentInstance(),r=vue.inject(TABLE_INJECTION_KEY),i=Q=>{Q.stopPropagation()},C=(Q,W)=>{!W.filters&&W.sortable?H(Q,W,!1):W.filterable&&!W.sortable&&i(Q),r?.emit("header-click",W,Q)},k=(Q,W)=>{r?.emit("header-contextmenu",W,Q)},y=vue.ref(null),B=vue.ref(!1),L=vue.ref(),R=(Q,W)=>{if(isClient$1&&!(W.children&&W.children.length>0)&&y.value&&e.border&&y.value.id===W.id){B.value=!0;const te=r;t("set-drag-visible",!0);const ee=te?.vnode.el?.getBoundingClientRect().left,q=n?.vnode?.el?.querySelector(`th.${W.id}`),G=q.getBoundingClientRect(),J=G.left-ee+30;addClass(q,"noclick"),L.value={startMouseLeft:Q.clientX,startLeft:G.right-ee,startColumnLeft:G.left-ee,tableLeft:ee};const Z=te?.refs.resizeProxy;Z.style.left=`${L.value.startLeft}px`,document.onselectstart=function(){return!1},document.ondragstart=function(){return!1};const ne=ae=>{const se=ae.clientX-L.value.startMouseLeft,de=L.value.startLeft+se;Z.style.left=`${Math.max(J,de)}px`},oe=()=>{if(B.value){const{startColumnLeft:ae,startLeft:se}=L.value;W.width=W.realWidth=Number.parseInt(Z.style.left,10)-ae,te?.emit("header-dragend",W.width,se-ae,W,Q),requestAnimationFrame(()=>{e.store.scheduleLayout(!1,!0)}),document.body.style.cursor="",B.value=!1,y.value=null,L.value=void 0,t("set-drag-visible",!1)}document.removeEventListener("mousemove",ne),document.removeEventListener("mouseup",oe),document.onselectstart=null,document.ondragstart=null,setTimeout(()=>{removeClass(q,"noclick")},0)};document.addEventListener("mousemove",ne),document.addEventListener("mouseup",oe)}},z=(Q,W)=>{if(!e.border||W.children&&W.children.length>0)return;const te=Q.target,ee=isElement$2(te)?te.closest("th"):null;if(!ee)return;const q=hasClass(ee,"is-sortable");if(q){const ae=B.value?"col-resize":"";ee.style.cursor=ae;const se=ee.querySelector(".caret-wrapper");se&&(se.style.cursor=ae)}if(!W.resizable||B.value){y.value=null;return}const G=ee.getBoundingClientRect(),J=ee.parentNode?.lastElementChild===ee,Z=e.allowDragLastColumn||!J,ne=G.width>12&&G.right-Q.clientX<8&&Z,oe=ne?"col-resize":"";document.body.style.cursor=oe,y.value=ne?W:null,q&&(ee.style.cursor=oe)},j=()=>{!isClient$1||B.value||(document.body.style.cursor="")},$=({order:Q,sortOrders:W})=>{if(Q==="")return W[0];const te=W.indexOf(Q||null);return W[te>W.length-2?0:te+1]},H=(Q,W,te)=>{Q.stopPropagation();const ee=W.order===te?null:te||$(W),q=Q.target?.closest("th");if(q&&hasClass(q,"noclick")){removeClass(q,"noclick");return}if(!W.sortable)return;const G=Q.currentTarget;if(["ascending","descending"].some(ae=>hasClass(G,ae)&&!W.sortOrders.includes(ae)))return;const J=e.store.states;let Z=J.sortProp.value,ne;const oe=J.sortingColumn.value;(oe!==W||oe===W&&isNull(oe.order))&&(oe&&(oe.order=null),J.sortingColumn.value=W,Z=W.property??null),ee?ne=W.order=ee:ne=W.order=null,J.sortProp.value=Z,J.sortOrder.value=ne,r?.store.commit("changeSortCondition")};return{handleHeaderClick:C,handleHeaderContextMenu:k,handleMouseDown:R,handleMouseMove:z,handleMouseOut:j,handleSortClick:H,handleFilterClick:i}}function useStyle$2(e){const t=vue.inject(TABLE_INJECTION_KEY),n=useNamespace("table");return{getHeaderRowStyle:y=>{const B=t?.props.headerRowStyle;return shared.isFunction(B)?B.call(null,{rowIndex:y}):B},getHeaderRowClass:y=>{const B=[],L=t?.props.headerRowClassName;return shared.isString(L)?B.push(L):shared.isFunction(L)&&B.push(L.call(null,{rowIndex:y})),B.join(" ")},getHeaderCellStyle:(y,B,L,R)=>{let z=t?.props.headerCellStyle??{};shared.isFunction(z)&&(z=z.call(null,{rowIndex:y,columnIndex:B,row:L,column:R}));const j=getFixedColumnOffset(B,R.fixed,e.store,L);return ensurePosition(j,"left"),ensurePosition(j,"right"),Object.assign({},z,j)},getHeaderCellClass:(y,B,L,R)=>{const z=getFixedColumnsClass(n.b(),B,R.fixed,e.store,L),j=[R.id,R.order,R.headerAlign,R.className,R.labelClassName,...z];R.children||j.push("is-leaf"),R.sortable&&j.push("is-sortable");const $=t?.props.headerCellClassName;return shared.isString($)?j.push($):shared.isFunction($)&&j.push($.call(null,{rowIndex:y,columnIndex:B,row:L,column:R})),j.push(n.e("cell")),j.filter(H=>!!H).join(" ")}}}var table_header_default=vue.defineComponent({name:"ElTableHeader",components:{ElCheckbox},props:{fixed:{type:String,default:""},store:{required:!0,type:Object},border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})},appendFilterPanelTo:{type:String},allowDragLastColumn:{type:Boolean}},setup(e,{emit:t}){const n=vue.getCurrentInstance(),r=vue.inject(TABLE_INJECTION_KEY),i=useNamespace("table"),C=vue.ref({}),{onColumnsChange:k,onScrollableChange:y}=useLayoutObserver(r),B=r?.props.tableLayout==="auto",L=vue.reactive(new Map),R=vue.ref();let z;const j=()=>{z=setTimeout(()=>{L.size>0&&(L.forEach((ge,fe)=>{const ie=R.value.querySelector(`.${fe.replace(/\s/g,".")}`);ie&&(ge.width=ie.getBoundingClientRect().width||ge.width)}),L.clear())})};vue.watch(L,j),vue.onBeforeUnmount(()=>{z&&(clearTimeout(z),z=void 0)}),vue.onMounted(async()=>{await vue.nextTick(),await vue.nextTick();const{prop:ge,order:fe}=e.defaultSort;r?.store.commit("sort",{prop:ge,order:fe,init:!0}),j()});const{handleHeaderClick:$,handleHeaderContextMenu:H,handleMouseDown:Q,handleMouseMove:W,handleMouseOut:te,handleSortClick:ee,handleFilterClick:q}=useEvent(e,t),{getHeaderRowStyle:G,getHeaderRowClass:J,getHeaderCellStyle:Z,getHeaderCellClass:ne}=useStyle$2(e),{isGroup:oe,toggleAllSelection:ae,columnRows:se}=useUtils$1(e),{t:de}=useLocale();return n.state={onColumnsChange:k,onScrollableChange:y},n.filterPanels=C,{ns:i,t:de,filterPanels:C,onColumnsChange:k,onScrollableChange:y,columnRows:se,getHeaderRowClass:J,getHeaderRowStyle:G,getHeaderCellClass:ne,getHeaderCellStyle:Z,handleHeaderClick:$,handleHeaderContextMenu:H,handleMouseDown:Q,handleMouseMove:W,handleMouseOut:te,handleSortClick:ee,handleFilterClick:q,isGroup:oe,toggleAllSelection:ae,saveIndexSelection:L,isTableLayoutAuto:B,theadRef:R,updateFixedColumnStyle:j}},render(){const{ns:e,t,isGroup:n,columnRows:r,getHeaderCellStyle:i,getHeaderCellClass:C,getHeaderRowClass:k,getHeaderRowStyle:y,handleHeaderClick:B,handleHeaderContextMenu:L,handleMouseDown:R,handleMouseMove:z,handleSortClick:j,handleMouseOut:$,store:H,$parent:Q,saveIndexSelection:W,isTableLayoutAuto:te}=this;let ee=1;return vue.h("thead",{ref:"theadRef",class:e.is("group",n)},r.map((q,G)=>vue.h("tr",{class:k(G),key:G,style:y(G)},q.map((J,Z)=>{J.rowSpan>ee&&(ee=J.rowSpan);const ne=C(G,Z,q,J);return te&&J.fixed&&W.set(ne,J),vue.h("th",{class:ne,colspan:J.colSpan,key:`${J.id}-thead`,rowspan:J.rowSpan,scope:J.colSpan>1?"colgroup":"col",ariaSort:J.sortable?J.order:void 0,style:i(G,Z,q,J),onClick:oe=>{oe.currentTarget?.classList.contains("noclick")||B(oe,J)},onContextmenu:oe=>L(oe,J),onMousedown:oe=>R(oe,J),onMousemove:oe=>z(oe,J),onMouseout:$},[vue.h("div",{class:["cell",J.filteredValue&&J.filteredValue.length>0?"highlight":""]},[J.renderHeader?J.renderHeader({column:J,$index:Z,store:H,_self:Q}):J.label,J.sortable&&vue.h("button",{type:"button",class:"caret-wrapper","aria-label":t("el.table.sortLabel",{column:J.label||""}),onClick:oe=>j(oe,J)},[vue.h("i",{onClick:oe=>j(oe,J,"ascending"),class:"sort-caret ascending"}),vue.h("i",{onClick:oe=>j(oe,J,"descending"),class:"sort-caret descending"})]),J.filterable&&vue.h(filter_panel_default,{store:H,placement:J.filterPlacement||"bottom-start",appendTo:Q?.appendFilterPanelTo,column:J,upDataColumn:(oe,ae)=>{J[oe]=ae}},{"filter-icon":()=>J.renderFilterIcon?J.renderFilterIcon({filterOpened:J.filterOpened}):null})])])}))))}});function useEvents(e){const t=vue.inject(TABLE_INJECTION_KEY),n=vue.ref(""),r=vue.ref(vue.h("div")),i=(H,Q,W)=>{const te=t,ee=getCell(H);let q=null;const G=te?.vnode.el?.dataset.prefix;ee&&(q=getColumnByCell({columns:e.store?.states.columns.value??[]},ee,G),q&&te?.emit(`cell-${W}`,Q,q,ee,H)),te?.emit(`row-${W}`,Q,q,H)},C=(H,Q)=>{i(H,Q,"dblclick")},k=(H,Q)=>{e.store?.commit("setCurrentRow",Q),i(H,Q,"click")},y=(H,Q)=>{i(H,Q,"contextmenu")},B=debounce$2(H=>{e.store?.commit("setHoverRow",H)},30),L=debounce$2(()=>{e.store?.commit("setHoverRow",null)},30),R=H=>{const Q=window.getComputedStyle(H,null);return{left:Number.parseInt(Q.paddingLeft,10)||0,right:Number.parseInt(Q.paddingRight,10)||0,top:Number.parseInt(Q.paddingTop,10)||0,bottom:Number.parseInt(Q.paddingBottom,10)||0}},z=(H,Q,W)=>{let te=Q?.target?.parentNode;for(;H>1&&(te=te?.nextSibling,!(!te||te.nodeName!=="TR"));)W(te,"hover-row hover-fixed-row"),H--};return{handleDoubleClick:C,handleClick:k,handleContextMenu:y,handleMouseEnter:B,handleMouseLeave:L,handleCellMouseEnter:(H,Q,W)=>{if(!t)return;const te=t,ee=getCell(H),q=te?.vnode.el?.dataset.prefix;let G=null;if(ee){if(G=getColumnByCell({columns:e.store?.states.columns.value??[]},ee,q),!G)return;ee.rowSpan>1&&z(ee.rowSpan,H,addClass);const le=te.hoverState={cell:ee,column:G,row:Q};te?.emit("cell-mouse-enter",le.row,le.column,le.cell,H)}if(!W){removePopper?.trigger===ee&&removePopper?.();return}const J=H.target.querySelector(".cell");if(!(hasClass(J,`${q}-tooltip`)&&J.childNodes.length&&J.textContent?.trim()))return;const Z=document.createRange();Z.setStart(J,0),Z.setEnd(J,J.childNodes.length);const{width:ne,height:oe}=Z.getBoundingClientRect(),{width:ae,height:se}=J.getBoundingClientRect(),{top:de,left:ge,right:fe,bottom:ie}=R(J),ce=ge+fe,pe=de+ie;isGreaterThan(ne+ce,ae)||isGreaterThan(oe+pe,se)||isGreaterThan(J.scrollWidth,ae)?createTablePopper(W,(ee?.innerText||ee?.textContent)??"",Q,G,ee,te):removePopper?.trigger===ee&&removePopper?.()},handleCellMouseLeave:H=>{const Q=getCell(H);if(!Q)return;Q.rowSpan>1&&z(Q.rowSpan,H,removeClass);const W=t?.hoverState;t?.emit("cell-mouse-leave",W?.row,W?.column,W?.cell,H)},tooltipContent:n,tooltipTrigger:r}}function useStyles(e){const t=vue.inject(TABLE_INJECTION_KEY),n=useNamespace("table");return{getRowStyle:(L,R)=>{const z=t?.props.rowStyle;return shared.isFunction(z)?z.call(null,{row:L,rowIndex:R}):z||null},getRowClass:(L,R,z)=>{const j=[n.e("row")];t?.props.highlightCurrentRow&&L===e.store?.states.currentRow.value&&j.push("current-row"),e.stripe&&z%2===1&&j.push(n.em("row","striped"));const $=t?.props.rowClassName;return shared.isString($)?j.push($):shared.isFunction($)&&j.push($.call(null,{row:L,rowIndex:R})),j},getCellStyle:(L,R,z,j)=>{const $=t?.props.cellStyle;let H=$??{};shared.isFunction($)&&(H=$.call(null,{rowIndex:L,columnIndex:R,row:z,column:j}));const Q=getFixedColumnOffset(R,e?.fixed,e.store);return ensurePosition(Q,"left"),ensurePosition(Q,"right"),Object.assign({},H,Q)},getCellClass:(L,R,z,j,$)=>{const H=getFixedColumnsClass(n.b(),R,e?.fixed,e.store,void 0,$),Q=[j.id,j.align,j.className,...H],W=t?.props.cellClassName;return shared.isString(W)?Q.push(W):shared.isFunction(W)&&Q.push(W.call(null,{rowIndex:L,columnIndex:R,row:z,column:j})),Q.push(n.e("cell")),Q.filter(te=>!!te).join(" ")},getSpan:(L,R,z,j)=>{let $=1,H=1;const Q=t?.props.spanMethod;if(shared.isFunction(Q)){const W=Q({row:L,column:R,rowIndex:z,columnIndex:j});shared.isArray(W)?($=W[0],H=W[1]):shared.isObject(W)&&($=W.rowspan,H=W.colspan)}return{rowspan:$,colspan:H}},getColspanRealWidth:(L,R,z)=>{if(R<1)return L[z].realWidth;const j=L.map(({realWidth:$,width:H})=>$||H).slice(z,z+R);return Number(j.reduce(($,H)=>Number($)+Number(H),-1))}}}const _hoisted_1$1B=["colspan","rowspan"];var td_wrapper_vue_vue_type_script_setup_true_lang_default=vue.defineComponent({name:"TableTdWrapper",__name:"td-wrapper",props:{colspan:{type:Number,default:1},rowspan:{type:Number,default:1}},setup(e){return(t,n)=>(vue.openBlock(),vue.createElementBlock("td",{colspan:e.colspan,rowspan:e.rowspan},[vue.renderSlot(t.$slots,"default")],8,_hoisted_1$1B))}}),td_wrapper_default=td_wrapper_vue_vue_type_script_setup_true_lang_default;function useRender$1(e){const t=vue.inject(TABLE_INJECTION_KEY),n=useNamespace("table"),{handleDoubleClick:r,handleClick:i,handleContextMenu:C,handleMouseEnter:k,handleMouseLeave:y,handleCellMouseEnter:B,handleCellMouseLeave:L,tooltipContent:R,tooltipTrigger:z}=useEvents(e),{getRowStyle:j,getRowClass:$,getCellStyle:H,getCellClass:Q,getSpan:W,getColspanRealWidth:te}=useStyles(e);let ee=-1;const q=vue.computed(()=>e.store?.states.columns.value.findIndex(({type:oe})=>oe==="default")),G=(oe,ae)=>{const se=t?.props?.rowKey;return se?getRowIdentity(oe,se):ae},J=(oe,ae,se,de=!1)=>{const{tooltipEffect:ge,tooltipOptions:fe,store:ie}=e,{indent:ce,columns:pe}=ie.states,le=[];let ue=!0;return se&&(le.push(n.em("row",`level-${se.level}`)),ue=!!se.display),ae===0&&(ee=-1),e.stripe&&ue&&ee++,le.push(...$(oe,ae,ee)),vue.h("tr",{style:[ue?null:{display:"none"},j(oe,ae)],class:le,key:G(oe,ae),onDblclick:he=>r(he,oe),onClick:he=>i(he,oe),onContextmenu:he=>C(he,oe),onMouseenter:()=>k(ae),onMouseleave:y},pe.value.map((he,ye)=>{const{rowspan:_e,colspan:Ne}=W(oe,he,ae,ye);if(!_e||!Ne)return null;const be=Object.assign({},he);be.realWidth=te(pe.value,Ne,ye);const Ae={store:ie,_self:e.context||t,column:be,row:oe,$index:ae,cellIndex:ye,expanded:de};ye===q.value&&se&&(Ae.treeNode={indent:se.level&&se.level*ce.value,level:se.level},isBoolean(se.expanded)&&(Ae.treeNode.expanded=se.expanded,"loading"in se&&(Ae.treeNode.loading=se.loading),"noLazyChildren"in se&&(Ae.treeNode.noLazyChildren=se.noLazyChildren)));const Te=`${G(oe,ae)},${ye}`,Ze=be.columnKey||be.rawColumnKey||"",lt=he.showOverflowTooltip&&merge({effect:ge},fe,he.showOverflowTooltip);return vue.h(td_wrapper_default,{style:H(ae,ye,oe,he),class:Q(ae,ye,oe,he,Ne-1),key:`${Ze}${Te}`,rowspan:_e,colspan:Ne,onMouseenter:Ge=>B(Ge,oe,lt),onMouseleave:L},{default:()=>Z(ye,he,Ae)})}))},Z=(oe,ae,se)=>ae.renderCell(se);return{wrappedRowRender:(oe,ae)=>{const se=e.store,{isRowExpanded:de,assertRowKey:ge}=se,{treeData:fe,lazyTreeNodeMap:ie,childrenColumnName:ce,rowKey:pe}=se.states,le=se.states.columns.value;if(le.some(({type:ue})=>ue==="expand")){const ue=de(oe),he=J(oe,ae,void 0,ue),ye=t?.renderExpanded;if(!ye)return console.error("[Element Error]renderExpanded is required."),he;const _e=[[he]];return(t.props.preserveExpandedContent||ue)&&_e[0].push(vue.h("tr",{key:`expanded-row__${he.key}`,style:{display:ue?"":"none"}},[vue.h("td",{colspan:le.length,class:`${n.e("cell")} ${n.e("expanded-cell")}`},[ye({row:oe,$index:ae,store:se,expanded:ue})])])),_e}else if(Object.keys(fe.value).length){ge();const ue=getRowIdentity(oe,pe.value);let he=fe.value[ue],ye=null;he&&(ye={expanded:he.expanded,level:he.level,display:!0,noLazyChildren:void 0,loading:void 0},isBoolean(he.lazy)&&(ye&&isBoolean(he.loaded)&&he.loaded&&(ye.noLazyChildren=!(he.children&&he.children.length)),ye.loading=he.loading));const _e=[J(oe,ae,ye??void 0)];if(he){let Ne=0;const be=(Ae,Te)=>{Ae&&Ae.length&&Te&&Ae.forEach(Ze=>{const lt={display:Te.display&&Te.expanded,level:Te.level+1,expanded:!1,noLazyChildren:!1,loading:!1},Ge=getRowIdentity(Ze,pe.value);if(isPropAbsent(Ge))throw new Error("For nested data item, row-key is required.");he={...fe.value[Ge]},he&&(lt.expanded=he.expanded,he.level=he.level||lt.level,he.display=!!(he.expanded&&lt.display),isBoolean(he.lazy)&&(isBoolean(he.loaded)&&he.loaded&&(lt.noLazyChildren=!(he.children&&he.children.length)),lt.loading=he.loading)),Ne++,_e.push(J(Ze,ae+Ne,lt)),he&&be(ie.value[Ge]||Ze[ce.value],he)})};he.display=!0,be(ie.value[ue]||oe[ce.value],he)}return _e}else return J(oe,ae,void 0)},tooltipContent:R,tooltipTrigger:z}}const defaultProps$2={store:{required:!0,type:Object},stripe:Boolean,tooltipEffect:String,tooltipOptions:{type:Object},context:{default:()=>({}),type:Object},rowClassName:[String,Function],rowStyle:[Object,Function],fixed:{type:String,default:""},highlight:Boolean};var table_body_default=vue.defineComponent({name:"ElTableBody",props:defaultProps$2,setup(e){const t=vue.getCurrentInstance(),n=vue.inject(TABLE_INJECTION_KEY),r=useNamespace("table"),{wrappedRowRender:i,tooltipContent:C,tooltipTrigger:k}=useRender$1(e),{onColumnsChange:y,onScrollableChange:B}=useLayoutObserver(n),L=[];return vue.watch(e.store?.states.hoverRow,(R,z)=>{const j=t?.vnode.el,$=Array.from(j?.children||[]).filter(W=>W?.classList.contains(`${r.e("row")}`));let H=R;const Q=$[H]?.childNodes;if(Q?.length){let W=0;Array.from(Q).reduce((te,ee,q)=>(Q[q]?.colSpan>1&&(W=Q[q]?.colSpan),ee.nodeName!=="TD"&&W===0&&te.push(q),W>0&&W--,te),[]).forEach(te=>{for(H=R;H>0;){const ee=$[H-1]?.childNodes;if(ee[te]&&ee[te].nodeName==="TD"&&ee[te].rowSpan>1){addClass(ee[te],"hover-cell"),L.push(ee[te]);break}H--}})}else L.forEach(W=>removeClass(W,"hover-cell")),L.length=0;!e.store?.states.isComplex.value||!isClient$1||rAF(()=>{const W=$[z],te=$[R];W&&!W.classList.contains("hover-fixed-row")&&removeClass(W,"hover-row"),te&&addClass(te,"hover-row")})}),vue.onUnmounted(()=>{removePopper?.()}),{ns:r,onColumnsChange:y,onScrollableChange:B,wrappedRowRender:i,tooltipContent:C,tooltipTrigger:k}},render(){const{wrappedRowRender:e,store:t}=this;return vue.h("tbody",{tabIndex:-1},[(t?.states.data.value||[]).reduce((n,r)=>n.concat(e(r,n.length)),[])])}});function useMapState(){const e=vue.inject(TABLE_INJECTION_KEY)?.store;return{leftFixedLeafCount:vue.computed(()=>e?.states.fixedLeafColumnsLength.value??0),rightFixedLeafCount:vue.computed(()=>e?.states.rightFixedColumns.value.length??0),columnsCount:vue.computed(()=>e?.states.columns.value.length??0),leftFixedCount:vue.computed(()=>e?.states.fixedColumns.value.length??0),rightFixedCount:vue.computed(()=>e?.states.rightFixedColumns.value.length??0),columns:vue.computed(()=>e?.states.columns.value??[])}}function useStyle$1(e){const{columns:t}=useMapState(),n=useNamespace("table");return{getCellClasses:(C,k)=>{const y=C[k],B=[n.e("cell"),y.id,y.align,y.labelClassName,...getFixedColumnsClass(n.b(),k,y.fixed,e.store)];return y.className&&B.push(y.className),y.children||B.push(n.is("leaf")),B},getCellStyles:(C,k)=>{const y=getFixedColumnOffset(k,C.fixed,e.store);return ensurePosition(y,"left"),ensurePosition(y,"right"),y},columns:t}}var table_footer_default=vue.defineComponent({name:"ElTableFooter",props:{fixed:{type:String,default:""},store:{required:!0,type:Object},summaryMethod:Function,sumText:String,border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})}},setup(e){const t=vue.inject(TABLE_INJECTION_KEY),n=useNamespace("table"),{getCellClasses:r,getCellStyles:i,columns:C}=useStyle$1(e),{onScrollableChange:k,onColumnsChange:y}=useLayoutObserver(t);return{ns:n,onScrollableChange:k,onColumnsChange:y,getCellClasses:r,getCellStyles:i,columns:C}},render(){const{columns:e,getCellStyles:t,getCellClasses:n,summaryMethod:r,sumText:i}=this,C=this.store.states.data.value;let k=[];return r?k=r({columns:e,data:C}):e.forEach((y,B)=>{if(B===0){k[B]=i;return}const L=C.map($=>Number($[y.property])),R=[];let z=!0;L.forEach($=>{if(!Number.isNaN(+$)){z=!1;const H=`${$}`.split(".")[1];R.push(H?H.length:0)}});const j=Math.max.apply(null,R);z?k[B]="":k[B]=L.reduce(($,H)=>{const Q=Number(H);return Number.isNaN(+Q)?$:Number.parseFloat(($+H).toFixed(Math.min(j,20)))},0)}),vue.h(vue.h("tfoot",[vue.h("tr",{},[...e.map((y,B)=>vue.h("td",{key:B,colspan:y.colSpan,rowspan:y.rowSpan,class:n(e,B),style:t(y,B)},[vue.h("div",{class:["cell",y.labelClassName]},[k[B]])]))])]))}});function useUtils(e){return{setCurrentRow:j=>{e.commit("setCurrentRow",j)},getSelectionRows:()=>e.getSelectionRows(),getHalfSelectionRows:()=>e.getHalfSelectionRows(),toggleRowSelection:(j,$,H=!0)=>{e.toggleRowSelection(j,$,!1,H),e.updateAllSelected()},clearSelection:()=>{e.clearSelection()},clearFilter:j=>{e.clearFilter(j)},toggleAllSelection:()=>{e.commit("toggleAllSelection")},toggleRowExpansion:(j,$)=>{e.toggleRowExpansionAdapter(j,$)},clearSort:()=>{e.clearSort()},sort:(j,$)=>{e.commit("sort",{prop:j,order:$})},updateKeyChildren:(j,$)=>{e.updateKeyChildren(j,$)}}}function useStyle(e,t,n,r){const i=vue.ref(!1),C=vue.ref(null),k=vue.ref(!1),y=ce=>{k.value=ce},B=vue.ref({width:null,height:null,headerHeight:null}),L=vue.ref(!1),R={display:"inline-block",verticalAlign:"middle"},z=vue.ref(),j=vue.ref(0),$=vue.ref(0),H=vue.ref(0),Q=vue.ref(0),W=vue.ref(0);vue.watch(()=>e.height,ce=>{t.setHeight(ce??null)},{immediate:!0}),vue.watch(()=>e.maxHeight,ce=>{t.setMaxHeight(ce??null)},{immediate:!0}),vue.watch(()=>[e.currentRowKey,n.states.rowKey],([ce,pe])=>{!vue.unref(pe)||!vue.unref(ce)||n.setCurrentRowKey(`${ce}`)},{immediate:!0}),vue.watch(()=>e.data,ce=>{r.store.commit("setData",ce)},{immediate:!0,deep:!0}),vue.watchEffect(()=>{e.expandRowKeys&&n.setExpandRowKeysAdapter(e.expandRowKeys)});const te=()=>{r.store.commit("setHoverRow",null),r.hoverState&&(r.hoverState=null)},ee=(ce,pe)=>{const{pixelX:le,pixelY:ue}=pe;Math.abs(le)>=Math.abs(ue)&&(r.refs.bodyWrapper.scrollLeft+=pe.pixelX/5)},q=vue.computed(()=>e.height||e.maxHeight||n.states.fixedColumns.value.length>0||n.states.rightFixedColumns.value.length>0),G=vue.computed(()=>({width:t.bodyWidth.value?`${t.bodyWidth.value}px`:""})),J=()=>{q.value&&t.updateElsHeight(),t.updateColumnsWidth(),!(typeof window>"u")&&requestAnimationFrame(ae)};vue.onMounted(async()=>{await vue.nextTick(),n.updateColumns(),se(),requestAnimationFrame(J);const ce=r.vnode.el,pe=r.refs.headerWrapper;e.flexible&&ce&&ce.parentElement&&(ce.parentElement.style.minWidth="0"),B.value={width:z.value=ce.offsetWidth,height:ce.offsetHeight,headerHeight:e.showHeader&&pe?pe.offsetHeight:null},n.states.columns.value.forEach(le=>{le.filteredValue&&le.filteredValue.length&&r.store.commit("filterChange",{column:le,values:le.filteredValue,silent:!0})}),r.$ready=!0});const Z=(ce,pe)=>{if(!ce)return;const le=Array.from(ce.classList).filter(ue=>!ue.startsWith("is-scrolling-"));le.push(t.scrollX.value?pe:"is-scrolling-none"),ce.className=le.join(" ")},ne=ce=>{const{tableWrapper:pe}=r.refs;Z(pe,ce)},oe=ce=>{const{tableWrapper:pe}=r.refs;return!!(pe&&pe.classList.contains(ce))},ae=function(){if(!r.refs.scrollBarRef)return;if(!t.scrollX.value){const _e="is-scrolling-none";oe(_e)||ne(_e);return}const ce=r.refs.scrollBarRef.wrapRef;if(!ce)return;const{scrollLeft:pe,offsetWidth:le,scrollWidth:ue}=ce,{headerWrapper:he,footerWrapper:ye}=r.refs;he&&(he.scrollLeft=pe),ye&&(ye.scrollLeft=pe),pe>=ue-le-1?ne("is-scrolling-right"):ne(pe===0?"is-scrolling-left":"is-scrolling-middle")},se=()=>{r.refs.scrollBarRef&&(r.refs.scrollBarRef.wrapRef&&useEventListener(r.refs.scrollBarRef.wrapRef,"scroll",ae,{passive:!0}),e.fit?useResizeObserver$1(r.vnode.el,de):useEventListener(window,"resize",de),useResizeObserver$1(r.refs.tableInnerWrapper,()=>{de(),r.refs?.scrollBarRef?.update()}))},de=()=>{const ce=r.vnode.el;if(!r.$ready||!ce)return;let pe=!1;const{width:le,height:ue,headerHeight:he}=B.value,ye=z.value=ce.offsetWidth;le!==ye&&(pe=!0);const _e=ce.offsetHeight;(e.height||q.value)&&ue!==_e&&(pe=!0);const Ne=e.tableLayout==="fixed"?r.refs.headerWrapper:r.refs.tableHeaderRef?.$el;e.showHeader&&Ne?.offsetHeight!==he&&(pe=!0),j.value=r.refs.tableWrapper?.scrollHeight||0,H.value=Ne?.scrollHeight||0,Q.value=r.refs.footerWrapper?.offsetHeight||0,W.value=r.refs.appendWrapper?.offsetHeight||0,$.value=j.value-H.value-Q.value-W.value,pe&&(B.value={width:ye,height:_e,headerHeight:e.showHeader&&Ne?.offsetHeight||0},J())},ge=useFormSize(),fe=vue.computed(()=>{const{bodyWidth:ce,scrollY:pe,gutterWidth:le}=t;return ce.value?`${ce.value-(pe.value?le:0)}px`:""}),ie=vue.computed(()=>e.maxHeight?"fixed":e.tableLayout);return{isHidden:i,renderExpanded:C,setDragVisible:y,isGroup:L,handleMouseLeave:te,handleHeaderFooterMousewheel:ee,tableSize:ge,emptyBlockStyle:vue.computed(()=>{if(e.data&&e.data.length)return;let ce="100%";e.height&&$.value&&(ce=`${$.value}px`);const pe=z.value;return{width:pe?`${pe}px`:"",height:ce}}),resizeProxyVisible:k,bodyWidth:fe,resizeState:B,doLayout:J,tableBodyStyles:G,tableLayout:ie,scrollbarViewStyle:R,scrollbarStyle:vue.computed(()=>e.height?{height:"100%"}:e.maxHeight?Number.isNaN(Number(e.maxHeight))?{maxHeight:`calc(${e.maxHeight} - ${H.value+Q.value}px)`}:{maxHeight:`${+e.maxHeight-H.value-Q.value}px`}:{})}}function useKeyRender(e){let t;const n=()=>{const r=e.vnode.el.querySelector(".hidden-columns"),i={childList:!0,subtree:!0},C=e.store.states.updateOrderFns;t=new MutationObserver(()=>{C.forEach(k=>k())}),t.observe(r,i)};vue.onMounted(()=>{n()}),vue.onUnmounted(()=>{t?.disconnect()})}function hColgroup(e){const t=e.tableLayout==="auto";let n=e.columns||[];t&&n.every(({width:i})=>isUndefined(i))&&(n=[]);const r=i=>{const C={key:`${e.tableLayout}_${i.id}`,style:{},name:void 0};return t?C.style={width:`${i.width}px`}:C.name=i.id,C};return vue.h("colgroup",{},n.map(i=>vue.h("col",r(i))))}hColgroup.props=["columns","tableLayout"];const useScrollbar=()=>{const e=vue.ref(),t=(C,k)=>{const y=e.value;y&&y.scrollTo(C,k)},n=(C,k)=>{const y=e.value;y&&isNumber(k)&&["Top","Left"].includes(C)&&y[`setScroll${C}`](k)};return{scrollBarRef:e,scrollTo:t,setScrollTop:C=>n("Top",C),setScrollLeft:C=>n("Left",C)}},_hoisted_1$1A=["data-prefix"],_hoisted_2$1f={ref:"hiddenColumns",class:"hidden-columns"};var table_vue_vue_type_script_setup_true_lang_default=vue.defineComponent({name:"ElTable",__name:"table",props:tableProps,emits:["select","select-all","selection-change","cell-mouse-enter","cell-mouse-leave","cell-dblclick","cell-contextmenu","cell-click","row-dblclick","row-click","row-contextmenu","header-click","header-contextmenu","sort-change","filter-change","current-change","header-dragend","expand-change","scroll"],setup(e,{expose:t}){const n=e,{t:r}=useLocale(),i=useNamespace("table"),C=useGlobalConfig("table"),k=vue.getCurrentInstance();vue.provide(TABLE_INJECTION_KEY,k);const y=createStore(k,n);k.store=y;const B=new TableLayout({store:k.store,table:k,fit:n.fit,showHeader:n.showHeader});k.layout=B;const L=vue.computed(()=>(y.states.data.value||[]).length===0),{setCurrentRow:R,getSelectionRows:z,getHalfSelectionRows:j,toggleRowSelection:$,clearSelection:H,clearFilter:Q,toggleAllSelection:W,toggleRowExpansion:te,clearSort:ee,sort:q,updateKeyChildren:G}=useUtils(y),{isHidden:J,renderExpanded:Z,setDragVisible:ne,isGroup:oe,handleMouseLeave:ae,handleHeaderFooterMousewheel:se,tableSize:de,emptyBlockStyle:ge,resizeProxyVisible:fe,bodyWidth:ie,resizeState:ce,doLayout:pe,tableBodyStyles:le,tableLayout:ue,scrollbarViewStyle:he,scrollbarStyle:ye}=useStyle(n,B,y,k),{scrollBarRef:_e,scrollTo:Ne,setScrollLeft:be,setScrollTop:Ae}=useScrollbar(),Te=debounce$2(pe,50),Ze=createTableId(i.namespace.value),lt=k;k.tableId=Ze,k.state={isGroup:oe,resizeState:ce,doLayout:pe,debouncedUpdateLayout:Te};const Ge=vue.computed(()=>n.sumText??r("el.table.sumText")),st=vue.computed(()=>n.emptyText??r("el.table.emptyText")),Ue=vue.computed(()=>n.tooltipEffect??C.value?.tooltipEffect),De=vue.computed(()=>n.tooltipOptions??C.value?.tooltipOptions),We=vue.computed(()=>convertToRows(y.states.originColumns.value)[0]);return useKeyRender(k),vue.onBeforeUnmount(()=>{Te.cancel()}),t({ns:i,layout:B,store:y,columns:We,handleHeaderFooterMousewheel:se,handleMouseLeave:ae,tableId:Ze,tableSize:de,isHidden:J,isEmpty:L,renderExpanded:Z,resizeProxyVisible:fe,resizeState:ce,isGroup:oe,bodyWidth:ie,tableBodyStyles:le,emptyBlockStyle:ge,debouncedUpdateLayout:Te,setCurrentRow:R,getSelectionRows:z,getHalfSelectionRows:j,toggleRowSelection:$,clearSelection:H,clearFilter:Q,toggleAllSelection:W,toggleRowExpansion:te,clearSort:ee,doLayout:pe,sort:q,updateKeyChildren:G,t:r,setDragVisible:ne,context:lt,computedSumText:Ge,computedEmptyText:st,computedTooltipEffect:Ue,computedTooltipOptions:De,tableLayout:ue,scrollbarViewStyle:he,scrollbarStyle:ye,scrollBarRef:_e,scrollTo:Ne,setScrollLeft:be,setScrollTop:Ae,allowDragLastColumn:n.allowDragLastColumn}),(Ye,Re)=>(vue.openBlock(),vue.createElementBlock("div",{ref:"tableWrapper",class:vue.normalizeClass([{[vue.unref(i).m("fit")]:e.fit,[vue.unref(i).m("striped")]:e.stripe,[vue.unref(i).m("border")]:e.border||vue.unref(oe),[vue.unref(i).m("hidden")]:vue.unref(J),[vue.unref(i).m("group")]:vue.unref(oe),[vue.unref(i).m("fluid-height")]:e.maxHeight,[vue.unref(i).m("scrollable-x")]:vue.unref(B).scrollX.value,[vue.unref(i).m("scrollable-y")]:vue.unref(B).scrollY.value,[vue.unref(i).m("enable-row-hover")]:!vue.unref(y).states.isComplex.value,[vue.unref(i).m("enable-row-transition")]:(vue.unref(y).states.data.value||[]).length!==0&&(vue.unref(y).states.data.value||[]).length<100,"has-footer":e.showSummary},vue.unref(i).m(vue.unref(de)),e.className,vue.unref(i).b(),vue.unref(i).m(`layout-${vue.unref(ue)}`)]),style:vue.normalizeStyle(e.style),"data-prefix":vue.unref(i).namespace.value,onMouseleave:Re[1]||(Re[1]=(...Je)=>vue.unref(ae)&&vue.unref(ae)(...Je))},[vue.createElementVNode("div",{ref:"tableInnerWrapper",class:vue.normalizeClass(vue.unref(i).e("inner-wrapper"))},[vue.createElementVNode("div",_hoisted_2$1f,[vue.renderSlot(Ye.$slots,"default")],512),e.showHeader&&vue.unref(ue)==="fixed"?vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",{key:0,ref:"headerWrapper",class:vue.normalizeClass(vue.unref(i).e("header-wrapper"))},[vue.createElementVNode("table",{ref:"tableHeader",class:vue.normalizeClass(vue.unref(i).e("header")),style:vue.normalizeStyle(vue.unref(le)),border:"0",cellpadding:"0",cellspacing:"0"},[vue.createVNode(vue.unref(hColgroup),{columns:vue.unref(y).states.columns.value,"table-layout":vue.unref(ue)},null,8,["columns","table-layout"]),vue.createVNode(vue.unref(table_header_default),{ref:"tableHeaderRef",border:e.border,"default-sort":e.defaultSort,store:vue.unref(y),"append-filter-panel-to":e.appendFilterPanelTo,"allow-drag-last-column":e.allowDragLastColumn,onSetDragVisible:vue.unref(ne)},null,8,["border","default-sort","store","append-filter-panel-to","allow-drag-last-column","onSetDragVisible"])],6)],2)),[[vue.unref(Mousewheel),vue.unref(se)]]):vue.createCommentVNode("v-if",!0),vue.createElementVNode("div",{ref:"bodyWrapper",class:vue.normalizeClass(vue.unref(i).e("body-wrapper"))},[vue.createVNode(vue.unref(ElScrollbar),{ref_key:"scrollBarRef",ref:_e,"view-style":vue.unref(he),"wrap-style":vue.unref(ye),always:e.scrollbarAlwaysOn,tabindex:e.scrollbarTabindex,native:e.nativeScrollbar,onScroll:Re[0]||(Re[0]=Je=>Ye.$emit("scroll",Je))},{default:vue.withCtx(()=>[vue.createElementVNode("table",{ref:"tableBody",class:vue.normalizeClass(vue.unref(i).e("body")),cellspacing:"0",cellpadding:"0",border:"0",style:vue.normalizeStyle({width:vue.unref(ie),tableLayout:vue.unref(ue)})},[vue.createVNode(vue.unref(hColgroup),{columns:vue.unref(y).states.columns.value,"table-layout":vue.unref(ue)},null,8,["columns","table-layout"]),e.showHeader&&vue.unref(ue)==="auto"?(vue.openBlock(),vue.createBlock(vue.unref(table_header_default),{key:0,ref:"tableHeaderRef",class:vue.normalizeClass(vue.unref(i).e("body-header")),border:e.border,"default-sort":e.defaultSort,store:vue.unref(y),"append-filter-panel-to":e.appendFilterPanelTo,onSetDragVisible:vue.unref(ne)},null,8,["class","border","default-sort","store","append-filter-panel-to","onSetDragVisible"])):vue.createCommentVNode("v-if",!0),vue.createVNode(vue.unref(table_body_default),{context:vue.unref(lt),highlight:e.highlightCurrentRow,"row-class-name":e.rowClassName,"tooltip-effect":Ue.value,"tooltip-options":De.value,"row-style":e.rowStyle,store:vue.unref(y),stripe:e.stripe},null,8,["context","highlight","row-class-name","tooltip-effect","tooltip-options","row-style","store","stripe"]),e.showSummary&&vue.unref(ue)==="auto"?(vue.openBlock(),vue.createBlock(vue.unref(table_footer_default),{key:1,class:vue.normalizeClass(vue.unref(i).e("body-footer")),border:e.border,"default-sort":e.defaultSort,store:vue.unref(y),"sum-text":Ge.value,"summary-method":e.summaryMethod},null,8,["class","border","default-sort","store","sum-text","summary-method"])):vue.createCommentVNode("v-if",!0)],6),L.value?(vue.openBlock(),vue.createElementBlock("div",{key:0,ref:"emptyBlock",style:vue.normalizeStyle(vue.unref(ge)),class:vue.normalizeClass(vue.unref(i).e("empty-block"))},[vue.createElementVNode("span",{class:vue.normalizeClass(vue.unref(i).e("empty-text"))},[vue.renderSlot(Ye.$slots,"empty",{},()=>[vue.createTextVNode(vue.toDisplayString(st.value),1)])],2)],6)):vue.createCommentVNode("v-if",!0),Ye.$slots.append?(vue.openBlock(),vue.createElementBlock("div",{key:1,ref:"appendWrapper",class:vue.normalizeClass(vue.unref(i).e("append-wrapper"))},[vue.renderSlot(Ye.$slots,"append")],2)):vue.createCommentVNode("v-if",!0)]),_:3},8,["view-style","wrap-style","always","tabindex","native"])],2),e.showSummary&&vue.unref(ue)==="fixed"?vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",{key:1,ref:"footerWrapper",class:vue.normalizeClass(vue.unref(i).e("footer-wrapper"))},[vue.createElementVNode("table",{class:vue.normalizeClass(vue.unref(i).e("footer")),cellspacing:"0",cellpadding:"0",border:"0",style:vue.normalizeStyle(vue.unref(le))},[vue.createVNode(vue.unref(hColgroup),{columns:vue.unref(y).states.columns.value,"table-layout":vue.unref(ue)},null,8,["columns","table-layout"]),vue.createVNode(vue.unref(table_footer_default),{border:e.border,"default-sort":e.defaultSort,store:vue.unref(y),"sum-text":Ge.value,"summary-method":e.summaryMethod},null,8,["border","default-sort","store","sum-text","summary-method"])],6)],2)),[[vue.vShow,!L.value],[vue.unref(Mousewheel),vue.unref(se)]]):vue.createCommentVNode("v-if",!0),e.border||vue.unref(oe)?(vue.openBlock(),vue.createElementBlock("div",{key:2,class:vue.normalizeClass(vue.unref(i).e("border-left-patch"))},null,2)):vue.createCommentVNode("v-if",!0)],2),vue.withDirectives(vue.createElementVNode("div",{ref:"resizeProxy",class:vue.normalizeClass(vue.unref(i).e("column-resize-proxy"))},null,2),[[vue.vShow,vue.unref(fe)]])],46,_hoisted_1$1A))}}),table_default=table_vue_vue_type_script_setup_true_lang_default;const tableColumnProps={type:{type:String,default:"default"},label:String,className:String,labelClassName:String,property:String,prop:String,width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},renderHeader:Function,sortable:{type:[Boolean,String],default:!1},sortMethod:Function,sortBy:[String,Function,Array],resizable:{type:Boolean,default:!0},columnKey:String,align:String,headerAlign:String,showOverflowTooltip:{type:[Boolean,Object],default:void 0},tooltipFormatter:Function,fixed:[Boolean,String],formatter:Function,selectable:Function,reserveSelection:Boolean,filterMethod:Function,filteredValue:Array,filters:Array,filterPlacement:String,filterMultiple:{type:Boolean,default:!0},filterClassName:String,index:[Number,Function],sortOrders:{type:Array,default:()=>["ascending","descending",null],validator:e=>e.every(t=>["ascending","descending",null].includes(t))}},defaultClassNames={selection:"table-column--selection",expand:"table__expand-column"},cellStarts={default:{order:""},selection:{width:48,minWidth:48,realWidth:48,order:""},expand:{width:48,minWidth:48,realWidth:48,order:""},index:{width:48,minWidth:48,realWidth:48,order:""}},getDefaultClassName=e=>defaultClassNames[e]||"",cellForced={selection:{renderHeader({store:e}){function t(){return e.states.data.value&&e.states.data.value.length===0}return vue.h(ElCheckbox,{disabled:t(),size:e.states.tableSize.value,indeterminate:e.states.selection.value.length>0&&!e.states.isAllSelected.value,"onUpdate:modelValue":e.toggleAllSelection??void 0,modelValue:e.states.isAllSelected.value,ariaLabel:e.t("el.table.selectAllLabel")})},renderCell({row:e,column:t,store:n,$index:r}){return vue.h(ElCheckbox,{disabled:t.selectable?!t.selectable.call(null,e,r):!1,size:n.states.tableSize.value,onChange:()=>{n.commit("rowSelectedChanged",e)},onClick:i=>i.stopPropagation(),modelValue:n.isSelected(e),indeterminate:n.getRowIndeterminate(e),ariaLabel:n.t("el.table.selectRowLabel")})},sortable:!1,resizable:!1},index:{renderHeader({column:e}){return e.label||"#"},renderCell({column:e,$index:t}){let n=t+1;const r=e.index;return isNumber(r)?n=t+r:shared.isFunction(r)&&(n=r(t)),vue.h("div",{},[n])},sortable:!1},expand:{renderHeader({column:e}){return e.label||""},renderCell({column:e,row:t,store:n,expanded:r,$index:i}){const{ns:C}=n,k=[C.e("expand-icon")];!e.renderExpand&&r&&k.push(C.em("expand-icon","expanded"));const y=function(L){L.stopPropagation(),n.toggleRowExpansion(t)},B=n.states.rowExpandable.value?.(t,i)??!0;return B||k.push(C.is("disabled")),vue.h("button",{type:"button",disabled:!B,"aria-label":n.t(r?"el.table.collapseRowLabel":"el.table.expandRowLabel"),"aria-expanded":r,class:k,onClick:y},{default:()=>e.renderExpand?[e.renderExpand({expanded:r,expandable:B})]:[vue.h(ElIcon,null,{default:()=>[vue.h(arrow_right_default)]})]})},sortable:!1,resizable:!1}};function defaultRenderCell({row:e,column:t,$index:n}){const r=t.property,i=r&&getProp(e,r).value;return t&&t.formatter?t.formatter(e,t,i,n):i?.toString?.()||""}function treeCellPrefix({row:e,treeNode:t,store:n},r=!1){const{ns:i}=n;if(!t)return r?[vue.h("span",{class:i.e("placeholder")})]:null;const C=[],k=function(y){y.stopPropagation(),!t.loading&&n.loadOrToggle(e)};if(t.indent&&C.push(vue.h("span",{class:i.e("indent"),style:{"padding-left":`${t.indent}px`}})),isBoolean(t.expanded)&&!t.noLazyChildren){const y=[i.e("expand-icon"),t.expanded?i.em("expand-icon","expanded"):""];let B=arrow_right_default;t.loading&&(B=loading_default),C.push(vue.h("button",{type:"button","aria-label":n.t(t.expanded?"el.table.collapseRowLabel":"el.table.expandRowLabel"),"aria-expanded":t.expanded,class:y,onClick:k},{default:()=>[vue.h(ElIcon,{class:i.is("loading",t.loading)},{default:()=>[vue.h(B)]})]}))}else C.push(vue.h("span",{class:i.e("placeholder")}));return C}function getAllAliases(e,t){return e.reduce((n,r)=>(n[r]=r,n),t)}function useWatcher(e,t){const n=vue.getCurrentInstance();return{registerComplexWatchers:()=>{const C=["fixed"],k={realWidth:"width",realMinWidth:"minWidth"},y=getAllAliases(C,k);Object.keys(y).forEach(B=>{const L=k[B];shared.hasOwn(t,L)&&vue.watch(()=>t[L],R=>{let z=R;L==="width"&&B==="realWidth"&&(z=parseWidth(R)),L==="minWidth"&&B==="realMinWidth"&&(z=parseMinWidth(R)),n.columnConfig.value[L]=z,n.columnConfig.value[B]=z;const j=L==="fixed";e.value.store.scheduleLayout(j)})})},registerNormalWatchers:()=>{const C=["label","filters","filterMultiple","filteredValue","sortable","index","formatter","className","labelClassName","filterClassName","showOverflowTooltip","tooltipFormatter","resizable"],k=["showOverflowTooltip"],y={property:"prop",align:"realAlign",headerAlign:"realHeaderAlign"},B=getAllAliases(C,y);Object.keys(B).forEach(R=>{const z=y[R];shared.hasOwn(t,z)&&vue.watch(()=>t[z],j=>{n.columnConfig.value[R]=j,(R==="filters"||R==="filterMethod")&&(n.columnConfig.value.filterable=!!(n.columnConfig.value.filters||n.columnConfig.value.filterMethod))})}),k.forEach(R=>{shared.hasOwn(e.value.props,R)&&vue.watch(()=>e.value.props[R],z=>{n.columnConfig.value.type!=="selection"&&isUndefined(t[R])&&(n.columnConfig.value[R]=z)})});const L=useGlobalConfig("table");L.value&&shared.hasOwn(L.value,"showOverflowTooltip")&&vue.watch(()=>L.value?.showOverflowTooltip,R=>{n.columnConfig.value.type!=="selection"&&(!isUndefined(t.showOverflowTooltip)||!isUndefined(e.value.props.showOverflowTooltip)||(n.columnConfig.value.showOverflowTooltip=R))})}}}function useRender(e,t,n){const r=vue.getCurrentInstance(),i=vue.ref(""),C=vue.ref(!1),k=vue.ref(),y=vue.ref(),B=useNamespace("table");vue.watchEffect(()=>{k.value=e.align?`is-${e.align}`:null,k.value}),vue.watchEffect(()=>{y.value=e.headerAlign?`is-${e.headerAlign}`:k.value,y.value});const L=vue.computed(()=>{let G=r.vnode.vParent||r.parent;for(;G&&!G.tableId&&!G.columnId;)G=G.vnode.vParent||G.parent;return G}),R=vue.computed(()=>{const{store:G}=r.parent;if(!G)return!1;const{treeData:J}=G.states,Z=J.value;return Z&&Object.keys(Z).length>0}),z=vue.ref(parseWidth(e.width)),j=vue.ref(parseMinWidth(e.minWidth)),$=G=>(z.value&&(G.width=z.value),j.value&&(G.minWidth=j.value),!z.value&&j.value&&(G.width=void 0),G.minWidth||(G.minWidth=80),G.realWidth=Number(isUndefined(G.width)?G.minWidth:G.width),G),H=G=>{const J=G.type,Z=cellForced[J]||{};Object.keys(Z).forEach(oe=>{const ae=Z[oe];oe!=="className"&&!isUndefined(ae)&&(G[oe]=ae)});const ne=getDefaultClassName(J);if(ne){const oe=`${vue.unref(B.namespace)}-${ne}`;G.className=G.className?`${G.className} ${oe}`:oe}return G},Q=G=>{shared.isArray(G)?G.forEach(Z=>J(Z)):J(G);function J(Z){Z?.type?.name==="ElTableColumn"&&(Z.vParent=r)}};return{columnId:i,realAlign:k,isSubColumn:C,realHeaderAlign:y,columnOrTableParent:L,setColumnWidth:$,setColumnForcedProps:H,setColumnRenders:G=>{e.renderHeader?debugWarn("TableColumn","Comparing to render-header, scoped-slot header is easier to use. We recommend users to use scoped-slot header."):G.type!=="selection"&&(G.renderHeader=Z=>{if(r.columnConfig.value.label,t.header){const ne=t.header(Z);if(ensureValidVNode(ne))return vue.h(vue.Fragment,ne)}return vue.createTextVNode(G.label)}),t["filter-icon"]&&(G.renderFilterIcon=Z=>vue.renderSlot(t,"filter-icon",Z)),t.expand&&(G.renderExpand=Z=>vue.renderSlot(t,"expand",Z));let J=G.renderCell;return G.type==="expand"?(G.renderCell=Z=>vue.h("div",{class:"cell"},[J(Z)]),n.value.renderExpanded=Z=>t.default?t.default(Z):t.default):(J=J||defaultRenderCell,G.renderCell=Z=>{let ne=null;if(t.default){const ge=t.default(Z);ne=ge.some(fe=>fe.type!==vue.Comment)?ge:J(Z)}else ne=J(Z);const{columns:oe}=n.value.store.states,ae=oe.value.findIndex(ge=>ge.type==="default"),se=treeCellPrefix(Z,R.value&&Z.cellIndex===ae),de={class:"cell",style:{}};return G.showOverflowTooltip&&(de.class=`${de.class} ${vue.unref(B.namespace)}-tooltip`,de.style={width:`${(Z.column.realWidth||Number(Z.column.width))-1}px`}),Q(ne),vue.h("div",de,[se,ne])}),G},getPropsData:(...G)=>G.reduce((J,Z)=>(shared.isArray(Z)&&Z.forEach(ne=>{J[ne]=e[ne]}),J),{}),getColumnElIndex:(G,J)=>Array.prototype.indexOf.call(G,J),updateColumnOrder:()=>{n.value.store.commit("updateColumnOrder",r.columnConfig.value)}}}var index_vue_vue_type_script_setup_true_lang_default=vue.defineComponent({name:"ElTableColumn",__name:"index",props:tableColumnProps,setup(e){const t=e,n=vue.useSlots(),r=vue.getCurrentInstance(),i=useGlobalConfig("table"),C=vue.ref({}),k=vue.computed(()=>{let Z=r.parent;for(;Z&&!Z.tableId;)Z=Z.parent;return Z}),{registerNormalWatchers:y,registerComplexWatchers:B}=useWatcher(k,t),{columnId:L,isSubColumn:R,realHeaderAlign:z,columnOrTableParent:j,setColumnWidth:$,setColumnForcedProps:H,setColumnRenders:Q,getPropsData:W,getColumnElIndex:te,realAlign:ee,updateColumnOrder:q}=useRender(t,n,k),G=j.value;L.value=createTableColumnId("tableId"in G?G.tableId:G.columnId),vue.onBeforeMount(()=>{R.value=k.value!==G;const Z=t.type||"default",ne=t.sortable===""?!0:t.sortable,oe=Z==="selection"?!1:isUndefined(t.showOverflowTooltip)?G.props.showOverflowTooltip??i.value?.showOverflowTooltip:t.showOverflowTooltip,ae=isUndefined(t.tooltipFormatter)?G.props.tooltipFormatter??i.value?.tooltipFormatter:t.tooltipFormatter,se={...cellStarts[Z],id:L.value,type:Z,property:t.prop||t.property,align:ee,headerAlign:z,showOverflowTooltip:oe,tooltipFormatter:ae,filterable:t.filters||t.filterMethod,filteredValue:[],filterPlacement:"",filterClassName:"",isColumnGroup:!1,isSubColumn:!1,filterOpened:!1,sortable:ne,index:t.index,rawColumnKey:r.vnode.key};let de=W(["columnKey","label","className","labelClassName","type","renderHeader","formatter","fixed","resizable"],["sortMethod","sortBy","sortOrders"],["selectable","reserveSelection"],["filterMethod","filters","filterMultiple","filterOpened","filteredValue","filterPlacement","filterClassName"]);de=mergeOptions(se,de),de=compose(Q,$,H)(de),C.value=de,y(),B()}),vue.onMounted(()=>{const Z=j.value,ne=R.value?Z.vnode.el?.children:Z.refs.hiddenColumns?.children,oe=()=>te(ne||[],r.vnode.el);C.value.getColumnIndex=oe,oe()>-1&&k.value.store.commit("insertColumn",C.value,R.value?"columnConfig"in Z&&Z.columnConfig.value:null,q)}),vue.onBeforeUnmount(()=>{const Z=C.value.getColumnIndex;(Z?Z():-1)>-1&&k.value.store.commit("removeColumn",C.value,R.value?"columnConfig"in G&&G.columnConfig.value:null,q)}),r.columnId=L.value,r.columnConfig=C;const J=()=>{try{const Z=n.default?.({row:{},column:{},$index:-1}),ne=[];if(shared.isArray(Z))for(const oe of Z)oe.type?.name==="ElTableColumn"||oe.shapeFlag&2?ne.push(oe):oe.type===vue.Fragment&&shared.isArray(oe.children)&&oe.children.forEach(ae=>{ae?.patchFlag!==1024&&!shared.isString(ae?.children)&&ne.push(ae)});return vue.h("div",ne)}catch{return vue.h("div",[])}};return(Z,ne)=>(vue.openBlock(),vue.createBlock(J))}}),table_column_default$1=index_vue_vue_type_script_setup_true_lang_default,table_column_default=table_column_default$1,tableColumn_default=table_column_default;const ElTable=withInstall(table_default,{TableColumn:tableColumn_default}),ElTableColumn=withNoopInstall(tableColumn_default),SCOPE$1="ElUpload";var UploadAjaxError=class extends Error{constructor(e,t,n,r){super(e),this.name="UploadAjaxError",this.status=t,this.method=n,this.url=r}};function getError(e,t,n){let r;return n.response?r=`${n.response.error||n.response}`:n.responseText?r=`${n.responseText}`:r=`fail to ${t.method} ${e} ${n.status}`,new UploadAjaxError(r,n.status,t.method,e)}function getBody(e){const t=e.responseText||e.response;if(!t)return t;try{return JSON.parse(t)}catch{return t}}const ajaxUpload=e=>{typeof XMLHttpRequest>"u"&&throwError(SCOPE$1,"XMLHttpRequest is undefined");const t=new XMLHttpRequest,n=e.action;t.upload&&t.upload.addEventListener("progress",C=>{const k=C;k.percent=C.total>0?C.loaded/C.total*100:0,e.onProgress(k)});const r=new FormData;if(e.data)for(const[C,k]of Object.entries(e.data))shared.isArray(k)?k.length===2&&k[0]instanceof Blob&&shared.isString(k[1])?r.append(C,k[0],k[1]):k.forEach(y=>{r.append(C,y)}):r.append(C,k);r.append(e.filename,e.file,e.file.name),t.addEventListener("error",()=>{e.onError(getError(n,e,t))}),t.addEventListener("load",()=>{if(t.status<200||t.status>=300)return e.onError(getError(n,e,t));e.onSuccess(getBody(t))}),t.open(e.method,n,!0),e.withCredentials&&"withCredentials"in t&&(t.withCredentials=!0);const i=e.headers||{};if(i instanceof Headers)i.forEach((C,k)=>t.setRequestHeader(k,C));else for(const[C,k]of Object.entries(i))isNil(k)||t.setRequestHeader(C,String(k));return t.send(r),t},uploadListTypes=["text","picture","picture-card"];let fileId=1;const genFileId=()=>Date.now()+fileId++,uploadBaseProps=buildProps({action:{type:String,default:"#"},headers:{type:definePropType(Object)},method:{type:String,default:"post"},data:{type:definePropType([Object,Function,Promise]),default:()=>mutable({})},multiple:Boolean,name:{type:String,default:"file"},drag:Boolean,withCredentials:Boolean,showFileList:{type:Boolean,default:!0},accept:{type:String,default:""},fileList:{type:definePropType(Array),default:()=>mutable([])},autoUpload:{type:Boolean,default:!0},listType:{type:String,values:uploadListTypes,default:"text"},httpRequest:{type:definePropType(Function),default:ajaxUpload},disabled:{type:Boolean,default:void 0},limit:Number,directory:Boolean}),uploadProps=buildProps({...uploadBaseProps,beforeUpload:{type:definePropType(Function),default:shared.NOOP},beforeRemove:{type:definePropType(Function)},onRemove:{type:definePropType(Function),default:shared.NOOP},onChange:{type:definePropType(Function),default:shared.NOOP},onPreview:{type:definePropType(Function),default:shared.NOOP},onSuccess:{type:definePropType(Function),default:shared.NOOP},onProgress:{type:definePropType(Function),default:shared.NOOP},onError:{type:definePropType(Function),default:shared.NOOP},onExceed:{type:definePropType(Function),default:shared.NOOP},crossorigin:{type:definePropType(String)}}),uploadContextKey=Symbol("uploadContextKey"),uploadListProps=buildProps({files:{type:definePropType(Array),default:()=>mutable([])},disabled:{type:Boolean,default:void 0},handlePreview:{type:definePropType(Function),default:shared.NOOP},listType:{type:String,values:uploadListTypes,default:"text"},crossorigin:{type:definePropType(String)}}),uploadListEmits={remove:e=>!!e},uploadContentProps=buildProps({...uploadBaseProps,beforeUpload:{type:definePropType(Function),default:shared.NOOP},onRemove:{type:definePropType(Function),default:shared.NOOP},onStart:{type:definePropType(Function),default:shared.NOOP},onSuccess:{type:definePropType(Function),default:shared.NOOP},onProgress:{type:definePropType(Function),default:shared.NOOP},onError:{type:definePropType(Function),default:shared.NOOP},onExceed:{type:definePropType(Function),default:shared.NOOP}}),uploadDraggerProps=buildProps({disabled:{type:Boolean,default:void 0},directory:Boolean}),uploadDraggerEmits={file:e=>shared.isArray(e)},_hoisted_1$1z=["tabindex","aria-disabled","onKeydown"],_hoisted_2$1e=["src","crossorigin"],_hoisted_3$Z=["onClick"],_hoisted_4$J=["title"],_hoisted_5$z=["onClick"],_hoisted_6$r=["onClick"];var upload_list_vue_vue_type_script_setup_true_lang_default=vue.defineComponent({name:"ElUploadList",__name:"upload-list",props:uploadListProps,emits:uploadListEmits,setup(e,{emit:t}){const n=e,r=t,{t:i}=useLocale(),C=useNamespace("upload"),k=useNamespace("icon"),y=useNamespace("list"),B=useFormDisabled(),L=vue.ref(!1),R=vue.computed(()=>[C.b("list"),C.bm("list",n.listType),C.is("disabled",B.value)]),z=j=>{r("remove",j)};return(j,$)=>(vue.openBlock(),vue.createBlock(vue.TransitionGroup,{tag:"ul",class:vue.normalizeClass(R.value),name:vue.unref(y).b()},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.files,(H,Q)=>(vue.openBlock(),vue.createElementBlock("li",{key:H.uid||H.name,class:vue.normalizeClass([vue.unref(C).be("list","item"),vue.unref(C).is(H.status),{focusing:L.value}]),tabindex:vue.unref(B)?void 0:0,"aria-disabled":vue.unref(B),role:"button",onKeydown:vue.withKeys(W=>!vue.unref(B)&&z(H),["delete"]),onFocus:$[0]||($[0]=W=>L.value=!0),onBlur:$[1]||($[1]=W=>L.value=!1),onClick:$[2]||($[2]=W=>L.value=!1)},[vue.renderSlot(j.$slots,"default",{file:H,index:Q},()=>[e.listType==="picture"||H.status!=="uploading"&&e.listType==="picture-card"?(vue.openBlock(),vue.createElementBlock("img",{key:0,class:vue.normalizeClass(vue.unref(C).be("list","item-thumbnail")),src:H.url,crossorigin:e.crossorigin,alt:""},null,10,_hoisted_2$1e)):vue.createCommentVNode("v-if",!0),H.status==="uploading"||e.listType!=="picture-card"?(vue.openBlock(),vue.createElementBlock("div",{key:1,class:vue.normalizeClass(vue.unref(C).be("list","item-info"))},[vue.createElementVNode("a",{class:vue.normalizeClass(vue.unref(C).be("list","item-name")),onClick:vue.withModifiers(W=>e.handlePreview(H),["prevent"])},[vue.createVNode(vue.unref(ElIcon),{class:vue.normalizeClass(vue.unref(k).m("document"))},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(document_default))]),_:1},8,["class"]),vue.createElementVNode("span",{class:vue.normalizeClass(vue.unref(C).be("list","item-file-name")),title:H.name},vue.toDisplayString(H.name),11,_hoisted_4$J)],10,_hoisted_3$Z),H.status==="uploading"?(vue.openBlock(),vue.createBlock(vue.unref(ElProgress),{key:0,type:e.listType==="picture-card"?"circle":"line","stroke-width":e.listType==="picture-card"?6:2,percentage:Number(H.percentage),style:vue.normalizeStyle(e.listType==="picture-card"?"":"margin-top: 0.5rem")},null,8,["type","stroke-width","percentage","style"])):vue.createCommentVNode("v-if",!0)],2)):vue.createCommentVNode("v-if",!0),vue.createElementVNode("label",{class:vue.normalizeClass(vue.unref(C).be("list","item-status-label"))},[e.listType==="text"?(vue.openBlock(),vue.createBlock(vue.unref(ElIcon),{key:0,class:vue.normalizeClass([vue.unref(k).m("upload-success"),vue.unref(k).m("circle-check")])},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(circle_check_default))]),_:1},8,["class"])):["picture-card","picture"].includes(e.listType)?(vue.openBlock(),vue.createBlock(vue.unref(ElIcon),{key:1,class:vue.normalizeClass([vue.unref(k).m("upload-success"),vue.unref(k).m("check")])},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(check_default))]),_:1},8,["class"])):vue.createCommentVNode("v-if",!0)],2),vue.unref(B)?vue.createCommentVNode("v-if",!0):(vue.openBlock(),vue.createBlock(vue.unref(ElIcon),{key:2,class:vue.normalizeClass(vue.unref(k).m("close")),"aria-label":vue.unref(i)("el.upload.delete"),role:"button",tabindex:"0",onClick:W=>z(H),onKeydown:vue.withKeys(vue.withModifiers(W=>z(H),["prevent"]),["enter","space"])},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(close_default))]),_:1},8,["class","aria-label","onClick","onKeydown"])),vue.unref(B)?vue.createCommentVNode("v-if",!0):(vue.openBlock(),vue.createElementBlock("i",{key:3,class:vue.normalizeClass(vue.unref(k).m("close-tip"))},vue.toDisplayString(vue.unref(i)("el.upload.deleteTip")),3)),e.listType==="picture-card"?(vue.openBlock(),vue.createElementBlock("span",{key:4,class:vue.normalizeClass(vue.unref(C).be("list","item-actions"))},[vue.createElementVNode("span",{class:vue.normalizeClass(vue.unref(C).be("list","item-preview")),onClick:W=>e.handlePreview(H)},[vue.createVNode(vue.unref(ElIcon),{class:vue.normalizeClass(vue.unref(k).m("zoom-in"))},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(zoom_in_default))]),_:1},8,["class"])],10,_hoisted_5$z),vue.unref(B)?vue.createCommentVNode("v-if",!0):(vue.openBlock(),vue.createElementBlock("span",{key:0,class:vue.normalizeClass(vue.unref(C).be("list","item-delete")),onClick:W=>z(H)},[vue.createVNode(vue.unref(ElIcon),{class:vue.normalizeClass(vue.unref(k).m("delete"))},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(delete_default))]),_:1},8,["class"])],10,_hoisted_6$r))],2)):vue.createCommentVNode("v-if",!0)])],42,_hoisted_1$1z))),128)),vue.renderSlot(j.$slots,"append")]),_:3},8,["class","name"]))}}),upload_list_default=upload_list_vue_vue_type_script_setup_true_lang_default;const COMPONENT_NAME="ElUploadDrag";var upload_dragger_vue_vue_type_script_setup_true_lang_default=vue.defineComponent({name:COMPONENT_NAME,__name:"upload-dragger",props:uploadDraggerProps,emits:uploadDraggerEmits,setup(e,{emit:t}){const n=e,r=t;vue.inject(uploadContextKey)||throwError(COMPONENT_NAME,"usage: <el-upload><el-upload-dragger /></el-upload>");const i=useNamespace("upload"),C=vue.ref(!1),k=useFormDisabled(),y=j=>new Promise(($,H)=>j.file($,H)),B=async j=>{try{if(j.isFile){const $=await y(j);return $.isDirectory=!1,[$]}if(j.isDirectory){const $=j.createReader(),H=()=>new Promise((ee,q)=>$.readEntries(ee,q)),Q=[];let W=await H();for(;W.length>0;)Q.push(...W),W=await H();const te=Q.map(ee=>B(ee).catch(()=>[]));return flatten(await Promise.all(te))}}catch{return[]}return[]},L=async j=>{if(k.value)return;C.value=!1,j.stopPropagation();const $=Array.from(j.dataTransfer.files),H=j.dataTransfer.items||[];if(n.directory){const Q=Array.from(H).map(W=>W?.webkitGetAsEntry?.()).filter(W=>W);r("file",flatten(await Promise.all(Q.map(B))));return}$.forEach((Q,W)=>{const te=H[W]?.webkitGetAsEntry?.();te&&(Q.isDirectory=te.isDirectory)}),r("file",$)},R=()=>{k.value||(C.value=!0)},z=j=>{j.currentTarget.contains(j.relatedTarget)||(C.value=!1)};return(j,$)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass([vue.unref(i).b("dragger"),vue.unref(i).is("dragover",C.value)]),onDrop:vue.withModifiers(L,["prevent"]),onDragover:vue.withModifiers(R,["prevent"]),onDragleave:vue.withModifiers(z,["prevent"])},[vue.renderSlot(j.$slots,"default")],34))}}),upload_dragger_default=upload_dragger_vue_vue_type_script_setup_true_lang_default;const _hoisted_1$1y=["tabindex","aria-disabled","onKeydown"],_hoisted_2$1d=["name","disabled","multiple","accept","webkitdirectory"];var upload_content_vue_vue_type_script_setup_true_lang_default=vue.defineComponent({name:"ElUploadContent",inheritAttrs:!1,__name:"upload-content",props:uploadContentProps,setup(e,{expose:t}){const n=e,r=useNamespace("upload"),i=useFormDisabled(),C=vue.shallowRef({}),k=vue.shallowRef(),y=Q=>{if(Q.length===0)return;const{autoUpload:W,limit:te,fileList:ee,multiple:q,onStart:G,onExceed:J}=n;if(te&&ee.length+Q.length>te){J(Q,ee);return}q||(Q=Q.slice(0,1));for(const Z of Q){const ne=Z;ne.uid=genFileId(),G(ne),W&&B(ne)}},B=async Q=>{if(k.value.value="",!n.beforeUpload)return R(Q);let W,te={};try{const q=n.data,G=n.beforeUpload(Q);te=shared.isPlainObject(n.data)?cloneDeep(n.data):n.data,W=await G,shared.isPlainObject(n.data)&&isEqual(q,te)&&(te=cloneDeep(n.data))}catch{W=!1}if(W===!1){n.onRemove(Q);return}let ee=Q;W instanceof Blob&&(W instanceof File?ee=W:ee=new File([W],Q.name,{type:Q.type})),R(Object.assign(ee,{uid:Q.uid}),te)},L=async(Q,W)=>shared.isFunction(Q)?Q(W):Q,R=async(Q,W)=>{const{headers:te,data:ee,method:q,withCredentials:G,name:J,action:Z,onProgress:ne,onSuccess:oe,onError:ae,httpRequest:se}=n;try{W=await L(W??ee,Q)}catch{n.onRemove(Q);return}const{uid:de}=Q,ge={headers:te||{},withCredentials:G,file:Q,data:W,method:q,filename:J,action:Z,onProgress:ie=>{ne(ie,Q)},onSuccess:ie=>{oe(ie,Q),delete C.value[de]},onError:ie=>{ae(ie,Q),delete C.value[de]}},fe=se(ge);C.value[de]=fe,fe instanceof Promise&&fe.then(ge.onSuccess,ge.onError)},z=Q=>{const W=Q.target.files;W&&y(Array.from(W))},j=()=>{i.value||(k.value.value="",k.value.click())},$=()=>{j()};return t({abort:Q=>{entriesOf(C.value).filter(Q?([W])=>String(Q.uid)===W:()=>!0).forEach(([W,te])=>{te instanceof XMLHttpRequest&&te.abort(),delete C.value[W]})},upload:B}),(Q,W)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass([vue.unref(r).b(),vue.unref(r).m(e.listType),vue.unref(r).is("drag",e.drag),vue.unref(r).is("disabled",vue.unref(i))]),tabindex:vue.unref(i)?void 0:0,"aria-disabled":vue.unref(i),role:"button",onClick:j,onKeydown:vue.withKeys(vue.withModifiers($,["self"]),["enter","space"])},[e.drag?(vue.openBlock(),vue.createBlock(upload_dragger_default,{key:0,disabled:vue.unref(i),directory:e.directory,onFile:y},{default:vue.withCtx(()=>[vue.renderSlot(Q.$slots,"default")]),_:3},8,["disabled","directory"])):vue.renderSlot(Q.$slots,"default",{key:1}),vue.createElementVNode("input",{ref_key:"inputRef",ref:k,class:vue.normalizeClass(vue.unref(r).e("input")),name:e.name,disabled:vue.unref(i),multiple:e.multiple,accept:e.accept,webkitdirectory:e.directory||void 0,type:"file",onChange:z,onClick:W[0]||(W[0]=vue.withModifiers(()=>{},["stop"]))},null,42,_hoisted_2$1d)],42,_hoisted_1$1y))}}),upload_content_default=upload_content_vue_vue_type_script_setup_true_lang_default;const SCOPE="ElUpload",revokeFileObjectURL=e=>{e.url?.startsWith("blob:")&&URL.revokeObjectURL(e.url)},useHandlers=(e,t)=>{const n=useVModel(e,"fileList",void 0,{passive:!0}),r=H=>n.value.find(Q=>Q.uid===H.uid);function i(H){t.value?.abort(H)}function C(H=["ready","uploading","success","fail"]){n.value=n.value.filter(Q=>!H.includes(Q.status))}function k(H){n.value=n.value.filter(Q=>Q.uid!==H.uid)}const y=H=>{vue.nextTick(()=>e.onChange(H,n.value))},B=(H,Q)=>{const W=r(Q);W&&(console.error(H),W.status="fail",k(W),e.onError(H,W,n.value),y(W))},L=(H,Q)=>{const W=r(Q);W&&(e.onProgress(H,W,n.value),W.status="uploading",W.percentage=Math.round(H.percent))},R=(H,Q)=>{const W=r(Q);W&&(W.status="success",W.response=H,e.onSuccess(H,W,n.value),y(W))},z=H=>{isNil(H.uid)&&(H.uid=genFileId());const Q={name:H.name,percentage:0,status:"ready",size:H.size,raw:H,uid:H.uid};if(e.listType==="picture-card"||e.listType==="picture")try{Q.url=URL.createObjectURL(H)}catch(W){debugWarn(SCOPE,W.message),e.onError(W,Q,n.value)}n.value=[...n.value,Q],y(Q)},j=async H=>{const Q=H instanceof File?r(H):H;Q||throwError(SCOPE,"file to be removed not found");const W=te=>{i(te),k(te),e.onRemove(te,n.value),revokeFileObjectURL(te)};e.beforeRemove?await e.beforeRemove(Q,n.value)!==!1&&W(Q):W(Q)};function $(){n.value.filter(({status:H})=>H==="ready").forEach(({raw:H})=>H&&t.value?.upload(H))}return vue.watch(()=>e.listType,H=>{H!=="picture-card"&&H!=="picture"||(n.value=n.value.map(Q=>{const{raw:W,url:te}=Q;if(!te&&W)try{Q.url=URL.createObjectURL(W)}catch(ee){e.onError(ee,Q,n.value)}return Q}))}),vue.watch(n,H=>{for(const Q of H)Q.uid||=genFileId(),Q.status||="success"},{immediate:!0,deep:!0}),{uploadFiles:n,abort:i,clearFiles:C,handleError:B,handleProgress:L,handleStart:z,handleSuccess:R,handleRemove:j,submit:$,revokeFileObjectURL}};var upload_vue_vue_type_script_setup_true_lang_default=vue.defineComponent({name:"ElUpload",__name:"upload",props:uploadProps,setup(e,{expose:t}){const n=e,r=useFormDisabled(),i=vue.shallowRef(),{abort:C,submit:k,clearFiles:y,uploadFiles:B,handleStart:L,handleError:R,handleRemove:z,handleSuccess:j,handleProgress:$,revokeFileObjectURL:H}=useHandlers(n,i),Q=vue.computed(()=>n.listType==="picture-card"),W=vue.computed(()=>({...n,fileList:B.value,onStart:L,onProgress:$,onSuccess:j,onError:R,onRemove:z}));return vue.onBeforeUnmount(()=>{B.value.forEach(H)}),vue.provide(uploadContextKey,{accept:vue.toRef(n,"accept")}),t({abort:C,submit:k,clearFiles:y,handleStart:L,handleRemove:z}),(te,ee)=>(vue.openBlock(),vue.createElementBlock("div",null,[Q.value&&e.showFileList?(vue.openBlock(),vue.createBlock(upload_list_default,{key:0,disabled:vue.unref(r),"list-type":e.listType,files:vue.unref(B),crossorigin:e.crossorigin,"handle-preview":e.onPreview,onRemove:vue.unref(z)},vue.createSlots({append:vue.withCtx(()=>[vue.createVNode(upload_content_default,vue.mergeProps({ref_key:"uploadRef",ref:i},W.value),{default:vue.withCtx(()=>[te.$slots.trigger?vue.renderSlot(te.$slots,"trigger",{key:0}):vue.createCommentVNode("v-if",!0),!te.$slots.trigger&&te.$slots.default?vue.renderSlot(te.$slots,"default",{key:1}):vue.createCommentVNode("v-if",!0)]),_:3},16)]),_:2},[te.$slots.file?{name:"default",fn:vue.withCtx(({file:q,index:G})=>[vue.renderSlot(te.$slots,"file",{file:q,index:G})]),key:"0"}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):vue.createCommentVNode("v-if",!0),!Q.value||Q.value&&!e.showFileList?(vue.openBlock(),vue.createBlock(upload_content_default,vue.mergeProps({key:1,ref_key:"uploadRef",ref:i},W.value),{default:vue.withCtx(()=>[te.$slots.trigger?vue.renderSlot(te.$slots,"trigger",{key:0}):vue.createCommentVNode("v-if",!0),!te.$slots.trigger&&te.$slots.default?vue.renderSlot(te.$slots,"default",{key:1}):vue.createCommentVNode("v-if",!0)]),_:3},16)):vue.createCommentVNode("v-if",!0),te.$slots.trigger?vue.renderSlot(te.$slots,"default",{key:2}):vue.createCommentVNode("v-if",!0),vue.renderSlot(te.$slots,"tip"),!Q.value&&e.showFileList?(vue.openBlock(),vue.createBlock(upload_list_default,{key:3,disabled:vue.unref(r),"list-type":e.listType,files:vue.unref(B),crossorigin:e.crossorigin,"handle-preview":e.onPreview,onRemove:vue.unref(z)},vue.createSlots({_:2},[te.$slots.file?{name:"default",fn:vue.withCtx(({file:q,index:G})=>[vue.renderSlot(te.$slots,"file",{file:q,index:G})]),key:"0"}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):vue.createCommentVNode("v-if",!0)]))}}),upload_default=upload_vue_vue_type_script_setup_true_lang_default;const ElUpload=withInstall(upload_default),_hoisted_1$1x={class:"tag-checkbox"},_hoisted_2$1c={key:0},_hoisted_3$Y={key:1,class:"rf-view-value"},_sfc_main$1F=vue.defineComponent({__name:"TagCheckbox",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{default:()=>[]},disabled:{type:Boolean,default:!1},fullVariableList:{default:()=>[]}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.inject("getFormData"),k=vue.inject("onHookForm"),y=vue.inject("getParent"),L=vue.useAttrs().items||[],R=vue.ref(L),z=vue.getCurrentInstance(),j=useFormMixins({attrs:{disabled:{type:Boolean,default:!1},value:{type:[Array,String],default:()=>[]}},emit:(te,...ee)=>{te==="change"?i("change",ee[0],ee[1]):te==="init"?i("init",ee[0]):te==="onShow"?i("onShow"):te==="onHide"&&i("onHide")},getFormData:C,onHookForm:k,getParent:y});vue.onMounted(()=>{z?.proxy&&Object.defineProperty(z.proxy,"items",{get(){return R.value},set(te){Array.isArray(te)&&te.length>0&&(R.value=te)},enumerable:!0,configurable:!0})}),j.setupLifecycle(r,r);const $=vue.computed(()=>r.modelValue),H=te=>{j.updateForm(te)},Q=vue.computed(()=>R.value.length===1&&!R.value[0].label?Array.isArray($.value)&&$.value.length?"是":"否":!Array.isArray($.value)||!$.value.length?"--":$.value.map(te=>{let ee=te;return R.value.some(q=>q.value===te?(ee=q.name,!0):!1),ee}).join(","));return t({validate:te=>j.validate(void 0,r.validation,te!==void 0?te:r.modelValue,r.parentValue,r.validateSet)}),(te,ee)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1x,[e.formMode?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$1c,[vue.createVNode(vue.unref(ElCheckboxGroup),{"model-value":$.value,"onUpdate:modelValue":H},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(R.value,q=>(vue.openBlock(),vue.createElementBlock("div",{class:"checkbox-item",key:q.name},[vue.createVNode(vue.unref(ElCheckbox),{value:q.value,disabled:!e.formEdit||e.disabled},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(q.name),1)]),_:2},1032,["value","disabled"])]))),128))]),_:1},8,["model-value","onUpdate:modelValue"]),vue.withDirectives(vue.createElementVNode("span",{class:"common-error-tip error-info"},vue.toDisplayString(vue.unref(j).validateInfo.message),513),[[vue.vShow,!vue.unref(j).validateInfo.valid]])])):(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$Y,vue.toDisplayString(Q.value),1))]))}}),TagCheckbox=_export_sfc(_sfc_main$1F,[["__scopeId","data-v-7fac6b2a"]]),__vite_glob_0_1=Object.freeze(Object.defineProperty({__proto__:null,default:TagCheckbox},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1w={class:"tag-code-editor"},_hoisted_2$1b={key:0,class:"control-header"},_hoisted_3$X={class:"language-select"},_sfc_main$1E=vue.defineComponent({__name:"TagCodeEditor",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{default:""},language:{default:"python"},height:{default:"100px"},showMiniMap:{type:Boolean,default:!1},showLanguageSwitch:{type:Boolean,default:!0},readOnly:{type:Boolean,default:!1},fullVariableList:{default:()=>[]}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.inject("getFormData"),k=vue.inject("onHookForm"),y=vue.inject("getParent"),B=useFormMixins({attrs:{language:{type:String,default:"python"},height:{type:String,default:"100px"},showMiniMap:{type:Boolean,default:!1},showLanguageSwitch:{type:Boolean,default:!0},readOnly:{type:Boolean,default:!1},value:{type:[String,Object],default:""}},emit:(q,...G)=>{q==="change"?i("change",G[0],G[1]):q==="init"?i("init",G[0]):q==="onShow"?i("onShow"):q==="onHide"&&i("onHide")},getFormData:C,onHookForm:k,getParent:y});B.setupLifecycle(r,r);const L=vue.ref(!1),R=vue.ref(r.language),z=["javascript","typescript","json","python","shell"],j=vue.computed(()=>!r.formEdit||r.readOnly),$=vue.computed(()=>typeof r.modelValue=="string"?r.modelValue:JSON.stringify(r.modelValue,null,4)),H=q=>{R.value=q},Q=q=>{B.updateForm(q)},W=()=>{te()},te=()=>{L.value=!0,vue.nextTick(()=>{L.value=!1})};return vue.watch(()=>r.formEdit,()=>{W()}),vue.watch(()=>r.readOnly,()=>{W()}),t({validate:q=>B.validate(void 0,r.validation,q!==void 0?q:r.modelValue,r.parentValue,r.validateSet)}),(q,G)=>{const J=vue.resolveComponent("bk-option"),Z=vue.resolveComponent("bk-select");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1w,[e.showLanguageSwitch?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$1b,[vue.createElementVNode("div",_hoisted_3$X,[vue.createVNode(Z,{"model-value":R.value,"onUpdate:modelValue":H,clearable:!1,size:"mini",style:{width:"120px"},onChange:W},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(z,ne=>vue.createVNode(J,{key:ne,name:ne,id:ne},null,8,["name","id"])),64))]),_:1},8,["model-value"])])])):vue.createCommentVNode("",!0),vue.createElementVNode("div",{style:vue.normalizeStyle({height:e.height}),class:"code-editor-wrap"},[L.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(CodeEditor,{key:0,ref:"tagCodeEditorRef","model-value":$.value,"onUpdate:modelValue":Q,options:{language:R.value,readOnly:j.value,minimap:{enabled:e.showMiniMap}}},null,8,["model-value","options"])),vue.withDirectives(vue.createElementVNode("span",{class:"common-error-tip error-info"},vue.toDisplayString(vue.unref(B).validateInfo.message),513),[[vue.vShow,!vue.unref(B).validateInfo.valid]])],4)])}}}),TagCodeEditor=_export_sfc(_sfc_main$1E,[["__scopeId","data-v-df8cbaa3"]]),__vite_glob_0_2=Object.freeze(Object.defineProperty({__proto__:null,default:TagCodeEditor},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1v={class:"tag-datatable"},_hoisted_2$1a={key:0,class:"button-area"},_hoisted_3$W={key:1,class:"rf-view-value"},_hoisted_4$I={key:0,class:"row-actions"},_hoisted_5$y={key:1,class:"row-actions"},_sfc_main$1D=vue.defineComponent({__name:"TagDatatable",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{default:()=>[]},columns:{default:()=>[{tag_code:"name",type:"text",attrs:{name:"参数名称"}},{tag_code:"type",type:"text",attrs:{name:"参数类型",hidden:!0}},{tag_code:"value",type:"textarea",attrs:{name:"参数值",editable:!0}}]},editable:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},rowEditable:{type:Boolean,default:!0},deleteable:{type:Boolean,default:!0},add_btn:{type:Boolean,default:!1},empty_text:{default:"无数据"},remote_url:{type:[String,Function],default:""},remote_data_init:{type:Function,default:e=>e},table_buttons:{default:()=>[]},pagination:{type:Boolean,default:!0},page_size:{default:10},row_click_handler:{type:Function,default:()=>{}},row_draggable:{type:Boolean,default:!1},fullVariableList:{default:()=>[]}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.inject("getFormData"),k=vue.inject("getParent"),y=useFormMixins({attrs:{columns:{type:Array,default:()=>[]},editable:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},rowEditable:{type:Boolean,default:!0},deleteable:{type:Boolean,default:!0},value:{type:[Array,String],default:()=>[]},add_btn:{type:Boolean,default:!1},empty_text:{type:String,default:"无数据"},remote_url:{type:[String,Function],default:""},remote_data_init:{type:Function,default:be=>be},table_buttons:{type:Array,default:()=>[]},pagination:{type:Boolean,default:!0},page_size:{type:Number,default:10},row_click_handler:{type:Function,default:()=>{}},row_draggable:{type:Boolean,default:!1}},emit:(be,...Ae)=>{be==="change"?i("change",Ae[0],Ae[1]):be==="init"?i("init",Ae[0]):be==="onShow"?i("onShow"):be==="onHide"&&i("onHide")},getFormData:C,getParent:k});y.setupLifecycle(r,r);const B=vue.ref(),L=vue.ref(null),R=vue.ref([]),z=vue.ref(void 0),j=vue.ref(Array.isArray(r.modelValue)?lodash$1.cloneDeep(r.modelValue):[]),$=vue.ref(!1),H=vue.ref(1),Q=vue.ref({}),W={save_text:"保存",cancel_text:"取消",edit_text:"编辑",operate_text:"操作",delete_text:"删除",add_text:"添加"},te=vue.computed(()=>{if(r.pagination){const be=(H.value-1)*r.page_size;return j.value.slice(be,be+r.page_size)}return j.value}),ee=(be,Ae,Te,Ze)=>{if(be){const Ge=`row_${r.pagination?(H.value-1)*r.page_size+Ae:Ae}_${Te}_${Ze}`;Q.value[Ge]=be}},q=be=>{const Ae=r.pagination?(H.value-1)*r.page_size+be:be;return{showHook:!1,showGroup:!1,showLabel:!1,editable:z.value===Ae,formMode:z.value===Ae,validateSet:["required","custom","regex"]}},G=()=>{const be=B.value?.$el;if(J(),be){const Ae=be.querySelector(".el-table__body-wrapper tbody");Ae&&(L.value=Sortable.create(Ae,{onEnd({oldIndex:Te,newIndex:Ze}){if(Te==null||Ze==null)return;let lt=0;r.pagination&&(lt=(H.value-1)*r.page_size);const Ge=Te+lt,st=Ze+lt,Ue=j.value.splice(Ge,1)[0];j.value.splice(st,0,Ue),y.updateForm(j.value)}}))}},J=()=>{L.value&&(L.value.destroy(),L.value=null)},Z=()=>{const be=[],Ae=[],Te=[];for(let Ue=0;Ue<r.columns.length;Ue++){const De=r.columns[Ue].tag_code,We=`${r.columns[Ue].attrs.name}(${De})`;be.push(We),Te.push(De)}Ae.push(be);const Ze=j.value;for(let Ue=0;Ue<Ze.length;Ue++){const De=[];for(let We=0;We<Te.length;We++){let Ye=Ze[Ue][Te[We]];if(Array.isArray(Ye)){const Re=r.columns.find(Je=>Je.tag_code===Te[We]);Re&&Re.attrs.items&&(Ye=Ye.map(Je=>{const Xe=Re.attrs.items.find(Me=>Me.value===Je);return Xe?Xe.name||Xe.text:Je})),Ye=JSON.stringify(Ye)}De.push(Ye)}Ae.push(De)}const lt="Sheet1",Ge=XLSX__namespace.utils.book_new(),st=XLSX__namespace.utils.aoa_to_sheet(Ae);XLSX__namespace.utils.book_append_sheet(Ge,st,lt),XLSX__namespace.writeFile(Ge,"tableData.xlsx")},ne=be=>{const Ae=be.name.split(".")[1];if(!["xlsx","xlc","xlm","xls","xlt","xlw","csv"].some(Ze=>Ze===Ae)){console.error("格式错误!请选择xlsx,xls,xlc,xlm,xlt,xlw或csv文件");return}oe(be).then(Ze=>{if(Ze&&Ze.length>0){const lt=/\([\w|\p{Unified_Ideograph}]+\)$/u,Ge={};for(let Ue=0;Ue<r.columns.length;Ue++)Ge[r.columns[Ue].attrs.name]=r.columns[Ue].tag_code;const st=lodash$1.cloneDeep(Ze[0].sheet);for(let Ue=0;Ue<st.length;Ue++)for(const De in st[Ue]){let We;if(lt.test(De)){const Re=De.match(lt);We=Re?Re[0].replace(/[\(|\)]/g,""):""}else We=Ge[De];const Ye=r.columns.find(Re=>Re.tag_code===We);if(Ye){let Re=st[Ue][De];if(Ye.type==="select"&&Ye.attrs.multiple||Ye.type==="checkbox")try{const Je=JSON.parse(Re);Array.isArray(Je)&&(Re=Je.map(Xe=>{const Me=Ye.attrs.items?.find(nt=>nt.text===Xe||nt.name===Xe);return Me?Me.value:Xe}))}catch{}Ye.type==="int"&&typeof Re=="string"&&Re&&(Re=Number(Re)),Ye.type==="input"&&typeof Re=="number"&&(Re=String(Re)),De!==We&&(st[Ue][We]=Re,delete st[Ue][De])}}r.pagination&&(H.value=1),y.set_value(st),j.value=lodash$1.cloneDeep(st)}})},oe=be=>new Promise((Ae,Te)=>{const Ze=new FileReader;Ze.onload=function(lt){const Ge=lt.target.result,st=XLSX__namespace.read(Ge,{type:"binary"}),Ue=[];st.SheetNames.forEach(De=>{Ue.push({sheetName:De,sheet:XLSX__namespace.utils.sheet_to_json(st.Sheets[De],{defval:""})})}),Ae(Ue)},Ze.readAsBinaryString(be.raw)}),ae=be=>{let Ae=!0;const Te=`^row_${be}`;for(const Ze in Q.value){let lt=!0;if(new RegExp(Te).test(Ze)){const Ge=Q.value[Ze];Ge&&Array.isArray(Ge)?lt=Ge[0]?.validate?.()??!0:Ge?lt=Ge.validate?.()??!0:delete Q.value[Ze],Ae&&(Ae=lt)}}return Ae},se=(be,Ae,Te,Ze)=>{const lt=r.columns[Te].tag_code;r.columns.forEach((Ge,st)=>{if(lt!==Ge.tag_code){const Ue=(Ge.events||[]).filter(De=>De.source===lt&&De.type===be);if(Ue.length>0){let De=null;const We=`row_${Ae}_${st}_${Ge.tag_code}`,Ye=Q.value[We];Ye&&Array.isArray(Ye)&&Ye.length>0&&Ye.some(Re=>Re.$parent?.fixed===void 0?(De=Re,!0):!1),De&&Ue.forEach(Re=>{const Je=De.$refs?.tagComponent;Je&&typeof Re.action=="function"&&Re.action.call(Je,Ze)})}}})},de=be=>{typeof be=="function"&&be()},ge=(be,Ae,Te)=>{se("init",be,Ae,Te)},fe=(be,Ae)=>{const Te=r.pagination?(H.value-1)*r.page_size+be:be;z.value=Te},ie=(be,Ae,Te,Ze)=>{const lt=Te.slice(-1)[0];z.value!=null&&j.value[z.value]&&(j.value[z.value][lt]=Ze),se("change",be,Ae,Ze)},ce=(be,Ae)=>{const Te=r.pagination?(H.value-1)*r.page_size+be:be;j.value.splice(Te,1),j.value.length%r.page_size===0&&H.value>1&&(H.value-=1),y.updateForm(j.value)},pe=(be,Ae)=>{const Te=r.pagination?(H.value-1)*r.page_size+be:be;ae(Te)&&(z.value=void 0,y.updateForm(lodash$1.cloneDeep(j.value)))},le=()=>{z.value=void 0,j.value=Array.isArray(r.modelValue)?lodash$1.cloneDeep(r.modelValue):[],te.value.length===0&&H.value>1&&(H.value-=1)},ue=be=>{$.value=be},he=()=>{if(typeof z.value=="number"&&!ae(z.value))return;const be={};r.columns.forEach(Ae=>{be[Ae.tag_code]=getRenderFormInputItemDefaultValue(Ae)}),z.value=j.value.length,j.value.push(be),H.value=Math.ceil(j.value.length/r.page_size)},ye=()=>{const be=typeof r.remote_url=="function"?r.remote_url():r.remote_url;be&&($.value=!0,fetch(be,{method:"GET"}).then(Ae=>Ae.json()).then(Ae=>{const Te=r.remote_data_init(Ae);for(const Ze in Te)Te[Ze].width=`${Math.max(150,Te[Ze].attrs.name.length*20)}px`;R.value=Te.map(Ze=>({...Ze,events:[]})),$.value=!1}).catch(()=>{$.value=!1}))},_e=(be,Ae,Te)=>{typeof r.row_click_handler=="function"&&r.row_click_handler(be,Ae,Te)};return vue.watch(()=>r.remote_url,()=>{ye()}),vue.watch(()=>r.modelValue,be=>{j.value=Array.isArray(be)?lodash$1.cloneDeep(be):[]},{deep:!0}),vue.watch(()=>r.columns,be=>{R.value=be.map(Ae=>({...Ae,events:[]}))},{immediate:!0}),vue.onMounted(()=>{ye(),r.row_draggable&&vue.nextTick(()=>{G()})}),vue.onBeforeUnmount(()=>{J()}),t({set_loading:ue,export2Excel:Z,validate:be=>{const Ae=y.validate(void 0,r.validation,be!==void 0?be:r.modelValue,r.parentValue,r.validateSet);let Te=!0;if(Ae&&r.modelValue&&Array.isArray(r.modelValue)){for(let Ze=0;Ze<r.modelValue.length;Ze++)if(!ae(Ze)){Te=!1;break}}return Ae&&Te}}),(be,Ae)=>{const Te=vue.resolveComponent("bk-button"),Ze=vue.resolveDirective("bkloading");return vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1v,[e.editable&&e.formMode?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$1a,[e.add_btn?(vue.openBlock(),vue.createBlock(Te,{key:0,class:"add-column button-item",size:"small",disabled:!e.formEdit||e.disabled,onClick:he},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(W.add_text),1)]),_:1},8,["disabled"])):vue.createCommentVNode("",!0),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.table_buttons,lt=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:lt.type},[lt.type!=="import"?(vue.openBlock(),vue.createBlock(Te,{key:0,class:"button-item",type:"default",size:"small",disabled:!e.formEdit||e.disabled,onClick:vue.withModifiers(Ge=>de(lt.callback),["stop"])},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(lt.text),1)]),_:2},1032,["disabled","onClick"])):(vue.openBlock(),vue.createBlock(vue.unref(ElUpload),{key:1,class:"upload-btn button-item",action:"/","show-file-list":!1,"on-change":ne,disabled:!e.formEdit||e.disabled,"auto-upload":!1},{trigger:vue.withCtx(()=>[vue.createVNode(Te,{size:"small",disabled:!e.formEdit||e.disabled,type:"default"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(lt.text),1)]),_:2},1032,["disabled"])]),_:2},1032,["disabled"]))],64))),128))])):vue.createCommentVNode("",!0),e.constants.subflow_detail_var?(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$W,vue.toDisplayString(e.constants[e.tagCode]),1)):Array.isArray(e.modelValue)&&!$.value?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:2},[vue.createVNode(vue.unref(ElTable),{ref_key:"tableElRef",ref:B,style:{width:"100%","font-size":"12px"},border:"",data:te.value,"empty-text":e.empty_text,fit:!0,onRowClick:_e},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(R.value,(lt,Ge)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:`${lt.tag_code}_${Ge}`},[!("hidden"in lt.attrs)||!lt.attrs.hidden?(vue.openBlock(),vue.createBlock(vue.unref(ElTableColumn),{key:0,prop:lt.tag_code,label:"name"in lt.attrs?lt.attrs.name:"",width:"width"in lt.attrs?lt.attrs.width:"","min-width":"min_width"in lt.attrs?lt.attrs.min_width:"",align:"center"},{default:vue.withCtx(({row:st,$index:Ue})=>[(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(lt.type==="combine"?_sfc_main$1m:_sfc_main$1n),{ref_for:!0,ref:De=>ee(De,Ue,Ge,lt.tag_code),scheme:lt,option:q(Ue),value:st[lt.tag_code],"parent-value":st,onInit:De=>ge(Ue,Ge,De),onChange:(De,We)=>ie(Ue,Ge,De,We)},null,40,["scheme","option","value","parent-value","onInit","onChange"]))]),_:2},1032,["prop","label","width","min-width"])):vue.createCommentVNode("",!0)],64))),128)),e.editable&&e.formEdit&&e.formMode?(vue.openBlock(),vue.createBlock(vue.unref(ElTableColumn),{key:0,prop:"operation",fixed:"right",align:"center",width:"100",label:W.operate_text},{default:vue.withCtx(({row:lt,$index:Ge})=>[(e.pagination?(H.value-1)*e.page_size+Ge:Ge)===z.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$I,[vue.createVNode(Te,{theme:"primary",text:!0,disabled:e.disabled,onClick:st=>pe(Ge)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(W.save_text),1)]),_:1},8,["disabled","onClick"]),vue.createVNode(Te,{theme:"primary",text:!0,disabled:e.disabled,onClick:Ae[0]||(Ae[0]=st=>le())},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(W.cancel_text),1)]),_:1},8,["disabled"])])):(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$y,[e.rowEditable?(vue.openBlock(),vue.createBlock(Te,{key:0,theme:"primary",text:!0,disabled:e.disabled,onClick:st=>fe(Ge)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(W.edit_text),1)]),_:1},8,["disabled","onClick"])):vue.createCommentVNode("",!0),e.deleteable?(vue.openBlock(),vue.createBlock(Te,{key:1,theme:"primary",text:!0,disabled:e.disabled,onClick:st=>ce(Ge)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(W.delete_text),1)]),_:1},8,["disabled","onClick"])):vue.createCommentVNode("",!0)]))]),_:1},8,["label"])):vue.createCommentVNode("",!0)]),_:1},8,["data","empty-text"]),e.pagination&&j.value.length/e.page_size>1?(vue.openBlock(),vue.createBlock(vue.unref(ElPagination),{key:0,layout:"prev, pager, next",total:j.value.length,"page-size":e.page_size,"current-page":H.value,"onUpdate:currentPage":Ae[1]||(Ae[1]=lt=>H.value=lt)},null,8,["total","page-size","current-page"])):vue.createCommentVNode("",!0)],64)):vue.createCommentVNode("",!0),vue.withDirectives(vue.createElementVNode("span",{class:"common-error-tip error-info"},vue.toDisplayString(vue.unref(y).validateInfo.message),513),[[vue.vShow,!vue.unref(y).validateInfo.valid]])])),[[Ze,{isLoading:$.value,opacity:1,zIndex:100}]])}}}),TagDatatable=_export_sfc(_sfc_main$1D,[["__scopeId","data-v-a341012e"]]),__vite_glob_0_3=Object.freeze(Object.defineProperty({__proto__:null,default:TagDatatable},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1u={class:"tag-datetime-range"},_hoisted_2$19={key:0},_hoisted_3$V={key:1,class:"rf-view-value"},_sfc_main$1C=vue.defineComponent({__name:"TagDateTimeRange",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{default:()=>[]},placeholder:{default:"请选择日期时间"},disabled:{type:Boolean,default:!1},fullVariableList:{default:()=>[]}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.inject("getFormData"),k=vue.inject("onHookForm"),y=vue.inject("getParent"),B=useFormMixins({attrs:{placeholder:{type:String,default:"请选择日期时间"},disabled:{type:Boolean,default:!1},value:{type:Array,default:()=>[]}},emit:($,...H)=>{$==="change"?i("change",H[0],H[1]):$==="init"?i("init",H[0]):$==="onShow"?i("onShow"):$==="onHide"&&i("onHide")},getFormData:C,onHookForm:k,getParent:y});B.setupLifecycle(r,r);const L=vue.computed(()=>r.modelValue),R=$=>{const H=$.map(Q=>Q&&dayjs(Q).format("YYYY-MM-DD HH:mm:ss"));B.updateForm(H)},z=vue.computed(()=>r.modelValue?.join("-")||"");return t({validate:$=>B.validate(void 0,r.validation,$!==void 0?$:r.modelValue,r.parentValue,r.validateSet)}),($,H)=>{const Q=vue.resolveComponent("bk-date-picker");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1u,[e.formMode?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$19,[vue.createVNode(Q,{"model-value":L.value,"onUpdate:modelValue":R,type:"datetimerange",disabled:!e.formEdit||e.disabled,transfer:!0,placeholder:e.placeholder},null,8,["model-value","disabled","placeholder"]),vue.withDirectives(vue.createElementVNode("span",{class:"common-error-tip error-info"},vue.toDisplayString(vue.unref(B).validateInfo.message),513),[[vue.vShow,!vue.unref(B).validateInfo.valid]])])):(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$V,vue.toDisplayString(z.value==="undefined"||z.value===""?"--":z.value),1))])}}}),TagDateTimeRange=_export_sfc(_sfc_main$1C,[["__scopeId","data-v-57c72e00"]]),__vite_glob_0_4=Object.freeze(Object.defineProperty({__proto__:null,default:TagDateTimeRange},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1t={class:"tag-datetime"},_hoisted_2$18={key:0},_hoisted_3$U={key:1,class:"rf-view-value"},_sfc_main$1B=vue.defineComponent({__name:"TagDatetime",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{default:""},placeholder:{default:"请选择日期时间"},disabled:{type:Boolean,default:!1},type:{default:"datetime"},format:{default:"yyyy-MM-dd HH:mm:ss"},fullVariableList:{default:()=>[]}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.inject("getFormData"),k=vue.inject("onHookForm"),y=vue.inject("getParent"),B=useFormMixins({attrs:{placeholder:{type:String,default:"请选择日期时间"},disabled:{type:Boolean,default:!1},type:{type:String,default:"datetime"},format:{type:String,default:"yyyy-MM-dd HH:mm:ss"},value:{type:String,default:""}},emit:(j,...$)=>{j==="change"?i("change",$[0],$[1]):j==="init"?i("init",$[0]):j==="onShow"?i("onShow"):j==="onHide"&&i("onHide")},getFormData:C,onHookForm:k,getParent:y});B.setupLifecycle(r,r);const L=vue.computed(()=>r.modelValue),R=j=>{B.updateForm(j)};return t({validate:j=>B.validate(void 0,r.validation,j!==void 0?j:r.modelValue,r.parentValue,r.validateSet)}),(j,$)=>{const H=vue.resolveComponent("el-date-picker");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1t,[e.formMode?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$18,[vue.createVNode(H,{"model-value":L.value,"onUpdate:modelValue":R,"popper-class":"tag-component-popper",type:e.type,format:e.format,"value-format":e.format,disabled:!e.formEdit||e.disabled,placeholder:e.placeholder},null,8,["model-value","type","format","value-format","disabled","placeholder"]),vue.withDirectives(vue.createElementVNode("span",{class:"common-error-tip error-info"},vue.toDisplayString(vue.unref(B).validateInfo.message),513),[[vue.vShow,!vue.unref(B).validateInfo.valid]])])):(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$U,vue.toDisplayString(e.modelValue==="undefined"||e.modelValue===""?"--":e.modelValue),1))])}}}),TagDatetime=_export_sfc(_sfc_main$1B,[["__scopeId","data-v-4f9f99c4"]]),__vite_glob_0_5=Object.freeze(Object.defineProperty({__proto__:null,default:TagDatetime},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1s={class:"tag-python-code-input-vars"},_hoisted_2$17={class:"var-input-wrapper"},_hoisted_3$T={class:"rf-select-list"},_hoisted_4$H={class:"rf-select-content"},_hoisted_5$x=["onClick"],_hoisted_6$q={class:"var-key"},_hoisted_7$j={class:"var-name"},_sfc_main$1A=vue.defineComponent({__name:"TagFieldMappings",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{default:()=>({})},disabled:{type:Boolean,default:!1},fullVariableList:{default:()=>[]},internalVariable:{default:()=>({})}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=(fe,ie)=>{if(!ie)return!1;if(fe.compareDocumentPosition)return fe===ie||!!(fe.compareDocumentPosition(ie)&16);if("contains"in fe&&ie.nodeType===1)return fe.contains(ie)&&fe!==ie;let ce=ie.parentNode;for(;ce;){if(ce===fe)return!0;ce=ce.parentNode}return!1},i=/\$.*$/,C=e,k=n,y=vue.inject("getFormData"),B=vue.inject("onHookForm"),L=vue.inject("getParent"),R=useFormMixins({attrs:{value:{type:Object,default:()=>({})},disabled:{type:Boolean,default:!1}},emit:(fe,...ie)=>{fe==="change"?k("change",ie[0],ie[1]):fe==="init"?k("init",ie[0]):fe==="onShow"?k("onShow"):fe==="onHide"&&k("onHide")},getFormData:y,onHookForm:B,getParent:L});R.setupLifecycle(C,C);const z=vue.ref(),j=fe=>!fe||typeof fe!="object"||Object.keys(fe).length===0?[{key:"arg1",value:""},{key:"arg2",value:""}]:Object.entries(fe).map(([ie,ce])=>({key:ie,value:ce})),$=vue.ref(j(C.modelValue)),H=vue.ref([]),Q=vue.ref(!1),W=vue.ref(-1),te=vue.ref(!1),ee=vue.ref(!1),q=vue.computed(()=>{let fe=[];if(C.constants&&(fe=Object.keys(C.constants).map(ie=>({key:ie,name:C.constants[ie]?.name||ie}))),C.fullVariableList&&C.fullVariableList.length>0&&(fe=[...fe,...C.fullVariableList]),C.internalVariable){const ie=Object.keys(C.internalVariable).map(ce=>({key:ce,name:C.internalVariable[ce]?.name||ce}));fe=[...fe,...ie]}return fe}),G=vue.computed(()=>[{required:!0,message:"参数名不能为空",trigger:"blur"},{validator:fe=>$.value.map(ce=>ce.key).filter(ce=>ce===fe).length<=1,message:"参数名不能重复",trigger:"change"}]),J=fe=>{const ie={};return fe.forEach(ce=>{ce.key&&(ie[ce.key]=ce.value)}),ie},Z=fe=>{if(!Q.value)return;const ie=document.querySelector(".rf-select-list");ie&&!r(ie,fe.target)&&(Q.value=!1)},ne=(fe,ie)=>{const ce=fe.match(i);if(ce&&ce[0]){const pe=ce[0].substring(1);H.value=q.value.filter(le=>le.key.includes(pe)),Q.value=H.value.length>0,W.value=ie}else H.value=[],Q.value=!1},oe=()=>{setTimeout(()=>{Q.value=!1,W.value=-1},200)},ae=fe=>{W.value=fe;const ie=$.value[fe].value;ie&&ie.includes("$")&&ne(ie,fe)},se=fe=>{const ie=fe,ce=$.value[W.value].value.replace(i,ie);$.value[W.value].value=ce,Q.value=!1,W.value=-1},de=(fe,ie)=>{ie==="delete"?$.value.splice(fe,1):$.value.splice(fe+1,0,{key:"",value:""})};return t({validate:()=>z.value?.validate?.().catch(fe=>(console.error(fe),!1))}),vue.watch($,fe=>{if(ee.value)return;const ie=J(fe);lodash$1.isEqual(ie,C.modelValue)||(te.value=!0,R.updateForm(ie),vue.nextTick(()=>{te.value=!1}))},{deep:!0}),vue.watch(()=>C.modelValue,fe=>{if(te.value)return;const ie=J($.value);lodash$1.isEqual(fe,ie)||(ee.value=!0,$.value=j(fe),vue.nextTick(()=>{ee.value=!1}))},{immediate:!1,deep:!0}),vue.onMounted(()=>{window.addEventListener("click",Z,!1)}),vue.onBeforeUnmount(()=>{window.removeEventListener("click",Z,!1)}),(fe,ie)=>{const ce=vue.resolveComponent("bk-input"),pe=vue.resolveComponent("bk-form-item"),le=vue.resolveComponent("bk-button"),ue=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1s,[vue.createVNode(ue,{ref_key:"formRef",ref:z,"label-width":0,model:{formList:$.value}},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList($.value,(he,ye)=>(vue.openBlock(),vue.createElementBlock("div",{key:ye,class:"form-content-item"},[vue.createVNode(pe,{property:`formList.${ye}.key`,rules:G.value,"error-tip-append-to-parent":!0},{default:vue.withCtx(()=>[vue.createVNode(ce,{modelValue:he.key,"onUpdate:modelValue":_e=>he.key=_e,disabled:e.disabled||!e.formEdit,placeholder:"参数名",class:"param-input"},null,8,["modelValue","onUpdate:modelValue","disabled"])]),_:2},1032,["property","rules"]),vue.createElementVNode("div",_hoisted_2$17,[vue.createVNode(ce,{modelValue:he.value,"onUpdate:modelValue":_e=>he.value=_e,disabled:e.disabled||!e.formEdit,placeholder:"请输入值或 $ 选择变量",onInput:_e=>ne(_e,ye),onFocus:_e=>ae(ye),onBlur:oe},null,8,["modelValue","onUpdate:modelValue","disabled","onInput","onFocus"]),vue.createVNode(vue.Transition,null,{default:vue.withCtx(()=>[vue.withDirectives(vue.createElementVNode("div",_hoisted_3$T,[vue.createElementVNode("ul",_hoisted_4$H,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(H.value,_e=>(vue.openBlock(),vue.createElementBlock("li",{key:_e.key,class:"rf-select-item",onClick:vue.withModifiers(Ne=>se(_e.key),["stop"])},[vue.createElementVNode("span",_hoisted_6$q,vue.toDisplayString(_e.key),1),vue.createElementVNode("span",_hoisted_7$j,vue.toDisplayString(_e.name),1)],8,_hoisted_5$x))),128))])],512),[[vue.vShow,Q.value&&W.value===ye]])]),_:2},1024)]),!e.disabled&&e.formEdit?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(le,{class:"var-button",onClick:_e=>de(ye,"add")},{default:vue.withCtx(()=>[...ie[0]||(ie[0]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-zoom-add"},null,-1)])]),_:1},8,["onClick"]),vue.createVNode(le,{class:"var-button",disabled:$.value.length===1,onClick:_e=>de(ye,"delete")},{default:vue.withCtx(()=>[...ie[1]||(ie[1]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-zoom-minus"},null,-1)])]),_:1},8,["disabled","onClick"])],64)):vue.createCommentVNode("",!0)]))),128))]),_:1},8,["model"]),vue.withDirectives(vue.createElementVNode("span",{class:"common-error-tip error-info"},vue.toDisplayString(vue.unref(R).validateInfo.message),513),[[vue.vShow,!vue.unref(R).validateInfo.valid]])])}}}),TagFieldMappings=_export_sfc(_sfc_main$1A,[["__scopeId","data-v-72257ceb"]]),__vite_glob_0_6=Object.freeze(Object.defineProperty({__proto__:null,default:TagFieldMappings},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1r={class:"tag-input"},_hoisted_2$16={class:"rf-form-wrapper"},_hoisted_3$S={class:"rf-select-list"},_hoisted_4$G={class:"rf-select-content"},_hoisted_5$w=["onClick"],_hoisted_6$p={class:"var-key"},_hoisted_7$i={class:"var-name"},_hoisted_8$e={key:1,class:"rf-view-value"},_sfc_main$1z=vue.defineComponent({__name:"TagInput",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{default:""},placeholder:{default:""},disabled:{type:Boolean,default:!1},showPassword:{type:Boolean,default:!1},showVarList:{type:Boolean,default:!1},fullVariableList:{default:()=>[]}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=/\$.*$/,i=e,C=n,k=vue.inject("getFormData"),y=vue.inject("onHookForm"),B=vue.inject("getParent"),L=useFormMixins({attrs:{placeholder:{type:String,default:""},disabled:{type:Boolean,default:!1},showPassword:{type:Boolean,default:!1},value:{type:[String,Number],default:""},showVarList:{type:Boolean,default:!1,inner:!0}},emit:(G,...J)=>{G==="change"?C("change",J[0],J[1]):G==="init"?C("init",J[0]):G==="onShow"?C("onShow"):G==="onHide"&&C("onHide")},getFormData:k,onHookForm:y,getParent:B});L.setupLifecycle(i,i);const R=vue.ref(!1),z=vue.ref([]),j=vue.computed(()=>{let G=[];return i.constants&&(G=[...Object.values(i.constants)]),i.fullVariableList&&i.fullVariableList.length>0&&(G=[...G,...i.fullVariableList]),G}),$=vue.computed(()=>i.modelValue),H=G=>{L.updateForm(G)},Q=vue.computed(()=>i.modelValue===""||i.modelValue===void 0?"--":i.showPassword?"******":String(i.modelValue)),W=G=>{if(!R.value)return;const J=document.querySelector(".rf-select-list");J&&!J.contains(G.target)&&(R.value=!1)},te=G=>{const J=G.match(r);if(J&&J[0]){const Z=J[0].replace(/\\/g,"\\\\").replace(/[\$\{\}]/g,"\\$&"),ne=new RegExp(Z);z.value=j.value.filter(oe=>ne.test(oe.key))}else z.value=[];R.value=!!z.value.length},ee=G=>{const J=String(i.modelValue).replace(r,G);L.updateForm(J),R.value=!1};return vue.onMounted(()=>{window.addEventListener("click",W,!1)}),vue.onBeforeUnmount(()=>{window.removeEventListener("click",W,!1)}),t({validate:G=>L.validate(void 0,i.validation,G!==void 0?G:i.modelValue,i.parentValue,i.validateSet)}),(G,J)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1r,[vue.createElementVNode("div",_hoisted_2$16,[e.formMode?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(vue.unref(ElInput),{"model-value":$.value,"onUpdate:modelValue":H,type:"text",disabled:!e.formEdit||e.disabled,"show-password":e.showPassword,placeholder:e.placeholder,onInput:te},null,8,["model-value","disabled","show-password","placeholder"]),vue.createVNode(vue.Transition,null,{default:vue.withCtx(()=>[vue.withDirectives(vue.createElementVNode("div",_hoisted_3$S,[vue.createElementVNode("ul",_hoisted_4$G,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(z.value,Z=>(vue.openBlock(),vue.createElementBlock("li",{key:Z.key,class:"rf-select-item",onClick:vue.withModifiers(ne=>ee(Z.key),["stop"])},[vue.createElementVNode("span",_hoisted_6$p,vue.toDisplayString(Z.key),1),vue.createElementVNode("span",_hoisted_7$i,vue.toDisplayString(Z.name),1)],8,_hoisted_5$w))),128))])],512),[[vue.vShow,e.showVarList&&R.value]])]),_:1})],64)):(vue.openBlock(),vue.createElementBlock("span",_hoisted_8$e,vue.toDisplayString(Q.value),1))]),vue.withDirectives(vue.createElementVNode("span",{class:"common-error-tip error-info"},vue.toDisplayString(vue.unref(L).validateInfo.message),513),[[vue.vShow,!vue.unref(L).validateInfo.valid]])]))}}),TagInput=_export_sfc(_sfc_main$1z,[["__scopeId","data-v-04bd7cee"]]),__vite_glob_0_7=Object.freeze(Object.defineProperty({__proto__:null,default:TagInput},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1q={class:"tag-int"},_hoisted_2$15={key:0},_hoisted_3$R={key:1,class:"rf-view-value"},_sfc_main$1y=vue.defineComponent({__name:"TagInt",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{default:0},placeholder:{default:""},min:{default:-1/0},max:{default:1/0},disabled:{type:Boolean,default:!1},fullVariableList:{default:()=>[]}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.inject("getFormData"),k=vue.inject("onHookForm"),y=vue.inject("getParent"),B=useFormMixins({attrs:{placeholder:{type:String,default:""},min:{type:Number,default:-1/0},max:{type:Number,default:1/0},disabled:{type:Boolean,default:!1},value:{type:[Number,String],default:0}},emit:(j,...$)=>{j==="change"?i("change",$[0],$[1]):j==="init"?i("init",$[0]):j==="onShow"?i("onShow"):j==="onHide"&&i("onHide")},getFormData:C,onHookForm:k,getParent:y});B.setupLifecycle(r,r);const L=vue.computed(()=>Number(r.modelValue)),R=j=>{const $=j||0;B.updateForm($)};return t({validate:j=>B.validate(void 0,r.validation,j!==void 0?j:r.modelValue,r.parentValue,r.validateSet)}),(j,$)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1q,[e.formMode?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$15,[vue.createVNode(vue.unref(ElInputNumber),{min:e.min,max:e.max,controls:!1,disabled:!e.formEdit||e.disabled,placeholder:e.placeholder,"model-value":L.value,"onUpdate:modelValue":R},null,8,["min","max","disabled","placeholder","model-value"]),vue.withDirectives(vue.createElementVNode("span",{class:"common-error-tip error-info"},vue.toDisplayString(vue.unref(B).validateInfo.message),513),[[vue.vShow,!vue.unref(B).validateInfo.valid]])])):(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$R,vue.toDisplayString(e.modelValue==="undefined"||e.modelValue===""?"--":e.modelValue),1))]))}}),TagInt=_export_sfc(_sfc_main$1y,[["__scopeId","data-v-17d0ab12"]]),__vite_glob_0_8=Object.freeze(Object.defineProperty({__proto__:null,default:TagInt},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1p={class:"tag-member-selector"},_hoisted_2$14={key:0,class:"tag-member-selector-wrap"},_hoisted_3$Q={key:1,class:"rf-view-value"},_sfc_main$1x=vue.defineComponent({__name:"TagMemberSelector",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{default:""},disabled:{type:Boolean,default:!1},placeholder:{default:""},fullVariableList:{default:()=>[]}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const{fetchUserApi:r}=useFlowApiConfig(),i=e,C=n,k=vue.inject("getFormData"),y=vue.inject("onHookForm"),B=vue.inject("getParent"),L=useFormMixins({attrs:{value:{type:String,default:""},disabled:{type:Boolean,default:!1},placeholder:{type:String,default:""}},emit:(H,...Q)=>{H==="change"?C("change",Q[0],Q[1]):H==="init"?C("init",Q[0]):H==="onShow"?C("onShow"):H==="onHide"&&C("onHide")},getFormData:k,onHookForm:y,getParent:B});L.setupLifecycle(i,i);const R=vue.computed(()=>i.modelValue&&i.modelValue.split(",")||[]),z=H=>{L.updateForm(H.join(","))},j=vue.computed(()=>i.modelValue||"--");return t({validate:H=>L.validate(void 0,i.validation,H!==void 0?H:i.modelValue,i.parentValue,i.validateSet)}),(H,Q)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1p,[e.formMode?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$14,[vue.createVNode(_sfc_main$1K,{modelValue:R.value,"onUpdate:modelValue":Q[0]||(Q[0]=W=>R.value=W),"fetch-user-api":vue.unref(r),disabled:!e.formEdit||e.disabled,placeholder:e.placeholder,onChange:z},null,8,["modelValue","fetch-user-api","disabled","placeholder"])])):(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$Q,vue.toDisplayString(e.constants.subflow_detail_var?e.constants[e.tagCode]:j.value),1)),vue.withDirectives(vue.createElementVNode("span",{class:"common-error-tip error-info"},vue.toDisplayString(vue.unref(L).validateInfo.message),513),[[vue.vShow,!vue.unref(L).validateInfo.valid]])]))}}),TagMemberSelector=_export_sfc(_sfc_main$1x,[["__scopeId","data-v-63236a5d"]]),__vite_glob_0_9=Object.freeze(Object.defineProperty({__proto__:null,default:TagMemberSelector},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1o={class:"tag-radio"},_hoisted_2$13={key:0},_hoisted_3$P={key:1,class:"rf-view-value"},_sfc_main$1w=vue.defineComponent({__name:"TagRadio",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{type:[String,Boolean],default:""},items:{default:()=>[{name:"选项1",value:"value1"},{name:"选项2",value:"value2"},{name:"选项3",value:"value3"}]},disabled:{type:Boolean,default:!1},fullVariableList:{default:()=>[]}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.inject("getFormData"),k=vue.inject("onHookForm"),y=vue.inject("getParent"),B=useFormMixins({attrs:{items:{type:Array,required:!0,default:()=>[]},disabled:{type:Boolean,default:!1},value:{type:[String,Boolean],default:""}},emit:($,...H)=>{$==="change"?i("change",H[0],H[1]):$==="init"?i("init",H[0]):$==="onShow"?i("onShow"):$==="onHide"&&i("onHide")},getFormData:C,onHookForm:k,getParent:y});B.setupLifecycle(r,r);const L=vue.computed(()=>r.modelValue),R=$=>{B.updateForm($)},z=vue.computed(()=>{if(L.value==="")return"--";let $=String(L.value);return r.items.some(H=>H.value===L.value?($=H.name,!0):!1),$});return t({validate:$=>B.validate(void 0,r.validation,$!==void 0?$:r.modelValue,r.parentValue,r.validateSet)}),($,H)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1o,[e.formMode?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$13,[vue.createVNode(vue.unref(ElRadioGroup),{"model-value":L.value,"onUpdate:modelValue":R},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.items,Q=>(vue.openBlock(),vue.createElementBlock("div",{class:"radio-item",key:Q.name},[vue.createVNode(vue.unref(ElRadio),{value:Q.value,disabled:!e.formEdit||e.disabled},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(Q.name),1)]),_:2},1032,["value","disabled"])]))),128))]),_:1},8,["model-value"]),vue.withDirectives(vue.createElementVNode("span",{class:"common-error-tip error-info"},vue.toDisplayString(vue.unref(B).validateInfo.message),513),[[vue.vShow,!vue.unref(B).validateInfo.valid]])])):(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$P,vue.toDisplayString(z.value),1))]))}}),TagRadio=_export_sfc(_sfc_main$1w,[["__scopeId","data-v-887ca893"]]),__vite_glob_0_10=Object.freeze(Object.defineProperty({__proto__:null,default:TagRadio},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1n={class:"tag-section"},_sfc_main$1v=vue.defineComponent({__name:"TagSection",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.inject("getFormData"),k=vue.inject("onHookForm"),y=vue.inject("getParent"),B=useFormMixins({attrs:{},emit:(R,...z)=>{R==="change"?i("change",z[0],z[1]):R==="init"?i("init",z[0]):R==="onShow"?i("onShow"):R==="onHide"&&i("onHide")},getFormData:C,onHookForm:k,getParent:y});return B.setupLifecycle(r,r),t({validate:R=>B.validate(void 0,r.validation,R!==void 0?R:r.modelValue,r.parentValue,r.validateSet)}),(R,z)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1n,vue.toDisplayString(e.name),1))}}),TagSection=_export_sfc(_sfc_main$1v,[["__scopeId","data-v-4d50dbe5"]]),__vite_glob_0_11=Object.freeze(Object.defineProperty({__proto__:null,default:TagSection},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1m={class:"tag-select"},_hoisted_2$12={key:0},_hoisted_3$O={class:"option-item"},_hoisted_4$F={class:"option-item"},_hoisted_5$v={key:0,class:"selected-tip"},_hoisted_6$o={class:"count"},_hoisted_7$h={key:1,class:"rf-view-value"},_sfc_main$1u=vue.defineComponent({__name:"TagSelect",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{type:[String,Array,Boolean,Number],default:""},items:{default:()=>[]},multiple:{type:Boolean,default:!1},multiple_limit:{default:0},clearable:{type:Boolean,default:!0},allowCreate:{type:Boolean,default:!1},remote:{type:Boolean,default:!1},remote_url:{type:[String,Function],default:""},remote_data_init:{type:Function,default:e=>e},hasGroup:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},placeholder:{default:""},showRightBtn:{type:Boolean,default:!1},rightBtnIcon:{default:"bk-icon icon-chain"},rightBtnCb:{type:[Function,null],default:void 0},empty_text:{default:"无数据"},fullVariableList:{default:()=>[]}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r={updated(se,de){const{hasGroup:ge,multiple:fe,options:ie,seletedValue:ce}=de.value;if(fe){const pe=[];ce.forEach((le,ue)=>{let he=!1;ge?he=ie.some(ye=>ye.options.some(_e=>_e.value===le)):he=ie.some(ye=>ye.value===le),he||pe.push(ue)}),vue.nextTick(()=>{setTimeout(()=>{se.querySelectorAll(".el-select__tags .el-tag").forEach((ue,he)=>{pe.includes(he)?ue.classList.add("individual"):ue.classList.remove("individual")})},0)})}}},i=e,C=n,k=vue.inject("getFormData"),y=vue.inject("onHookForm"),B=vue.inject("getParent"),L=useFormMixins({attrs:{value:{type:[String,Array,Boolean,Number],default:""},items:{type:Array,default:()=>[]},multiple:{type:Boolean,default:!1},multiple_limit:{type:Number,default:0},clearable:{type:Boolean,default:!0},allowCreate:{type:Boolean,default:!1},remote:{type:Boolean,default:!1},remote_url:{type:[String,Function],default:""},remote_data_init:{type:Function,default:se=>se},hasGroup:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},placeholder:{type:String,default:""},showRightBtn:{type:Boolean,default:!1},rightBtnIcon:{type:String,default:"bk-icon icon-chain"},rightBtnCb:{type:Function,default:null},empty_text:{type:String,default:"无数据"}},emit:(se,...de)=>{se==="change"?C("change",de[0],de[1]):se==="init"?C("init",de[0]):se==="onShow"?C("onShow"):se==="onHide"&&C("onHide")},getFormData:k,onHookForm:y,getParent:B});L.setupLifecycle(i,i);const R=vue.ref(),z=vue.ref(i.items?[...i.items]:[]),j=vue.ref(!1),$=vue.ref(null),H=vue.computed(()=>i.modelValue),Q=se=>{i.hook||L.updateForm(se)},W=se=>{let de=se;return i.items.some(ge=>ge.value===se?(de=ge.text,!0):!1),de},te=vue.computed(()=>Array.isArray(H.value)?H.value.length?i.items.length?H.value.map(se=>W(se)).join(","):i.modelValue.join(","):"--":H.value==="undefined"?"--":i.items.length?W(H.value):i.modelValue),ee=se=>{if(!se){z.value=[...i.items];return}const de=se.split(",");z.value=i.items.filter(ge=>de.some(fe=>ge.text.toLowerCase().includes(fe.toLowerCase())))};t({set_loading:se=>{j.value=se},validate:se=>L.validate(void 0,i.validation,se!==void 0?se:i.modelValue,i.parentValue,i.validateSet)});const J=()=>{const se=typeof i.remote_url=="function"?i.remote_url():i.remote_url;se&&(j.value=!0,fetch(se,{method:"GET",credentials:"include"}).then(de=>de.json()).then(de=>{const ge=i.remote_data_init(de)||[];i.items.splice(0,i.items.length,...ge),z.value=[...ge],j.value=!1}).catch(()=>{j.value=!1}))},Z=()=>{typeof i.rightBtnCb=="function"&&i.rightBtnCb()},ne=se=>{se||(z.value=[...i.items])},oe=()=>{L.updateForm([])},ae=se=>{let de=(se.clipboardData||window.clipboardData).getData("text");de=de.replace(/\\(t|s)/g," ");const ge=window.getSelection();if(!ge||!ge.rangeCount)return!1;de=de.split(/,|;|\s+/).filter(ce=>ce),de.length>1&&se.preventDefault();const fe=[],ie=i.items.map(ce=>ce.text);if(de.forEach(ce=>{const pe=ie.includes(ce),le=i.items.find(ue=>pe?ue.text===ce:ce.toLowerCase()===ue.text.toLowerCase());le&&fe.push(le.value)}),!(de.length===1&&fe.length===0)){if(i.multiple){const pe=[...Array.isArray(i.modelValue)?i.modelValue:[],...fe];L.updateForm([...new Set(pe)])}R.value?.blur?.()}};return vue.watch(()=>i.items,se=>{z.value=[...se]}),vue.onMounted(()=>{J(),i.multiple&&($.value=document.querySelector(".el-select .el-select__input"),$.value&&$.value.addEventListener("paste",ae))}),vue.onBeforeUnmount(()=>{$.value&&$.value.removeEventListener("paste",ae)}),(se,de)=>{const ge=vue.resolveComponent("bk-button"),fe=vue.resolveDirective("loading");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1m,[e.formMode?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$12,[vue.withDirectives((vue.openBlock(),vue.createBlock(vue.unref(ElSelect),{ref_key:"selectCompRef",ref:R,"model-value":H.value,"onUpdate:modelValue":Q,filterable:"","default-first-option":"",clearable:e.clearable,"popper-class":"tag-component-popper","allow-create":e.allowCreate,disabled:!e.formEdit||e.disabled,remote:e.remote,"multiple-limit":e.multiple_limit,multiple:e.multiple,"no-data-text":e.empty_text,"filter-method":ee,placeholder:e.placeholder,onVisibleChange:ne},vue.createSlots({default:vue.withCtx(()=>[e.hasGroup?(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,{key:1},vue.renderList(z.value,ie=>(vue.openBlock(),vue.createBlock(vue.unref(ElOptionGroup),{key:ie.value,label:ie.text},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(ie.options||[],ce=>(vue.openBlock(),vue.createBlock(vue.unref(ElOption),{key:ce.value,label:ce.text,value:ce.value},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_4$F,vue.toDisplayString(ce.text),1)]),_:2},1032,["label","value"]))),128))]),_:2},1032,["label"]))),128)):(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,{key:0},vue.renderList(z.value,ie=>(vue.openBlock(),vue.createBlock(vue.unref(ElOption),{key:ie.value,label:ie.text,value:ie.value},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_3$O,vue.toDisplayString(ie.text),1)]),_:2},1032,["label","value"]))),128))]),_:2},[e.showRightBtn?{name:"prefix",fn:vue.withCtx(()=>[vue.createElementVNode("i",{class:vue.normalizeClass(["right-btn",e.rightBtnIcon]),onClick:Z},null,2)]),key:"0"}:void 0]),1032,["model-value","clearable","allow-create","disabled","remote","multiple-limit","multiple","no-data-text","placeholder"])),[[fe,j.value],[r,{multiple:e.multiple,hasGroup:e.hasGroup,seletedValue:H.value,options:e.items}]]),e.multiple?(vue.openBlock(),vue.createElementBlock("p",_hoisted_5$v,[de[1]||(de[1]=vue.createTextVNode(" 已选 ",-1)),vue.createElementVNode("span",_hoisted_6$o,vue.toDisplayString(Array.isArray(H.value)?H.value.length:0),1),de[2]||(de[2]=vue.createTextVNode(" 项 ",-1)),vue.createVNode(ge,{class:"ml10",disabled:!e.formEdit||e.disabled||!(Array.isArray(H.value)&&H.value.length),text:"",title:"primary",onClick:oe},{default:vue.withCtx(()=>[...de[0]||(de[0]=[vue.createTextVNode(" 清除 ",-1)])]),_:1},8,["disabled"])])):vue.createCommentVNode("",!0),vue.withDirectives(vue.createElementVNode("span",{class:"common-error-tip error-info"},vue.toDisplayString(vue.unref(L).validateInfo.message),513),[[vue.vShow,!vue.unref(L).validateInfo.valid]])])):(vue.openBlock(),vue.createElementBlock("span",_hoisted_7$h,vue.toDisplayString(te.value),1))])}}}),TagSelect=_export_sfc(_sfc_main$1u,[["__scopeId","data-v-62f86643"]]),__vite_glob_0_12=Object.freeze(Object.defineProperty({__proto__:null,default:TagSelect},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1l={class:"tag-switch"},_hoisted_2$11={key:1,class:"rf-view-value"},_sfc_main$1t=vue.defineComponent({__name:"TagSwitch",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},size:{default:"normal"},theme:{default:"success"}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.inject("getFormData"),k=vue.inject("onHookForm"),y=vue.inject("getParent"),B=useFormMixins({attrs:{value:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},size:{type:String,default:"normal"},theme:{type:String,default:"success"}},emit:(j,...$)=>{j==="change"?i("change",$[0],$[1]):j==="init"?i("init",$[0]):j==="onShow"?i("onShow"):j==="onHide"&&i("onHide")},getFormData:C,onHookForm:k,getParent:y});B.setupLifecycle(r,r);const L=vue.computed(()=>r.modelValue),R=j=>{B.updateForm(j)};return t({validate:j=>B.validate(void 0,r.validation,j!==void 0?j:r.modelValue,r.parentValue,r.validateSet)}),(j,$)=>{const H=vue.resolveComponent("bk-switcher");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1l,[e.formMode?(vue.openBlock(),vue.createBlock(H,{key:0,"model-value":L.value,"onUpdate:modelValue":R,disabled:!e.formEdit||e.disabled,size:e.size,theme:e.theme},null,8,["model-value","disabled","size","theme"])):(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$11,vue.toDisplayString(e.modelValue),1))])}}}),TagSwitch=_export_sfc(_sfc_main$1t,[["__scopeId","data-v-4f3c44c3"]]),__vite_glob_0_13=Object.freeze(Object.defineProperty({__proto__:null,default:TagSwitch},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1k={class:"tag-text"},_hoisted_2$10={key:0,class:"view-value-raw"},_hoisted_3$N={key:1,class:"rf-view-value"},_sfc_main$1s=vue.defineComponent({__name:"TagText",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{default:""},raw:{type:Boolean,default:!1}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.inject("getFormData"),k=vue.inject("onHookForm"),y=vue.inject("getParent"),B=useFormMixins({attrs:{raw:{type:Boolean,default:!1},value:{type:String,default:""}},emit:(z,...j)=>{z==="change"?i("change",j[0],j[1]):z==="init"?i("init",j[0]):z==="onShow"?i("onShow"):z==="onHide"&&i("onHide")},getFormData:C,onHookForm:k,getParent:y});B.setupLifecycle(r,r);const L=vue.computed(()=>r.modelValue==="undefined"||r.modelValue===""?"--":r.modelValue);return t({validate:z=>B.validate(void 0,r.validation,z!==void 0?z:r.modelValue,r.parentValue,r.validateSet)}),(z,j)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1k,[e.raw?(vue.openBlock(),vue.createElementBlock("pre",_hoisted_2$10,vue.toDisplayString(L.value),1)):(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$N,vue.toDisplayString(L.value),1))]))}}),TagText=_export_sfc(_sfc_main$1s,[["__scopeId","data-v-e7f23de8"]]),__vite_glob_0_14=Object.freeze(Object.defineProperty({__proto__:null,default:TagText},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1j={class:"tag-textarea"},_sfc_main$1r=vue.defineComponent({__name:"TagTextarea",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{default:""},disabled:{type:Boolean,default:!1},placeholder:{default:""},fullVariableList:{default:()=>[]}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.inject("getFormData"),k=vue.inject("onHookForm"),y=vue.inject("getParent"),B=useFormMixins({attrs:{value:{type:[String,Object],default:""},disabled:{type:Boolean,default:!1},placeholder:{type:String,default:""}},emit:($,...H)=>{$==="change"?i("change",H[0],H[1]):$==="init"?i("init",H[0]):$==="onShow"?i("onShow"):$==="onHide"&&i("onHide")},getFormData:C,onHookForm:k,getParent:y});B.setupLifecycle(r,r);const L=vue.ref(),R=vue.computed(()=>!r.formMode&&["",void 0].includes(r.modelValue)?"--":typeof r.modelValue=="string"?r.modelValue:JSON.stringify(r.modelValue)),z=$=>{B.updateForm($)};return vue.watch(()=>r.formMode,()=>{vue.nextTick(()=>{L.value&&typeof L.value.resizeTextarea=="function"&&L.value.resizeTextarea()})}),t({validate:$=>B.validate(void 0,r.validation,$!==void 0?$:r.modelValue,r.parentValue,r.validateSet)}),($,H)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1j,[vue.createVNode(vue.unref(ElInput),{ref_key:"tagTextareaRef",ref:L,type:"textarea","model-value":R.value,"onUpdate:modelValue":z,class:vue.normalizeClass({"rf-view-textarea-value":!e.formMode}),disabled:!e.formEdit||!e.formMode||e.disabled,autosize:e.formMode?{minRows:2}:!0,resize:"none",placeholder:e.placeholder},null,8,["model-value","class","disabled","autosize","placeholder"]),vue.withDirectives(vue.createElementVNode("span",{class:"common-error-tip error-info"},vue.toDisplayString(vue.unref(B).validateInfo.message),513),[[vue.vShow,!vue.unref(B).validateInfo.valid]])]))}}),__vite_glob_0_15=Object.freeze(Object.defineProperty({__proto__:null,default:_sfc_main$1r},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1i={class:"tag-time"},_hoisted_2$$={key:0},_hoisted_3$M={key:1,class:"rf-view-value"},_sfc_main$1q=vue.defineComponent({__name:"TagTime",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{default:""},placeholder:{default:"请选择时间"},startPlaceholder:{default:"请选择开始时间"},endPlaceholder:{default:"请选择结束时间"},disabled:{type:Boolean,default:!1},isRange:{type:Boolean,default:!1},format:{default:"HH:mm:ss"},fullVariableList:{default:()=>[]}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.inject("getFormData"),k=vue.inject("onHookForm"),y=vue.inject("getParent"),B=useFormMixins({attrs:{placeholder:{type:String,default:"请选择时间"},startPlaceholder:{type:String,default:"请选择开始时间"},endPlaceholder:{type:String,default:"请选择结束时间"},disabled:{type:Boolean,default:!1},isRange:{type:String,default:!1},format:{type:String,default:"HH:mm:ss"},value:{type:[String,Array],default:""}},emit:($,...H)=>{$==="change"?i("change",H[0],H[1]):$==="init"?i("init",H[0]):$==="onShow"?i("onShow"):$==="onHide"&&i("onHide")},getFormData:C,onHookForm:k,getParent:y});B.setupLifecycle(r,r);const L=vue.computed(()=>r.modelValue),R=$=>{B.updateForm($)},z=vue.computed(()=>Array.isArray(L.value)?L.value.length?L.value.join("-"):"--":L.value||"--");return t({validate:$=>B.validate(void 0,r.validation,$!==void 0?$:r.modelValue,r.parentValue,r.validateSet)}),($,H)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1i,[e.formMode?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$$,[vue.createVNode(vue.unref(ElTimePicker),{"model-value":L.value,"onUpdate:modelValue":R,"popper-class":"tag-component-popper","is-range":e.isRange,"value-format":e.format,"start-placeholder":e.startPlaceholder,"end-placeholder":e.endPlaceholder,disabled:!e.formEdit||e.disabled,placeholder:e.placeholder},null,8,["model-value","is-range","value-format","start-placeholder","end-placeholder","disabled","placeholder"]),vue.withDirectives(vue.createElementVNode("span",{class:"common-error-tip error-info"},vue.toDisplayString(vue.unref(B).validateInfo.message),513),[[vue.vShow,!vue.unref(B).validateInfo.valid]])])):(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$M,vue.toDisplayString(z.value),1))]))}}),TagTime=_export_sfc(_sfc_main$1q,[["__scopeId","data-v-2b8adc56"]]),__vite_glob_0_16=Object.freeze(Object.defineProperty({__proto__:null,default:TagTime},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1h={class:"tag-time-picker"},_hoisted_2$_={class:"time-picker-form"},_hoisted_3$L={class:"form-row"},_hoisted_4$E={class:"form-row"},_hoisted_5$u={class:"form-row"},_hoisted_6$n={key:0,class:"form-row range-limit-config"},_hoisted_7$g={class:"range-limit-controls"},_hoisted_8$d={class:"form-row custom-options-row"},_hoisted_9$c={key:0,class:"custom-options-section"},_hoisted_10$a={class:"options-table"},_hoisted_11$a=["onDragstart","onDragover","onDrop"],_hoisted_12$8={class:"col-expr expression-cell"},_hoisted_13$6={class:"col-label"},_hoisted_14$3={class:"col-actions"},_hoisted_15$3=["onClick"],_hoisted_16$2=["onClick"],_hoisted_17$2={class:"form-row default-value-row"},_hoisted_18$1={class:"default-value-area"},_hoisted_19$1={key:1,class:"relative-time-config"},_hoisted_20$1={key:1,class:"relative-time-config"},_hoisted_21$1={key:1,class:"rf-view-value"},_sfc_main$1p=vue.defineComponent({__name:"TagTimePicker",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!1},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{default:()=>({type:"time_range",methods:["relative"],range_limit_enabled:!1,time_offset:1,time_unit:"hour",time_base:"now"})},fullVariableList:{default:()=>[]}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=[{value:"now",label:"此刻"},{value:"today",label:"今天"},{value:"yesterday",label:"昨天"},{value:"the_day_before_yesterday",label:"前天"}],i=[{value:"minute",label:"分钟"},{value:"hour",label:"小时"},{value:"day",label:"天"}],C={minute:"分钟",hour:"小时",day:"天"},k={now:"此刻",today:"今天",yesterday:"昨天",the_day_before_yesterday:"前天"},y=[{start_expr:"now-5m",end_expr:"now",label:"近5分钟"},{start_expr:"now-15m",end_expr:"now",label:"近15分钟"},{start_expr:"now-30m",end_expr:"now",label:"近30分钟"}],B={"5m":5*6e4,"15m":15*6e4,"30m":30*6e4,"1h":36e5,"2h":72e5,"6h":216e5,"1d":864e5,"7d":6048e5,"15d":1296e6,"30d":2592e6},L=e,R=n,z=vue.inject("getFormData"),j=vue.inject("onHookForm"),$=vue.inject("getParent"),H=useFormMixins({attrs:{value:{type:Object,default:()=>({type:"time_range",methods:["relative"],range_limit_enabled:!1,time_offset:1,time_unit:"hour",time_base:"now"})}},emit:(Xe,...Me)=>{Xe==="change"?R("change",Me[0],Me[1]):Xe==="init"?R("init",Me[0]):Xe==="onShow"?R("onShow"):Xe==="onHide"&&R("onHide")},getFormData:z,onHookForm:j,getParent:$});H.setupLifecycle(L,L);const Q=Xe=>{if(!Xe||typeof Xe!="object")return{type:"time_range",methods:["relative"],range_limit_enabled:!1,time_offset:1,time_unit:"hour",time_base:"now"};const Me=lodash$1.cloneDeep(Xe);return Me.methods||(Me.methods=Me.time_base==="absolute"?["absolute"]:["relative"]),Me.range_limit_enabled===void 0&&(Me.range_limit_enabled=!1),Me},W=vue.ref(Q(L.modelValue)),te=vue.ref(W.value.type==="time_point"&&W.value.methods?.[0]==="absolute"?"absolute":W.value.type==="time_point"&&W.value.methods?.[0]||"absolute"),ee=vue.ref(W.value.datetime||""),q=vue.ref(W.value.start_time&&W.value.end_time?[W.value.start_time,W.value.end_time]:[]),G=vue.ref(W.value.range_limit_start&&W.value.range_limit_end?[W.value.range_limit_start,W.value.range_limit_end]:[]),J=vue.ref(lodash$1.cloneDeep(W.value.custom_options)||lodash$1.cloneDeep(y)),Z=vue.computed(()=>W.value.methods?.includes("absolute")),ne=vue.computed(()=>W.value.methods?.includes("relative")),oe=vue.computed(()=>W.value.custom_options_enabled&&J.value.length?J.value:y),ae=vue.computed(()=>oe.value.map(Xe=>{const nt=Xe.start_expr.match(/^now-(\d+[a-z]+)$/)?.[1]||"",et=B[nt]||36e5;return{text:Xe.label,value:()=>{const wt=new Date;return[new Date(wt.getTime()-et),wt]}}}));vue.watch(()=>L.modelValue,Xe=>{if(Xe&&typeof Xe=="object"){const Me=Q(Xe);W.value=Me,Xe.type==="time_point"&&(te.value=Me.methods?.[0]||"absolute"),Me.methods?.includes("absolute")&&(Me.type==="time_range"?q.value=[Me.start_time||"",Me.end_time||""]:ee.value=Me.datetime||""),Me.range_limit_start&&Me.range_limit_end&&(G.value=[Me.range_limit_start,Me.range_limit_end]),Me.custom_options?.length&&(J.value=lodash$1.cloneDeep(Me.custom_options))}},{deep:!0});const se=vue.computed(()=>{const Xe=L.modelValue;if(!Xe||typeof Xe!="object")return"--";const Me=Xe.methods||["relative"];if(Me.includes("absolute")&&!Me.includes("relative"))return Xe.type==="time_range"?Xe.start_time&&Xe.end_time?`${Xe.start_time} ~ ${Xe.end_time}`:"绝对时间范围(未设置)":Xe.datetime||"绝对时间点(未设置)";const nt=C[Xe.time_unit]||Xe.time_unit,et=k[Xe.time_base]||Xe.time_base;return Xe.type==="time_range"?`基于${et}的最近 ${Xe.time_offset} ${nt}`:`最近 ${Xe.time_offset} ${nt}`}),de=()=>{W.value.type==="time_range"?(W.value.start_time=q.value[0]||"",W.value.end_time=q.value[1]||"",delete W.value.datetime):(W.value.datetime=ee.value||"",delete W.value.start_time,delete W.value.end_time)},ge=()=>{const Xe=lodash$1.cloneDeep(W.value);Xe.methods?.includes("absolute")||(delete Xe.start_time,delete Xe.end_time,delete Xe.datetime),H.updateForm(Xe)},fe=()=>{W.value.type==="time_point"?(W.value.methods=[te.value],W.value.custom_options_enabled=!1):W.value.methods=["relative"],W.value.time_base="now",ge()},ie=Xe=>{if(Xe.length===0){W.value.methods=["relative"];return}W.value.methods=Xe,Xe.includes("absolute")&&W.value.type==="time_range"&&de(),!Xe.includes("absolute")&&!Xe.includes("relative")&&(W.value.methods=["relative"]),ge()},ce=Xe=>{te.value=Xe,W.value.methods=[Xe],Xe==="absolute"?(W.value.time_base="absolute",de()):(W.value.time_base="now",delete W.value.start_time,delete W.value.end_time,delete W.value.datetime),ge()},pe=()=>{W.value.range_limit_enabled&&(W.value.range_limit_type=W.value.range_limit_type||"absolute_range",W.value.range_limit_offset=W.value.range_limit_offset||1,W.value.range_limit_unit=W.value.range_limit_unit||"year"),ge()},le=()=>{W.value.range_limit_start=G.value[0]||"",W.value.range_limit_end=G.value[1]||"",ge()},ue=Xe=>{W.value.range_limit_offset=Number(Xe)||1,ge()},he=()=>{W.value.custom_options_enabled&&!J.value.length&&(J.value=lodash$1.cloneDeep(y)),_e()},ye=()=>{J.value=lodash$1.cloneDeep(y),_e()},_e=()=>{W.value.custom_options=lodash$1.cloneDeep(J.value),ge()},Ne=Xe=>{J.value.splice(Xe+1,0,{start_expr:"now-1h",end_expr:"now",label:""}),_e()},be=Xe=>{J.value.splice(Xe,1),_e()},Ae=vue.ref(-1),Te=vue.ref(-1),Ze=(Xe,Me)=>{Ae.value=Xe,Me.dataTransfer&&(Me.dataTransfer.effectAllowed="move")},lt=Xe=>{Te.value=Xe},Ge=()=>{Te.value=-1},st=Xe=>{const Me=Ae.value;if(Me<0||Me===Xe)return;const[nt]=J.value.splice(Me,1);J.value.splice(Xe,0,nt),_e()},Ue=()=>{Ae.value=-1,Te.value=-1},De=Xe=>{W.value.time_offset=Number(Xe)||1,ge()},We=()=>{de(),ge()},Ye=Xe=>{const Me=Et=>String(Et).padStart(2,"0"),nt=Xe.getFullYear(),et=Me(Xe.getMonth()+1),wt=Me(Xe.getDate()),tt=Me(Xe.getHours()),ot=Me(Xe.getMinutes()),gt=Me(Xe.getSeconds());return`${nt}-${et}-${wt} ${tt}:${ot}:${gt}`},Re=Xe=>{if(typeof Xe?.value=="function"){const Me=Xe.value();Array.isArray(Me)&&Me.length>=2&&(q.value=Me.map(nt=>nt instanceof Date?Ye(nt):String(nt)))}de(),ge()};return t({validate:Xe=>H.validate(void 0,L.validation,Xe!==void 0?Xe:L.modelValue,L.parentValue,L.validateSet)}),(Xe,Me)=>{const nt=vue.resolveComponent("bk-radio-button"),et=vue.resolveComponent("bk-radio-group"),wt=vue.resolveComponent("bk-checkbox"),tt=vue.resolveComponent("bk-checkbox-group"),ot=vue.resolveComponent("bk-radio"),gt=vue.resolveComponent("bk-switcher"),Et=vue.resolveComponent("bk-option"),Dt=vue.resolveComponent("bk-select"),Ft=vue.resolveComponent("bk-date-picker"),Nt=vue.resolveComponent("bk-input");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1h,[e.formMode?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createElementVNode("div",_hoisted_2$_,[vue.createElementVNode("div",_hoisted_3$L,[Me[19]||(Me[19]=vue.createElementVNode("span",{class:"form-label required"},"选择类型",-1)),vue.createVNode(et,{modelValue:W.value.type,"onUpdate:modelValue":Me[0]||(Me[0]=Pe=>W.value.type=Pe),disabled:!e.formEdit,onChange:fe},{default:vue.withCtx(()=>[vue.createVNode(nt,{label:"time_range"},{default:vue.withCtx(()=>[...Me[17]||(Me[17]=[vue.createTextVNode("时间范围",-1)])]),_:1}),vue.createVNode(nt,{label:"time_point"},{default:vue.withCtx(()=>[...Me[18]||(Me[18]=[vue.createTextVNode("时间点",-1)])]),_:1})]),_:1},8,["modelValue","disabled"])]),vue.createElementVNode("div",_hoisted_4$E,[Me[24]||(Me[24]=vue.createElementVNode("span",{class:"form-label required"},"选择方式",-1)),W.value.type==="time_range"?(vue.openBlock(),vue.createBlock(tt,{key:0,modelValue:W.value.methods,"onUpdate:modelValue":Me[1]||(Me[1]=Pe=>W.value.methods=Pe),disabled:!e.formEdit,onChange:ie},{default:vue.withCtx(()=>[vue.createVNode(wt,{label:"absolute",size:"small"},{default:vue.withCtx(()=>[...Me[20]||(Me[20]=[vue.createTextVNode("绝对时间(具体日期)",-1)])]),_:1}),vue.createVNode(wt,{label:"relative",size:"small"},{default:vue.withCtx(()=>[...Me[21]||(Me[21]=[vue.createTextVNode("相对时间",-1)])]),_:1})]),_:1},8,["modelValue","disabled"])):(vue.openBlock(),vue.createBlock(et,{key:1,modelValue:te.value,"onUpdate:modelValue":Me[2]||(Me[2]=Pe=>te.value=Pe),disabled:!e.formEdit,onChange:ce},{default:vue.withCtx(()=>[vue.createVNode(ot,{label:"absolute"},{default:vue.withCtx(()=>[...Me[22]||(Me[22]=[vue.createTextVNode("绝对时间点",-1)])]),_:1}),vue.createVNode(ot,{label:"relative"},{default:vue.withCtx(()=>[...Me[23]||(Me[23]=[vue.createTextVNode("相对时间点",-1)])]),_:1})]),_:1},8,["modelValue","disabled"]))]),vue.createElementVNode("div",_hoisted_5$u,[Me[25]||(Me[25]=vue.createElementVNode("span",{class:"form-label"},"限制可选范围",-1)),vue.createVNode(gt,{modelValue:W.value.range_limit_enabled,"onUpdate:modelValue":Me[3]||(Me[3]=Pe=>W.value.range_limit_enabled=Pe),disabled:!e.formEdit,theme:"primary",size:"small",onChange:pe},null,8,["modelValue","disabled"])]),W.value.range_limit_enabled?(vue.openBlock(),vue.createElementBlock("div",_hoisted_6$n,[Me[26]||(Me[26]=vue.createElementVNode("span",{class:"form-label"},null,-1)),vue.createElementVNode("div",_hoisted_7$g,[vue.createVNode(Dt,{modelValue:W.value.range_limit_type,"onUpdate:modelValue":Me[4]||(Me[4]=Pe=>W.value.range_limit_type=Pe),class:"limit-type-select",disabled:!e.formEdit,clearable:!1,onChange:ge},{default:vue.withCtx(()=>[vue.createVNode(Et,{value:"absolute_range",label:"绝对时间范围"}),vue.createVNode(Et,{value:"relative",label:"最近"})]),_:1},8,["modelValue","disabled"]),W.value.range_limit_type==="absolute_range"?(vue.openBlock(),vue.createBlock(Ft,{key:0,modelValue:G.value,"onUpdate:modelValue":Me[5]||(Me[5]=Pe=>G.value=Pe),type:"datetimerange",class:"limit-date-picker",disabled:!e.formEdit,clearable:!1,format:"yyyy-MM-dd HH:mm:ss",onChange:le},null,8,["modelValue","disabled"])):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createVNode(Nt,{modelValue:W.value.range_limit_offset,"onUpdate:modelValue":Me[6]||(Me[6]=Pe=>W.value.range_limit_offset=Pe),class:"limit-offset-input",type:"number",min:1,disabled:!e.formEdit,clearable:!1,onChange:ue},null,8,["modelValue","disabled"]),vue.createVNode(Dt,{modelValue:W.value.range_limit_unit,"onUpdate:modelValue":Me[7]||(Me[7]=Pe=>W.value.range_limit_unit=Pe),class:"limit-unit-select",disabled:!e.formEdit,clearable:!1,onChange:ge},{default:vue.withCtx(()=>[vue.createVNode(Et,{value:"minute",label:"分钟"}),vue.createVNode(Et,{value:"hour",label:"小时"}),vue.createVNode(Et,{value:"day",label:"天"}),vue.createVNode(Et,{value:"month",label:"月"}),vue.createVNode(Et,{value:"year",label:"年"})]),_:1},8,["modelValue","disabled"])],64))])])):vue.createCommentVNode("",!0),W.value.type==="time_range"&&Z.value&&ne.value?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createElementVNode("div",_hoisted_8$d,[Me[27]||(Me[27]=vue.createElementVNode("span",{class:"form-label"},"定制相对时间选项",-1)),vue.createVNode(gt,{modelValue:W.value.custom_options_enabled,"onUpdate:modelValue":Me[8]||(Me[8]=Pe=>W.value.custom_options_enabled=Pe),disabled:!e.formEdit,theme:"primary",size:"small",onChange:he},null,8,["modelValue","disabled"]),W.value.custom_options_enabled?(vue.openBlock(),vue.createElementBlock("span",{key:0,class:"restore-btn",onClick:ye}," ↺ 恢复初始化 ")):vue.createCommentVNode("",!0)]),W.value.custom_options_enabled?(vue.openBlock(),vue.createElementBlock("div",_hoisted_9$c,[vue.createElementVNode("div",_hoisted_10$a,[Me[30]||(Me[30]=vue.createStaticVNode('<div class="table-header" data-v-20365ccf><span class="col-drag" data-v-20365ccf></span><span class="col-expr required-col" data-v-20365ccf>时间表达式</span><span class="col-label required-col" data-v-20365ccf>选项显示名</span><span class="col-actions" data-v-20365ccf></span></div>',1)),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(J.value,(Pe,at)=>(vue.openBlock(),vue.createElementBlock("div",{key:at,class:vue.normalizeClass(["table-row",{"drag-over":Te.value===at}]),draggable:"true",onDragstart:_t=>Ze(at,_t),onDragover:vue.withModifiers(_t=>lt(at),["prevent"]),onDragleave:Ge,onDrop:vue.withModifiers(_t=>st(at),["prevent"]),onDragend:Ue},[Me[29]||(Me[29]=vue.createElementVNode("span",{class:"col-drag drag-handle"},"⠿",-1)),vue.createElementVNode("div",_hoisted_12$8,[vue.createVNode(Nt,{modelValue:Pe.start_expr,"onUpdate:modelValue":_t=>Pe.start_expr=_t,disabled:!e.formEdit,size:"small",onBlur:_e},null,8,["modelValue","onUpdate:modelValue","disabled"]),Me[28]||(Me[28]=vue.createElementVNode("span",{class:"expr-sep"},"~",-1)),vue.createVNode(Nt,{modelValue:Pe.end_expr,"onUpdate:modelValue":_t=>Pe.end_expr=_t,disabled:!e.formEdit,size:"small",onBlur:_e},null,8,["modelValue","onUpdate:modelValue","disabled"])]),vue.createElementVNode("div",_hoisted_13$6,[vue.createVNode(Nt,{modelValue:Pe.label,"onUpdate:modelValue":_t=>Pe.label=_t,disabled:!e.formEdit,size:"small",onBlur:_e},null,8,["modelValue","onUpdate:modelValue","disabled"])]),vue.createElementVNode("div",_hoisted_14$3,[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-plus-circle",onClick:_t=>Ne(at)},null,8,_hoisted_15$3),vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-minus-circle",onClick:_t=>be(at)},null,8,_hoisted_16$2)])],42,_hoisted_11$a))),128))])])):vue.createCommentVNode("",!0)],64)):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_17$2,[Me[34]||(Me[34]=vue.createElementVNode("span",{class:"form-label"},"默认值",-1)),vue.createElementVNode("div",_hoisted_18$1,[W.value.type==="time_range"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[Z.value&&!ne.value?(vue.openBlock(),vue.createBlock(Ft,{key:0,modelValue:q.value,"onUpdate:modelValue":Me[9]||(Me[9]=Pe=>q.value=Pe),type:"datetimerange",disabled:!e.formEdit,clearable:!1,format:"yyyy-MM-dd HH:mm:ss",onChange:We},null,8,["modelValue","disabled"])):!Z.value&&ne.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_19$1,[Me[31]||(Me[31]=vue.createElementVNode("span",{class:"relative-label"},"基于",-1)),vue.createVNode(Dt,{modelValue:W.value.time_base,"onUpdate:modelValue":Me[10]||(Me[10]=Pe=>W.value.time_base=Pe),class:"base-select",disabled:!e.formEdit,clearable:!1,onChange:ge},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(r,Pe=>vue.createVNode(Et,{key:Pe.value,value:Pe.value,label:Pe.label},null,8,["value","label"])),64))]),_:1},8,["modelValue","disabled"]),Me[32]||(Me[32]=vue.createElementVNode("span",{class:"relative-label"},"的最近",-1)),vue.createVNode(Nt,{modelValue:W.value.time_offset,"onUpdate:modelValue":Me[11]||(Me[11]=Pe=>W.value.time_offset=Pe),class:"offset-input",type:"number",min:1,disabled:!e.formEdit,clearable:!1,onChange:De},null,8,["modelValue","disabled"]),vue.createVNode(Dt,{modelValue:W.value.time_unit,"onUpdate:modelValue":Me[12]||(Me[12]=Pe=>W.value.time_unit=Pe),class:"unit-select",disabled:!e.formEdit,clearable:!1,onChange:ge},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(i,Pe=>vue.createVNode(Et,{key:Pe.value,value:Pe.value,label:Pe.label},null,8,["value","label"])),64))]),_:1},8,["modelValue","disabled"])])):Z.value&&ne.value?(vue.openBlock(),vue.createBlock(Ft,{key:2,modelValue:q.value,"onUpdate:modelValue":Me[13]||(Me[13]=Pe=>q.value=Pe),type:"datetimerange",disabled:!e.formEdit,clearable:!1,shortcuts:ae.value,"shortcut-close":!0,"use-shortcut-text":!0,format:"yyyy-MM-dd HH:mm:ss",onChange:We,onShortcutChange:Re},null,8,["modelValue","disabled","shortcuts"])):vue.createCommentVNode("",!0)],64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[te.value==="absolute"?(vue.openBlock(),vue.createBlock(Ft,{key:0,modelValue:ee.value,"onUpdate:modelValue":Me[14]||(Me[14]=Pe=>ee.value=Pe),type:"datetime",disabled:!e.formEdit,clearable:!1,format:"yyyy-MM-dd HH:mm:ss",onChange:We},null,8,["modelValue","disabled"])):(vue.openBlock(),vue.createElementBlock("div",_hoisted_20$1,[Me[33]||(Me[33]=vue.createElementVNode("span",{class:"relative-label"},"最近",-1)),vue.createVNode(Nt,{modelValue:W.value.time_offset,"onUpdate:modelValue":Me[15]||(Me[15]=Pe=>W.value.time_offset=Pe),class:"offset-input",type:"number",min:1,disabled:!e.formEdit,clearable:!1,onChange:De},null,8,["modelValue","disabled"]),vue.createVNode(Dt,{modelValue:W.value.time_unit,"onUpdate:modelValue":Me[16]||(Me[16]=Pe=>W.value.time_unit=Pe),class:"unit-select",disabled:!e.formEdit,clearable:!1,onChange:ge},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(i,Pe=>vue.createVNode(Et,{key:Pe.value,value:Pe.value,label:Pe.label},null,8,["value","label"])),64))]),_:1},8,["modelValue","disabled"])]))],64))])])]),vue.withDirectives(vue.createElementVNode("span",{class:"common-error-tip error-info"},vue.toDisplayString(vue.unref(H).validateInfo.message),513),[[vue.vShow,!vue.unref(H).validateInfo.valid]])],64)):(vue.openBlock(),vue.createElementBlock("span",_hoisted_21$1,vue.toDisplayString(se.value),1))])}}}),TagTimePicker=_export_sfc(_sfc_main$1p,[["__scopeId","data-v-20365ccf"]]),__vite_glob_0_17=Object.freeze(Object.defineProperty({__proto__:null,default:TagTimePicker},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1g={class:"value-assign-plugin"},_hoisted_2$Z={key:0},_hoisted_3$K={class:"custom-option-content"},_hoisted_4$D={class:"var-key"},_hoisted_5$t={class:"var-name"},_hoisted_6$m={key:1,class:"rf-view-value"},_sfc_main$1o=vue.defineComponent({__name:"TagValueAssign",props:{tagCode:{},name:{},hookable:{type:Boolean,default:!0},validation:{default:()=>[]},default:{},hidden:{type:Boolean,default:!1},formEdit:{type:Boolean,default:!0},formMode:{type:Boolean,default:!0},formViewHidden:{type:Boolean,default:!1},cols:{default:0},validateSet:{default:()=>[]},parentValue:{},hook:{type:Boolean,default:!1},constants:{default:()=>({})},atomEvents:{default:()=>[]},atomMethods:{default:()=>({})},modelValue:{default:()=>[]},disabled:{type:Boolean,default:!1},fullVariableList:{default:()=>[]},variableList:{default:()=>[]}},emits:["update:modelValue","change","init","onShow","onHide"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.inject("getFormData"),k=vue.inject("onHookForm"),y=vue.inject("getParent"),B=useFormMixins({attrs:{value:{type:Object,default:()=>({})},disabled:{type:Boolean,default:!1},variableList:{type:Array,default:()=>[]}},emit:(J,...Z)=>{J==="change"?i("change",Z[0],Z[1]):J==="init"?i("init",Z[0]):J==="onShow"?i("onShow"):J==="onHide"&&i("onHide")},getFormData:C,onHookForm:k,getParent:y});B.setupLifecycle(r,r);const L=vue.ref(),R=vue.ref(r.modelValue.length>0?lodash$1.cloneDeep(r.modelValue):[{key:"",value:"",value_type:"String"}]),z=[{id:"String",name:"字符串"},{id:"Int",name:"整数"},{id:"Bool",name:"布尔值"},{id:"Object",name:"Object"}],j={required:[{required:!0,message:"必填项",trigger:"blur"}],key:[{required:!0,message:"必填项",trigger:"blur"},{validator:J=>R.value.map(ne=>ne.key).filter(ne=>ne===J).length<=1,message:"被赋值变量不能重复",trigger:"change"}]},$=["component_inputs","component_outputs"],H=["input","int","textarea"],Q=J=>!!(J.source_type&&$.includes(J.source_type)||J.custom_type&&H.includes(J.custom_type)),W=J=>J.startsWith("${")&&J.endsWith("}")?J.slice(2,-1):J,te=vue.computed(()=>{if(!r.formEdit||r.disabled)return r.fullVariableList.map(ne=>({key:W(ne.key),displayKey:ne.key,name:ne.name}));const J=[],Z=[];return r.fullVariableList.forEach(ne=>{const oe={key:W(ne.key),displayKey:ne.key,name:ne.name,disabled:!1};Q(ne)?J.push(oe):Z.push({...oe,disabled:!0})}),[...J,...Z]}),ee=vue.computed(()=>!R.value||R.value.length===0?"--":R.value.map(J=>`${J.key?J.key.replace(/^\$\{|\}$/g,""):""} = ${J.value||""}`).join("; ")),q=(J,Z)=>{Z==="delete"?R.value.splice(J,1):R.value.splice(J+1,0,{key:"",value:"",value_type:"String"})};return t({validate:J=>L.value?L.value.validate().then(()=>B.validate(void 0,r.validation,J!==void 0?J:R.value,r.parentValue,r.validateSet)).catch(()=>!1):B.validate(void 0,r.validation,J!==void 0?J:R.value,r.parentValue,r.validateSet)}),vue.watch(R,J=>{B.updateForm(J)},{deep:!0}),vue.watch(()=>r.modelValue,J=>{lodash$1.isEqual(J,R.value)||(R.value=J.length>0?lodash$1.cloneDeep(J):[{key:"",value:"",value_type:"String"}])},{deep:!0,immediate:!0}),(J,Z)=>{const ne=vue.resolveComponent("bk-select"),oe=vue.resolveComponent("bk-form-item"),ae=vue.resolveComponent("bk-option"),se=vue.resolveComponent("bk-input"),de=vue.resolveComponent("bk-button"),ge=vue.resolveComponent("bk-form"),fe=vue.resolveDirective("bk-overflow-tips");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1g,[e.formMode?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$Z,[vue.createVNode(ge,{ref_key:"valueAssignFormRef",ref:L,"label-width":0,model:R.value},{default:vue.withCtx(()=>[vue.createVNode(oe,{label:"''","label-width":100,required:!0},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(R.value,(ie,ce)=>(vue.openBlock(),vue.createElementBlock("div",{key:ce,class:"form-content-item"},[vue.createVNode(oe,{label:"",property:`${ce}.key`,rules:j.key},{default:vue.withCtx(()=>[vue.createVNode(ne,{modelValue:ie.key,"onUpdate:modelValue":pe=>ie.key=pe,class:"value-selector","ext-popover-cls":"value-selector-popover",placeholder:"被赋值变量","id-key":"key","display-key":"displayKey",filterable:"",disabled:!e.formEdit||e.disabled,list:te.value},{optionRender:vue.withCtx(({item:pe})=>[vue.createElementVNode("div",_hoisted_3$K,[vue.withDirectives((vue.openBlock(),vue.createElementBlock("span",_hoisted_4$D,[vue.createTextVNode(vue.toDisplayString(pe.displayKey),1)])),[[fe]]),vue.withDirectives((vue.openBlock(),vue.createElementBlock("span",_hoisted_5$t,[vue.createTextVNode(vue.toDisplayString(pe.name),1)])),[[fe]])])]),_:2},1032,["modelValue","onUpdate:modelValue","disabled","list"])]),_:2},1032,["property","rules"]),Z[2]||(Z[2]=vue.createElementVNode("span",{class:"equal-sign"},vue.toDisplayString("="),-1)),vue.createVNode(oe,{label:"",property:`${ce}.value`,rules:j.required},{default:vue.withCtx(()=>[vue.createVNode(se,{modelValue:ie.value,"onUpdate:modelValue":pe=>ie.value=pe,disabled:!e.formEdit||e.disabled,placeholder:"值"},{prefix:vue.withCtx(()=>[vue.createVNode(ne,{modelValue:ie.value_type,"onUpdate:modelValue":pe=>ie.value_type=pe,clearable:!1,class:"value-type-selector",disabled:!e.formEdit||e.disabled},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(z,pe=>vue.createVNode(ae,{id:pe.id,key:pe.id,name:pe.name},null,8,["id","name"])),64))]),_:1},8,["modelValue","onUpdate:modelValue","disabled"])]),_:2},1032,["modelValue","onUpdate:modelValue","disabled"])]),_:2},1032,["property","rules"]),e.formEdit&&!e.disabled?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(de,{class:"row-button add-button",onClick:pe=>q(Number(ce),"add")},{default:vue.withCtx(()=>[...Z[0]||(Z[0]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-zoom-add"},null,-1)])]),_:1},8,["onClick"]),vue.createVNode(de,{class:"row-button delete-button",disabled:R.value.length===1,onClick:pe=>q(Number(ce),"delete")},{default:vue.withCtx(()=>[...Z[1]||(Z[1]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-zoom-minus"},null,-1)])]),_:1},8,["disabled","onClick"])],64)):vue.createCommentVNode("",!0)]))),128))]),_:1})]),_:1},8,["model"]),vue.withDirectives(vue.createElementVNode("span",{class:"common-error-tip error-info"},vue.toDisplayString(vue.unref(B).validateInfo.message),513),[[vue.vShow,!vue.unref(B).validateInfo.valid]])])):(vue.openBlock(),vue.createElementBlock("span",_hoisted_6$m,vue.toDisplayString(ee.value),1))])}}}),TagValueAssign=_export_sfc(_sfc_main$1o,[["__scopeId","data-v-9bb0ca44"]]),__vite_glob_0_18=Object.freeze(Object.defineProperty({__proto__:null,default:TagValueAssign},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1f={class:"name"},_hoisted_2$Y={key:0,class:"required"},_hoisted_3$J={key:1,class:"scheme-code"},_hoisted_4$C={key:2,class:"not-reuse-tip"},_hoisted_5$s={key:3,class:"pre-mako-tip"},_hoisted_6$l={key:4,class:"used-tip"},_hoisted_7$f={key:2,class:"scheme-desc-wrap"},_hoisted_8$c={class:"hide-html-text"},_hoisted_9$b={key:0},_sfc_main$1n=vue.defineComponent({__name:"FormItem",props:{scheme:{default:()=>({})},option:{default:()=>({})},value:{type:[String,Number,Boolean,Array,Object],default:void 0},parentValue:{type:[String,Number,Boolean,Array,Object],default:void 0},hook:{type:Boolean,default:!1},render:{type:Boolean,default:!0},constants:{default:()=>({})},fullVariableList:{default:()=>[]}},emits:["init","change"],setup(e,{expose:t,emit:n}){const r=Object.assign({"./tags/TagButton.vue":__vite_glob_0_0,"./tags/TagCheckbox.vue":__vite_glob_0_1,"./tags/TagCodeEditor.vue":__vite_glob_0_2,"./tags/TagDatatable.vue":__vite_glob_0_3,"./tags/TagDateTimeRange.vue":__vite_glob_0_4,"./tags/TagDatetime.vue":__vite_glob_0_5,"./tags/TagFieldMappings.vue":__vite_glob_0_6,"./tags/TagInput.vue":__vite_glob_0_7,"./tags/TagInt.vue":__vite_glob_0_8,"./tags/TagMemberSelector.vue":__vite_glob_0_9,"./tags/TagRadio.vue":__vite_glob_0_10,"./tags/TagSection.vue":__vite_glob_0_11,"./tags/TagSelect.vue":__vite_glob_0_12,"./tags/TagSwitch.vue":__vite_glob_0_13,"./tags/TagText.vue":__vite_glob_0_14,"./tags/TagTextarea.vue":__vite_glob_0_15,"./tags/TagTime.vue":__vite_glob_0_16,"./tags/TagTimePicker.vue":__vite_glob_0_17,"./tags/TagValueAssign.vue":__vite_glob_0_18}),i={};Object.keys(r).forEach(ne=>{const ae=r[ne].default;if(ae){const se=ne.split("/").pop()?.replace(".vue","")||"";if(se.startsWith("Tag")){const ge=`tag-${se.slice(3).replace(/[A-Z]/g,(fe,ie)=>ie>0?`-${fe.toLowerCase()}`:fe.toLowerCase())}`;i[ge]=ae}}});const C=e,k=n,y=vue.ref(!0);"formViewHidden"in C.scheme.attrs&&!C.option.formEdit?y.value=!C.scheme.attrs.formViewHidden:"hidden"in C.scheme.attrs&&(y.value=!C.scheme.attrs.hidden);const B=vue.ref(new Date().getTime()),L=vue.computed(()=>{const ne=`tag-${C.scheme.type.replace(/_/g,"-")}`;return i[ne]||ne}),R=vue.ref(lodash$1.cloneDeep(C.value)),z=vue.ref(!1),j=vue.ref(!1),$=vue.ref(),H=vue.computed(()=>!C.hook&&C.option.showGroup&&!!(C.scheme.name||C.scheme.attrs.name)),Q=vue.computed(()=>C.option.formEdit&&C.scheme.attrs.notReuse),W=vue.computed(()=>{const{type:ne,attrs:oe}=C.scheme;return oe.html_used_tip&&["input","textarea","select"].includes(ne)?"rf-tag-used":""});vue.watch(()=>C.value,ne=>{R.value=lodash$1.cloneDeep(ne)});const te=()=>{const ne=lodash$1.cloneDeep(C.scheme.attrs);return ne.showVarList=C.option.showVarList,ne.formEdit=C.option.formEdit,ne.formMode=C.option.formMode,ne.validateSet=C.option.validateSet,{...ne}},ee=()=>{let ne=!1;return C.option.showRequired===!0&&"validation"in C.scheme.attrs&&(ne=C.scheme.attrs.validation.some(oe=>oe.type==="required")),ne},q=(ne,oe)=>{k("change",ne,oe)},G=()=>{y.value=!0},J=()=>{y.value=!1};return t({validate:ne=>!C.hook&&y.value?$.value?.validate?.(ne)??!0:!0,onShowForm:G,onHideForm:J,scheme:vue.computed(()=>C.scheme)}),(ne,oe)=>{const ae=vue.resolveComponent("tag-section"),se=vue.resolveDirective("bk-tooltips");return vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",{key:B.value,class:vue.normalizeClass(["rf-form-item","clearfix",{"show-label":e.option.showLabel,"rf-view-mode":!e.option.formMode,"rf-col-layout":e.scheme.attrs.cols,"rf-section-item":e.scheme.type==="section"}]),style:vue.normalizeStyle({width:(e.scheme.attrs.cols?e.scheme.attrs.cols/12*100:100)+"%"})},[e.scheme.type==="section"?(vue.openBlock(),vue.createBlock(ae,{key:0,ref_key:"tagComponentRef",ref:$,name:e.scheme.attrs.name,"tag-code":e.scheme.tag_code},null,8,["name","tag-code"])):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[H.value?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:vue.normalizeClass(["rf-group-name",{"not-reuse":Q.value}])},[vue.createElementVNode("span",_hoisted_1$1f,vue.toDisplayString(e.scheme.name||e.scheme.attrs.name),1),ee()?(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$Y,"*")):vue.createCommentVNode("",!0),e.option.showHook?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$J,vue.toDisplayString(e.scheme.attrs.varKey||e.scheme.tag_code),1)),Q.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_4$C,[...oe[2]||(oe[2]=[vue.createElementVNode("i",{class:"common-icon-dark-circle-warning"},null,-1),vue.createTextVNode(" 未能重用 ",-1)])])):vue.createCommentVNode("",!0),e.option.formEdit&&e.scheme.attrs.pre_mako_tip?(vue.openBlock(),vue.createElementBlock("span",_hoisted_5$s,[oe[3]||(oe[3]=vue.createElementVNode("i",{class:"common-icon-dark-circle-warning"},null,-1)),vue.createTextVNode(" "+vue.toDisplayString(e.scheme.attrs.pre_mako_tip),1)])):!e.scheme.attrs.html_used_tip&&e.scheme.attrs.used_tip?(vue.openBlock(),vue.createElementBlock("span",_hoisted_6$l,[oe[4]||(oe[4]=vue.createElementVNode("i",{class:"common-icon-dark-circle-warning"},null,-1)),vue.createTextVNode(" "+vue.toDisplayString(e.scheme.attrs.used_tip),1)])):vue.createCommentVNode("",!0)],2)):vue.createCommentVNode("",!0),e.option.showLabel&&e.scheme.attrs.name?(vue.openBlock(),vue.createElementBlock("label",{key:1,class:vue.normalizeClass(["rf-tag-label",{required:ee()}])},[vue.withDirectives((vue.openBlock(),vue.createElementBlock("span",{class:vue.normalizeClass({"tag-label-tips":e.scheme.attrs.tips})},[vue.createTextVNode(vue.toDisplayString(e.scheme.attrs.name),1)],2)),[[se,{allowHtml:!0,content:e.scheme.attrs.tips,placement:"top-start",theme:"light",extCls:"rf-label-tips",boundary:"window",zIndex:2072,disabled:!e.scheme.attrs.tips}]])],2)):vue.createCommentVNode("",!0),vue.withDirectives((vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(L.value),vue.mergeProps({class:[e.scheme.attrs.name?"rf-tag-form":"",W.value],ref_key:"tagComponentRef",ref:$},te(),{"tag-code":e.scheme.tag_code,hook:e.hook,constants:e.constants,"atom-events":e.scheme.events,"atom-methods":e.scheme.methods,"model-value":R.value,"parent-value":e.parentValue,"full-variable-list":e.fullVariableList,onInit:oe[0]||(oe[0]=de=>k("init",de)),"onUpdate:modelValue":q,onChange:q,onOnShow:G,onOnHide:J}),null,16,["class","tag-code","hook","constants","atom-events","atom-methods","model-value","parent-value","full-variable-list"])),[[vue.vShow,!e.hook]]),e.scheme.attrs.desc?(vue.openBlock(),vue.createElementBlock("div",_hoisted_7$f,[vue.createElementVNode("div",_hoisted_8$c,vue.toDisplayString(e.scheme.attrs.desc),1),vue.createElementVNode("div",{class:vue.normalizeClass(["rf-group-desc",{"is-fold":!j.value}])},vue.toDisplayString(e.scheme.attrs.desc),3),z.value?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:vue.normalizeClass({mt10:j.value})},[j.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("span",_hoisted_9$b,"...")),vue.createElementVNode("span",{class:"expand-btn",onClick:oe[1]||(oe[1]=de=>j.value=!j.value)},vue.toDisplayString(j.value?"收起":"展开全部"),1)],2)):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0)],64))],6)),[[vue.vShow,y.value]])}}}),_hoisted_1$1e={class:"name"},_hoisted_2$X={key:0,class:"required"},_hoisted_3$I={class:"scheme-code"},_hoisted_4$B={key:1,class:"not-reuse-tip"},_hoisted_5$r={key:2,class:"pre-mako-tip"},_hoisted_6$k={key:3,class:"used-tip"},_hoisted_7$e={class:"tip-title"},_hoisted_8$b={key:2,class:"rf-form-item rf-has-hook show-label"},_hoisted_9$a={key:0,class:"rf-tag-label"},_hoisted_10$9={class:"rf-tag-form rf-has-hook"},_hoisted_11$9={key:4,class:"scheme-desc-wrap"},_hoisted_12$7={class:"hide-html-text"},_hoisted_13$5={key:0},_sfc_main$1m=vue.defineComponent({__name:"FormGroup",props:{scheme:{default:()=>({})},option:{default:()=>({})},value:{default:()=>({})},hook:{type:Boolean,default:!1},render:{type:Boolean,default:!0},constants:{default:()=>({})}},emits:["init","change"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.getCurrentInstance(),k=vue.ref(!0);"formViewHidden"in r.scheme.attrs&&!r.option.formEdit?k.value=!r.scheme.attrs.formViewHidden:"hidden"in r.scheme.attrs&&(k.value=!r.scheme.attrs.hidden);const y=vue.ref(Object.assign({},r.option,{showGroup:!1})),B=vue.ref(new Date().getTime()),L=vue.reactive({}),R=vue.ref(!1),z=vue.ref(!1),j=vue.ref(),$=vue.ref([]),H=vue.computed(()=>!r.hook&&r.option.showGroup&&!!(r.scheme.name||r.scheme.attrs.name)),Q=vue.computed(()=>r.option.formEdit&&r.scheme.attrs.notReuse),W=(fe,ie)=>{fe&&($.value[Number(ie)]=fe)};vue.watch(()=>r.option,fe=>{y.value=Object.assign({},y.value,fe,{showGroup:!1})},{deep:!0});const te=()=>{let fe=!1;return r.option.showRequired===!0&&"validation"in r.scheme.attrs&&(fe=r.scheme.attrs.validation.some(ie=>ie.type==="required")),fe},ee=(fe,ie)=>{fe.unshift(r.scheme.tag_code),i("change",fe,ie)},q=fe=>{let ie;return typeof fe=="string"&&fe!==""?$.value.some(ce=>ce?.scheme&&ce.scheme.tag_code===fe?(ie=fe==="combine"?ce:ce.$refs?.tagComponent,!0):!1):ie=$.value.map(ce=>ce?.scheme?.tag_code==="combine"?ce:ce?.$refs?.tagComponent),ie},G=fe=>ie=>{fe.call(C?.proxy,ie)},J=(fe,ie,ce)=>{const pe=C?.parent;pe&&typeof pe.emit=="function"&&pe.emit(`${fe}_${ie}`,ce)},Z=()=>{k.value=!0},ne=()=>{k.value=!1},oe=()=>{Z()},ae=()=>{ne()},se=()=>{let fe=!0;return!r.hook&&k.value&&$.value.forEach(ie=>{if(!ie)return;const ce=ie.$options?.name||ie.constructor?.name;if(!(ce!=="FormItem"&&ce!=="FormGroup")&&typeof ie.validate=="function"){const pe=ie.validate();fe&&(fe=pe)}}),fe},de=()=>{j.value?.hideHandler?.(),r.scheme.attrs.html_used_tip=!1,r.scheme.attrs.disabled=!0,r.scheme.attrs.children&&ge(r.scheme.attrs.children);const fe=r.constants[r.scheme.tag_code]?.value;if(fe)for(const ie in fe)ee([ie],fe[ie]);B.value=new Date().getTime()},ge=fe=>{fe.forEach(ie=>{ie.attrs||(ie.attrs={}),ie.attrs.disabled=!0,ie.attrs.children&&ge(ie.attrs.children)})};return t({validate:se,get_child:q,onShowForm:oe,onHideForm:ae,show:Z,hide:ne,scheme:vue.computed(()=>r.scheme)}),vue.onMounted(()=>{const{scheme:fe}=r;fe.events&&fe.events.forEach(ie=>{const ce=`${ie.source}_${ie.type}`;L[ce]=G(ie.action);const pe=C?.parent;pe&&typeof pe.on=="function"&&pe.on(ce,L[ce])}),fe.methods&&Object.keys(fe.methods).forEach(ie=>{fe.methods[ie]}),vue.nextTick(()=>{J(r.scheme.tag_code,"init",r.value)})}),vue.onBeforeUnmount(()=>{r.scheme.events&&r.scheme.events.forEach(fe=>{const ie=`${fe.source}_${fe.type}`,ce=C?.parent;ce&&typeof ce.off=="function"&&ce.off(ie,L[ie])})}),(fe,ie)=>{const ce=vue.resolveComponent("bk-popover"),pe=vue.resolveComponent("bk-input"),le=vue.resolveDirective("bk-tooltips");return vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["rf-form-group",[e.scheme.status||""]]),key:B.value},[H.value?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:vue.normalizeClass(["rf-group-name",{"not-reuse":Q.value}])},[vue.createElementVNode("span",_hoisted_1$1e,vue.toDisplayString(e.scheme.name||e.scheme.attrs.name),1),te()?(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$X,"*")):vue.createCommentVNode("",!0),vue.createElementVNode("span",_hoisted_3$I,vue.toDisplayString(e.scheme.attrs.varKey||e.scheme.tag_code),1),Q.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_4$B,[...ie[2]||(ie[2]=[vue.createElementVNode("i",{class:"common-icon-dark-circle-warning"},null,-1),vue.createTextVNode(" 未能重用 ",-1)])])):vue.createCommentVNode("",!0),e.option.formEdit&&e.scheme.attrs.pre_mako_tip?(vue.openBlock(),vue.createElementBlock("span",_hoisted_5$r,[ie[3]||(ie[3]=vue.createElementVNode("i",{class:"common-icon-dark-circle-warning"},null,-1)),vue.createTextVNode(" "+vue.toDisplayString(e.scheme.attrs.pre_mako_tip),1)])):!e.scheme.attrs.html_used_tip&&e.scheme.attrs.used_tip?(vue.openBlock(),vue.createElementBlock("span",_hoisted_6$k,[ie[4]||(ie[4]=vue.createElementVNode("i",{class:"common-icon-dark-circle-warning"},null,-1)),vue.createTextVNode(" "+vue.toDisplayString(e.scheme.attrs.used_tip),1)])):vue.createCommentVNode("",!0)],2)):vue.createCommentVNode("",!0),e.scheme.attrs.html_used_tip?(vue.openBlock(),vue.createBlock(ce,{key:1,ref_key:"htmlUsedTipPopperRef",ref:j,placement:"top-start",theme:"light",always:"",class:"html-used-tippy","ext-cls":"html-used-tippy-popper"},{content:vue.withCtx(()=>[vue.createElementVNode("p",_hoisted_7$e,[ie[5]||(ie[5]=vue.createElementVNode("i",{class:"common-icon-dark-circle-warning"},null,-1)),vue.createTextVNode(" "+vue.toDisplayString(e.scheme.attrs.used_tip),1)]),ie[6]||(ie[6]=vue.createElementVNode("p",{class:"tip-content"},"将沿用原参数值提交",-1)),vue.createElementVNode("p",{class:"tip-btn",onClick:de},"知道了")]),default:vue.withCtx(()=>[ie[7]||(ie[7]=vue.createElementVNode("div",{class:"empty-box"},null,-1))]),_:1},512)):vue.createCommentVNode("",!0),e.hook?(vue.openBlock(),vue.createElementBlock("div",_hoisted_8$b,[e.option.showLabel?(vue.openBlock(),vue.createElementBlock("label",_hoisted_9$a,[vue.withDirectives((vue.openBlock(),vue.createElementBlock("span",{class:vue.normalizeClass({"tag-label-tips":e.option.formEdit&&e.scheme.attrs.tips})},[vue.createTextVNode(vue.toDisplayString(e.scheme.attrs.name),1)],2)),[[le,{allowHtml:!0,content:e.scheme.attrs.tips,placement:"top-start",theme:"light",extCls:"rf-label-tips",boundary:"window",zIndex:2072,disabled:!e.option.formEdit||!e.scheme.attrs.tips}]])])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_10$9,[vue.createVNode(pe,{disabled:!0,"model-value":String(e.value)},null,8,["model-value"])])])):(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,{key:3},vue.renderList(e.scheme.attrs.children,(ue,he)=>(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(ue.type==="combine"?_sfc_main$1m:_sfc_main$1n),{key:`${ue.tag_code}_${he}`,ref_for:!0,ref:ye=>W(ye,he),constants:e.constants,scheme:ue,option:y.value,value:typeof e.value=="object"&&e.value!==null?e.value[ue.tag_code]:void 0,"parent-value":e.value,onInit:ie[0]||(ie[0]=ye=>i("init",ye)),onChange:ee},null,40,["constants","scheme","option","value","parent-value"]))),128)),e.scheme.attrs.desc?(vue.openBlock(),vue.createElementBlock("div",_hoisted_11$9,[vue.createElementVNode("div",_hoisted_12$7,vue.toDisplayString(e.scheme.attrs.desc),1),vue.createElementVNode("div",{class:vue.normalizeClass(["rf-group-desc",{"is-fold":!z.value}])},vue.toDisplayString(e.scheme.attrs.desc),3),R.value?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:vue.normalizeClass({mt10:z.value})},[z.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("span",_hoisted_13$5,"...")),vue.createElementVNode("span",{class:"expand-btn",onClick:ie[1]||(ie[1]=ue=>z.value=!z.value)},vue.toDisplayString(z.value?"收起":"展开全部"),1)],2)):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0)],2)),[[vue.vShow,k.value]])}}}),_hoisted_1$1d={class:"render-form"},_sfc_main$1l=vue.defineComponent({__name:"Renderform",props:{fullVariableList:{default:()=>[]},scheme:{default:()=>[]},formOption:{default:()=>({})},formData:{default:()=>({})},hooked:{default:()=>({})},renderConfig:{default:()=>({})},constants:{default:()=>({})},isTriggerConfig:{type:Boolean,default:!1}},emits:["update:formData","change","onHookChange","onRenderChange"],setup(e,{expose:t,emit:n}){const r={showRequired:!0,showHook:!1,showGroup:!1,showLabel:!1,formEdit:!0,formMode:!0,showVarList:!1,showDesc:!1,validateSet:["required","custom","regex"]},i=e,C=n,k=vue.computed({get:()=>i.formData,set:q=>C("update:formData",q)});vue.provide("getFormData",()=>k.value);const y=vue.ref(lodash$1.cloneDeep(i.formData)),B=vue.ref({}),L=vue.ref({}),R=vue.ref([]),z=vue.computed(()=>Object.assign({},r,i.formOption)),j=(q,G)=>{q&&(R.value[G]=q)},$=(q,G)=>{const J=lodash$1.cloneDeep(y.value);if(q.reduce((ne,oe,ae,se)=>ae===se.length-1?(ne[oe]=G,ne):(ne.hasOwnProperty(oe)||(ne[oe]={}),ne[oe]),J),y.value=lodash$1.cloneDeep(J),C("change",J),k.value=lodash$1.cloneDeep(J),!Object.keys(B.value).length)return;const Z=q[0];W(Z,G)},H=(q,G)=>{C("onHookChange",q,G)},Q=(q,G)=>{C("onRenderChange",q,G)},W=(q,G)=>{q in B.value&&B.value[q].forEach(Z=>{let ne=JSON.stringify(G)===JSON.stringify(Z.value);const oe=i.scheme.findIndex(fe=>fe.tag_code===Z.target_key),ae=R.value[oe],se=L.value[Z.target_key];if(!ae||!se)return;ne=Z.operator==="="&&ne||Z.operator==="!="&&!ne,se[q]=ne;let de=!1;const ge=Object.values(se);Z.isOr?de=ge.some(fe=>fe):de=ge.every(fe=>fe),de?ae.onHideForm?.():ae.onShowForm?.()})};return t({validate:()=>{let q=!0;return R.value.forEach(G=>{if(G&&typeof G.validate=="function"){const J=G.validate();q&&(q=J)}}),q},get_child:q=>{let G;return typeof q=="string"&&q!==""?R.value.some(J=>J?.scheme&&J.scheme.tag_code===q?(G=q==="combine"?J:J.$refs?.tagComponent,!0):!1):G=R.value.map(J=>J?.scheme?.tag_code==="combine"?J:J?.$refs?.tagComponent),G}}),vue.onMounted(()=>{const q={},G={};if(Object.values(i.constants).forEach(J=>{!J.hide_condition||!J.hide_condition.length||J.hide_condition.forEach(Z=>{const{constant_key:ne,operator:oe,value:ae}=Z;J.key in G||(G[J.key]={}),G[J.key][ne]=!1;const se={target_key:J.key,operator:oe,value:ae,isOr:!0};ne in q?q[ne].push(se):q[ne]=[se]})}),B.value=q,L.value=G,!!Object.keys(B.value).length)for(const[J,Z]of Object.entries(i.formData))W(J,Z)}),vue.watch(()=>i.formData,q=>{y.value=lodash$1.cloneDeep(q)},{deep:!0}),(q,G)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1d,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.scheme,(J,Z)=>(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(J.type==="combine"?_sfc_main$1m:_sfc_main$1n),{key:`${J.tag_code}_${Z}`,ref_for:!0,ref:ne=>j(ne,Z),scheme:J,option:z.value,value:y.value[J.tag_code],hook:e.hooked[J.tag_code],render:e.renderConfig[J.tag_code],constants:e.constants,"full-variable-list":e.fullVariableList,onChange:$,onOnHook:H,onOnRenderChange:Q},null,40,["scheme","option","value","hook","render","constants","full-variable-list"]))),128))]))}}),RenderForm=_export_sfc(_sfc_main$1l,[["__scopeId","data-v-2fdc0641"]]),_hoisted_1$1c={key:0,class:"json-editor-wrapper"},_hoisted_2$W={key:1,class:"array-value-table"},_hoisted_3$H={class:"index-cell"},_hoisted_4$A={class:"action-cell"},_hoisted_5$q={class:"action-cell-inner"},_hoisted_6$j=["onClick"],_hoisted_7$d=["onClick"],_hoisted_8$a={key:2,class:"validate-message"},_hoisted_9$9={key:1,class:"usage-array-view"},_sfc_main$1k=vue.defineComponent({__name:"builtin-array-usage",props:{variable:{},modelValue:{},editable:{type:Boolean,default:!0}},emits:["update:modelValue"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.ref(""),k=vue.ref(!1),y=vue.ref([]),B=vue.computed(()=>r.variable.name||r.variable.key),L=vue.computed(()=>r.variable.meta||{}),R=vue.computed(()=>L.value.item_type||"string"),z=vue.computed(()=>R.value==="json"),j=vue.computed(()=>!!L.value.required),$=vue.computed(()=>L.value.item_validation||""),H=[{value:!0,label:"true"},{value:!1,label:"false"}],Q=vue.computed(()=>({language:"json",theme:"vs-dark",readOnly:!r.editable,lineNumbers:"on",scrollBeyondLastLine:!1,tabSize:2,placeholder:"[]"})),W=()=>`array_usage_item_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,te=()=>({id:W(),value:"",isPlaceholder:!0}),ee=(be,Ae)=>{if(be==null)return"";if(Ae==="number"){if(be==="")return"";const Te=Number(be);return Number.isNaN(Te)?String(be):Te}if(Ae==="boolean"){if(typeof be=="boolean")return be;if(typeof be=="string"){if(be.toLowerCase()==="true")return!0;if(be.toLowerCase()==="false")return!1}return""}return typeof be=="object"?JSON.stringify(be):String(be)},q=(be,Ae)=>(Array.isArray(be)?be:[]).map(Ze=>ee(Ze,Ae)),G=(be,Ae)=>{const Te=q(be,Ae);return Te.length<1?[te()]:Te.map(Ze=>({id:W(),value:Ze}))},J=()=>r.modelValue??r.variable.value,Z=be=>{if(be==null||be==="")return"[]";if(typeof be=="string"){const Ae=be.trim();if(!Ae)return"[]";try{const Te=JSON.parse(Ae);return JSON.stringify(Array.isArray(Te)?Te:[],null,2)}catch{return be}}return JSON.stringify(Array.isArray(be)?be:[],null,2)},ne=vue.ref(Z(J())),oe=()=>y.value.filter(be=>!be.isPlaceholder),ae=be=>oe().map(Ae=>ee(Ae.value,be)),se=()=>{if(z.value){const be=Z(J());be!==ne.value&&(ne.value=be);return}y.value=G(J(),R.value)};vue.watch(()=>[r.modelValue,r.variable.value,R.value],se,{immediate:!0,deep:!0});const de=()=>{R.value!=="json"&&i("update:modelValue",ae(R.value))},ge=()=>{const be=ne.value.trim();if(!be)return{valid:!j.value,message:"请输入 JSON 数组参数值",value:[]};try{const Ae=JSON.parse(be);return Array.isArray(Ae)?{valid:!0,value:Ae}:{valid:!1,message:"请输入数组格式的 JSON 参数值"}}catch{return{valid:!1,message:"请输入正确的 JSON 格式数据"}}},fe=()=>{const be=ge();return be.valid?(C.value="",i("update:modelValue",be.value),!0):!1},ie=()=>{C.value="",fe()},ce=()=>{r.editable&&fe()&&(ne.value=Z(JSON.parse(ne.value)))},pe=({hasErrors:be})=>{k.value=be},le=(be,Ae)=>{if(R.value==="json")return;const Te=y.value.slice();Te[be]={...Te[be],value:ee(Ae,R.value),isPlaceholder:!1},y.value=Te,C.value="",de()},ue=be=>{const Ae=y.value.slice();Ae[be]?.isPlaceholder&&(Ae[be]={...Ae[be],isPlaceholder:!1}),Ae.splice(be+1,0,{id:W(),value:""}),y.value=Ae,C.value="",de()},he=be=>{const Ae=y.value.slice();Ae.splice(be,1),y.value=Ae.length>0?Ae:[te()],C.value="",de()},ye=()=>{const be=oe();if(j.value&&be.length<1)return C.value="请至少填写一个元素值",!1;if(R.value==="number"&&be.some(Te=>Te.value===""||Number.isNaN(Number(Te.value))))return C.value="请输入合法的数字元素值",!1;if(R.value==="boolean"&&be.some(Te=>Te.value!==!0&&Te.value!==!1))return C.value="请选择合法的布尔元素值",!1;if($.value.trim()){let Ae;try{Ae=new RegExp($.value)}catch{return C.value="元素正则表达式格式不合法",!1}if(be.some(Ze=>!Ae.test(String(Ze.value))))return C.value=`元素值不符合正则规则:${$.value}`,!1}return C.value="",de(),!0},_e=()=>{if(C.value="",!r.editable)return!0;if(z.value){const be=ge();return!be.valid||k.value?(C.value=be.message||"请输入正确的 JSON 格式数据",!1):(i("update:modelValue",be.value),!0)}return ye()},Ne=vue.computed(()=>Z(J()));return t({validate:_e}),(be,Ae)=>{const Te=vue.resolveComponent("bk-select"),Ze=vue.resolveComponent("bk-input"),lt=vue.resolveComponent("bk-form-item");return vue.openBlock(),vue.createBlock(lt,{label:B.value,required:j.value},{default:vue.withCtx(()=>[r.editable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[z.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1c,[vue.createVNode(CodeEditor,{modelValue:ne.value,"onUpdate:modelValue":Ae[0]||(Ae[0]=Ge=>ne.value=Ge),options:Q.value,onChange:ie,onBlur:ce,onMarkersChange:pe},null,8,["modelValue","options"])])):(vue.openBlock(),vue.createElementBlock("table",_hoisted_2$W,[Ae[3]||(Ae[3]=vue.createElementVNode("colgroup",null,[vue.createElementVNode("col",{class:"index-col"}),vue.createElementVNode("col"),vue.createElementVNode("col",{class:"action-col"})],-1)),Ae[4]||(Ae[4]=vue.createElementVNode("thead",null,[vue.createElementVNode("tr",null,[vue.createElementVNode("th",null,"index"),vue.createElementVNode("th",null,"元素值"),vue.createElementVNode("th")])],-1)),vue.createElementVNode("tbody",null,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(y.value,(Ge,st)=>(vue.openBlock(),vue.createElementBlock("tr",{key:Ge.id},[vue.createElementVNode("td",_hoisted_3$H,vue.toDisplayString(st),1),vue.createElementVNode("td",{class:vue.normalizeClass(["array-value-cell",{"select-cell":R.value==="boolean"}])},[R.value==="boolean"?(vue.openBlock(),vue.createBlock(Te,{key:0,class:"array-value-select","model-value":Ge.value,clearable:!1,list:H,placeholder:"请选择",onChange:Ue=>le(st,Ue)},null,8,["model-value","onChange"])):(vue.openBlock(),vue.createBlock(Ze,{key:1,class:"array-value-input","model-value":Ge.value,type:R.value==="number"?"number":"text",placeholder:"请输入",onChange:Ue=>le(st,Ue)},null,8,["model-value","type","onChange"]))],2),vue.createElementVNode("td",_hoisted_4$A,[vue.createElementVNode("div",_hoisted_5$q,[vue.createElementVNode("div",{class:"action-btn",onClick:Ue=>ue(st)},[...Ae[1]||(Ae[1]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-plus-circle-shape"},null,-1)])],8,_hoisted_6$j),vue.createElementVNode("div",{class:"action-btn",onClick:Ue=>he(st)},[...Ae[2]||(Ae[2]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-minus-circle-shape"},null,-1)])],8,_hoisted_7$d)])])]))),128))])])),C.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_8$a,vue.toDisplayString(C.value),1)):vue.createCommentVNode("",!0)],64)):(vue.openBlock(),vue.createElementBlock("pre",_hoisted_9$9,vue.toDisplayString(Ne.value),1))]),_:1},8,["label","required"])}}}),BuiltinArrayUsage=_export_sfc(_sfc_main$1k,[["__scopeId","data-v-b1e294bc"]]),_hoisted_1$1b={class:"json-editor-wrapper"},_hoisted_2$V={key:0,class:"validate-message"},_hoisted_3$G={key:1,class:"usage-json-view"},_sfc_main$1j=vue.defineComponent({__name:"builtin-json-usage",props:{variable:{},modelValue:{},editable:{type:Boolean,default:!0}},emits:["update:modelValue"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.ref(""),k=vue.ref(!1),y=vue.computed(()=>r.variable.name||r.variable.key),B=vue.computed(()=>!!r.variable.meta?.required),L=vue.computed(()=>({language:"json",theme:"vs-dark",readOnly:!r.editable,lineNumbers:"on",scrollBeyondLastLine:!1,tabSize:2,placeholder:"{}"})),R=q=>{if(q==null||q==="")return"{}";if(typeof q=="string"){const G=q.trim();if(!G)return"{}";try{return JSON.stringify(JSON.parse(G),null,2)}catch{return q}}return JSON.stringify(q,null,2)},z=vue.ref(R(r.modelValue??r.variable.value));vue.watch(()=>[r.modelValue,r.variable.value],()=>{const q=R(r.modelValue??r.variable.value);q!==z.value&&(z.value=q)},{deep:!0});const j=()=>{const q=z.value.trim();if(!q)return{valid:!B.value,message:"请输入 JSON 参数值",value:{}};try{return{valid:!0,value:JSON.parse(q)}}catch{return{valid:!1,message:"请输入正确的 JSON 格式数据"}}},$=()=>{const q=j();return q.valid?(C.value="",i("update:modelValue",q.value),!0):!1},H=()=>{C.value="",$()},Q=()=>{r.editable&&$()&&(z.value=R(JSON.parse(z.value)))},W=({hasErrors:q})=>{k.value=q},te=()=>{if(C.value="",!r.editable)return!0;const q=j();return!q.valid||k.value?(C.value=q.message||"请输入正确的 JSON 格式数据",!1):(i("update:modelValue",q.value),!0)},ee=vue.computed(()=>R(r.modelValue??r.variable.value));return t({validate:te}),(q,G)=>{const J=vue.resolveComponent("bk-form-item");return vue.openBlock(),vue.createBlock(J,{label:y.value,required:B.value},{default:vue.withCtx(()=>[r.editable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createElementVNode("div",_hoisted_1$1b,[vue.createVNode(CodeEditor,{modelValue:z.value,"onUpdate:modelValue":G[0]||(G[0]=Z=>z.value=Z),options:L.value,onChange:H,onBlur:Q,onMarkersChange:W},null,8,["modelValue","options"])]),C.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$V,vue.toDisplayString(C.value),1)):vue.createCommentVNode("",!0)],64)):(vue.openBlock(),vue.createElementBlock("pre",_hoisted_3$G,vue.toDisplayString(ee.value),1))]),_:1},8,["label","required"])}}}),BuiltinJsonUsage=_export_sfc(_sfc_main$1j,[["__scopeId","data-v-9eaa82a5"]]),_hoisted_1$1a={class:"usage-view-value"},_sfc_main$1i=vue.defineComponent({__name:"builtin-placeholder-usage",props:{variable:{},modelValue:{},editable:{type:Boolean}},setup(e,{expose:t}){const n=e,r=vue.computed(()=>n.variable.name||n.variable.key),i=vue.computed(()=>{const k=n.modelValue??n.variable.value;return k==null||k===""||Array.isArray(k)&&k.length<1?"--":typeof k=="object"?JSON.stringify(k):String(k)});return t({validate:()=>!0}),(k,y)=>{const B=vue.resolveComponent("bk-form-item");return vue.openBlock(),vue.createBlock(B,{label:r.value},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_1$1a,vue.toDisplayString(i.value),1)]),_:1},8,["label"])}}}),BuiltinPlaceholderUsage=_export_sfc(_sfc_main$1i,[["__scopeId","data-v-0c1dae03"]]),_hoisted_1$19={key:0,class:"validate-message"},_hoisted_2$U={key:1,class:"usage-view-value"},SELECT_ALL_VALUE="__ALL__",_sfc_main$1h=vue.defineComponent({__name:"builtin-select-usage",props:{variable:{},modelValue:{},editable:{type:Boolean,default:!0}},emits:["update:modelValue"],setup(e,{expose:t,emit:n}){const r={id:SELECT_ALL_VALUE,name:"- ALL -"},i=e,C=n,k=vue.ref(""),y=vue.ref(""),B=vue.computed(()=>i.variable.name||i.variable.key),L=vue.computed(()=>i.variable.meta||{}),R=vue.computed(()=>!!L.value.multiple),z=vue.computed(()=>!!L.value.required),j=vue.computed(()=>L.value.option_source||"manual"),$=vue.computed(()=>(Array.isArray(L.value.options)?L.value.options:[]).filter(ne=>String(ne.value??"").trim().length>0).map(ne=>({id:ne.value,name:ne.label||ne.value}))),H=vue.computed(()=>{const Z=L.value.related?.candidate_values;return Array.isArray(Z)&&Z.length>0?Z:[SELECT_ALL_VALUE]}),Q=vue.computed(()=>H.value.map(Z=>Z===SELECT_ALL_VALUE?r:{id:Z,name:Z})),W=vue.computed(()=>{const Z=j.value==="manual"?$.value:Q.value;return R.value&&L.value.include_all?[r,...Z.filter(ne=>ne.id!==SELECT_ALL_VALUE)]:Z.filter(ne=>ne.id!==SELECT_ALL_VALUE)}),te=Z=>R.value?Array.isArray(Z)?Z.map(String):[]:Array.isArray(Z)?Z[0]||"":Z==null?"":String(Z);vue.watch(()=>[i.modelValue,i.variable.value,R.value],()=>{y.value=te(i.modelValue??i.variable.value)},{immediate:!0,deep:!0});const ee=()=>{k.value="";let Z=te(y.value);R.value&&Array.isArray(Z)&&Z.includes(SELECT_ALL_VALUE)&&(Z=[SELECT_ALL_VALUE],y.value=Z),C("update:modelValue",Z)},q=()=>{if(k.value="",!i.editable)return!0;const Z=te(y.value),ne=R.value?Array.isArray(Z)&&Z.length<1:!Z;return z.value&&ne?(k.value="请选择参数值",!1):(ee(),!0)},G=vue.computed(()=>{const Z=new Map;return W.value.forEach(ne=>Z.set(ne.id,ne.name)),Z}),J=vue.computed(()=>{const Z=te(i.modelValue??i.variable.value);return Array.isArray(Z)?Z.length<1?"--":Z.map(ne=>G.value.get(ne)||ne).join(","):Z?G.value.get(Z)||Z:"--"});return t({validate:q}),(Z,ne)=>{const oe=vue.resolveComponent("bk-select"),ae=vue.resolveComponent("bk-form-item");return vue.openBlock(),vue.createBlock(ae,{label:B.value,required:z.value},{default:vue.withCtx(()=>[i.editable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(oe,{modelValue:y.value,"onUpdate:modelValue":ne[0]||(ne[0]=se=>y.value=se),multiple:R.value,list:W.value,"id-key":"id","display-key":"name",placeholder:"请选择",onChange:ee},null,8,["modelValue","multiple","list"]),k.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$19,vue.toDisplayString(k.value),1)):vue.createCommentVNode("",!0)],64)):(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$U,vue.toDisplayString(J.value),1))]),_:1},8,["label","required"])}}}),BuiltinSelectUsage=_export_sfc(_sfc_main$1h,[["__scopeId","data-v-23a60ce2"]]),_hoisted_1$18={key:2,class:"validate-message"},_hoisted_2$T={key:1,class:"usage-view-value"},_sfc_main$1g=vue.defineComponent({__name:"builtin-text-usage",props:{variable:{},modelValue:{},editable:{type:Boolean,default:!0}},emits:["update:modelValue"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.ref(""),k=vue.ref(""),y=vue.computed(()=>r.variable.name||r.variable.key),B=vue.computed(()=>r.variable.custom_type==="textarea"),L=vue.computed(()=>r.variable.meta?.data_type==="number"&&!B.value),R=vue.computed(()=>typeof r.variable.meta?.required=="boolean"?r.variable.meta.required:!!r.variable.validation),z=vue.computed(()=>r.variable.meta?.placeholder||"请输入"),j=vue.computed(()=>r.variable.meta?.validation_error_msg||"参数值不符合正则规则"),$=q=>{if(q==null)return"";if(L.value){if(q==="")return"";const G=Number(q);return Number.isNaN(G)?"":G}return String(q)},H=()=>{k.value=$(r.modelValue??r.variable.value)};vue.watch(()=>[r.modelValue,r.variable.value,r.variable.meta?.data_type],H,{immediate:!0,deep:!0});const Q=q=>q===""||q===void 0||q===null,W=()=>{C.value="";const q=L.value&&k.value!==""?Number(k.value):String(k.value??"");i("update:modelValue",q)},te=()=>{if(C.value="",!r.editable)return!0;if(R.value&&Q(k.value))return C.value="请输入参数值",!1;if(L.value&&!Q(k.value)&&Number.isNaN(Number(k.value)))return C.value="请输入合法的数字",!1;if(r.variable.validation&&!Q(k.value))try{if(!new RegExp(r.variable.validation).test(String(k.value)))return C.value=j.value,!1}catch{return C.value="正则表达式格式不合法",!1}return W(),!0},ee=vue.computed(()=>{const q=$(r.modelValue??r.variable.value);return Q(q)?"--":String(q)});return t({validate:te}),(q,G)=>{const J=vue.resolveComponent("bk-input"),Z=vue.resolveComponent("bk-form-item");return vue.openBlock(),vue.createBlock(Z,{label:y.value,required:R.value},{default:vue.withCtx(()=>[r.editable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[B.value?(vue.openBlock(),vue.createBlock(J,{key:0,modelValue:k.value,"onUpdate:modelValue":G[0]||(G[0]=ne=>k.value=ne),type:"textarea",rows:4,resize:!1,placeholder:z.value,onChange:W},null,8,["modelValue","placeholder"])):(vue.openBlock(),vue.createBlock(J,{key:1,modelValue:k.value,"onUpdate:modelValue":G[1]||(G[1]=ne=>k.value=ne),type:L.value?"number":"text",placeholder:z.value,onChange:W},null,8,["modelValue","type","placeholder"])),C.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$18,vue.toDisplayString(C.value),1)):vue.createCommentVNode("",!0)],64)):(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$T,vue.toDisplayString(ee.value),1))]),_:1},8,["label","required"])}}}),BuiltinTextUsage=_export_sfc(_sfc_main$1g,[["__scopeId","data-v-83e5de15"]]),_hoisted_1$17={class:"timepicker-usage"},_hoisted_2$S={key:1,class:"relative-time-config"},_hoisted_3$F={key:1,class:"relative-time-config"},_hoisted_4$z={key:0,class:"validate-message"},_hoisted_5$p={key:1,class:"usage-view-value"},_sfc_main$1f=vue.defineComponent({__name:"builtin-timepicker-usage",props:{variable:{},modelValue:{},editable:{type:Boolean,default:!0}},emits:["update:modelValue"],setup(e,{expose:t,emit:n}){const r=[{value:"now",label:"此刻"},{value:"today",label:"今天"},{value:"yesterday",label:"昨天"},{value:"the_day_before_yesterday",label:"前天"}],i=[{value:"minute",label:"分钟"},{value:"hour",label:"小时"},{value:"day",label:"天"}],C={minute:"分钟",hour:"小时",day:"天"},k={now:"此刻",today:"今天",yesterday:"昨天",the_day_before_yesterday:"前天"},y=[{start_expr:"now-5m",end_expr:"now",label:"近5分钟"},{start_expr:"now-15m",end_expr:"now",label:"近15分钟"},{start_expr:"now-30m",end_expr:"now",label:"近30分钟"}],B={"5m":3e5,"15m":9e5,"30m":18e5,"1h":36e5,"2h":72e5,"6h":216e5,"1d":864e5,"7d":6048e5,"15d":1296e6,"30d":2592e6},L=e,R=n,z=vue.ref(""),j=vue.ref(lodash$1.cloneDeep(TIME_PICKER_DEFAULT_VALUE)),$=vue.ref("absolute"),H=vue.ref(""),Q=vue.ref([]),W=vue.computed(()=>L.variable.name||L.variable.key),te=vue.computed(()=>!!L.variable.meta?.required),ee=vue.computed(()=>j.value.methods?.includes("absolute")),q=vue.computed(()=>j.value.methods?.includes("relative")),G=le=>{const ue=lodash$1.cloneDeep(TIME_PICKER_DEFAULT_VALUE);if(!le||typeof le!="object")return ue;const he={...ue,...lodash$1.cloneDeep(le)};return(!Array.isArray(he.methods)||he.methods.length===0)&&(he.methods=he.time_base==="absolute"?["absolute"]:["relative"]),he.type==="time_point"&&(he.methods=[he.methods[0]||"absolute"]),he.time_offset=Number(he.time_offset)||1,he},J=le=>{$.value=le.type==="time_point"&&le.methods?.[0]==="relative"?"relative":le.type==="time_point"&&le.methods?.[0]||"absolute",H.value=le.datetime||"",Q.value=le.start_time&&le.end_time?[le.start_time,le.end_time]:[]},Z=()=>L.modelValue??L.variable.value;vue.watch(()=>[L.modelValue,L.variable.value],()=>{const le=G(Z());j.value=le,J(le)},{immediate:!0,deep:!0});const ne=vue.computed(()=>j.value.custom_options_enabled&&j.value.custom_options?.length?j.value.custom_options:y),oe=vue.computed(()=>ne.value.map(le=>{const he=le.start_expr.match(/^now-(\d+[a-z]+)$/)?.[1]||"",ye=B[he]||36e5;return{text:le.label,value:()=>{const _e=new Date;return[new Date(_e.getTime()-ye),_e]}}})),ae=()=>{if(j.value.type==="time_range"){j.value.start_time=Q.value[0]||"",j.value.end_time=Q.value[1]||"",delete j.value.datetime;return}j.value.datetime=H.value||"",delete j.value.start_time,delete j.value.end_time},se=()=>{z.value="";const le=lodash$1.cloneDeep(j.value);le.methods?.includes("absolute")||(delete le.start_time,delete le.end_time,delete le.datetime),R("update:modelValue",le)},de=le=>{j.value.time_offset=Number(le)||1,se()},ge=()=>{ae(),se()},fe=le=>{const ue=Te=>String(Te).padStart(2,"0"),he=le.getFullYear(),ye=ue(le.getMonth()+1),_e=ue(le.getDate()),Ne=ue(le.getHours()),be=ue(le.getMinutes()),Ae=ue(le.getSeconds());return`${he}-${ye}-${_e} ${Ne}:${be}:${Ae}`},ie=le=>{if(typeof le?.value=="function"){const ue=le.value();Array.isArray(ue)&&ue.length>=2&&(Q.value=ue.map(he=>he instanceof Date?fe(he):String(he)))}ae(),se()},ce=()=>{if(z.value="",!L.editable)return!0;if(ee.value){if(j.value.type==="time_range"&&(!j.value.start_time||!j.value.end_time))return z.value="请选择时间范围",!1;if(j.value.type==="time_point"&&$.value==="absolute"&&!j.value.datetime)return z.value="请选择时间点",!1}return q.value&&(!j.value.time_offset||Number(j.value.time_offset)<1)?(z.value="请输入有效的相对时间",!1):(se(),!0)},pe=vue.computed(()=>{const le=G(Z()),ue=le.methods||["relative"];if(ue.includes("absolute")&&!ue.includes("relative"))return le.type==="time_range"?le.start_time&&le.end_time?`${le.start_time} ~ ${le.end_time}`:"--":le.datetime||"--";const he=C[le.time_unit]||le.time_unit,ye=k[le.time_base]||le.time_base;return le.type==="time_range"?`基于${ye}的最近 ${le.time_offset} ${he}`:`最近 ${le.time_offset} ${he}`});return t({validate:ce}),(le,ue)=>{const he=vue.resolveComponent("bk-date-picker"),ye=vue.resolveComponent("bk-option"),_e=vue.resolveComponent("bk-select"),Ne=vue.resolveComponent("bk-input"),be=vue.resolveComponent("bk-form-item");return vue.openBlock(),vue.createBlock(be,{label:W.value,required:te.value},{default:vue.withCtx(()=>[L.editable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createElementVNode("div",_hoisted_1$17,[j.value.type==="time_range"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[ee.value&&!q.value?(vue.openBlock(),vue.createBlock(he,{key:0,modelValue:Q.value,"onUpdate:modelValue":ue[0]||(ue[0]=Ae=>Q.value=Ae),type:"datetimerange",clearable:!1,"append-to-body":!0,format:"yyyy-MM-dd HH:mm:ss",onChange:ge},null,8,["modelValue"])):!ee.value&&q.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$S,[ue[8]||(ue[8]=vue.createElementVNode("span",{class:"relative-label"},"基于",-1)),vue.createVNode(_e,{modelValue:j.value.time_base,"onUpdate:modelValue":ue[1]||(ue[1]=Ae=>j.value.time_base=Ae),class:"base-select",clearable:!1,onChange:se},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(r,Ae=>vue.createVNode(ye,{key:Ae.value,value:Ae.value,label:Ae.label},null,8,["value","label"])),64))]),_:1},8,["modelValue"]),ue[9]||(ue[9]=vue.createElementVNode("span",{class:"relative-label"},"的最近",-1)),vue.createVNode(Ne,{modelValue:j.value.time_offset,"onUpdate:modelValue":ue[2]||(ue[2]=Ae=>j.value.time_offset=Ae),class:"offset-input",type:"number",min:1,clearable:!1,onChange:de},null,8,["modelValue"]),vue.createVNode(_e,{modelValue:j.value.time_unit,"onUpdate:modelValue":ue[3]||(ue[3]=Ae=>j.value.time_unit=Ae),class:"unit-select",clearable:!1,onChange:se},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(i,Ae=>vue.createVNode(ye,{key:Ae.value,value:Ae.value,label:Ae.label},null,8,["value","label"])),64))]),_:1},8,["modelValue"])])):ee.value&&q.value?(vue.openBlock(),vue.createBlock(he,{key:2,modelValue:Q.value,"onUpdate:modelValue":ue[4]||(ue[4]=Ae=>Q.value=Ae),type:"datetimerange",clearable:!1,"append-to-body":!0,shortcuts:oe.value,"shortcut-close":!0,"use-shortcut-text":!0,format:"yyyy-MM-dd HH:mm:ss",onChange:ge,onShortcutChange:ie},null,8,["modelValue","shortcuts"])):vue.createCommentVNode("",!0)],64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[$.value==="absolute"?(vue.openBlock(),vue.createBlock(he,{key:0,modelValue:H.value,"onUpdate:modelValue":ue[5]||(ue[5]=Ae=>H.value=Ae),type:"datetime",clearable:!1,"append-to-body":!0,format:"yyyy-MM-dd HH:mm:ss",onChange:ge},null,8,["modelValue"])):(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$F,[ue[10]||(ue[10]=vue.createElementVNode("span",{class:"relative-label"},"最近",-1)),vue.createVNode(Ne,{modelValue:j.value.time_offset,"onUpdate:modelValue":ue[6]||(ue[6]=Ae=>j.value.time_offset=Ae),class:"offset-input",type:"number",min:1,clearable:!1,onChange:de},null,8,["modelValue"]),vue.createVNode(_e,{modelValue:j.value.time_unit,"onUpdate:modelValue":ue[7]||(ue[7]=Ae=>j.value.time_unit=Ae),class:"unit-select",clearable:!1,onChange:se},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(i,Ae=>vue.createVNode(ye,{key:Ae.value,value:Ae.value,label:Ae.label},null,8,["value","label"])),64))]),_:1},8,["modelValue"])]))],64))]),z.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$z,vue.toDisplayString(z.value),1)):vue.createCommentVNode("",!0)],64)):(vue.openBlock(),vue.createElementBlock("span",_hoisted_5$p,vue.toDisplayString(pe.value),1))]),_:1},8,["label","required"])}}}),BuiltinTimepickerUsage=_export_sfc(_sfc_main$1f,[["__scopeId","data-v-afe28cfd"]]),_sfc_main$1e=vue.defineComponent({__name:"builtin-variable-usage-form",props:{variables:{},modelValue:{},editable:{type:Boolean,default:!0}},emits:["update:modelValue","change"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.ref({}),k=vue.computed(()=>r.modelValue||{}),y=(R,z)=>{if(z){C.value[R]=z;return}delete C.value[R]},B=(R,z)=>{const j=lodash$1.cloneDeep(k.value);j[R]=z,i("update:modelValue",j),i("change",j)};return t({validate:async()=>(await Promise.all(r.variables.map(z=>{const j=C.value[z.key];return typeof j?.validate=="function"?j.validate():!0}))).every(Boolean)}),(R,z)=>{const j=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createBlock(j,{"form-type":"vertical",class:"builtin-variable-usage-form",model:k.value},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(r.variables,$=>(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(vue.unref(getBuiltinUsageComponent)($.custom_type)),{key:$.key,ref_for:!0,ref:H=>y($.key,H),variable:$,"model-value":k.value[$.key],editable:r.editable,"onUpdate:modelValue":H=>B($.key,H)},null,8,["variable","model-value","editable","onUpdate:modelValue"]))),128))]),_:1},8,["model"])}}}),BuiltinVariableUsageForm=_export_sfc(_sfc_main$1e,[["__scopeId","data-v-a642aa18"]]),BUILTIN_USAGE_COMPONENTS={input:BuiltinTextUsage,textarea:BuiltinTextUsage,select:BuiltinSelectUsage,filter:BuiltinPlaceholderUsage,timepicker:BuiltinTimepickerUsage,json:BuiltinJsonUsage,array:BuiltinArrayUsage},getBuiltinUsageComponent=e=>{const t=normalizeBuiltinTypeCode(e);return BUILTIN_USAGE_COMPONENTS[t]||BuiltinPlaceholderUsage},_hoisted_1$16={class:"timed-trigger-wrapper"},_hoisted_2$R={class:"mode-switch-wrapper"},_hoisted_3$E={class:"bk-button-group"},_hoisted_4$y={key:0,class:"form-wrapper"},_hoisted_5$o={key:1,class:"code-wrapper"};function _isSlot(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!vue.isVNode(e)}const _sfc_main$1d=vue.defineComponent({__name:"trigger-config",props:{triggers:{},constants:{default:()=>({})},editable:{type:Boolean,default:!0},spaceId:{default:""},templateId:{default:""}},emits:["change"],setup(e,{emit:t}){const n={minute:"*/30",hour:"*",day_of_week:"*",day_of_month:"*",month_of_year:"*"},r={language:"json",placeholder:`{
39
39
  "\${key}": "value"
40
- }`},i=()=>({id:null,name:"定时触发",type:"periodic",is_enabled:!0,is_deleted:!1,space_id:Q.spaceId,template_id:Q.templateId,config:{mode:"form",constants:{},cron:{...n}}}),C=Ue=>`${Ue.minute} ${Ue.hour} ${Ue.day_of_month} ${Ue.month_of_year} ${Ue.day_of_week}`,k=Ue=>{const De=Ue.split(" ");return De.length!==5?null:{minute:De[0],hour:De[1],day_of_month:De[2],month_of_year:De[3],day_of_week:De[4]}},y=Ue=>{const De=Translate(C(Ue));return De.reduce((We,Ye,Re)=>Re===2&&De[2]?`${We}以及当月 ${Ye} `:`${We}${Ye} `,"")},B=useFlowApiConfig(),L=vue.ref(!1),R=async()=>{if(!(!B.fetchControlConfig||!B.checkSpaceConfig))try{const Ue=await B.fetchControlConfig();if(Ue?.allow_multiple_triggers){const{name:De}=Ue.allow_multiple_triggers,We=await B.checkSpaceConfig(Number(Q.spaceId),{name:De});We&&(L.value=We.value==="true")}}catch(Ue){console.error(Ue)}},z=()=>{const Ue={};return Object.values(Q.constants).forEach(De=>{!isBuiltinUsageVariable(De)&&De.show_type==="show"&&"value"in De&&(Ue[De.key]=De.value)}),Ue},j=async()=>{if(!Q.constants||Object.keys(Q.constants).length===0){fe.value=[],ie.value={};return}ie.value=z();const Ue=Object.fromEntries(Object.entries(Q.constants).filter(([,De])=>{if(typeof De!="object"||De===null)return!1;const We=De;return We.source_type==="custom"&&We.show_type==="show"&&!isBuiltinUsageVariable(We)}));if(Object.keys(Ue).length<1){fe.value=[];return}if(!("fetchBkFlowInnerPluginDetail"in B)||typeof B.fetchBkFlowInnerPluginDetail!="function"){fe.value=[];return}try{const De=await getInputFormsFromConstants(B,Ue);fe.value=De}catch(De){console.error(De),fe.value=[]}},$=Ue=>{ie.value={...ie.value,...lodash$1.cloneDeep(Ue)},ce.value=lodash$1.cloneDeep(ie.value)},H=Ue=>{ie.value=lodash$1.cloneDeep(Ue),ce.value=lodash$1.cloneDeep(Ue)};vue.onMounted(()=>{j(),R()});const Q=e,W=t,te=vue.ref(lodash$1.cloneDeep(Q.triggers||[])),ee=vue.ref(!1),q=vue.ref("add"),G=vue.ref(null),J=vue.ref(i()),Z=vue.ref(""),ne=vue.ref(""),oe=vue.ref(!1),ae=vue.ref(),se=vue.ref(),de=vue.ref(),ge=vue.ref(null),fe=vue.shallowRef([]),ie=vue.ref({}),ce=vue.ref({}),pe=vue.computed(()=>Object.values(Q.constants).filter(Ue=>isBuiltinUsageVariable(Ue)));vue.watch(()=>Q.triggers,Ue=>{te.value=lodash$1.cloneDeep(Ue||[])});const le=vue.computed(()=>q.value==="edit"?"修改定时触发器":"添加定时触发器"),ue=vue.computed(()=>{if(J.value.config.mode!=="json")return!0;const Ue=ne.value.trim();if(!Ue)return!0;if(oe.value)return!1;try{const De=JSON.parse(Ue);return De&&["[object Object]","[object Array]"].includes(Object.prototype.toString.call(De))}catch{return!1}}),he=({hasErrors:Ue})=>{oe.value=Ue},ye=()=>{W("change",te.value)},_e=Ue=>{J.value.config.mode=Ue,Ue==="form"?(Object.keys(ce.value).length>0&&(ie.value=lodash$1.cloneDeep(ce.value)),oe.value=!1):Object.keys(ce.value).length>0&&(ne.value=JSON.stringify(ce.value,null,2))},Ne=Ue=>{te.value.splice(Ue,1),W("change",te.value)},be=(Ue,De)=>{q.value="edit",G.value=De,J.value=lodash$1.cloneDeep(Ue),ge.value=lodash$1.cloneDeep(Ue),Z.value=C(Ue.config.cron);const We=Ue.config.constants||{};Ue.config.mode==="json"&&Object.keys(We).length>0?ne.value=JSON.stringify(We,null,2):ne.value="",Ue.config.mode==="form"&&Object.keys(We).length>0?(ie.value=lodash$1.cloneDeep(We),ce.value=lodash$1.cloneDeep(We)):(ie.value=z(),ce.value={}),ee.value=!0},Ae=()=>{q.value="add",G.value=null;const Ue=i();Ue.isNewTrigger=!0,J.value=Ue,ge.value=null,ne.value="",ie.value=z(),ce.value={},Z.value=C(J.value.config.cron),ee.value=!0},Te=()=>{q.value==="edit"&&ge.value&&G.value!==null&&G.value<te.value.length&&(te.value[G.value]=lodash$1.cloneDeep(ge.value)),ge.value=null,oe.value=!1,ce.value={}},Ze=[{label:"触发器",field:"name",width:160,render:({row:Ue})=>vue.createVNode("div",{class:"trigger-name-cell"},[Ue.name,Ue.isNewTrigger&&vue.createVNode("div",{class:"add-new-trigger"},[vue.createTextVNode("new")])])},{label:"执行周期",width:160,render:({row:Ue})=>{let De;return vue.createVNode(vue.resolveComponent("bk-popover"),{content:y(Ue.config.cron),placement:"right-end"},_isSlot(De=C(Ue.config.cron))?De:{default:()=>[De]})}},{label:"启用状态",render:({row:Ue})=>vue.createVNode(vue.resolveComponent("bk-switcher"),{modelValue:Ue.is_enabled,theme:"primary",size:"small",disabled:!Q.editable,onChange:De=>{Ue.is_enabled=De,ye()}},null)},{label:"操作",width:150,render:({row:Ue,index:De})=>vue.createVNode(vue.Fragment,null,[vue.createVNode(vue.resolveComponent("bk-button"),{theme:"primary",text:!0,disabled:!Q.editable,onClick:()=>be(Ue,De)},{default:()=>[vue.createTextVNode("编辑")]}),vue.createVNode(vue.resolveComponent("bk-button"),{class:"trigger-delete-btn",theme:"primary",text:!0,disabled:!Q.editable,onClick:()=>Ne(De)},{default:()=>[vue.createTextVNode("删除")]})])}],lt=()=>(Te(),!0),Ge=()=>{Te(),ee.value=!1},st=async()=>{if(ae.value?.isError)return;const Ue=J.value.config.mode;if(Ue==="json"){if(ne.value.trim()&&(!ue.value||oe.value))return}else if(Ue==="form"){const[Ye,Re]=await Promise.all([de.value&&typeof de.value.validate=="function"?de.value.validate():!0,se.value&&typeof se.value.validate=="function"?se.value.validate():!0]);if(!Ye||!Re)return}const De=k(Z.value);if(De&&(J.value.config.cron=De),Ue==="json"){const Ye=ne.value.trim();J.value.config.constants=Ye?JSON.parse(Ye):{}}else J.value.config.constants=lodash$1.cloneDeep(Object.keys(ce.value).length>0?ce.value:ie.value);const We=lodash$1.cloneDeep(J.value);We.space_id=Q.spaceId,We.template_id=Q.templateId,q.value==="add"?te.value.push(We):G.value!==null&&G.value<te.value.length&&(te.value[G.value]=We),ge.value=null,ee.value=!1,W("change",te.value)};return(Ue,De)=>{const We=vue.resolveComponent("bk-table"),Ye=vue.resolveComponent("bk-button"),Re=vue.resolveComponent("bk-popover"),Je=vue.resolveComponent("bk-form-item"),Xe=vue.resolveComponent("bk-form"),Me=vue.resolveComponent("bk-dialog"),nt=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$16,[vue.createVNode(We,{data:te.value,columns:Ze,border:["outer"]},null,8,["data"]),vue.createVNode(Re,{disabled:L.value,content:"只允许创建一个定时触发器",placement:"top"},{default:vue.withCtx(()=>[vue.createVNode(Ye,{disabled:!Q.editable||!L.value&&te.value.length>=1,theme:"primary",class:"add-trigger-button",outline:!0,onClick:Ae},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(icon.Plus),{class:"add-trigger-icon"}),De[6]||(De[6]=vue.createTextVNode(" 添加定时触发器 ",-1))]),_:1},8,["disabled"])]),_:1},8,["disabled"]),vue.createVNode(Me,{isShow:ee.value,"onUpdate:isShow":De[5]||(De[5]=et=>ee.value=et),"dialog-type":"operation",width:640,"esc-close":!1,"quick-close":!1,"header-align":"left",title:le.value,"before-close":lt},{footer:vue.withCtx(()=>[vue.createElementVNode("div",null,[vue.createVNode(Ye,{theme:"primary",onClick:st},{default:vue.withCtx(()=>[...De[9]||(De[9]=[vue.createTextVNode(" 确定 ",-1)])]),_:1}),vue.createVNode(Ye,{class:"dialog-cancel-btn",onClick:Ge},{default:vue.withCtx(()=>[...De[10]||(De[10]=[vue.createTextVNode(" 取消 ",-1)])]),_:1})])]),default:vue.withCtx(()=>[vue.createVNode(Xe,{"label-width":70,model:J.value},{default:vue.withCtx(()=>[vue.createVNode(Je,{label:"执行周期",property:"cron"},{default:vue.withCtx(()=>[vue.createVNode(_sfc_main$1I,{ref_key:"cronRuleSelectRef",ref:ae,modelValue:Z.value,"onUpdate:modelValue":De[0]||(De[0]=et=>Z.value=et),class:"loop-rule"},null,8,["modelValue"])]),_:1}),vue.createVNode(Je,{label:"请求参数",property:"params"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$R,[vue.createElementVNode("div",_hoisted_3$E,[vue.createVNode(Ye,{class:vue.normalizeClass(J.value.config.mode==="form"?"is-selected":""),onClick:De[1]||(De[1]=et=>_e("form"))},{default:vue.withCtx(()=>[...De[7]||(De[7]=[vue.createTextVNode(" 表单模式 ",-1)])]),_:1},8,["class"]),vue.createVNode(Ye,{class:vue.normalizeClass(J.value.config.mode==="json"?"is-selected":""),onClick:De[2]||(De[2]=et=>_e("json"))},{default:vue.withCtx(()=>[...De[8]||(De[8]=[vue.createTextVNode(" json模式 ",-1)])]),_:1},8,["class"])]),ue.value?vue.createCommentVNode("",!0):vue.withDirectives((vue.openBlock(),vue.createBlock(vue.unref(icon.ExclamationCircleShape),{key:0,class:"valid-error-tips"},null,512)),[[nt,"请求参数格式不正确,应为JSON格式",void 0,{top:!0}]])]),J.value.config.mode==="form"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$y,[pe.value.length>0?(vue.openBlock(),vue.createBlock(vue.unref(BuiltinVariableUsageForm),{key:0,ref_key:"builtinVariableFormRef",ref:de,modelValue:ie.value,"onUpdate:modelValue":De[3]||(De[3]=et=>ie.value=et),variables:pe.value,editable:Q.editable,onChange:H},null,8,["modelValue","variables","editable"])):vue.createCommentVNode("",!0),fe.value.length>0?(vue.openBlock(),vue.createBlock(RenderForm,{key:1,ref_key:"renderFormRef",ref:se,scheme:fe.value,editable:Q.editable,"form-option":{showRequired:!0,showGroup:!0,showLabel:!1,showHook:!1,showDesc:!0,formEdit:Q.editable},constants:Q.constants,"form-data":ie.value,"is-trigger-config":!0,onChange:$},null,8,["scheme","editable","form-option","constants","form-data"])):vue.createCommentVNode("",!0),pe.value.length<1&&fe.value.length<1?(vue.openBlock(),vue.createBlock(EmptyException,{key:2,class:"empty-placeholder",title:"暂无参数"})):vue.createCommentVNode("",!0)])):(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$o,[vue.createVNode(CodeEditor,{modelValue:ne.value,"onUpdate:modelValue":De[4]||(De[4]=et=>ne.value=et),options:r,onMarkersChange:he},null,8,["modelValue"])]))]),_:1})]),_:1},8,["model"])]),_:1},8,["isShow","title"])])}}}),TriggerConfig=_export_sfc(_sfc_main$1d,[["__scopeId","data-v-f017d69e"]]),_hoisted_1$15={class:"template-settings"},_sfc_main$1c=vue.defineComponent({__name:"index",props:{settings:{},constants:{default:()=>({})},editable:{type:Boolean,default:!0},fetchUserApi:{default:""},spaceId:{default:""},templateId:{default:""},hideTrigger:{type:Boolean,default:!1}},emits:["change"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.ref(lodash$1.cloneDeep(r.settings)),k=vue.ref(),y={name:[{required:!0,message:"请输入流程名称"}]};vue.watch(()=>r.settings,j=>{C.value=lodash$1.cloneDeep(j)});const B=j=>{C.value.notify_config=j,z()},L=j=>{C.value.triggers=j,z()},R=()=>k.value.validate().then(()=>!0).catch(()=>!1),z=()=>{i("change",C.value)};return t({validate:R}),(j,$)=>{const H=vue.resolveComponent("bk-input"),Q=vue.resolveComponent("bk-form-item"),W=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$15,[vue.createVNode(W,{ref_key:"formRef",ref:k,"label-width":140,model:C.value,rules:y},{default:vue.withCtx(()=>[vue.createVNode(SectionContainer,{title:"基础"},{default:vue.withCtx(()=>[vue.createVNode(Q,{label:"流程名称",property:"name",required:!0},{default:vue.withCtx(()=>[vue.createVNode(H,{modelValue:C.value.name,"onUpdate:modelValue":$[0]||($[0]=te=>C.value.name=te),"show-word-limit":"",maxlength:50,disabled:!r.editable,onChange:z},null,8,["modelValue","disabled"])]),_:1})]),_:1}),vue.createVNode(SectionContainer,{title:"通知",desc:"选择通知方式后,将默认通知到任务执行人"},{default:vue.withCtx(()=>[vue.createVNode(NotifyConfigForms,{config:C.value.notify_config,editable:r.editable,"fetch-user-api":r.fetchUserApi,onChange:B},null,8,["config","editable","fetch-user-api"])]),_:1}),r.hideTrigger?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(SectionContainer,{key:0,title:"触发器",desc:"可以通过配置触发器来执行流程任务"},{default:vue.withCtx(()=>[vue.createVNode(TriggerConfig,{triggers:C.value.triggers||[],constants:r.constants,editable:r.editable,"space-id":r.spaceId,"template-id":r.templateId,onChange:L},null,8,["triggers","constants","editable","space-id","template-id"])]),_:1})),vue.createVNode(SectionContainer,{title:"其他"},{default:vue.withCtx(()=>[vue.createVNode(Q,{label:"备注"},{default:vue.withCtx(()=>[vue.createVNode(H,{modelValue:C.value.desc,"onUpdate:modelValue":$[1]||($[1]=te=>C.value.desc=te),type:"textarea",placeholder:"请输入流程模板备注信息",rows:5,resize:!1,disabled:!r.editable,onChange:z},null,8,["modelValue","disabled"])]),_:1})]),_:1})]),_:1},8,["model"])])}}}),Settings=_export_sfc(_sfc_main$1c,[["__scopeId","data-v-bc07b5ab"]]),_hoisted_1$14={class:"basic-setting-slider"},_hoisted_2$Q={class:"sideslider-footer-buttons"},_sfc_main$1b=vue.defineComponent({__name:"index",props:{editable:{type:Boolean,default:!0},show:{type:Boolean},settings:{},constants:{default:()=>({})},fetchUserApi:{default:""},spaceId:{default:""},templateId:{default:""},hideTrigger:{type:Boolean,default:!1}},emits:["change","close","update:show"],setup(e,{emit:t}){const n=e,r=t,i=vue.ref(lodash$1.cloneDeep(n.settings)),C=vue.ref(),k=vue.ref(!1);vue.watch(()=>n.show,z=>{z&&(i.value=lodash$1.cloneDeep(n.settings),k.value=!1)});const y=z=>{i.value=z,k.value=!0},B=async()=>{await C.value?.validate()&&(r("change",i.value),k.value=!1,R())},L=()=>!n.editable||!k.value?(R(),!0):new Promise(z=>{lib.InfoBox({title:"确认离开?",content:"离开将会导致未保存信息丢失",confirmText:"离开",cancelText:"取消",width:320,onConfirm:()=>{R(),z(!0)},onCancel:()=>{z(!1)}})}),R=()=>{r("close"),r("update:show",!1)};return(z,j)=>{const $=vue.resolveComponent("bk-button"),H=vue.resolveComponent("bk-sideslider");return vue.openBlock(),vue.createBlock(H,{title:"基础信息","is-show":n.show,width:800,"quick-close":!0,"esc-close":!1,"before-close":L},{footer:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$Q,[n.editable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode($,{theme:"primary",onClick:B},{default:vue.withCtx(()=>[...j[0]||(j[0]=[vue.createTextVNode("确定",-1)])]),_:1}),vue.createVNode($,{onClick:R},{default:vue.withCtx(()=>[...j[1]||(j[1]=[vue.createTextVNode("取消",-1)])]),_:1})],64)):(vue.openBlock(),vue.createBlock($,{key:1,theme:"primary",onClick:R},{default:vue.withCtx(()=>[...j[2]||(j[2]=[vue.createTextVNode("关闭",-1)])]),_:1}))])]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$14,[vue.createVNode(Settings,{ref_key:"templateSettingsRef",ref:C,settings:i.value,constants:n.constants,editable:n.editable,"fetch-user-api":n.fetchUserApi,"space-id":n.spaceId,"template-id":n.templateId,"hide-trigger":n.hideTrigger,onChange:y},null,8,["settings","constants","editable","fetch-user-api","space-id","template-id","hide-trigger"])])]),_:1},8,["is-show"])}}}),BasicSetting=_export_sfc(_sfc_main$1b,[["__scopeId","data-v-a2a3e0ea"]]),_hoisted_1$13={class:"pipeline-tree-code"},_sfc_main$1a=vue.defineComponent({__name:"pipeline-tree-code",props:{pipelineTree:{}},setup(e){const t=e,n=vue.computed(()=>JSON.stringify(t.pipelineTree,null,4)),r=vue.ref({readOnly:!0,language:"json"});return(i,C)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$13,[vue.createVNode(CodeEditor,{modelValue:n.value,"onUpdate:modelValue":C[0]||(C[0]=k=>n.value=k),options:r.value},null,8,["modelValue","options"])]))}}),PipelineTreeCode=_export_sfc(_sfc_main$1a,[["__scopeId","data-v-d44c06f2"]]),_hoisted_1$12={class:"pipeline-tree-code-slider"},_hoisted_2$P={class:"sideslider-footer-buttons"},_sfc_main$19=vue.defineComponent({__name:"index",props:{show:{type:Boolean},pipelineTree:{},editable:{type:Boolean,default:!0}},emits:["close","update:show"],setup(e,{emit:t}){const n=e,r=t,i=()=>{r("close"),r("update:show",!1)};return(C,k)=>{const y=vue.resolveComponent("bk-button"),B=vue.resolveComponent("bk-sideslider");return vue.openBlock(),vue.createBlock(B,{title:"Code","is-show":n.show,width:800,"esc-close":!1,"before-close":i},{footer:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$P,[vue.createVNode(y,{theme:"primary",onClick:i},{default:vue.withCtx(()=>[...k[0]||(k[0]=[vue.createTextVNode("关闭",-1)])]),_:1})])]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$12,[n.show?(vue.openBlock(),vue.createBlock(PipelineTreeCode,{key:0,"pipeline-tree":n.pipelineTree},null,8,["pipeline-tree"])):vue.createCommentVNode("",!0)])]),_:1},8,["is-show"])}}}),CanvasPipelineTree=_export_sfc(_sfc_main$19,[["__scopeId","data-v-86af1bcd"]]),_hoisted_1$11={class:"flow-info-sliders"},_hoisted_2$O={class:"icon-buttons"},_sfc_main$18=vue.defineComponent({__name:"index",props:{flowData:{},systemVariables:{default:()=>[]},editable:{type:Boolean,default:!0},fetchUserApi:{default:""},enableSimulateDebug:{type:Boolean,default:!1},simulateDebugActive:{type:Boolean,default:!1},simulateDebugOnly:{type:Boolean,default:!1},hideTrigger:{type:Boolean,default:!1}},emits:["change","update-constants","update-outputs","simulate-debug"],setup(e,{expose:t,emit:n}){const r=e,i=window.SPACE_ID,C=vue.computed(()=>r.editable&&!r.simulateDebugActive),k=n,y=vue.ref(!1),B=vue.ref(!1),L=vue.ref(),R=vue.ref({show:!1,settings:{name:"",desc:"",notify_config:{notify_type:{success:[],fail:[]},notify_receivers:{more_receiver:"",receiver_group:[]}},triggers:[]}}),z=vue.ref(!1),j=()=>{const{name:q,desc:G,notify_config:J,triggers:Z}=r.flowData,{notify_type:ne={success:[],fail:[]},notify_receivers:oe={more_receiver:"",receiver_group:[]}}=J;R.value={show:!0,settings:{name:q,desc:G,notify_config:{notify_type:ne,notify_receivers:oe},triggers:Z||[]}}},$=q=>{R.value.settings=q,k("change",{...r.flowData,...q})},H=q=>{k("update-constants",q)},Q=(q,G)=>{const J=[...r.flowData.pipeline_tree.outputs],Z=J.indexOf(q);G?Z===-1&&J.push(q):Z>-1&&J.splice(Z,1),k("update-outputs",J)},W=()=>{B.value=!0},te=(q={})=>{C.value&&(B.value=!0,vue.nextTick(()=>{L.value?.openCreate(q.keyword||"")}))},ee=()=>{r.simulateDebugActive||k("simulate-debug")};return t({openBasicSetting:j,openGlobalVariables:W,openGlobalVariableCreate:te}),(q,G)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$11,[vue.createElementVNode("div",_hoisted_2$O,[vue.createElementVNode("div",{class:"icon-button",onClick:G[0]||(G[0]=J=>B.value=!0)},[...G[7]||(G[7]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-variable"},null,-1),vue.createElementVNode("span",{class:"icon-label"},"全局变量",-1)])]),r.simulateDebugOnly?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",{key:0,class:"icon-button",onClick:j},[...G[8]||(G[8]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-jichuxinxi"},null,-1),vue.createElementVNode("span",{class:"icon-label"},"基础信息",-1)])])),r.simulateDebugOnly?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",{key:1,class:"icon-button",onClick:G[1]||(G[1]=J=>y.value=!0)},[...G[9]||(G[9]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-caozuojilu"},null,-1),vue.createElementVNode("span",{class:"icon-label"},"操作记录",-1)])])),r.simulateDebugOnly?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",{key:2,class:"icon-button",onClick:G[2]||(G[2]=J=>z.value=!0)},[...G[10]||(G[10]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-command"},null,-1),vue.createElementVNode("span",{class:"icon-label"},"Code",-1)])])),r.enableSimulateDebug?(vue.openBlock(),vue.createElementBlock("div",{key:3,class:vue.normalizeClass(["icon-button",{"is-active":r.simulateDebugActive}]),onClick:ee},[...G[11]||(G[11]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-debug"},null,-1),vue.createElementVNode("span",{class:"icon-label"},"模拟调试",-1)])],2)):vue.createCommentVNode("",!0)]),vue.createVNode(OperateRecords,{show:y.value,"onUpdate:show":G[3]||(G[3]=J=>y.value=J),"flow-id":r.flowData.id},null,8,["show","flow-id"]),vue.createVNode(GlobalVariables,{ref_key:"globalVariablesRef",ref:L,show:B.value,"onUpdate:show":G[4]||(G[4]=J=>B.value=J),"flow-data":r.flowData,"system-variables":r.systemVariables,editable:C.value,onOutputChange:Q,onChange:H},null,8,["show","flow-data","system-variables","editable"]),vue.createVNode(BasicSetting,{show:R.value.show,"onUpdate:show":G[5]||(G[5]=J=>R.value.show=J),settings:R.value.settings,constants:r.flowData.pipeline_tree.constants,editable:C.value,"fetch-user-api":r.fetchUserApi,"space-id":vue.unref(i),"template-id":r.flowData.id,"hide-trigger":r.hideTrigger,onChange:$},null,8,["show","settings","constants","editable","fetch-user-api","space-id","template-id","hide-trigger"]),vue.createVNode(CanvasPipelineTree,{show:z.value,"onUpdate:show":G[6]||(G[6]=J=>z.value=J),"pipeline-tree":r.flowData.pipeline_tree,editable:C.value},null,8,["show","pipeline-tree","editable"])]))}}),FlowInfoSliders=_export_sfc(_sfc_main$18,[["__scopeId","data-v-bff21bc0"]]),fenzhiwangguanTips="data:image/png;base64,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",bingxingwangguanTips="data:image/png;base64,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",tiaojianbingxingwangguanTips="data:image/png;base64,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",huijuwangguanTips="data:image/png;base64,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",DEFAULT_DND_NODE_TYPES=[{type:"start-event",label:"开始",icon:"bkflow-canvas-kaishi",disabled:!0,disabledTip:"画布中只能有一个开始节点"},{type:"end-event",label:"结束",icon:"bkflow-canvas-stop",disabled:!0,disabledTip:"画布中只能有一个结束节点"},{type:"task",label:"空节点",icon:"bkflow-canvas-jiedi"},{type:"exclusive-gateway",label:"分支网关",icon:"bkflow-canvas-fenzhiwangguan",tipsImage:fenzhiwangguanTips},{type:"parallel-gateway",label:"并行网关",icon:"bkflow-canvas-bingxingwangguan",tipsImage:bingxingwangguanTips},{type:"conditional-parallel-gateway",label:"条件并行网关",icon:"bkflow-canvas-tiaojianbingxingwangguan",tipsImage:tiaojianbingxingwangguanTips},{type:"converge-gateway",label:"汇聚网关",icon:"bkflow-canvas-huijuwangguan",tipsImage:huijuwangguanTips}],PLACEHOLDER_SIZE={width:240,height:48},DEFAULT_BRANCH_LABEL_POSITION=-84;function getNodeRenderSize(e,t){const n=typeof e=="string"?{id:"",type:e,position:{x:0,y:0},label:""}:e;return t?.nodeTypes?.[n.type]?.getSize?.(n)??PLACEHOLDER_SIZE}function getPlaceholderReplacementPosition(e,t,n){const r=getNodeRenderSize(t,n);return{x:e.position.x,y:e.position.y+(PLACEHOLDER_SIZE.height-r.height)/2}}function buildReplacePlaceholderCommands(e,t,n){const r=[{type:"node.update",nodeId:e.id,patch:{type:t.type,label:t.label??"",position:getPlaceholderReplacementPosition(e,t,n),ports:t.ports}}];return t.payload&&Object.keys(t.payload).length>0&&r.push({type:"node.set-payload",nodeId:e.id,path:[],value:t.payload}),t.extensions&&Object.keys(t.extensions).length>0&&r.push({type:"node.set-extensions",nodeId:e.id,path:[],value:t.extensions}),r}const V1_NODE_SIZE={task:{width:240,height:48},"start-event":{width:88,height:40},"end-event":{width:88,height:40},"exclusive-gateway":{width:64,height:64},"parallel-gateway":{width:64,height:64},"conditional-parallel-gateway":{width:64,height:64},"converge-gateway":{width:64,height:64}},GATEWAY_TYPE_MAP={ExclusiveGateway:"exclusive-gateway",ParallelGateway:"parallel-gateway",ConditionalParallelGateway:"conditional-parallel-gateway",ConvergeGateway:"converge-gateway"};function arrowToPortId(e){return e.toLowerCase()}function buildLocationMap(e){const t=new Map;for(const n of e)t.set(n.id,n);return t}function buildLineMap(e){const t=new Map;for(const n of e)t.set(n.id,n);return t}function importActivity(e,t,n){return{id:e,type:"task",position:n?{x:n.x,y:n.y}:{x:0,y:0},label:n?.name??t.name,payload:{name:t.name,stageName:t.stage_name??"",component:t.component,errorIgnorable:t.error_ignorable,retryable:t.retryable,skippable:t.skippable,autoRetry:t.auto_retry,timeoutConfig:t.timeout_config,incoming:t.incoming,outgoing:t.outgoing,...t.status?{status:t.status}:{},...t.retry!==void 0?{execRetry:t.retry}:{},...t.skip!==void 0?{execSkip:t.skip}:{},...t.error_ignored!==void 0?{execErrorIgnored:t.error_ignored}:{},...t.loop!==void 0?{execLoop:t.loop}:{},...t.phase!==void 0?{execPhase:t.phase}:{}},extensions:n?{locationType:n.type,group:n.group,icon:n.icon}:void 0}}function importGateway(e,t,n){const r=GATEWAY_TYPE_MAP[t.type]??t.type;return{id:e,type:r,position:n?{x:n.x,y:n.y}:{x:0,y:0},label:n?.name??t.name,payload:{name:t.name,gatewayType:t.type,conditions:t.conditions,defaultCondition:t.default_condition,convergeGatewayId:t.converge_gateway_id,extraInfo:t.extra_info,incoming:t.incoming,outgoing:t.outgoing,...t.status?{status:t.status}:{}}}}function importStartEvent(e,t){const{start_event:n}=e;return{id:n.id,type:"start-event",position:t?{x:t.x,y:t.y}:{x:0,y:0},label:n.name||"开始",payload:{name:n.name,outgoing:n.outgoing,...n.status?{status:n.status}:{}}}}function importEndEvent(e,t){const{end_event:n}=e;return{id:n.id,type:"end-event",position:t?{x:t.x,y:t.y}:{x:0,y:0},label:n.name||"结束",payload:{name:n.name,incoming:n.incoming,...n.status?{status:n.status}:{}}}}function resolveFlowLabel(e,t,n){const r=n.gateways[t.source];if(!r)return null;if(r.conditions?.[e]){const i=r.conditions[e];return{id:`label-${e}`,text:i.name||"",position:DEFAULT_BRANCH_LABEL_POSITION}}return t.is_default&&r.default_condition?{id:`label-${e}`,text:r.default_condition.name||"默认",position:DEFAULT_BRANCH_LABEL_POSITION}:null}function importFlow(e,t,n,r){const i=n.get(e),C=i?arrowToPortId(i.source.arrow):void 0,k=i?arrowToPortId(i.target.arrow):void 0,y=resolveFlowLabel(e,t,r);return{id:e,source:{nodeId:t.source,portId:C},target:{nodeId:t.target,portId:k},labels:y?[y]:void 0,payload:{isDefault:t.is_default}}}const LEGACY_SCALE_FACTOR=1.6,OVERLAP_PADDING=20;function migrateAndFixOverlap(e){const t=Object.values(e);if(t.length===0)return e;let n=1/0,r=1/0;for(const C of t)C.position.x<n&&(n=C.position.x),C.position.y<r&&(r=C.position.y);for(const C of t)C.position={x:n+(C.position.x-n)*LEGACY_SCALE_FACTOR,y:r+(C.position.y-r)*LEGACY_SCALE_FACTOR};const i=[...t].sort((C,k)=>C.position.x-k.position.x||C.position.y-k.position.y);for(let C=0;C<i.length;C++){const k=i[C],y=V1_NODE_SIZE[k.type]??{width:240,height:48};for(let B=C+1;B<i.length;B++){const L=i[B],R=V1_NODE_SIZE[L.type]??{width:240,height:48},z=k.position.x<L.position.x+R.width&&k.position.x+y.width>L.position.x,j=k.position.y<L.position.y+R.height&&k.position.y+y.height>L.position.y;z&&j&&(L.position={x:k.position.x+y.width+OVERLAP_PADDING,y:L.position.y})}}return e}function importFromPipelineTree(e){const t=!e.canvas_version,n={},r={},i=buildLocationMap(e.location??[]),C=buildLineMap(e.line??[]);if(e.start_event?.id){const y=i.get(e.start_event.id);n[e.start_event.id]=importStartEvent(e,y)}if(e.end_event?.id){const y=i.get(e.end_event.id);n[e.end_event.id]=importEndEvent(e,y)}for(const[y,B]of Object.entries(e.activities??{})){const L=i.get(y);n[y]=importActivity(y,B,L)}for(const[y,B]of Object.entries(e.gateways??{})){const L=i.get(y);n[y]=importGateway(y,B,L)}const k={gateways:e.gateways??{}};for(const[y,B]of Object.entries(e.flows??{})){if(!n[B.source]||!n[B.target]){console.warn(`[bkflow] Skipping flow "${y}": source or target node missing`);continue}r[y]=importFlow(y,B,C,k)}return{version:"1.0",nodes:t?migrateAndFixOverlap(n):n,edges:r,meta:{variables:e.constants??{},outputs:e.outputs??[]},extensions:{canvasMode:e.canvas_mode??"horizontal",canvasVersion:"v1"}}}const NODE_TYPE_TO_GATEWAY={"exclusive-gateway":"ExclusiveGateway","parallel-gateway":"ParallelGateway","conditional-parallel-gateway":"ConditionalParallelGateway","converge-gateway":"ConvergeGateway"},NODE_TYPE_TO_LOC_TYPE={"start-event":"startpoint","end-event":"endpoint",task:"tasknode","exclusive-gateway":"branchgateway","parallel-gateway":"parallelgateway","conditional-parallel-gateway":"conditionalparallelgateway","converge-gateway":"convergegateway"};function portIdToArrow(e){return e?{top:"Top",right:"Right",bottom:"Bottom",left:"Left",port_top:"Top",port_right:"Right",port_bottom:"Bottom",port_left:"Left"}[e]??"Right":"Right"}function collectIncoming(e,t){return Object.entries(t).filter(([,n])=>n.target.nodeId===e).map(([n])=>n)}function collectOutgoing(e,t){return Object.entries(t).filter(([,n])=>n.source.nodeId===e).map(([n])=>n)}function exportActivity(e,t){const n=e.payload??{},r=collectIncoming(e.id,t),i=collectOutgoing(e.id,t);return{id:e.id,name:n.name??e.label??"",stage_name:n.stageName??"",type:"ServiceActivity",component:n.component??{code:"",data:{},version:""},error_ignorable:n.errorIgnorable??!1,retryable:n.retryable??!0,skippable:n.skippable??!0,auto_retry:n.autoRetry??{enable:!1,interval:0,times:1},timeout_config:n.timeoutConfig??{enable:!1,seconds:10,action:"forced_fail"},incoming:r,outgoing:i[0]??""}}function exportGateway(e,t){const n=e.payload??{},r=NODE_TYPE_TO_GATEWAY[e.type]??n.gatewayType??"ExclusiveGateway",i=collectIncoming(e.id,t),C=collectOutgoing(e.id,t),k={id:e.id,name:n.name??e.label??"",type:r,incoming:i,outgoing:r==="ConvergeGateway"?C[0]??"":C};if(["ExclusiveGateway","ConditionalParallelGateway"].includes(r)){const y=n.conditions??{},B=n.defaultCondition,L=new Set(C),R={};for(const[j,$]of Object.entries(y))L.has(j)&&(R[j]={...$});let z;if(B){const j=B.flow_id;z=!j||L.has(j)?{...B}:void 0}for(const j of C){const $=t[j];if(!$?.labels?.length)continue;const H=$.labels[0].position;H!=null&&(z&&z.flow_id===j?z.loc=H:R[j]&&(R[j]={...R[j],loc:H}))}k.conditions=R,k.default_condition=z,k.extra_info=n.extraInfo??{parse_lang:"boolrule"}}return r!=="ConvergeGateway"&&(k.converge_gateway_id=n.convergeGatewayId??""),k}function exportLocation(e){return{id:e.id,type:NODE_TYPE_TO_LOC_TYPE[e.type]??"tasknode",x:e.position.x,y:e.position.y,name:e.label,...e.extensions?.group?{group:e.extensions.group}:{},...e.extensions?.icon?{icon:e.extensions.icon}:{}}}function exportLine(e,t){return{id:e,source:{arrow:portIdToArrow(t.source.portId),id:t.source.nodeId},target:{arrow:portIdToArrow(t.target.portId),id:t.target.nodeId}}}function exportToPipelineTree(e){const t={},n={},r=[],i=[],C={},k=new Set(Object.values(e.nodes).filter(R=>R.type==="placeholder").map(R=>R.id)),y={};for(const[R,z]of Object.entries(e.edges))k.has(z.source.nodeId)||k.has(z.target.nodeId)||(y[R]=z);let B,L;for(const R of Object.values(e.nodes))if(R.type!=="placeholder")switch(r.push(exportLocation(R)),R.type){case"task":t[R.id]=exportActivity(R,y);break;case"start-event":{const z=collectOutgoing(R.id,y);B={id:R.id,name:R.payload?.name??R.label??"",type:"EmptyStartEvent",incoming:"",outgoing:z[0]??"",labels:[]};break}case"end-event":{const z=collectIncoming(R.id,y),j=collectOutgoing(R.id,y);L={id:R.id,name:R.payload?.name??R.label??"",type:"EmptyEndEvent",incoming:z,outgoing:j[0]??"",labels:[]};break}default:NODE_TYPE_TO_GATEWAY[R.type]&&(n[R.id]=exportGateway(R,y))}for(const[R,z]of Object.entries(y))C[R]={id:R,is_default:z.payload?.isDefault??!1,source:z.source.nodeId,target:z.target.nodeId},i.push(exportLine(R,z));return B||(B={id:"start",name:"",type:"EmptyStartEvent",incoming:"",outgoing:"",labels:[]}),L||(L={id:"end",name:"",type:"EmptyEndEvent",incoming:[],outgoing:"",labels:[]}),{activities:t,gateways:n,flows:C,location:r,line:i,start_event:B,end_event:L,constants:e.meta?.variables??{},outputs:e.meta?.outputs??[],canvas_mode:e.extensions?.canvasMode??"horizontal",canvas_version:"v1"}}function useNodeData(){const e=vue.inject("getNode"),t=vue.inject("getGraph",()=>null),n=vue.ref(e?.()?.getData()??{});let r=null;return vue.onMounted(()=>{const i=e?.();i&&(r=()=>{n.value=i.getData()??{}},i.on("change:data",r))}),vue.onBeforeUnmount(()=>{const i=e?.();i&&r&&i.off("change:data",r)}),{getNode:e,getGraph:t,nodeData:n}}function resolveTaskNodeIconDisplay(e){if(e.payload?.component?.code==="uniform_api"){const n=e.payload?.component?.api_meta?.category?.name??"";return{iconClass:composable.PLUGGIN_GROUP_FONT_CLASS_MAP[n]??composable.PLUGGIN_GROUP_FONT_CLASS_MAP.bkflow}}return{iconClass:composable.PLUGGIN_GROUP_FONT_CLASS_MAP.bkflow}}const BkflowCanvasContextKey=Symbol("BkflowCanvasContext"),EmptyBkflowCanvasContext={},activeContext=vue.shallowRef(EmptyBkflowCanvasContext);function provideBkflowCanvasContext(e){vue.provide(BkflowCanvasContextKey,e);const t=activeContext.value;activeContext.value=e,vue.onScopeDispose(()=>{activeContext.value===e&&(activeContext.value=t)})}function useBkflowCanvasContext(){const e=vue.inject(BkflowCanvasContextKey,null);return e||{get simulateDebug(){return activeContext.value.simulateDebug},get debug(){return activeContext.value.debug}}}const _hoisted_1$10={viewBox:"0 0 20 20",focusable:"false"},_hoisted_2$N=["opacity","transform"],_sfc_main$17=vue.defineComponent({__name:"index",props:{size:{default:14},color:{default:""}},setup(e){const t=[1,.85,.7,.55,.4,.28,.18,.1],n=e,r=vue.computed(()=>({"--bkflow-loading-status-icon-size":typeof n.size=="number"?`${n.size}px`:n.size,color:n.color||void 0}));return(i,C)=>(vue.openBlock(),vue.createElementBlock("span",{class:"bkflow-loading-status-icon",style:vue.normalizeStyle(r.value),"aria-hidden":"true"},[(vue.openBlock(),vue.createElementBlock("svg",_hoisted_1$10,[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(t,(k,y)=>vue.createElementVNode("path",{key:y,d:"M10 1.8V3.2",opacity:k,transform:`rotate(${y*45} 10 10)`},null,8,_hoisted_2$N)),64))]))],4))}}),LoadingStatusIcon=_export_sfc(_sfc_main$17,[["__scopeId","data-v-ebbc1839"]]),_hoisted_1$$={key:0,class:"badge-icon badge-icon--finished bkflow-canvas-icon bkflow-canvas-circle-correct-filled"},_hoisted_2$M={key:1,class:"badge-icon badge-icon--failed bkflow-canvas-icon bkflow-canvas-circle-alert-filled"},_hoisted_3$D={key:2,class:"badge-icon badge-icon--suspended bkflow-canvas-icon bkflow-canvas-clock"},_hoisted_4$x={key:3,class:"badge-icon badge-icon--skip bkflow-canvas-icon bkflow-canvas-skip"},_sfc_main$16=vue.defineComponent({__name:"execution-status-badge",props:{status:{},size:{default:"sm"}},setup(e){const t=e;return(n,r)=>t.status?(vue.openBlock(),vue.createElementBlock("span",{key:0,class:vue.normalizeClass(["bkflow-exec-badge",`is-${t.size}`])},[t.status==="FINISHED"?(vue.openBlock(),vue.createElementBlock("i",_hoisted_1$$)):t.status==="FAILED"?(vue.openBlock(),vue.createElementBlock("i",_hoisted_2$M)):t.status==="SUSPENDED"?(vue.openBlock(),vue.createElementBlock("i",_hoisted_3$D)):t.status==="SKIP"?(vue.openBlock(),vue.createElementBlock("i",_hoisted_4$x)):t.status==="RUNNING"?(vue.openBlock(),vue.createBlock(LoadingStatusIcon,{key:4,class:"badge-icon badge-icon--running",size:18})):vue.createCommentVNode("",!0)],2)):vue.createCommentVNode("",!0)}}),ExecutionStatusBadge=_export_sfc(_sfc_main$16,[["__scopeId","data-v-f48432ca"]]),_hoisted_1$_={class:"bkflow-task-node__content"},_hoisted_2$L={class:"bkflow-task-node__name"},_hoisted_3$C={class:"bkflow-task-node__stag"},_hoisted_4$w={key:1,class:"bkflow-task-node__empty-text"},_hoisted_5$n={key:0,class:"bkflow-task-node__status-badge"},_hoisted_6$i={key:1,class:"bkflow-task-node__flags"},_hoisted_7$c=["checked"],_hoisted_8$9={key:0,class:"flag",title:"自动跳过"},_hoisted_9$8={key:1,class:"flag",title:"手动跳过"},_hoisted_10$8={key:2,class:"flag",title:"失败可重试"},_hoisted_11$8={key:3,class:"flag",title:"自动重试"},_hoisted_12$6={key:2,class:"flag mock-flag",title:"已配置 Mock 数据"},_hoisted_13$4={key:2,class:"bkflow-task-node__exec-info"},_hoisted_14$2=["title"],_hoisted_15$2={key:1,class:"exec-flag exec-flag--skip",title:"已跳过"},_hoisted_16$1={key:2,class:"exec-flag exec-flag--ignored",title:"自动忽略"},_hoisted_17$1=["title"],_sfc_main$15=vue.defineComponent({__name:"task-node",setup(e){const{nodeData:t}=useNodeData(),n=useBkflowCanvasContext(),r=vue.computed(()=>!!t.value.payload?.component?.code),i=vue.computed(()=>String(t.value.id??"")),C=vue.computed(()=>t.value.label||t.value.payload?.name||""),k=vue.computed(()=>t.value.payload?.stageName||t.value.payload?.component?.name||""||"--"),y=vue.computed(()=>{const ce=t.value.payload?.status;return typeof ce=="string"?ce:""}),B=vue.computed(()=>y.value?`is-exec-${y.value.toLowerCase()}`:""),L=vue.computed(()=>t.value._selected===!0),R=vue.computed(()=>resolveTaskNodeIconDisplay(t.value)),z=vue.computed(()=>t.value.payload?.errorIgnorable??!1),j=vue.computed(()=>t.value.payload?.skippable??!1),$=vue.computed(()=>t.value.payload?.retryable??!1),H=vue.computed(()=>t.value.payload?.autoRetry?.enable??!1),Q=vue.computed(()=>z.value||j.value||$.value||H.value),W=vue.computed(()=>Q.value&&!y.value),te=vue.computed(()=>n.simulateDebug),ee=vue.computed(()=>te.value?.stage.value==="mock-config"&&!!i.value&&r.value),q=vue.computed(()=>!!(i.value&&te.value?.isMockSelected(i.value))),G=vue.computed(()=>ee.value&&!q.value),J=vue.computed(()=>i.value?!!(n.debug?.isMockNode(i.value)||te.value?.hasMockConfig(i.value)):!1),Z=vue.computed(()=>W.value||ee.value||J.value),ne=vue.computed(()=>n.debug),oe=vue.computed(()=>!!i.value&&ne.value?.focusedNodeId?.()===i.value),ae=ce=>{ce.stopPropagation(),i.value&&te.value?.toggleMockSelected(i.value)},se=vue.computed(()=>Number(t.value.payload?.execRetry??0)),de=vue.computed(()=>t.value.payload?.execSkip===!0),ge=vue.computed(()=>t.value.payload?.execErrorIgnored===!0),fe=vue.computed(()=>Number(t.value.payload?.execLoop??0)),ie=vue.computed(()=>!!y.value&&(se.value>0||de.value||ge.value||fe.value>1));return(ce,pe)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["bkflow-node bkflow-task-node flow-canvas-highlight-target",[B.value,{"is-unconfigured":!r.value,"is-selected":L.value,"is-debug-focused":oe.value,"is-mock-config":ee.value,"is-mock-config-unselected":G.value,"has-status-badge":!!y.value}]])},[vue.createElementVNode("div",{class:vue.normalizeClass(["bkflow-task-node__icon-area",{"is-placeholder":!r.value}])},[r.value?(vue.openBlock(),vue.createElementBlock("i",{key:0,class:vue.normalizeClass(R.value.iconClass)},null,2)):vue.createCommentVNode("",!0)],2),vue.createElementVNode("div",_hoisted_1$_,[r.value?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createElementVNode("span",_hoisted_2$L,vue.toDisplayString(C.value),1),vue.createElementVNode("span",_hoisted_3$C,vue.toDisplayString(k.value),1)],64)):(vue.openBlock(),vue.createElementBlock("span",_hoisted_4$w,"- 节点未配置 -"))]),y.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$n,[vue.createVNode(ExecutionStatusBadge,{status:y.value,size:"md"},null,8,["status"])])):vue.createCommentVNode("",!0),Z.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_6$i,[ee.value?(vue.openBlock(),vue.createElementBlock("label",{key:0,class:"mock-checkbox",title:"参与模拟调试",onClick:pe[0]||(pe[0]=vue.withModifiers(()=>{},["stop"])),onMousedown:pe[1]||(pe[1]=vue.withModifiers(()=>{},["stop"]))},[vue.createElementVNode("input",{checked:q.value,type:"checkbox",onChange:ae},null,40,_hoisted_7$c),pe[2]||(pe[2]=vue.createElementVNode("span",{class:"mock-checkbox__box"},null,-1))],32)):vue.createCommentVNode("",!0),W.value?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[z.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_8$9,"AS")):vue.createCommentVNode("",!0),j.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_9$8,"MS")):vue.createCommentVNode("",!0),$.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_10$8,"MR")):vue.createCommentVNode("",!0),H.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_11$8,"AR")):vue.createCommentVNode("",!0)],64)):vue.createCommentVNode("",!0),J.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_12$6,"MOCK")):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0),ie.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_13$4,[se.value>0?(vue.openBlock(),vue.createElementBlock("span",{key:0,class:"exec-flag exec-flag--retry",title:`重试 ${se.value} 次`},[pe[3]||(pe[3]=vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-retry"},null,-1)),vue.createTextVNode(vue.toDisplayString(se.value),1)],8,_hoisted_14$2)):vue.createCommentVNode("",!0),de.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_15$2,[...pe[4]||(pe[4]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-skip"},null,-1)])])):vue.createCommentVNode("",!0),ge.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_16$1,[...pe[5]||(pe[5]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-ignored"},null,-1)])])):vue.createCommentVNode("",!0),fe.value>1?(vue.openBlock(),vue.createElementBlock("span",{key:3,class:"exec-flag exec-flag--loop",title:`循环 ${fe.value} 次`},[pe[6]||(pe[6]=vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-loop"},null,-1)),vue.createTextVNode(vue.toDisplayString(fe.value),1)],8,_hoisted_17$1)):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0)],2))}}),TaskNode=_export_sfc(_sfc_main$15,[["__scopeId","data-v-7c6a2f6a"]]),_hoisted_1$Z={class:"bkflow-endpoint-node__label"},_hoisted_2$K={key:1,class:"bkflow-endpoint-node__tooltip"},_hoisted_3$B={class:"bkflow-endpoint-node__tooltip-content"},_sfc_main$14=vue.defineComponent({__name:"circle-node",setup(e){const t={"start-event":"bkflow-canvas-kaishi","end-event":"bkflow-canvas-stop"},n={"start-event":"开始","end-event":"结束"},{getNode:r,getGraph:i,nodeData:C}=useNodeData(),k=vue.computed(()=>C.value.label??n[C.value.type]??""),y=vue.computed(()=>t[C.value.type]??""),B=vue.computed(()=>{const $=C.value.payload?.status;return typeof $=="string"?$:""}),L=vue.computed(()=>B.value?`is-exec-${B.value.toLowerCase()}`:""),R=vue.computed(()=>{const $=r?.();return $?$.getProp?.("draggable")!==!1:!1}),z=vue.computed(()=>{const $=r?.(),H=i?.();if(!$||!H)return!1;try{return H.getConnectedEdges($,{outgoing:!0}).length>0}catch{return!1}}),j=vue.computed(()=>{const $=C.value.type;return $==="end-event"&&R.value?`<结束节点> 仅有一个,
40
+ }`},i=()=>({id:null,name:"定时触发",type:"periodic",is_enabled:!0,is_deleted:!1,space_id:Q.spaceId,template_id:Q.templateId,config:{mode:"form",constants:{},cron:{...n}}}),C=Ue=>`${Ue.minute} ${Ue.hour} ${Ue.day_of_month} ${Ue.month_of_year} ${Ue.day_of_week}`,k=Ue=>{const De=Ue.split(" ");return De.length!==5?null:{minute:De[0],hour:De[1],day_of_month:De[2],month_of_year:De[3],day_of_week:De[4]}},y=Ue=>{const De=Translate(C(Ue));return De.reduce((We,Ye,Re)=>Re===2&&De[2]?`${We}以及当月 ${Ye} `:`${We}${Ye} `,"")},B=useFlowApiConfig(),L=vue.ref(!1),R=async()=>{if(!(!B.fetchControlConfig||!B.checkSpaceConfig))try{const Ue=await B.fetchControlConfig();if(Ue?.allow_multiple_triggers){const{name:De}=Ue.allow_multiple_triggers,We=await B.checkSpaceConfig(Number(Q.spaceId),{name:De});We&&(L.value=We.value==="true")}}catch(Ue){console.error(Ue)}},z=()=>{const Ue={};return Object.values(Q.constants).forEach(De=>{!isBuiltinUsageVariable(De)&&De.show_type==="show"&&"value"in De&&(Ue[De.key]=De.value)}),Ue},j=async()=>{if(!Q.constants||Object.keys(Q.constants).length===0){fe.value=[],ie.value={};return}ie.value=z();const Ue=Object.fromEntries(Object.entries(Q.constants).filter(([,De])=>{if(typeof De!="object"||De===null)return!1;const We=De;return We.source_type==="custom"&&We.show_type==="show"&&!isBuiltinUsageVariable(We)}));if(Object.keys(Ue).length<1){fe.value=[];return}if(!("fetchBkFlowInnerPluginDetail"in B)||typeof B.fetchBkFlowInnerPluginDetail!="function"){fe.value=[];return}try{const De=await getInputFormsFromConstants(B,Ue);fe.value=De}catch(De){console.error(De),fe.value=[]}},$=Ue=>{ie.value={...ie.value,...lodash$1.cloneDeep(Ue)},ce.value=lodash$1.cloneDeep(ie.value)},H=Ue=>{ie.value=lodash$1.cloneDeep(Ue),ce.value=lodash$1.cloneDeep(Ue)};vue.onMounted(()=>{j(),R()});const Q=e,W=t,te=vue.ref(lodash$1.cloneDeep(Q.triggers||[])),ee=vue.ref(!1),q=vue.ref("add"),G=vue.ref(null),J=vue.ref(i()),Z=vue.ref(""),ne=vue.ref(""),oe=vue.ref(!1),ae=vue.ref(),se=vue.ref(),de=vue.ref(),ge=vue.ref(null),fe=vue.shallowRef([]),ie=vue.ref({}),ce=vue.ref({}),pe=vue.computed(()=>Object.values(Q.constants).filter(Ue=>isBuiltinUsageVariable(Ue)));vue.watch(()=>Q.triggers,Ue=>{te.value=lodash$1.cloneDeep(Ue||[])});const le=vue.computed(()=>q.value==="edit"?"修改定时触发器":"添加定时触发器"),ue=vue.computed(()=>{if(J.value.config.mode!=="json")return!0;const Ue=ne.value.trim();if(!Ue)return!0;if(oe.value)return!1;try{const De=JSON.parse(Ue);return De&&["[object Object]","[object Array]"].includes(Object.prototype.toString.call(De))}catch{return!1}}),he=({hasErrors:Ue})=>{oe.value=Ue},ye=()=>{W("change",te.value)},_e=Ue=>{J.value.config.mode=Ue,Ue==="form"?(Object.keys(ce.value).length>0&&(ie.value=lodash$1.cloneDeep(ce.value)),oe.value=!1):Object.keys(ce.value).length>0&&(ne.value=JSON.stringify(ce.value,null,2))},Ne=Ue=>{te.value.splice(Ue,1),W("change",te.value)},be=(Ue,De)=>{q.value="edit",G.value=De,J.value=lodash$1.cloneDeep(Ue),ge.value=lodash$1.cloneDeep(Ue),Z.value=C(Ue.config.cron);const We=Ue.config.constants||{};Ue.config.mode==="json"&&Object.keys(We).length>0?ne.value=JSON.stringify(We,null,2):ne.value="",Ue.config.mode==="form"&&Object.keys(We).length>0?(ie.value=lodash$1.cloneDeep(We),ce.value=lodash$1.cloneDeep(We)):(ie.value=z(),ce.value={}),ee.value=!0},Ae=()=>{q.value="add",G.value=null;const Ue=i();Ue.isNewTrigger=!0,J.value=Ue,ge.value=null,ne.value="",ie.value=z(),ce.value={},Z.value=C(J.value.config.cron),ee.value=!0},Te=()=>{q.value==="edit"&&ge.value&&G.value!==null&&G.value<te.value.length&&(te.value[G.value]=lodash$1.cloneDeep(ge.value)),ge.value=null,oe.value=!1,ce.value={}},Ze=[{label:"触发器",field:"name",width:160,render:({row:Ue})=>vue.createVNode("div",{class:"trigger-name-cell"},[Ue.name,Ue.isNewTrigger&&vue.createVNode("div",{class:"add-new-trigger"},[vue.createTextVNode("new")])])},{label:"执行周期",width:160,render:({row:Ue})=>{let De;return vue.createVNode(vue.resolveComponent("bk-popover"),{content:y(Ue.config.cron),placement:"right-end"},_isSlot(De=C(Ue.config.cron))?De:{default:()=>[De]})}},{label:"启用状态",render:({row:Ue})=>vue.createVNode(vue.resolveComponent("bk-switcher"),{modelValue:Ue.is_enabled,theme:"primary",size:"small",disabled:!Q.editable,onChange:De=>{Ue.is_enabled=De,ye()}},null)},{label:"操作",width:150,render:({row:Ue,index:De})=>vue.createVNode(vue.Fragment,null,[vue.createVNode(vue.resolveComponent("bk-button"),{theme:"primary",text:!0,disabled:!Q.editable,onClick:()=>be(Ue,De)},{default:()=>[vue.createTextVNode("编辑")]}),vue.createVNode(vue.resolveComponent("bk-button"),{class:"trigger-delete-btn",theme:"primary",text:!0,disabled:!Q.editable,onClick:()=>Ne(De)},{default:()=>[vue.createTextVNode("删除")]})])}],lt=()=>(Te(),!0),Ge=()=>{Te(),ee.value=!1},st=async()=>{if(ae.value?.isError)return;const Ue=J.value.config.mode;if(Ue==="json"){if(ne.value.trim()&&(!ue.value||oe.value))return}else if(Ue==="form"){const[Ye,Re]=await Promise.all([de.value&&typeof de.value.validate=="function"?de.value.validate():!0,se.value&&typeof se.value.validate=="function"?se.value.validate():!0]);if(!Ye||!Re)return}const De=k(Z.value);if(De&&(J.value.config.cron=De),Ue==="json"){const Ye=ne.value.trim();J.value.config.constants=Ye?JSON.parse(Ye):{}}else J.value.config.constants=lodash$1.cloneDeep(Object.keys(ce.value).length>0?ce.value:ie.value);const We=lodash$1.cloneDeep(J.value);We.space_id=Q.spaceId,We.template_id=Q.templateId,q.value==="add"?te.value.push(We):G.value!==null&&G.value<te.value.length&&(te.value[G.value]=We),ge.value=null,ee.value=!1,W("change",te.value)};return(Ue,De)=>{const We=vue.resolveComponent("bk-table"),Ye=vue.resolveComponent("bk-button"),Re=vue.resolveComponent("bk-popover"),Je=vue.resolveComponent("bk-form-item"),Xe=vue.resolveComponent("bk-form"),Me=vue.resolveComponent("bk-dialog"),nt=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$16,[vue.createVNode(We,{data:te.value,columns:Ze,border:["outer"]},null,8,["data"]),vue.createVNode(Re,{disabled:L.value,content:"只允许创建一个定时触发器",placement:"top"},{default:vue.withCtx(()=>[vue.createVNode(Ye,{disabled:!Q.editable||!L.value&&te.value.length>=1,theme:"primary",class:"add-trigger-button",outline:!0,onClick:Ae},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(icon.Plus),{class:"add-trigger-icon"}),De[6]||(De[6]=vue.createTextVNode(" 添加定时触发器 ",-1))]),_:1},8,["disabled"])]),_:1},8,["disabled"]),vue.createVNode(Me,{isShow:ee.value,"onUpdate:isShow":De[5]||(De[5]=et=>ee.value=et),"dialog-type":"operation",width:640,"esc-close":!1,"quick-close":!1,"header-align":"left",title:le.value,"before-close":lt},{footer:vue.withCtx(()=>[vue.createElementVNode("div",null,[vue.createVNode(Ye,{theme:"primary",onClick:st},{default:vue.withCtx(()=>[...De[9]||(De[9]=[vue.createTextVNode(" 确定 ",-1)])]),_:1}),vue.createVNode(Ye,{class:"dialog-cancel-btn",onClick:Ge},{default:vue.withCtx(()=>[...De[10]||(De[10]=[vue.createTextVNode(" 取消 ",-1)])]),_:1})])]),default:vue.withCtx(()=>[vue.createVNode(Xe,{"label-width":70,model:J.value},{default:vue.withCtx(()=>[vue.createVNode(Je,{label:"执行周期",property:"cron"},{default:vue.withCtx(()=>[vue.createVNode(_sfc_main$1I,{ref_key:"cronRuleSelectRef",ref:ae,modelValue:Z.value,"onUpdate:modelValue":De[0]||(De[0]=et=>Z.value=et),class:"loop-rule"},null,8,["modelValue"])]),_:1}),vue.createVNode(Je,{label:"请求参数",property:"params"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$R,[vue.createElementVNode("div",_hoisted_3$E,[vue.createVNode(Ye,{class:vue.normalizeClass(J.value.config.mode==="form"?"is-selected":""),onClick:De[1]||(De[1]=et=>_e("form"))},{default:vue.withCtx(()=>[...De[7]||(De[7]=[vue.createTextVNode(" 表单模式 ",-1)])]),_:1},8,["class"]),vue.createVNode(Ye,{class:vue.normalizeClass(J.value.config.mode==="json"?"is-selected":""),onClick:De[2]||(De[2]=et=>_e("json"))},{default:vue.withCtx(()=>[...De[8]||(De[8]=[vue.createTextVNode(" json模式 ",-1)])]),_:1},8,["class"])]),ue.value?vue.createCommentVNode("",!0):vue.withDirectives((vue.openBlock(),vue.createBlock(vue.unref(icon.ExclamationCircleShape),{key:0,class:"valid-error-tips"},null,512)),[[nt,"请求参数格式不正确,应为JSON格式",void 0,{top:!0}]])]),J.value.config.mode==="form"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$y,[pe.value.length>0?(vue.openBlock(),vue.createBlock(vue.unref(BuiltinVariableUsageForm),{key:0,ref_key:"builtinVariableFormRef",ref:de,modelValue:ie.value,"onUpdate:modelValue":De[3]||(De[3]=et=>ie.value=et),variables:pe.value,editable:Q.editable,onChange:H},null,8,["modelValue","variables","editable"])):vue.createCommentVNode("",!0),fe.value.length>0?(vue.openBlock(),vue.createBlock(RenderForm,{key:1,ref_key:"renderFormRef",ref:se,scheme:fe.value,editable:Q.editable,"form-option":{showRequired:!0,showGroup:!0,showLabel:!1,showHook:!1,showDesc:!0,formEdit:Q.editable},constants:Q.constants,"form-data":ie.value,"is-trigger-config":!0,onChange:$},null,8,["scheme","editable","form-option","constants","form-data"])):vue.createCommentVNode("",!0),pe.value.length<1&&fe.value.length<1?(vue.openBlock(),vue.createBlock(EmptyException,{key:2,class:"empty-placeholder",title:"暂无参数"})):vue.createCommentVNode("",!0)])):(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$o,[vue.createVNode(CodeEditor,{modelValue:ne.value,"onUpdate:modelValue":De[4]||(De[4]=et=>ne.value=et),options:r,onMarkersChange:he},null,8,["modelValue"])]))]),_:1})]),_:1},8,["model"])]),_:1},8,["isShow","title"])])}}}),TriggerConfig=_export_sfc(_sfc_main$1d,[["__scopeId","data-v-f017d69e"]]),_hoisted_1$15={class:"template-settings"},_sfc_main$1c=vue.defineComponent({__name:"index",props:{settings:{},constants:{default:()=>({})},editable:{type:Boolean,default:!0},fetchUserApi:{default:""},spaceId:{default:""},templateId:{default:""},hideTrigger:{type:Boolean,default:!1}},emits:["change"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.ref(lodash$1.cloneDeep(r.settings)),k=vue.ref(),y={name:[{required:!0,message:"请输入流程名称"}]};vue.watch(()=>r.settings,j=>{C.value=lodash$1.cloneDeep(j)});const B=j=>{C.value.notify_config=j,z()},L=j=>{C.value.triggers=j,z()},R=()=>k.value.validate().then(()=>!0).catch(()=>!1),z=()=>{i("change",C.value)};return t({validate:R}),(j,$)=>{const H=vue.resolveComponent("bk-input"),Q=vue.resolveComponent("bk-form-item"),W=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$15,[vue.createVNode(W,{ref_key:"formRef",ref:k,"label-width":140,model:C.value,rules:y},{default:vue.withCtx(()=>[vue.createVNode(SectionContainer,{title:"基础"},{default:vue.withCtx(()=>[vue.createVNode(Q,{label:"流程名称",property:"name",required:!0},{default:vue.withCtx(()=>[vue.createVNode(H,{modelValue:C.value.name,"onUpdate:modelValue":$[0]||($[0]=te=>C.value.name=te),"show-word-limit":"",maxlength:50,disabled:!r.editable,onChange:z},null,8,["modelValue","disabled"])]),_:1})]),_:1}),vue.createVNode(SectionContainer,{title:"通知",desc:"选择通知方式后,将默认通知到任务执行人"},{default:vue.withCtx(()=>[vue.createVNode(NotifyConfigForms,{config:C.value.notify_config,editable:r.editable,"fetch-user-api":r.fetchUserApi,onChange:B},null,8,["config","editable","fetch-user-api"])]),_:1}),r.hideTrigger?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(SectionContainer,{key:0,title:"触发器",desc:"可以通过配置触发器来执行流程任务"},{default:vue.withCtx(()=>[vue.createVNode(TriggerConfig,{triggers:C.value.triggers||[],constants:r.constants,editable:r.editable,"space-id":r.spaceId,"template-id":r.templateId,onChange:L},null,8,["triggers","constants","editable","space-id","template-id"])]),_:1})),vue.createVNode(SectionContainer,{title:"其他"},{default:vue.withCtx(()=>[vue.createVNode(Q,{label:"备注"},{default:vue.withCtx(()=>[vue.createVNode(H,{modelValue:C.value.desc,"onUpdate:modelValue":$[1]||($[1]=te=>C.value.desc=te),type:"textarea",placeholder:"请输入流程模板备注信息",rows:5,resize:!1,disabled:!r.editable,onChange:z},null,8,["modelValue","disabled"])]),_:1})]),_:1})]),_:1},8,["model"])])}}}),Settings=_export_sfc(_sfc_main$1c,[["__scopeId","data-v-bc07b5ab"]]),_hoisted_1$14={class:"basic-setting-slider"},_hoisted_2$Q={class:"sideslider-footer-buttons"},_sfc_main$1b=vue.defineComponent({__name:"index",props:{editable:{type:Boolean,default:!0},show:{type:Boolean},settings:{},constants:{default:()=>({})},fetchUserApi:{default:""},spaceId:{default:""},templateId:{default:""},hideTrigger:{type:Boolean,default:!1}},emits:["change","close","update:show"],setup(e,{emit:t}){const n=e,r=t,i=vue.ref(lodash$1.cloneDeep(n.settings)),C=vue.ref(),k=vue.ref(!1);vue.watch(()=>n.show,z=>{z&&(i.value=lodash$1.cloneDeep(n.settings),k.value=!1)});const y=z=>{i.value=z,k.value=!0},B=async()=>{await C.value?.validate()&&(r("change",i.value),k.value=!1,R())},L=()=>!n.editable||!k.value?(R(),!0):new Promise(z=>{lib.InfoBox({title:"确认离开?",content:"离开将会导致未保存信息丢失",confirmText:"离开",cancelText:"取消",width:320,onConfirm:()=>{R(),z(!0)},onCancel:()=>{z(!1)}})}),R=()=>{r("close"),r("update:show",!1)};return(z,j)=>{const $=vue.resolveComponent("bk-button"),H=vue.resolveComponent("bk-sideslider");return vue.openBlock(),vue.createBlock(H,{title:"基础信息","is-show":n.show,width:800,"quick-close":!0,"esc-close":!1,"before-close":L},{footer:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$Q,[n.editable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode($,{theme:"primary",onClick:B},{default:vue.withCtx(()=>[...j[0]||(j[0]=[vue.createTextVNode("确定",-1)])]),_:1}),vue.createVNode($,{onClick:R},{default:vue.withCtx(()=>[...j[1]||(j[1]=[vue.createTextVNode("取消",-1)])]),_:1})],64)):(vue.openBlock(),vue.createBlock($,{key:1,theme:"primary",onClick:R},{default:vue.withCtx(()=>[...j[2]||(j[2]=[vue.createTextVNode("关闭",-1)])]),_:1}))])]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$14,[vue.createVNode(Settings,{ref_key:"templateSettingsRef",ref:C,settings:i.value,constants:n.constants,editable:n.editable,"fetch-user-api":n.fetchUserApi,"space-id":n.spaceId,"template-id":n.templateId,"hide-trigger":n.hideTrigger,onChange:y},null,8,["settings","constants","editable","fetch-user-api","space-id","template-id","hide-trigger"])])]),_:1},8,["is-show"])}}}),BasicSetting=_export_sfc(_sfc_main$1b,[["__scopeId","data-v-a2a3e0ea"]]),_hoisted_1$13={class:"pipeline-tree-code"},_sfc_main$1a=vue.defineComponent({__name:"pipeline-tree-code",props:{pipelineTree:{}},setup(e){const t=e,n=vue.computed(()=>JSON.stringify(t.pipelineTree,null,4)),r=vue.ref({readOnly:!0,language:"json"});return(i,C)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$13,[vue.createVNode(CodeEditor,{modelValue:n.value,"onUpdate:modelValue":C[0]||(C[0]=k=>n.value=k),options:r.value},null,8,["modelValue","options"])]))}}),PipelineTreeCode=_export_sfc(_sfc_main$1a,[["__scopeId","data-v-d44c06f2"]]),_hoisted_1$12={class:"pipeline-tree-code-slider"},_hoisted_2$P={class:"sideslider-footer-buttons"},_sfc_main$19=vue.defineComponent({__name:"index",props:{show:{type:Boolean},pipelineTree:{},editable:{type:Boolean,default:!0}},emits:["close","update:show"],setup(e,{emit:t}){const n=e,r=t,i=()=>{r("close"),r("update:show",!1)};return(C,k)=>{const y=vue.resolveComponent("bk-button"),B=vue.resolveComponent("bk-sideslider");return vue.openBlock(),vue.createBlock(B,{title:"Code","is-show":n.show,width:800,"esc-close":!1,"before-close":i},{footer:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$P,[vue.createVNode(y,{theme:"primary",onClick:i},{default:vue.withCtx(()=>[...k[0]||(k[0]=[vue.createTextVNode("关闭",-1)])]),_:1})])]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$12,[n.show?(vue.openBlock(),vue.createBlock(PipelineTreeCode,{key:0,"pipeline-tree":n.pipelineTree},null,8,["pipeline-tree"])):vue.createCommentVNode("",!0)])]),_:1},8,["is-show"])}}}),CanvasPipelineTree=_export_sfc(_sfc_main$19,[["__scopeId","data-v-86af1bcd"]]),_hoisted_1$11={class:"flow-info-sliders"},_hoisted_2$O={class:"icon-buttons"},_sfc_main$18=vue.defineComponent({__name:"index",props:{flowData:{},systemVariables:{default:()=>[]},editable:{type:Boolean,default:!0},fetchUserApi:{default:""},enableSimulateDebug:{type:Boolean,default:!1},simulateDebugActive:{type:Boolean,default:!1},simulateDebugOnly:{type:Boolean,default:!1},hideTrigger:{type:Boolean,default:!1}},emits:["change","update-constants","update-outputs","simulate-debug"],setup(e,{expose:t,emit:n}){const r=e,i=window.SPACE_ID,C=vue.computed(()=>r.editable&&!r.simulateDebugActive),k=n,y=vue.ref(!1),B=vue.ref(!1),L=vue.ref(),R=vue.ref({show:!1,settings:{name:"",desc:"",notify_config:{notify_type:{success:[],fail:[]},notify_receivers:{more_receiver:"",receiver_group:[]}},triggers:[]}}),z=vue.ref(!1),j=()=>{const{name:q,desc:G,notify_config:J,triggers:Z}=r.flowData,{notify_type:ne={success:[],fail:[]},notify_receivers:oe={more_receiver:"",receiver_group:[]}}=J;R.value={show:!0,settings:{name:q,desc:G,notify_config:{notify_type:ne,notify_receivers:oe},triggers:Z||[]}}},$=q=>{R.value.settings=q,k("change",{...r.flowData,...q})},H=q=>{k("update-constants",q)},Q=(q,G)=>{const J=[...r.flowData.pipeline_tree.outputs],Z=J.indexOf(q);G?Z===-1&&J.push(q):Z>-1&&J.splice(Z,1),k("update-outputs",J)},W=()=>{B.value=!0},te=(q={})=>{C.value&&(B.value=!0,vue.nextTick(()=>{L.value?.openCreate(q.keyword||"")}))},ee=()=>{r.simulateDebugActive||k("simulate-debug")};return t({openBasicSetting:j,openGlobalVariables:W,openGlobalVariableCreate:te}),(q,G)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$11,[vue.createElementVNode("div",_hoisted_2$O,[vue.createElementVNode("div",{class:"icon-button",onClick:G[0]||(G[0]=J=>B.value=!0)},[...G[7]||(G[7]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-variable"},null,-1),vue.createElementVNode("span",{class:"icon-label"},"全局变量",-1)])]),r.simulateDebugOnly?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",{key:0,class:"icon-button",onClick:j},[...G[8]||(G[8]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-jichuxinxi"},null,-1),vue.createElementVNode("span",{class:"icon-label"},"基础信息",-1)])])),r.simulateDebugOnly?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",{key:1,class:"icon-button",onClick:G[1]||(G[1]=J=>y.value=!0)},[...G[9]||(G[9]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-caozuojilu"},null,-1),vue.createElementVNode("span",{class:"icon-label"},"操作记录",-1)])])),r.simulateDebugOnly?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",{key:2,class:"icon-button",onClick:G[2]||(G[2]=J=>z.value=!0)},[...G[10]||(G[10]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-command"},null,-1),vue.createElementVNode("span",{class:"icon-label"},"Code",-1)])])),r.enableSimulateDebug?(vue.openBlock(),vue.createElementBlock("div",{key:3,class:vue.normalizeClass(["icon-button",{"is-active":r.simulateDebugActive}]),onClick:ee},[...G[11]||(G[11]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-debug"},null,-1),vue.createElementVNode("span",{class:"icon-label"},"模拟调试",-1)])],2)):vue.createCommentVNode("",!0)]),vue.createVNode(OperateRecords,{show:y.value,"onUpdate:show":G[3]||(G[3]=J=>y.value=J),"flow-id":r.flowData.id},null,8,["show","flow-id"]),vue.createVNode(GlobalVariables,{ref_key:"globalVariablesRef",ref:L,show:B.value,"onUpdate:show":G[4]||(G[4]=J=>B.value=J),"flow-data":r.flowData,"system-variables":r.systemVariables,editable:C.value,onOutputChange:Q,onChange:H},null,8,["show","flow-data","system-variables","editable"]),vue.createVNode(BasicSetting,{show:R.value.show,"onUpdate:show":G[5]||(G[5]=J=>R.value.show=J),settings:R.value.settings,constants:r.flowData.pipeline_tree.constants,editable:C.value,"fetch-user-api":r.fetchUserApi,"space-id":vue.unref(i),"template-id":r.flowData.id,"hide-trigger":r.hideTrigger,onChange:$},null,8,["show","settings","constants","editable","fetch-user-api","space-id","template-id","hide-trigger"]),vue.createVNode(CanvasPipelineTree,{show:z.value,"onUpdate:show":G[6]||(G[6]=J=>z.value=J),"pipeline-tree":r.flowData.pipeline_tree,editable:C.value},null,8,["show","pipeline-tree","editable"])]))}}),FlowInfoSliders=_export_sfc(_sfc_main$18,[["__scopeId","data-v-bff21bc0"]]),fenzhiwangguanTips="data:image/png;base64,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",bingxingwangguanTips="data:image/png;base64,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",tiaojianbingxingwangguanTips="data:image/png;base64,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",huijuwangguanTips="data:image/png;base64,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",DEFAULT_DND_NODE_TYPES=[{type:"start-event",label:"开始",icon:"bkflow-canvas-kaishi",disabled:!0,disabledTip:"画布中只能有一个开始节点"},{type:"end-event",label:"结束",icon:"bkflow-canvas-stop",disabled:!0,disabledTip:"画布中只能有一个结束节点"},{type:"task",label:"空节点",icon:"bkflow-canvas-jiedi"},{type:"exclusive-gateway",label:"分支网关",icon:"bkflow-canvas-fenzhiwangguan",tipsImage:fenzhiwangguanTips},{type:"parallel-gateway",label:"并行网关",icon:"bkflow-canvas-bingxingwangguan",tipsImage:bingxingwangguanTips},{type:"conditional-parallel-gateway",label:"条件并行网关",icon:"bkflow-canvas-tiaojianbingxingwangguan",tipsImage:tiaojianbingxingwangguanTips},{type:"converge-gateway",label:"汇聚网关",icon:"bkflow-canvas-huijuwangguan",tipsImage:huijuwangguanTips}],PLACEHOLDER_SIZE={width:240,height:48},DEFAULT_BRANCH_LABEL_POSITION=-84;function getNodeRenderSize(e,t){const n=typeof e=="string"?{id:"",type:e,position:{x:0,y:0},label:""}:e;return t?.nodeTypes?.[n.type]?.getSize?.(n)??PLACEHOLDER_SIZE}function getPlaceholderReplacementPosition(e,t,n){const r=getNodeRenderSize(t,n);return{x:e.position.x,y:e.position.y+(PLACEHOLDER_SIZE.height-r.height)/2}}function buildReplacePlaceholderCommands(e,t,n){const r=[{type:"node.update",nodeId:e.id,patch:{type:t.type,label:t.label??"",position:getPlaceholderReplacementPosition(e,t,n),ports:t.ports}}];return t.payload&&Object.keys(t.payload).length>0&&r.push({type:"node.set-payload",nodeId:e.id,path:[],value:t.payload}),t.extensions&&Object.keys(t.extensions).length>0&&r.push({type:"node.set-extensions",nodeId:e.id,path:[],value:t.extensions}),r}const V1_NODE_SIZE={task:{width:240,height:48},"start-event":{width:88,height:40},"end-event":{width:88,height:40},"exclusive-gateway":{width:64,height:64},"parallel-gateway":{width:64,height:64},"conditional-parallel-gateway":{width:64,height:64},"converge-gateway":{width:64,height:64}},GATEWAY_TYPE_MAP={ExclusiveGateway:"exclusive-gateway",ParallelGateway:"parallel-gateway",ConditionalParallelGateway:"conditional-parallel-gateway",ConvergeGateway:"converge-gateway"};function arrowToPortId(e){return e.toLowerCase()}function buildLocationMap(e){const t=new Map;for(const n of e)t.set(n.id,n);return t}function buildLineMap(e){const t=new Map;for(const n of e)t.set(n.id,n);return t}function importActivity(e,t,n){return{id:e,type:"task",position:n?{x:n.x,y:n.y}:{x:0,y:0},label:n?.name??t.name,payload:{name:t.name,stageName:t.stage_name??"",component:t.component,errorIgnorable:t.error_ignorable,retryable:t.retryable,skippable:t.skippable,autoRetry:t.auto_retry,timeoutConfig:t.timeout_config,incoming:t.incoming,outgoing:t.outgoing,...t.status?{status:t.status}:{},...t.retry!==void 0?{execRetry:t.retry}:{},...t.skip!==void 0?{execSkip:t.skip}:{},...t.error_ignored!==void 0?{execErrorIgnored:t.error_ignored}:{},...t.loop!==void 0?{execLoop:t.loop}:{},...t.phase!==void 0?{execPhase:t.phase}:{}},extensions:n?{locationType:n.type,group:n.group,icon:n.icon}:void 0}}function importGateway(e,t,n){const r=GATEWAY_TYPE_MAP[t.type]??t.type;return{id:e,type:r,position:n?{x:n.x,y:n.y}:{x:0,y:0},label:n?.name??t.name,payload:{name:t.name,gatewayType:t.type,conditions:t.conditions,defaultCondition:t.default_condition,convergeGatewayId:t.converge_gateway_id,extraInfo:t.extra_info,incoming:t.incoming,outgoing:t.outgoing,...t.status?{status:t.status}:{}}}}function importStartEvent(e,t){const{start_event:n}=e;return{id:n.id,type:"start-event",position:t?{x:t.x,y:t.y}:{x:0,y:0},label:n.name||"开始",payload:{name:n.name,outgoing:n.outgoing,...n.status?{status:n.status}:{}}}}function importEndEvent(e,t){const{end_event:n}=e;return{id:n.id,type:"end-event",position:t?{x:t.x,y:t.y}:{x:0,y:0},label:n.name||"结束",payload:{name:n.name,incoming:n.incoming,...n.status?{status:n.status}:{}}}}function resolveFlowLabel(e,t,n){const r=n.gateways[t.source];if(!r)return null;if(r.conditions?.[e]){const i=r.conditions[e];return{id:`label-${e}`,text:i.name||"",position:DEFAULT_BRANCH_LABEL_POSITION}}return t.is_default&&r.default_condition?{id:`label-${e}`,text:r.default_condition.name||"默认",position:DEFAULT_BRANCH_LABEL_POSITION}:null}function importFlow(e,t,n,r){const i=n.get(e),C=i?arrowToPortId(i.source.arrow):void 0,k=i?arrowToPortId(i.target.arrow):void 0,y=resolveFlowLabel(e,t,r);return{id:e,source:{nodeId:t.source,portId:C},target:{nodeId:t.target,portId:k},labels:y?[y]:void 0,payload:{isDefault:t.is_default}}}const LEGACY_SCALE_FACTOR=1.6,OVERLAP_PADDING=20;function migrateAndFixOverlap(e){const t=Object.values(e);if(t.length===0)return e;let n=1/0,r=1/0;for(const C of t)C.position.x<n&&(n=C.position.x),C.position.y<r&&(r=C.position.y);for(const C of t)C.position={x:n+(C.position.x-n)*LEGACY_SCALE_FACTOR,y:r+(C.position.y-r)*LEGACY_SCALE_FACTOR};const i=[...t].sort((C,k)=>C.position.x-k.position.x||C.position.y-k.position.y);for(let C=0;C<i.length;C++){const k=i[C],y=V1_NODE_SIZE[k.type]??{width:240,height:48};for(let B=C+1;B<i.length;B++){const L=i[B],R=V1_NODE_SIZE[L.type]??{width:240,height:48},z=k.position.x<L.position.x+R.width&&k.position.x+y.width>L.position.x,j=k.position.y<L.position.y+R.height&&k.position.y+y.height>L.position.y;z&&j&&(L.position={x:k.position.x+y.width+OVERLAP_PADDING,y:L.position.y})}}return e}function importFromPipelineTree(e){const t=!e.canvas_version,n={},r={},i=buildLocationMap(e.location??[]),C=buildLineMap(e.line??[]);if(e.start_event?.id){const y=i.get(e.start_event.id);n[e.start_event.id]=importStartEvent(e,y)}if(e.end_event?.id){const y=i.get(e.end_event.id);n[e.end_event.id]=importEndEvent(e,y)}for(const[y,B]of Object.entries(e.activities??{})){const L=i.get(y);n[y]=importActivity(y,B,L)}for(const[y,B]of Object.entries(e.gateways??{})){const L=i.get(y);n[y]=importGateway(y,B,L)}const k={gateways:e.gateways??{}};for(const[y,B]of Object.entries(e.flows??{})){if(!n[B.source]||!n[B.target]){console.warn(`[bkflow] Skipping flow "${y}": source or target node missing`);continue}r[y]=importFlow(y,B,C,k)}return{version:"1.0",nodes:t?migrateAndFixOverlap(n):n,edges:r,meta:{variables:e.constants??{},outputs:e.outputs??[]},extensions:{canvasMode:e.canvas_mode??"horizontal",canvasVersion:"v1"}}}const NODE_TYPE_TO_GATEWAY={"exclusive-gateway":"ExclusiveGateway","parallel-gateway":"ParallelGateway","conditional-parallel-gateway":"ConditionalParallelGateway","converge-gateway":"ConvergeGateway"},NODE_TYPE_TO_LOC_TYPE={"start-event":"startpoint","end-event":"endpoint",task:"tasknode","exclusive-gateway":"branchgateway","parallel-gateway":"parallelgateway","conditional-parallel-gateway":"conditionalparallelgateway","converge-gateway":"convergegateway"};function portIdToArrow(e){return e?{top:"Top",right:"Right",bottom:"Bottom",left:"Left",port_top:"Top",port_right:"Right",port_bottom:"Bottom",port_left:"Left"}[e]??"Right":"Right"}function collectIncoming(e,t){return Object.entries(t).filter(([,n])=>n.target.nodeId===e).map(([n])=>n)}function collectOutgoing(e,t){return Object.entries(t).filter(([,n])=>n.source.nodeId===e).map(([n])=>n)}function exportActivity(e,t){const n=e.payload??{},r=collectIncoming(e.id,t),i=collectOutgoing(e.id,t);return{id:e.id,name:n.name??e.label??"",stage_name:n.stageName??"",type:"ServiceActivity",component:n.component??{code:"",data:{},version:""},error_ignorable:n.errorIgnorable??!1,retryable:n.retryable??!0,skippable:n.skippable??!0,auto_retry:n.autoRetry??{enable:!1,interval:0,times:1},timeout_config:n.timeoutConfig??{enable:!1,seconds:10,action:"forced_fail"},incoming:r,outgoing:i[0]??""}}function exportGateway(e,t){const n=e.payload??{},r=NODE_TYPE_TO_GATEWAY[e.type]??n.gatewayType??"ExclusiveGateway",i=collectIncoming(e.id,t),C=collectOutgoing(e.id,t),k={id:e.id,name:n.name??e.label??"",type:r,incoming:i,outgoing:r==="ConvergeGateway"?C[0]??"":C};if(["ExclusiveGateway","ConditionalParallelGateway"].includes(r)){const y=n.conditions??{},B=n.defaultCondition,L=new Set(C),R={};for(const[j,$]of Object.entries(y))L.has(j)&&(R[j]={...$});let z;if(B){const j=B.flow_id;z=!j||L.has(j)?{...B}:void 0}for(const j of C){const $=t[j];if(!$?.labels?.length)continue;const H=$.labels[0].position;H!=null&&(z&&z.flow_id===j?z.loc=H:R[j]&&(R[j]={...R[j],loc:H}))}k.conditions=R,k.default_condition=z,k.extra_info=n.extraInfo??{parse_lang:"boolrule"}}return r!=="ConvergeGateway"&&(k.converge_gateway_id=n.convergeGatewayId??""),k}function exportLocation(e){return{id:e.id,type:NODE_TYPE_TO_LOC_TYPE[e.type]??"tasknode",x:e.position.x,y:e.position.y,name:e.label,...e.extensions?.group?{group:e.extensions.group}:{},...e.extensions?.icon?{icon:e.extensions.icon}:{}}}function exportLine(e,t){return{id:e,source:{arrow:portIdToArrow(t.source.portId),id:t.source.nodeId},target:{arrow:portIdToArrow(t.target.portId),id:t.target.nodeId}}}function exportToPipelineTree(e){const t={},n={},r=[],i=[],C={},k=new Set(Object.values(e.nodes).filter(R=>R.type==="placeholder").map(R=>R.id)),y={};for(const[R,z]of Object.entries(e.edges))k.has(z.source.nodeId)||k.has(z.target.nodeId)||(y[R]=z);let B,L;for(const R of Object.values(e.nodes))if(R.type!=="placeholder")switch(r.push(exportLocation(R)),R.type){case"task":t[R.id]=exportActivity(R,y);break;case"start-event":{const z=collectOutgoing(R.id,y);B={id:R.id,name:R.payload?.name??R.label??"",type:"EmptyStartEvent",incoming:"",outgoing:z[0]??"",labels:[]};break}case"end-event":{const z=collectIncoming(R.id,y),j=collectOutgoing(R.id,y);L={id:R.id,name:R.payload?.name??R.label??"",type:"EmptyEndEvent",incoming:z,outgoing:j[0]??"",labels:[]};break}default:NODE_TYPE_TO_GATEWAY[R.type]&&(n[R.id]=exportGateway(R,y))}for(const[R,z]of Object.entries(y))C[R]={id:R,is_default:z.payload?.isDefault??!1,source:z.source.nodeId,target:z.target.nodeId},i.push(exportLine(R,z));return B||(B={id:"start",name:"",type:"EmptyStartEvent",incoming:"",outgoing:"",labels:[]}),L||(L={id:"end",name:"",type:"EmptyEndEvent",incoming:[],outgoing:"",labels:[]}),{activities:t,gateways:n,flows:C,location:r,line:i,start_event:B,end_event:L,constants:e.meta?.variables??{},outputs:e.meta?.outputs??[],canvas_mode:e.extensions?.canvasMode??"horizontal",canvas_version:"v1"}}function useNodeData(){const e=vue.inject("getNode"),t=vue.inject("getGraph",()=>null),n=vue.ref(e?.()?.getData()??{});let r=null;return vue.onMounted(()=>{const i=e?.();i&&(r=()=>{n.value=i.getData()??{}},i.on("change:data",r))}),vue.onBeforeUnmount(()=>{const i=e?.();i&&r&&i.off("change:data",r)}),{getNode:e,getGraph:t,nodeData:n}}function resolveTaskNodeIconDisplay(e){if(e.payload?.component?.code==="uniform_api"){const n=e.payload?.component?.api_meta?.category?.name??"";return{iconClass:composable.PLUGGIN_GROUP_FONT_CLASS_MAP[n]??composable.PLUGGIN_GROUP_FONT_CLASS_MAP.bkflow}}return{iconClass:composable.PLUGGIN_GROUP_FONT_CLASS_MAP.bkflow}}const BkflowCanvasContextKey=Symbol("BkflowCanvasContext"),EmptyBkflowCanvasContext={},activeContext=vue.shallowRef(EmptyBkflowCanvasContext);function provideBkflowCanvasContext(e){vue.provide(BkflowCanvasContextKey,e);const t=activeContext.value;activeContext.value=e,vue.onScopeDispose(()=>{activeContext.value===e&&(activeContext.value=t)})}function useBkflowCanvasContext(){const e=vue.inject(BkflowCanvasContextKey,null);return e||{get simulateDebug(){return activeContext.value.simulateDebug},get debug(){return activeContext.value.debug}}}const _hoisted_1$10={viewBox:"0 0 20 20",focusable:"false"},_hoisted_2$N=["opacity","transform"],_sfc_main$17=vue.defineComponent({__name:"index",props:{size:{default:14},color:{default:""}},setup(e){const t=[1,.85,.7,.55,.4,.28,.18,.1],n=e,r=vue.computed(()=>({"--bkflow-loading-status-icon-size":typeof n.size=="number"?`${n.size}px`:n.size,color:n.color||void 0}));return(i,C)=>(vue.openBlock(),vue.createElementBlock("span",{class:"bkflow-loading-status-icon",style:vue.normalizeStyle(r.value),"aria-hidden":"true"},[(vue.openBlock(),vue.createElementBlock("svg",_hoisted_1$10,[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(t,(k,y)=>vue.createElementVNode("path",{key:y,d:"M10 1.8V3.2",opacity:k,transform:`rotate(${y*45} 10 10)`},null,8,_hoisted_2$N)),64))]))],4))}}),LoadingStatusIcon=_export_sfc(_sfc_main$17,[["__scopeId","data-v-ebbc1839"]]),_hoisted_1$$={key:0,class:"badge-icon badge-icon--finished bkflow-canvas-icon bkflow-canvas-circle-correct-filled"},_hoisted_2$M={key:1,class:"badge-icon badge-icon--failed bkflow-canvas-icon bkflow-canvas-circle-alert-filled"},_hoisted_3$D={key:2,class:"badge-icon badge-icon--suspended bkflow-canvas-icon bkflow-canvas-clock"},_hoisted_4$x={key:3,class:"badge-icon badge-icon--skip bkflow-canvas-icon bkflow-canvas-skip"},_sfc_main$16=vue.defineComponent({__name:"execution-status-badge",props:{status:{},size:{default:"sm"}},setup(e){const t=e;return(n,r)=>t.status?(vue.openBlock(),vue.createElementBlock("span",{key:0,class:vue.normalizeClass(["bkflow-exec-badge",`is-${t.size}`])},[t.status==="FINISHED"?(vue.openBlock(),vue.createElementBlock("i",_hoisted_1$$)):t.status==="FAILED"?(vue.openBlock(),vue.createElementBlock("i",_hoisted_2$M)):t.status==="SUSPENDED"?(vue.openBlock(),vue.createElementBlock("i",_hoisted_3$D)):t.status==="SKIP"?(vue.openBlock(),vue.createElementBlock("i",_hoisted_4$x)):t.status==="RUNNING"?(vue.openBlock(),vue.createBlock(LoadingStatusIcon,{key:4,class:"badge-icon badge-icon--running",size:18})):vue.createCommentVNode("",!0)],2)):vue.createCommentVNode("",!0)}}),ExecutionStatusBadge=_export_sfc(_sfc_main$16,[["__scopeId","data-v-f48432ca"]]),_hoisted_1$_={class:"bkflow-task-node__content"},_hoisted_2$L={class:"bkflow-task-node__name"},_hoisted_3$C={class:"bkflow-task-node__stag"},_hoisted_4$w={key:1,class:"bkflow-task-node__empty-text"},_hoisted_5$n={key:0,class:"bkflow-task-node__status-badge"},_hoisted_6$i={key:1,class:"bkflow-task-node__flags"},_hoisted_7$c=["checked"],_hoisted_8$9={key:0,class:"flag",title:"自动跳过"},_hoisted_9$8={key:1,class:"flag",title:"手动跳过"},_hoisted_10$8={key:2,class:"flag",title:"失败可重试"},_hoisted_11$8={key:3,class:"flag",title:"自动重试"},_hoisted_12$6={key:2,class:"flag mock-flag",title:"已配置 Mock 数据"},_hoisted_13$4={key:2,class:"bkflow-task-node__exec-info"},_hoisted_14$2=["title"],_hoisted_15$2={key:1,class:"exec-flag exec-flag--skip",title:"已跳过"},_hoisted_16$1={key:2,class:"exec-flag exec-flag--ignored",title:"自动忽略"},_hoisted_17$1=["title"],_sfc_main$15=vue.defineComponent({__name:"task-node",setup(e){const{nodeData:t}=useNodeData(),n=useBkflowCanvasContext(),r=vue.computed(()=>!!t.value.payload?.component?.code),i=vue.computed(()=>String(t.value.id??"")),C=vue.computed(()=>t.value.label||t.value.payload?.name||""),k=vue.computed(()=>t.value.payload?.stageName||t.value.payload?.component?.name||""||"--"),y=vue.computed(()=>{const ce=t.value.payload?.status;return typeof ce=="string"?ce:""}),B=vue.computed(()=>y.value?`is-exec-${y.value.toLowerCase()}`:""),L=vue.computed(()=>t.value._selected===!0),R=vue.computed(()=>resolveTaskNodeIconDisplay(t.value)),z=vue.computed(()=>t.value.payload?.errorIgnorable??!1),j=vue.computed(()=>t.value.payload?.skippable??!1),$=vue.computed(()=>t.value.payload?.retryable??!1),H=vue.computed(()=>t.value.payload?.autoRetry?.enable??!1),Q=vue.computed(()=>z.value||j.value||$.value||H.value),W=vue.computed(()=>Q.value&&!y.value),te=vue.computed(()=>n.simulateDebug),ee=vue.computed(()=>te.value?.stage.value==="mock-config"&&!!i.value&&r.value),q=vue.computed(()=>!!(i.value&&te.value?.isMockSelected(i.value))),G=vue.computed(()=>ee.value&&!q.value),J=vue.computed(()=>i.value?!!(n.debug?.isMockNode(i.value)||te.value?.hasMockConfig(i.value)):!1),Z=vue.computed(()=>W.value||ee.value||J.value),ne=vue.computed(()=>n.debug),oe=vue.computed(()=>!!i.value&&ne.value?.focusedNodeId?.()===i.value),ae=ce=>{ce.stopPropagation(),i.value&&te.value?.toggleMockSelected(i.value)},se=vue.computed(()=>Number(t.value.payload?.execRetry??0)),de=vue.computed(()=>t.value.payload?.execSkip===!0),ge=vue.computed(()=>t.value.payload?.execErrorIgnored===!0),fe=vue.computed(()=>Number(t.value.payload?.execLoop??0)),ie=vue.computed(()=>!!y.value&&(se.value>0||de.value||ge.value||fe.value>1));return(ce,pe)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["bkflow-node bkflow-task-node flow-canvas-highlight-target",[B.value,{"is-unconfigured":!r.value,"is-selected":L.value,"is-debug-focused":oe.value,"is-mock-config":ee.value,"is-mock-config-unselected":G.value,"has-status-badge":!!y.value}]])},[vue.createElementVNode("div",{class:vue.normalizeClass(["bkflow-task-node__icon-area",{"is-placeholder":!r.value}])},[r.value?(vue.openBlock(),vue.createElementBlock("i",{key:0,class:vue.normalizeClass(R.value.iconClass)},null,2)):vue.createCommentVNode("",!0)],2),vue.createElementVNode("div",_hoisted_1$_,[r.value?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createElementVNode("span",_hoisted_2$L,vue.toDisplayString(C.value),1),vue.createElementVNode("span",_hoisted_3$C,vue.toDisplayString(k.value),1)],64)):(vue.openBlock(),vue.createElementBlock("span",_hoisted_4$w,"- 节点未配置 -"))]),y.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$n,[vue.createVNode(ExecutionStatusBadge,{status:y.value,size:"md"},null,8,["status"])])):vue.createCommentVNode("",!0),Z.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_6$i,[ee.value?(vue.openBlock(),vue.createElementBlock("label",{key:0,class:"mock-checkbox",title:"参与模拟调试",onClick:pe[0]||(pe[0]=vue.withModifiers(()=>{},["stop"])),onMousedown:pe[1]||(pe[1]=vue.withModifiers(()=>{},["stop"]))},[vue.createElementVNode("input",{checked:q.value,type:"checkbox",onChange:ae},null,40,_hoisted_7$c),pe[2]||(pe[2]=vue.createElementVNode("span",{class:"mock-checkbox__box"},null,-1))],32)):vue.createCommentVNode("",!0),W.value?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[z.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_8$9,"AS")):vue.createCommentVNode("",!0),j.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_9$8,"MS")):vue.createCommentVNode("",!0),$.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_10$8,"MR")):vue.createCommentVNode("",!0),H.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_11$8,"AR")):vue.createCommentVNode("",!0)],64)):vue.createCommentVNode("",!0),J.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_12$6,"MOCK")):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0),ie.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_13$4,[se.value>0?(vue.openBlock(),vue.createElementBlock("span",{key:0,class:"exec-flag exec-flag--retry",title:`重试 ${se.value} 次`},[pe[3]||(pe[3]=vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-retry"},null,-1)),vue.createTextVNode(vue.toDisplayString(se.value),1)],8,_hoisted_14$2)):vue.createCommentVNode("",!0),de.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_15$2,[...pe[4]||(pe[4]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-skip"},null,-1)])])):vue.createCommentVNode("",!0),ge.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_16$1,[...pe[5]||(pe[5]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-ignored"},null,-1)])])):vue.createCommentVNode("",!0),fe.value>1?(vue.openBlock(),vue.createElementBlock("span",{key:3,class:"exec-flag exec-flag--loop",title:`循环 ${fe.value} 次`},[pe[6]||(pe[6]=vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-loop"},null,-1)),vue.createTextVNode(vue.toDisplayString(fe.value),1)],8,_hoisted_17$1)):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0)],2))}}),TaskNode=_export_sfc(_sfc_main$15,[["__scopeId","data-v-1107e7e6"]]),_hoisted_1$Z={class:"bkflow-endpoint-node__label"},_hoisted_2$K={key:1,class:"bkflow-endpoint-node__tooltip"},_hoisted_3$B={class:"bkflow-endpoint-node__tooltip-content"},_sfc_main$14=vue.defineComponent({__name:"circle-node",setup(e){const t={"start-event":"bkflow-canvas-kaishi","end-event":"bkflow-canvas-stop"},n={"start-event":"开始","end-event":"结束"},{getNode:r,getGraph:i,nodeData:C}=useNodeData(),k=vue.computed(()=>C.value.label??n[C.value.type]??""),y=vue.computed(()=>t[C.value.type]??""),B=vue.computed(()=>{const $=C.value.payload?.status;return typeof $=="string"?$:""}),L=vue.computed(()=>B.value?`is-exec-${B.value.toLowerCase()}`:""),R=vue.computed(()=>{const $=r?.();return $?$.getProp?.("draggable")!==!1:!1}),z=vue.computed(()=>{const $=r?.(),H=i?.();if(!$||!H)return!1;try{return H.getConnectedEdges($,{outgoing:!0}).length>0}catch{return!1}}),j=vue.computed(()=>{const $=C.value.type;return $==="end-event"&&R.value?`<结束节点> 仅有一个,
41
41
  请从其他节点连线至 <结束节点>`:$==="start-event"&&R.value&&z.value?`<开始节点> 仅有一个,
42
42
  该节点后只能添加一个节点`:""});return($,H)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["bkflow-node bkflow-endpoint-node flow-canvas-highlight-target",L.value])},[y.value?(vue.openBlock(),vue.createElementBlock("i",{key:0,class:vue.normalizeClass([["bkflow-canvas-icon",y.value],"bkflow-endpoint-node__icon"])},null,2)):vue.createCommentVNode("",!0),vue.createElementVNode("span",_hoisted_1$Z,vue.toDisplayString(k.value),1),j.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$K,[vue.createElementVNode("div",_hoisted_3$B,vue.toDisplayString(j.value),1),H[0]||(H[0]=vue.createElementVNode("div",{class:"bkflow-endpoint-node__tooltip-arrow"},null,-1))])):vue.createCommentVNode("",!0)],2))}}),CircleNode=_export_sfc(_sfc_main$14,[["__scopeId","data-v-b61d62e1"]]),_hoisted_1$Y={class:"bkflow-gateway-node__diamond flow-canvas-highlight-target"},_hoisted_2$J=["title"],_sfc_main$13=vue.defineComponent({__name:"gateway-node",setup(e){const t={"exclusive-gateway":"分支网关","parallel-gateway":"并行网关","conditional-parallel-gateway":"条件并行网关","converge-gateway":"汇聚网关"},n={"exclusive-gateway":"bkflow-canvas-icon bkflow-canvas-fenzhiwangguan","parallel-gateway":"bkflow-canvas-icon bkflow-canvas-bingxingwangguan","conditional-parallel-gateway":"bkflow-canvas-icon bkflow-canvas-tiaojianbingxingwangguan","converge-gateway":"bkflow-canvas-icon bkflow-canvas-huijuwangguan"},{nodeData:r}=useNodeData(),i=vue.computed(()=>"_dndSessionId"in r.value),C=vue.computed(()=>r.value.label||r.value.payload?.name||t[r.value.type]||""),k=vue.computed(()=>n[r.value.type]??""),y=vue.computed(()=>{const R=r.value.payload?.status;return typeof R=="string"?R:""}),B=vue.computed(()=>y.value?`is-exec-${y.value.toLowerCase()}`:""),L=vue.computed(()=>r.value._selected===!0);return(R,z)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["bkflow-node bkflow-gateway-node",[B.value,{"is-selected":L.value}]])},[vue.createElementVNode("div",_hoisted_1$Y,[vue.createElementVNode("i",{class:vue.normalizeClass(k.value)},null,2)]),i.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("span",{key:0,class:"bkflow-gateway-node__label",title:C.value},vue.toDisplayString(C.value),9,_hoisted_2$J))],2))}}),GatewayNode=_export_sfc(_sfc_main$13,[["__scopeId","data-v-a0178903"]]),_hoisted_1$X={class:"bkflow-node bkflow-placeholder-node flow-canvas-highlight-target"},_sfc_main$12=vue.defineComponent({__name:"placeholder-node",setup(e){return useNodeData(),(t,n)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$X,[...n[0]||(n[0]=[vue.createElementVNode("span",{class:"bkflow-placeholder-node__text"},"点击 / 拖拽添加",-1)])]))}}),PlaceholderNode=_export_sfc(_sfc_main$12,[["__scopeId","data-v-86b43fa9"]]),READONLY_BASE={draggable:!1,connectable:!1,showPorts:!1},EDITABLE_TASK_BASE={draggable:!0,connectable:!0,showPorts:!1,showActions:!0,deletable:!0,quickAddEnabled:!0};function getStartEventBehavior(e,t){if(t.mode!=="edit")return{...READONLY_BASE,showActions:!1,deletable:!1,quickAddEnabled:!1,selectable:!1};const n=Object.values(t.flowModel.edges).some(r=>r.source.nodeId===e.id);return{draggable:!0,showActions:!1,deletable:!1,selectable:!1,quickAddEnabled:!n,connectable:!n,showPorts:!n,targetable:!1}}function getEndEventBehavior(e,t){return t.mode!=="edit"?{...READONLY_BASE,showActions:!1,deletable:!1,quickAddEnabled:!1,selectable:!1}:{draggable:!0,showActions:!1,deletable:!1,selectable:!1,quickAddEnabled:!1,connectable:!1,showPorts:!1}}function isTaskConfigured(e){return!!e.payload?.component?.code}function getTaskBehavior(e,t){const n={showActions:!0,debuggable:!0,debugDisabled:!isTaskConfigured(e)};return t.mode!=="edit"?{...READONLY_BASE,...n}:{...EDITABLE_TASK_BASE,...n}}const MOCK_CONFIG_BEHAVIOR={draggable:!1,connectable:!1,showPorts:!1,showActions:!1,deletable:!1,quickAddEnabled:!1};function withMockConfigLock(e,t,n){return(r,i)=>e?.getBusinessMode?.()==="mock-config"?{...MOCK_CONFIG_BEHAVIOR,selectable:n==="task"}:t(r,i)}const GATEWAY_ACTIONS_OFFSET={x:-10,y:-20},BASE_NODE_CELL_CONFIG={zIndex:1};function getGatewayBehavior(e,t){return t.mode!=="edit"?{...READONLY_BASE,debuggable:!1}:{...EDITABLE_TASK_BASE,debuggable:!1,actionsOffset:GATEWAY_ACTIONS_OFFSET}}function getPlaceholderBehavior(e,t){return t.mode!=="edit"?{...READONLY_BASE,showActions:!1,quickAddEnabled:!1}:{showActions:!1,deletable:!1,quickAddEnabled:!0,connectable:!0,draggable:!0,bringToFrontOnDrag:!1,hidePortForQuickAdd:!1}}const GATEWAY_CELL_CONFIG={zIndex:1,attrs:{fo:{overflow:"visible"}}},PLACEHOLDER_CELL_CONFIG={zIndex:0},EDGE_LABEL_CONFIG={markup:[{tagName:"rect",selector:"body"},{tagName:"text",selector:"label"}],attrs:{body:{ref:"label",refX:-12,refY:"-50%",refWidth:24,refHeight:"200%",rx:14,ry:14,fill:"#FAF3E6",stroke:"#c1cadb",strokeWidth:1,pointerEvents:"visiblePainted"},label:{fill:"#84796f",fontSize:12,fontWeight:500,lineHeight:16,textAnchor:"middle",textVerticalAnchor:"middle",pointerEvents:"visiblePainted",cursor:"pointer",textWrap:{width:96,height:16,ellipsis:!0}}}};function withLabelStyle(e){return{...e,labelDraggable:!0,x6EdgeConfig:{...e.x6EdgeConfig??{},defaultLabel:EDGE_LABEL_CONFIG}}}function createBkflowSchema(e){const t=flowCanvas.createBuiltinEdgeTypes();return{nodeTypes:{task:{component:TaskNode,getSize:()=>({width:240,height:48}),getBehavior:withMockConfigLock(e,getTaskBehavior,"task"),x6CellConfig:BASE_NODE_CELL_CONFIG},"start-event":{component:CircleNode,getSize:()=>({width:88,height:40}),getBehavior:withMockConfigLock(e,getStartEventBehavior,"event"),x6CellConfig:BASE_NODE_CELL_CONFIG},"end-event":{component:CircleNode,getSize:()=>({width:88,height:40}),getBehavior:withMockConfigLock(e,getEndEventBehavior,"event"),x6CellConfig:BASE_NODE_CELL_CONFIG},"exclusive-gateway":{component:GatewayNode,getSize:()=>({width:64,height:64}),getBehavior:withMockConfigLock(e,getGatewayBehavior,"gateway"),x6CellConfig:GATEWAY_CELL_CONFIG},"parallel-gateway":{component:GatewayNode,getSize:()=>({width:64,height:64}),getBehavior:withMockConfigLock(e,getGatewayBehavior,"gateway"),x6CellConfig:GATEWAY_CELL_CONFIG},"conditional-parallel-gateway":{component:GatewayNode,getSize:()=>({width:64,height:64}),getBehavior:withMockConfigLock(e,getGatewayBehavior,"gateway"),x6CellConfig:GATEWAY_CELL_CONFIG},"converge-gateway":{component:GatewayNode,getSize:()=>({width:64,height:64}),getBehavior:withMockConfigLock(e,getGatewayBehavior,"gateway"),x6CellConfig:GATEWAY_CELL_CONFIG},placeholder:{component:PlaceholderNode,getSize:()=>({width:240,height:48}),getBehavior:withMockConfigLock(e,getPlaceholderBehavior,"placeholder"),x6CellConfig:PLACEHOLDER_CELL_CONFIG}},edgeTypes:{default:withLabelStyle(t.manhattan),manhattan:withLabelStyle(t.manhattan),bezier:withLabelStyle(t.bezier)},defaultEdgeType:"default"}}const CONDITION_GATEWAY_TYPES=new Set(["exclusive-gateway","conditional-parallel-gateway"]),BRANCHING_GATEWAY_TYPES=new Set(["exclusive-gateway","parallel-gateway","conditional-parallel-gateway"]),GATEWAY_SIZE={width:64,height:64},BRANCH_GAP_X=150,BRANCH_GAP_Y=80,DEFAULT_PORT_STYLE={r:6,fill:"#3a84ff",stroke:"#fff",strokeWidth:1},CONNECTING_PORT_STYLE={r:5,fill:"#ffffff",stroke:"#3a84ff",strokeWidth:2};function setNodePortStyle(e,t){for(const n of e.getPorts())if(n.id)for(const[r,i]of Object.entries(t))e.setPortProp(n.id,`attrs/circle/${r}`,i)}function setVisiblePortStyle(e,t){for(const n of e)for(const r of n.getPorts())if(r.id&&n.getPortProp(r.id,"attrs/circle/visibility")==="visible")for(const[i,C]of Object.entries(t))n.setPortProp(r.id,`attrs/circle/${i}`,C)}function buildGatewayGroupCommands(e,t){const n=[],r=e.position.x,C=e.position.y+GATEWAY_SIZE.height/2,k=r+GATEWAY_SIZE.width+BRANCH_GAP_X,y=t("node"),B=t("node"),L=t("edge"),R=t("edge"),z=C-BRANCH_GAP_Y/2-PLACEHOLDER_SIZE.height,j=C+BRANCH_GAP_Y/2;n.push({type:"node.add",node:{id:y,type:"placeholder",position:{x:k,y:z},label:""}},{type:"node.add",node:{id:B,type:"placeholder",position:{x:k,y:j},label:""}});const $=CONDITION_GATEWAY_TYPES.has(e.type),H=$?[{id:`label-${L}`,text:"条件1",position:DEFAULT_BRANCH_LABEL_POSITION}]:void 0,Q=$?[{id:`label-${R}`,text:"条件2",position:DEFAULT_BRANCH_LABEL_POSITION}]:void 0;return n.push({type:"edge.add",edge:{id:L,source:{nodeId:e.id,portId:"top"},target:{nodeId:y,portId:"left"},labels:H,payload:$?{isDefault:!0}:void 0}}),n.push({type:"edge.add",edge:{id:R,source:{nodeId:e.id,portId:"bottom"},target:{nodeId:B,portId:"left"},labels:Q}}),$&&n.push({type:"node.set-payload",nodeId:e.id,path:["defaultCondition"],value:{name:"条件1",tag:"branch_condition",flow_id:L,loc:DEFAULT_BRANCH_LABEL_POSITION}},{type:"node.set-payload",nodeId:e.id,path:["conditions",R],value:{name:"条件2",tag:"branch_condition",evaluate:"",loc:DEFAULT_BRANCH_LABEL_POSITION}}),n}function getNextConditionName(e){const t=e.payload??{},n=t.conditions??{},r=t.defaultCondition,i=new Set;r?.name&&i.add(r.name);for(const k of Object.values(n))k?.name&&i.add(k.name);let C=1;for(;i.has(`条件${C}`);)C++;return`条件${C}`}function isIsolatedNode(e,t){return!Object.values(t.edges).some(n=>n.source.nodeId===e||n.target.nodeId===e)}function findOverlappingPlaceholder(e,t){const n=e.x+e.width/2,r=e.y+e.height/2;for(const i of Object.values(t.nodes)){if(i.type!=="placeholder")continue;const C=i.position.x+PLACEHOLDER_SIZE.width/2,k=i.position.y+PLACEHOLDER_SIZE.height/2,y=Math.abs(n-C),B=Math.abs(r-k);if(y<(e.width+PLACEHOLDER_SIZE.width)/2&&B<(e.height+PLACEHOLDER_SIZE.height)/2)return i}return null}function buildVariableCleanupCommand(e,t){if(t.size===0)return null;const n=e.meta?.variables??{};if(Object.keys(n).length===0)return null;let r=!1;const i={};for(const[C,k]of Object.entries(n)){if((k.source_type==="component_inputs"||k.source_type==="component_outputs")&&k.source_info){let B=k.source_info,L=!1;for(const R of t)R in B&&(L||(B={...B},L=!0),delete B[R]);if(L){if(r=!0,Object.keys(B).length===0)continue;i[C]={...k,source_info:B};continue}}i[C]=k}return r?{type:"model.set-meta",path:["variables"],value:i}:null}function createBkflowPlugin(){let e=[];return{name:"bkflow",priority:50,attachRuntime(t){e.forEach(B=>B()),e=[];let n=null;const{graph:r}=t,i=({edge:B})=>{B.getTargetCell()||(n=B.id,queueMicrotask(()=>{n===B.id&&setVisiblePortStyle(r.getNodes(),CONNECTING_PORT_STYLE)}))},C=()=>{for(const B of r.getNodes())setNodePortStyle(B,DEFAULT_PORT_STYLE)},k=()=>{n=null,C()},y=({edge:B})=>{B.id===n&&(n=null,C())};r.on("edge:added",i),r.on("edge:connected",k),r.on("edge:removed",y),e.push(()=>r.off("edge:added",i),()=>r.off("edge:connected",k),()=>r.off("edge:removed",y))},detachRuntime(){e.forEach(t=>t()),e=[]},transformCommand(t,n,r){const i=[],C=r.flowModel.value,k=t,y=new Set(k.commands.filter($=>$.type==="node.remove").map($=>$.nodeId)),B=new Set,L=$=>{y.has($)||B.has($)||(i.push({type:"node.remove",nodeId:$}),B.add($))},R=$=>!y.has($);if(k.source==="user:edge-drop"){const $=k.commands.find(ee=>ee.type==="edge.remove"),H=k.commands.filter(ee=>ee.type==="edge.add"),Q=k.commands.find(ee=>ee.type==="node.add"),W=k.commands.find(ee=>ee.type==="node.move"),te=Q??W;if(te){const ee=te.type==="node.add"?te.node.position:te.position,q=te.type==="node.add"?te.node:C.nodes[te.nodeId];if(q){const G=getNodeRenderSize(q,r.schema),J=findOverlappingPlaceholder({x:ee.x,y:ee.y,width:G.width,height:G.height},C);if(J){const Z=k.commands.filter(oe=>oe.type!=="edge.remove"&&oe.type!=="edge.add"),ne=[];if(te.type==="node.add"){ne.push(...buildReplacePlaceholderCommands(J,te.node,r.schema));const oe=Z.filter(ae=>ae!==te);return{...k,source:"user:drag",commands:[...oe,...ne]}}else{const oe=C.nodes[te.nodeId];if(oe&&oe.type!=="placeholder"&&isIsolatedNode(te.nodeId,C)){const ae={...oe,position:te.position};ne.push(...buildReplacePlaceholderCommands(J,ae,r.schema)),ne.push({type:"node.remove",nodeId:te.nodeId});const se=Z.filter(de=>de!==te);return{...k,source:"user:drag",commands:[...se,...ne]}}}}}}if($&&H.length===2){const ee=C.edges[$.edgeId];if(ee){const q=H.find(G=>G.edge.source.nodeId===ee.source.nodeId);if(q){const G=q.edge.id,J=$.edgeId;ee.labels?.length&&(q.edge.labels=ee.labels.map(ne=>({...ne,id:ne.id.replace(J,G)}))),ee.payload?.isDefault&&(q.edge.payload={...q.edge.payload,isDefault:!0});const Z=C.nodes[ee.source.nodeId];if(Z&&CONDITION_GATEWAY_TYPES.has(Z.type)){const ne=Z.payload??{},oe=ne.conditions,ae=ne.defaultCondition;ae?.flow_id===J?i.push({type:"node.set-payload",nodeId:Z.id,path:["defaultCondition"],value:{...ae,flow_id:G}}):oe?.[J]&&i.push({type:"node.set-payload",nodeId:Z.id,path:["conditions",G],value:oe[J]},{type:"node.set-payload",nodeId:Z.id,path:["conditions",J],value:void 0})}}}}return i.length?{...k,commands:[...k.commands,...i]}:k}if(k.source==="user:drag"){let $=!1;const Q=k.commands.map(W=>{if(W.type!=="node.add")return W;const te=getNodeRenderSize(W.node,r.schema),ee=findOverlappingPlaceholder({x:W.node.position.x,y:W.node.position.y,width:te.width,height:te.height},C);return ee?($=!0,i.push(...buildReplacePlaceholderCommands(ee,W.node,r.schema)),null):(BRANCHING_GATEWAY_TYPES.has(W.node.type)&&i.push(...buildGatewayGroupCommands(W.node,r.idGenerator)),W)}).map(W=>{if(!W||W.type!=="node.move")return W;const te=C.nodes[W.nodeId];if(!te||te.type==="placeholder"||!isIsolatedNode(W.nodeId,C))return W;const ee={...te,position:W.position},q=getNodeRenderSize(ee,r.schema),G=findOverlappingPlaceholder({x:W.position.x,y:W.position.y,width:q.width,height:q.height},C);return!G||G.id===W.nodeId?W:($=!0,i.push(...buildReplacePlaceholderCommands(G,ee,r.schema)),L(W.nodeId),null)});if($){const W=Q.filter(te=>te!==null);return{...k,commands:[...W,...i]}}}for(const $ of k.commands){if($.type==="edge.add"){const Q=n.previewFlowModel(k.commands).nodes[$.edge.source.nodeId];if(Q&&CONDITION_GATEWAY_TYPES.has(Q.type)){const W=getNextConditionName(Q);$.edge.labels?.length||($.edge.labels=[{id:`label-${$.edge.id}`,text:W,position:DEFAULT_BRANCH_LABEL_POSITION}]),i.push({type:"node.set-payload",nodeId:Q.id,path:["conditions",$.edge.id],value:{name:W,tag:"branch_condition",evaluate:""}})}}if($.type==="edge.remove"){const H=C.edges[$.edgeId];if(!H)continue;const Q=C.nodes[H.source.nodeId];if(Q&&CONDITION_GATEWAY_TYPES.has(Q.type)&&R(Q.id)){const te=Q.payload??{},ee=te.conditions;te.defaultCondition?.flow_id===$.edgeId?i.push({type:"node.set-payload",nodeId:Q.id,path:["defaultCondition"],value:void 0}):ee?.[$.edgeId]&&i.push({type:"node.set-payload",nodeId:Q.id,path:["conditions",$.edgeId],value:void 0})}const W=C.nodes[H.target.nodeId];W?.type==="placeholder"&&(Object.entries(C.edges).some(([ee,q])=>ee!==$.edgeId&&q.target.nodeId===W.id)||L(W.id))}if($.type==="edge.reconnect"){const H=C.edges[$.edgeId];if(!H)continue;if($.source&&$.source.nodeId!==H.source.nodeId){const Q=C.nodes[H.source.nodeId];if(Q&&CONDITION_GATEWAY_TYPES.has(Q.type)&&R(Q.id)){const ee=Q.payload??{},q=ee.conditions;ee.defaultCondition?.flow_id===$.edgeId?i.push({type:"node.set-payload",nodeId:Q.id,path:["defaultCondition"],value:void 0}):q?.[$.edgeId]&&i.push({type:"node.set-payload",nodeId:Q.id,path:["conditions",$.edgeId],value:void 0}),H.payload?.isDefault&&i.push({type:"edge.set-payload",edgeId:$.edgeId,path:["isDefault"],value:!1})}const te=n.previewFlowModel(k.commands).nodes[$.source.nodeId];if(te&&CONDITION_GATEWAY_TYPES.has(te.type)){const ee=getNextConditionName(te);i.push({type:"node.set-payload",nodeId:te.id,path:["conditions",$.edgeId],value:{name:ee,tag:"branch_condition",evaluate:""}},{type:"edge.update",edgeId:$.edgeId,patch:{labels:[{id:`label-${$.edgeId}`,text:ee,position:DEFAULT_BRANCH_LABEL_POSITION}]}})}}}if($.type==="node.remove"){const H=C.nodes[$.nodeId];if(H&&BRANCHING_GATEWAY_TYPES.has(H.type))for(const[,Q]of Object.entries(C.edges)){if(Q.source.nodeId!==$.nodeId)continue;const W=C.nodes[Q.target.nodeId];W?.type==="placeholder"&&L(W.id)}for(const[Q,W]of Object.entries(C.edges)){if(W.source.nodeId!==$.nodeId&&W.target.nodeId!==$.nodeId||W.source.nodeId===$.nodeId)continue;const te=C.nodes[W.source.nodeId];if(!te||!CONDITION_GATEWAY_TYPES.has(te.type)||!R(te.id))continue;const ee=te.payload??{},q=ee.conditions;ee.defaultCondition?.flow_id===Q?i.push({type:"node.set-payload",nodeId:te.id,path:["defaultCondition"],value:void 0}):q?.[Q]&&i.push({type:"node.set-payload",nodeId:te.id,path:["conditions",Q],value:void 0})}}}const z=new Set([...y,...B]),j=buildVariableCleanupCommand(C,z);return j&&i.push(j),i.length?{...k,commands:[...k.commands,...i]}:k},onKeyboardShortcut(t,n){if(t.key==="Delete"||t.key==="Backspace"){const r=n.api.getSelection();if(r.nodeIds.length>0||r.edgeIds.length>0)return n.api.deleteSelection({source:"user:keyboard",label:"删除选中"}),!0}return!1}}}class BkFlowNodeAccessor{constructor(t){this.node=t}node;get id(){return this.node.id}get type(){return this.node.type}get label(){return this.node.label}get name(){return this.node.payload?.name??this.node.label??""}get stageName(){return this.node.payload?.stageName??""}get component(){return this.node.payload?.component}get errorIgnorable(){return this.node.payload?.errorIgnorable??!1}get retryable(){return this.node.payload?.retryable??!0}get skippable(){return this.node.payload?.skippable??!0}get autoRetry(){return this.node.payload?.autoRetry}get timeoutConfig(){return this.node.payload?.timeoutConfig}get conditions(){return this.node.payload?.conditions}get defaultCondition(){return this.node.payload?.defaultCondition}get convergeGatewayId(){return this.node.payload?.convergeGatewayId}get isGateway(){return["exclusive-gateway","parallel-gateway","conditional-parallel-gateway","converge-gateway"].includes(this.type)}get isTask(){return this.type==="task"}get nodeModel(){return this.node}}class BkFlowModelAccessor{constructor(t){this.model=t}model;get globalVariables(){return this.model.meta?.variables??{}}get outputs(){return this.model.meta?.outputs??[]}get canvasMode(){return this.model.extensions?.canvasMode??"horizontal"}getNodeAccessor(t){const n=this.model.nodes[t];if(n)return new BkFlowNodeAccessor(n)}getAllNodes(){return Object.values(this.model.nodes).map(t=>new BkFlowNodeAccessor(t))}getNodesByType(t){return Object.values(this.model.nodes).filter(n=>n.type===t).map(n=>new BkFlowNodeAccessor(n))}get flowModel(){return this.model}}const NODE_NAMES={"start-event":"开始节点","end-event":"结束节点",task:"插件节点",placeholder:"占位节点","exclusive-gateway":"分支网关","parallel-gateway":"并行网关","conditional-parallel-gateway":"条件并行网关","converge-gateway":"汇聚网关"},NODE_RULES={"start-event":{maxIn:0,maxOut:1,allowedOut:["task","placeholder","exclusive-gateway","parallel-gateway","conditional-parallel-gateway"]},"end-event":{maxIn:1e3,maxOut:0,allowedOut:[]},task:{maxIn:1e3,maxOut:1,allowedOut:["task","placeholder","exclusive-gateway","parallel-gateway","conditional-parallel-gateway","converge-gateway","end-event"]},placeholder:{maxIn:1e3,maxOut:1,allowedOut:["task","placeholder","exclusive-gateway","parallel-gateway","conditional-parallel-gateway","converge-gateway","end-event"]},"exclusive-gateway":{maxIn:1e3,maxOut:1e3,allowedOut:["task","placeholder","exclusive-gateway","parallel-gateway","conditional-parallel-gateway","converge-gateway","end-event"]},"conditional-parallel-gateway":{maxIn:1e3,maxOut:1e3,allowedOut:["task","placeholder","exclusive-gateway","parallel-gateway","conditional-parallel-gateway","converge-gateway","end-event"]},"parallel-gateway":{maxIn:1e3,maxOut:1e3,allowedOut:["task","placeholder","exclusive-gateway","parallel-gateway","conditional-parallel-gateway"]},"converge-gateway":{maxIn:1e3,maxOut:1,allowedOut:["task","placeholder","exclusive-gateway","parallel-gateway","conditional-parallel-gateway","converge-gateway","end-event"]}},bkflowConnectionValidator=({sourceNode:e,targetNode:t,existingEdges:n})=>{const r=NODE_NAMES[e.type]??e.type,i=NODE_NAMES[t.type]??t.type,C=NODE_RULES[e.type],k=NODE_RULES[t.type];if(e.id===t.id)return{valid:!1,reason:`${r}不可连接自身`};if(C&&C.maxOut===0)return{valid:!1,reason:`${r}只能添加输入连线`};if(k&&k.maxIn===0)return{valid:!1,reason:`${i}只能添加输出连线`};if(C&&!C.allowedOut.includes(t.type))return{valid:!1,reason:`${r}不能连接${i}`};let y=0,B=0,L=!1,R=!1;for(const z of n)z.source.nodeId===e.id&&(y+=1,z.target.nodeId===t.id&&(L=!0)),z.target.nodeId===t.id&&(B+=1),z.source.nodeId===t.id&&z.target.nodeId===e.id&&e.type!=="exclusive-gateway"&&(R=!0);return R?{valid:!1,reason:"相同节点不能回连"}:L?{valid:!1,reason:"重复添加连线"}:C&&y>=C.maxOut?{valid:!1,reason:`已达到${r}最大输出连线条数`}:k&&B>=k.maxIn?{valid:!1,reason:`已达到${i}最大输入连线条数`}:{valid:!0}},_hoisted_1$W={class:"bkflow-canvas-wrapper"},_sfc_main$11=vue.defineComponent({__name:"bkflow-canvas",props:{pipelineTree:{},mode:{default:"edit"},thumbnail:{type:Boolean,default:!1},defaultZoom:{default:1},nodeActions:{default:void 0},quickAdd:{default:void 0},connectionValidator:{type:Function,default:void 0},additionalPlugins:{default:()=>[]},toolbarItems:{},simulateDebugContext:{},debugContext:{}},emits:["change","node-click","node-dblclick","edge-click","edge-label-click","blank-click","ui-event","format-position"],setup(e,{expose:t,emit:n}){const r=vue.ref(),i=ae=>{const se=composable.generateId();return ae==="edge"?`line${se}`:`node${se}`},C=e,k=n,y=vue.computed(()=>C.thumbnail?"thumbnail":C.mode==="view"||C.mode==="execute"||C.mode==="mock-config"?"readonly":"edit"),B=vue.computed(()=>y.value!=="edit"||C.mode==="mock-config"),L=vue.computed(()=>({...C.quickAdd,enabled:C.mode==="edit"&&y.value==="edit"&&C.quickAdd?.enabled!==!1})),R=vue.computed(()=>({enabled:C.mode==="edit"&&y.value==="edit",isNodeInsertable:(ae,se)=>ae.type!=="task"?!1:se.nodes[ae.id]?!Object.values(se.edges).some(de=>de.source.nodeId===ae.id||de.target.nodeId===ae.id):!0,isEdgeDropTarget:(ae,se)=>{const de=se.nodes[ae.source.nodeId],ge=se.nodes[ae.target.nodeId];return de?.type!=="placeholder"&&ge?.type!=="placeholder"}})),z=["select","auto-layout"],j=vue.computed(()=>y.value!=="edit"?z:[]),$=vue.computed(()=>C.mode==="edit"?["undo","redo"]:[]),H=createBkflowSchema({getBusinessMode:()=>C.mode});provideBkflowCanvasContext({get simulateDebug(){return C.simulateDebugContext},get debug(){return C.debugContext}});const Q=()=>{const ae=C.connectionValidator??bkflowConnectionValidator;return[flowCanvas.connectionValidatorPlugin(ae),flowCanvas.selectionPlugin(),flowCanvas.snaplinePlugin(),flowCanvas.searchPlugin({getNodeMeta(se){const de=typeof se.payload?.stageName=="string"?se.payload.stageName:"";return{label:se.label??"",subtitle:de||void 0,keywords:[se.label??"",de]}}}),flowCanvas.minimapPlugin(),{name:"bkflow-custom-toolbar-items",provideToolbarItems:()=>C.toolbarItems??[]},createBkflowPlugin(),...C.additionalPlugins]};let W=null,te=null;const ee=!C.pipelineTree.canvas_version,q=flowCanvas.useCanvasEditor({schema:H,plugins:Q(),initialFlowModel:importFromPipelineTree(C.pipelineTree),mode:y.value,idGenerator:i,historyOptions:{preserveMetaOnUndoRedo:!0,excludeCommandFromHistory:ae=>ae.type==="model.set-meta"},onFlowModelChange(ae){const se=exportToPipelineTree(ae.flowModel);W=se,te=null,ae.source!=="system:replace"&&k("change",se)},onCommandResult(ae){(ae.status==="rejected"||ae.status==="invalid")&&(console.warn(`[bkflow] Command ${ae.status}:`,ae.error),ae.error?.reason&&bkuiVue.Message({theme:"warning",message:ae.error.reason}))}});if(ee){const ae=exportToPipelineTree(q.flowModel.value);W=ae,te=null,k("change",ae)}vue.watch(y,ae=>{q.setMode(ae)}),vue.watch(()=>C.pipelineTree,ae=>{if(!W){G(ae);return}ae!==W&&(te||(te=JSON.stringify(W)),JSON.stringify(ae)!==te&&G(ae))},{deep:!0});function G(ae){const se=importFromPipelineTree(ae);q.replaceFlowModel(se)}function J(ae){const se=ae.canvas_version?ae:{...ae,canvas_version:"v1"},de=importFromPipelineTree(se);q.updateFlowModel(de,"自动排版");const ge=exportToPipelineTree(de);return W=ge,te=null,ge}vue.watch(()=>q.api.value,ae=>{!ae||C.defaultZoom===1||ae.zoomTo(C.defaultZoom)},{once:!0});function Z(ae){const se=q.flowModel.value,de=new Set;de.add(ae);for(const ge of Object.values(se.edges))ge.target.nodeId===ae&&de.add(ge.source.nodeId),ge.source.nodeId===ae&&de.add(ge.target.nodeId);if(q.api.value){const ge={api:q.api.value,flowModel:se,history:q.history,mode:q.mode.value};for(const[fe,ie]of Object.entries(se.nodes)){if(de.has(fe))continue;q.schema.nodeTypes[ie.type]?.getBehavior?.(ie,ge)?.targetable===!1&&de.add(fe)}}return de}function ne(ae){switch(k("ui-event",ae),ae.type){case"node.click":k("node-click",ae);break;case"node.dblclick":k("node-dblclick",ae);break;case"edge.click":k("edge-click",ae);break;case"edge.label.click":k("edge-label-click",ae);break;case"blank.click":k("blank-click",ae);break;case"toolbar.auto-layout":k("format-position");break}}const oe=vue.computed(()=>new BkFlowModelAccessor(q.flowModel.value));return vue.provide("bkflow-editor",q),vue.provide("bkflow-projection",oe),t({editor:q,projection:oe,exportPipelineTree:()=>exportToPipelineTree(q.flowModel.value),importPipelineTree:ae=>G(ae),updatePipelineTree:ae=>J(ae),executeCommand:ae=>q.executeCommand(ae),undo:()=>q.history.undo(),redo:()=>q.history.redo(),resetHoverState:()=>r.value?.resetHoverState?.()}),(ae,se)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$W,[vue.unref(q)?(vue.openBlock(),vue.createBlock(vue.unref(flowCanvas.CanvasLayout),{key:0,editor:vue.unref(q),"hide-sidebar":B.value,"sidebar-width":152},{sidebar:vue.withCtx(()=>[vue.renderSlot(ae.$slots,"node-palette",{},void 0,!0)]),default:vue.withCtx(()=>[vue.createVNode(vue.unref(flowCanvas.CanvasRuntime),{ref_key:"canvasRuntimeRef",ref:r,editor:vue.unref(q),"node-actions":C.nodeActions,"quick-add":L.value,"edge-drop":R.value,"get-connection-excluded-node-ids":Z,"toolbar-include":$.value,onUiEvent:ne},{"quick-add-panel":vue.withCtx(de=>[vue.renderSlot(ae.$slots,"quick-add-panel",vue.normalizeProps(vue.guardReactiveProps(de)),void 0,!0)]),_:3},8,["editor","node-actions","quick-add","edge-drop","toolbar-include"]),vue.createVNode(vue.unref(flowCanvas.CanvasToolbar),{editor:vue.unref(q),exclude:j.value,include:$.value},null,8,["editor","exclude","include"])]),_:3},8,["editor","hide-sidebar"])):vue.createCommentVNode("",!0)]))}}),BkFlowCanvas=_export_sfc(_sfc_main$11,[["__scopeId","data-v-c53a737b"]]);function createPluginSelectDraftState(e){return{show:!0,active:e.node.component?.api_meta?.category.name??e.defaultGroup,bkflowTag:e.bkflowTag??0,node:e.node,constants:e.constants,isBack:!0}}function createNodeConfigResumeState(e){return{show:!0,node:e.node,constants:e.constants,initialTab:e.initialTab??"config"}}const _hoisted_1$V={class:"expression-guidance"},_sfc_main$10=vue.defineComponent({__name:"expression-guidance",props:{parseLang:{default:"boolrule"}},setup(e){const t=e;return(n,r)=>{const i=vue.resolveComponent("bk-link");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$V,[t.parseLang==="MAKO"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[r[0]||(r[0]=vue.createStaticVNode('<p data-v-59774e5d>makoOperates</p><p data-v-59774e5d>支持 &quot;and、or、not、True、False&quot; 等 MAKO 关键字语法</p><br data-v-59774e5d><p data-v-59774e5d>支持直接引用全局变量</p><p data-v-59774e5d>使用内置函数、datetime、re、hashlib、random、time、os.path模块处理全局变量</p><br data-v-59774e5d><p data-v-59774e5d>示例:</p><p data-v-59774e5d>假设 key 是值为 &quot;3&quot; 的全局变量</p><p data-v-59774e5d>字符串比较:<code class="code" data-v-59774e5d>key == &quot;3&quot;</code></p><p data-v-59774e5d>数值比较:<code class="code" data-v-59774e5d>int(key) &gt;= 3</code></p><p data-v-59774e5d>包含:<code class="code" data-v-59774e5d>int(key) in (1,2,3)</code></p>',11))],64)):t.parseLang==="FEEL"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[r[1]||(r[1]=vue.createStaticVNode('<p data-v-59774e5d>feelOperates</p><p data-v-59774e5d>支持 &quot;and、or、true、false&quot; 等关键字语法</p><p data-v-59774e5d>支持 FEEL (Friendly Enough Expression Language) 基础语法</p><br data-v-59774e5d><p data-v-59774e5d>支持使用全局变量,如<code class="code" data-v-59774e5d>${key}</code>、<code class="code" data-v-59774e5d>${int(key)}</code></p><p data-v-59774e5d>${}中支持使用内置函数、datetime、re、hashlib、random、time、os.path模块处理全局变量</p><br data-v-59774e5d><p data-v-59774e5d>示例:</p><p data-v-59774e5d>字符串比较:<code class="code" data-v-59774e5d>&quot;${key}&quot; = &quot;my string&quot;</code></p><p data-v-59774e5d>数值比较:<code class="code" data-v-59774e5d>${int(key)} &gt;= 3</code></p><p data-v-59774e5d>包含:<code class="code" data-v-59774e5d>list contains([1, 2, 3], ${int(key)})</code></p>',11))],64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:2},[r[4]||(r[4]=vue.createElementVNode("p",null,"makoOperates",-1)),r[5]||(r[5]=vue.createElementVNode("p",null,'支持 "and、or、True/true、False/false" 等关键字语法',-1)),vue.createElementVNode("p",null,[r[3]||(r[3]=vue.createTextVNode(" 表达式更多细节请参考 ",-1)),vue.createVNode(i,{theme:"primary",href:"https://boolrule.readthedocs.io/en/latest/expressions.html#basic-comparison-operators",target:"_blank"},{default:vue.withCtx(()=>[...r[2]||(r[2]=[vue.createTextVNode(" 'boolrule' ",-1)])]),_:1})]),r[6]||(r[6]=vue.createStaticVNode('<br data-v-59774e5d><p data-v-59774e5d>支持使用全局变量,如<code class="code" data-v-59774e5d>${key}</code>、<code class="code" data-v-59774e5d>${int(key)}</code></p><p data-v-59774e5d>支持使用内置函数、datetime、re、hashlib、random、time、os.path模块处理全局变量</p><br data-v-59774e5d><p data-v-59774e5d>示例:</p><p data-v-59774e5d>字符串比较:<code class="code" data-v-59774e5d>&quot;${key}&quot; == &quot;my string&quot;</code></p><p data-v-59774e5d>数值比较:<code class="code" data-v-59774e5d>${int(key)} &gt;= 3</code></p><p data-v-59774e5d>包含:<code class="code" data-v-59774e5d>${key} in (1,2,3)</code></p>',8))],64))])}}}),ExpressionGuidance=_export_sfc(_sfc_main$10,[["__scopeId","data-v-59774e5d"]]),_hoisted_1$U={class:"bkflow-branch-condition"},_hoisted_2$I={class:"expression-value-editor"},_sfc_main$$=vue.defineComponent({__name:"index",props:{condition:{},isDefault:{type:Boolean},hasDefaultBranch:{type:Boolean,default:!0},editable:{type:Boolean,default:!0}},emits:["change"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.ref({...r.condition}),k=vue.shallowRef(r.isDefault),y=vue.ref(),B={name:[{required:!0,message:"请输入分支名称"}],evaluate:[{required:!0,message:"请输入表达式"}]};vue.watch(()=>r.condition,j=>{C.value={...j}}),vue.watch(()=>r.isDefault,j=>{k.value=j});const L=()=>{"evaluate"in C.value||(C.value.evaluate=""),R()},R=()=>{i("change",{...C.value},k.value)};return t({validate:()=>y.value.validate().then(()=>!0).catch(()=>!1)}),(j,$)=>{const H=vue.resolveComponent("bk-input"),Q=vue.resolveComponent("bk-form-item"),W=vue.resolveComponent("bk-radio"),te=vue.resolveComponent("bk-radio-group"),ee=vue.resolveComponent("bk-form"),q=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$U,[vue.createVNode(ee,{ref_key:"formRef",ref:y,"form-type":"vertical",model:C.value,rules:B},{default:vue.withCtx(()=>[vue.createVNode(Q,{label:"分支名称",property:"name",required:!0},{default:vue.withCtx(()=>[vue.createVNode(H,{modelValue:C.value.name,"onUpdate:modelValue":$[0]||($[0]=G=>C.value.name=G),disabled:!r.editable,onChange:R},null,8,["modelValue","disabled"])]),_:1}),vue.createVNode(Q,{label:"分支类型",required:!0},{default:vue.withCtx(()=>[vue.createVNode(te,{modelValue:k.value,"onUpdate:modelValue":$[1]||($[1]=G=>k.value=G),onChange:L},{default:vue.withCtx(()=>[vue.createVNode(W,{label:!1,disabled:!r.editable},{default:vue.withCtx(()=>[...$[3]||($[3]=[vue.createTextVNode("自定义分支",-1)])]),_:1},8,["disabled"]),vue.createVNode(W,{label:!0,disabled:!r.editable||r.hasDefaultBranch&&!r.isDefault},{default:vue.withCtx(()=>[$[4]||($[4]=vue.createTextVNode(" 默认分支 ",-1)),vue.withDirectives(vue.createVNode(vue.unref(icon.Info),{class:"radio-tips"},null,512),[[q,{content:"所有分支均不匹配时执行,类似switch-case-default里面的default",width:216,placement:"top"}]])]),_:1},8,["disabled"])]),_:1},8,["modelValue"])]),_:1}),k.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(Q,{key:0,label:"表达式",property:"evaluate",required:!0},{default:vue.withCtx(()=>[vue.createVNode(ExpressionGuidance),vue.createElementVNode("div",_hoisted_2$I,[vue.createVNode(CodeEditor,{modelValue:C.value.evaluate,"onUpdate:modelValue":$[2]||($[2]=G=>C.value.evaluate=G),options:{readOnly:!r.editable},onChange:R},null,8,["modelValue","options"])])]),_:1}))]),_:1},8,["model"])])}}}),BranchCondition=_export_sfc(_sfc_main$$,[["__scopeId","data-v-d7dd618f"]]),_hoisted_1$T={class:"branch-condition-slider"},_hoisted_2$H={class:"sideslider-footer-buttons"},_sfc_main$_=vue.defineComponent({__name:"index",props:{show:{type:Boolean},condition:{},hasDefaultBranch:{type:Boolean,default:!0},isDefault:{type:Boolean},editable:{type:Boolean,default:!0}},emits:["close","update:show","confirm"],setup(e,{emit:t}){const n=e,r=t,i=vue.shallowRef({...n.condition}),C=vue.shallowRef(n.isDefault),k=vue.shallowRef();vue.watch(()=>n.show,R=>{R&&(i.value={...n.condition},C.value=n.isDefault)});const y=(R,z)=>{i.value=R,C.value=z},B=async()=>{await k.value?.validate()&&(r("confirm",i.value,C.value),L())},L=()=>{r("close"),r("update:show",!1)};return(R,z)=>{const j=vue.resolveComponent("bk-button"),$=vue.resolveComponent("bk-sideslider");return vue.openBlock(),vue.createBlock($,{title:"分支条件","is-show":n.show,width:800,"esc-close":!1,"before-close":L},{footer:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$H,[n.editable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(j,{theme:"primary",onClick:B},{default:vue.withCtx(()=>[...z[0]||(z[0]=[vue.createTextVNode("确定",-1)])]),_:1}),vue.createVNode(j,{onClick:L},{default:vue.withCtx(()=>[...z[1]||(z[1]=[vue.createTextVNode("取消",-1)])]),_:1})],64)):(vue.openBlock(),vue.createBlock(j,{key:1,theme:"primary",onClick:L},{default:vue.withCtx(()=>[...z[2]||(z[2]=[vue.createTextVNode("关闭",-1)])]),_:1}))])]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$T,[vue.createVNode(BranchCondition,{ref_key:"branchConditionRef",ref:k,condition:i.value,"has-default-branch":n.hasDefaultBranch,"is-default":C.value,editable:n.editable,onChange:y},null,8,["condition","has-default-branch","is-default","editable"])])]),_:1},8,["is-show"])}}}),BranchConditionPanel=_export_sfc(_sfc_main$_,[["__scopeId","data-v-c3ebff43"]]),_hoisted_1$S={class:"node-config-basic-info"},_hoisted_2$G={class:"plugin-select"},_hoisted_3$A={class:"error-handler-options"},_hoisted_4$v={class:"auto-retry-forms"},_hoisted_5$m={class:"timeout-config-forms"},_hoisted_6$h={class:"timeout-input"},formatPluginDisplayName=({pluginName:e,displayGroupName:t})=>t?`${t} > ${e}`:e,_sfc_main$Z=vue.defineComponent({__name:"basic-info",props:{node:{},editable:{type:Boolean,default:!0},pluginType:{},pluginDetail:{}},emits:["change","selectPlugin","versionChange"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.ref(),k=vue.ref(lodash$1.cloneDeep(r.node)),y={disabled:!0},B={},L=vue.computed(()=>{const J=r.pluginType==="uniform_api"?r.node.component.api_meta?.alias||r.pluginDetail?.uniformApiName||r.node.component.code:r.pluginDetail?.name||r.node.component.code;return formatPluginDisplayName({pluginName:J,displayGroupName:r.pluginDetail?.displayGroupName})}),R=vue.computed(()=>r.pluginType==="remote_plugin"?r.node.component.data?.plugin_version?.value||"":r.node.component.version||""),z=vue.computed(()=>r.pluginDetail?.versions??[]),j=vue.computed(()=>r.node.component.data?.uniform_api_plugin_method?.value||""),$=vue.computed(()=>r.pluginDetail?.methods??[]),H=vue.computed(()=>{const{component:J,name:Z}=k.value,{code:ne="",version:oe="",data:ae={}}=J;let se=ne==="uniform_api"&&ae.uniform_api_plugin_method?.value||"";return{name:Z,code:ne,version:oe,method:se}});vue.watch(()=>r.node,J=>{k.value=lodash$1.cloneDeep(J)});const Q=J=>{k.value.component.data?.uniform_api_plugin_method&&(k.value.component.data.uniform_api_plugin_method.value=J,G())},W=J=>{if(r.pluginType==="remote_plugin"){k.value.component.data||(k.value.component.data={}),k.value.component.data.plugin_version||(k.value.component.data.plugin_version={hook:!1,value:""}),k.value.component.data.plugin_version.value=J;const Z=k.value.component.data.plugin_code,ne=k.value.component.data.plugin_version;k.value.component.data={plugin_code:Z,plugin_version:ne}}else k.value.component.version=J,k.value.component.data={};i("versionChange",k.value)},te=(J,Z)=>{Z==="auto_retry"?(k.value.retryable=!0,k.value.auto_retry.interval=0,k.value.auto_retry.times=1):(Z==="retryable"&&(k.value.auto_retry={enable:!1,interval:0,times:1}),Z==="error_ignorable"&&J&&(k.value.skippable=!0,k.value.retryable=!1,k.value.auto_retry={enable:!1,interval:0,times:1})),J&&["auto_retry","error_ignorable"].includes(Z)&&(k.value.timeout_config={enable:!1,seconds:10,action:"forced_fail"}),G()},ee=J=>{J||(k.value.timeout_config.seconds=10,k.value.timeout_config.action="forced_fail"),G()},q=()=>C.value.validate().then(()=>!0).catch(()=>!1),G=()=>{i("change",k.value)};return t({validate:q}),(J,Z)=>{const ne=vue.resolveComponent("bk-input"),oe=vue.resolveComponent("bk-button"),ae=vue.resolveComponent("bk-form-item"),se=vue.resolveComponent("bk-option"),de=vue.resolveComponent("bk-select"),ge=vue.resolveComponent("bk-checkbox"),fe=vue.resolveComponent("bk-switcher"),ie=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createElementBlock("section",_hoisted_1$S,[vue.createVNode(ie,{ref_key:"formRef",ref:C,model:H.value,rules:B,"label-width":94},{default:vue.withCtx(()=>[vue.createVNode(ae,{label:r.pluginType==="uniform_api"?"API":"插件",required:"",property:"code"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$G,[r.pluginType==="uniform_api"?(vue.openBlock(),vue.createBlock(ne,{key:0,"model-value":L.value,readonly:!0,placeholder:"请选择插件"},null,8,["model-value"])):(vue.openBlock(),vue.createBlock(ne,{key:1,"model-value":L.value,readonly:!0,placeholder:r.node.component?.code?"":"请选择插件"},null,8,["model-value","placeholder"])),vue.createVNode(oe,{outline:"",theme:"primary",disabled:!r.editable,onClick:Z[0]||(Z[0]=ce=>i("selectPlugin"))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.node.component?.code?"重选":"选择"),1)]),_:1},8,["disabled"])])]),_:1},8,["label"]),r.pluginType==="uniform_api"?(vue.openBlock(),vue.createBlock(ae,{key:0,label:"请求方法",required:"",property:"method"},{default:vue.withCtx(()=>[vue.createVNode(de,{"model-value":j.value,clearable:!1,disabled:!r.editable,"input-tooltips-options":y,onChange:Q},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList($.value,ce=>(vue.openBlock(),vue.createBlock(se,{key:ce,id:ce,label:ce},null,8,["id","label"]))),128))]),_:1},8,["model-value","disabled"])]),_:1})):(vue.openBlock(),vue.createBlock(ae,{key:1,label:"插件版本",required:"",property:"version"},{default:vue.withCtx(()=>[vue.createVNode(de,{"model-value":R.value,clearable:!1,disabled:!r.editable,"input-tooltips-options":y,onChange:W},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(z.value,ce=>(vue.openBlock(),vue.createBlock(se,{key:ce,id:ce,label:ce},null,8,["id","label"]))),128))]),_:1},8,["model-value","disabled"])]),_:1})),vue.createVNode(ae,{label:"节点名称",required:"",property:"name"},{default:vue.withCtx(()=>[vue.createVNode(ne,{modelValue:k.value.name,"onUpdate:modelValue":Z[1]||(Z[1]=ce=>k.value.name=ce),disabled:!r.editable,onBlur:G},null,8,["modelValue","disabled"])]),_:1}),vue.createVNode(ae,{label:"说明"},{default:vue.withCtx(()=>[vue.createVNode(ne,{modelValue:k.value.stage_name,"onUpdate:modelValue":Z[2]||(Z[2]=ce=>k.value.stage_name=ce),disabled:!r.editable,onBlur:G},null,8,["modelValue","disabled"])]),_:1}),vue.createVNode(ae,{label:"失败处理"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_3$A,[vue.createVNode(ge,{modelValue:k.value.error_ignorable,"onUpdate:modelValue":Z[3]||(Z[3]=ce=>k.value.error_ignorable=ce),disabled:!r.editable||k.value.auto_retry.enable||k.value.timeout_config.enable,onChange:Z[4]||(Z[4]=ce=>te(ce,"error_ignorable"))},{default:vue.withCtx(()=>[...Z[16]||(Z[16]=[vue.createElementVNode("span",{class:"option-flag"},"AS",-1),vue.createTextVNode("自动跳过 ",-1)])]),_:1},8,["modelValue","disabled"]),vue.createVNode(ge,{modelValue:k.value.skippable,"onUpdate:modelValue":Z[5]||(Z[5]=ce=>k.value.skippable=ce),disabled:!r.editable||k.value.error_ignorable,onChange:Z[6]||(Z[6]=ce=>te(ce,"skippable"))},{default:vue.withCtx(()=>[...Z[17]||(Z[17]=[vue.createElementVNode("span",{class:"option-flag"},"MS",-1),vue.createTextVNode("手动跳过 ",-1)])]),_:1},8,["modelValue","disabled"]),vue.createVNode(ge,{modelValue:k.value.retryable,"onUpdate:modelValue":Z[7]||(Z[7]=ce=>k.value.retryable=ce),disabled:!r.editable||k.value.error_ignorable||k.value.auto_retry.enable,onChange:Z[8]||(Z[8]=ce=>te(ce,"retryable"))},{default:vue.withCtx(()=>[...Z[18]||(Z[18]=[vue.createElementVNode("span",{class:"option-flag"},"MR",-1),vue.createTextVNode("手动重试 ",-1)])]),_:1},8,["modelValue","disabled"]),vue.createVNode(ge,{modelValue:k.value.auto_retry.enable,"onUpdate:modelValue":Z[9]||(Z[9]=ce=>k.value.auto_retry.enable=ce),disabled:!r.editable||k.value.error_ignorable||k.value.timeout_config.enable,onChange:Z[10]||(Z[10]=ce=>te(ce,"auto_retry"))},{default:vue.withCtx(()=>[...Z[19]||(Z[19]=[vue.createElementVNode("span",{class:"option-flag"},"AR",-1)])]),_:1},8,["modelValue","disabled"]),vue.createElementVNode("span",_hoisted_4$v,[Z[20]||(Z[20]=vue.createTextVNode(" 在 ",-1)),vue.createVNode(ne,{modelValue:k.value.auto_retry.interval,"onUpdate:modelValue":Z[11]||(Z[11]=ce=>k.value.auto_retry.interval=ce),type:"number",placeholder:" ",min:0,precision:0,disabled:!r.editable||!k.value.auto_retry.enable,onBlur:G},null,8,["modelValue","disabled"]),Z[21]||(Z[21]=vue.createTextVNode(" 秒后,自动重试 ",-1)),vue.createVNode(ne,{modelValue:k.value.auto_retry.times,"onUpdate:modelValue":Z[12]||(Z[12]=ce=>k.value.auto_retry.times=ce),type:"number",placeholder:" ",min:0,precision:0,disabled:!r.editable||!k.value.auto_retry.enable,onBlur:G},null,8,["modelValue","disabled"]),Z[22]||(Z[22]=vue.createTextVNode(" 次 ",-1))])])]),_:1}),vue.createVNode(ae,{label:"超时控制"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_5$m,[vue.createVNode(fe,{modelValue:k.value.timeout_config.enable,"onUpdate:modelValue":Z[13]||(Z[13]=ce=>k.value.timeout_config.enable=ce),theme:"primary",disabled:!r.editable,onChange:ee},null,8,["modelValue","disabled"]),k.value.timeout_config.enable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[Z[24]||(Z[24]=vue.createTextVNode(" 超时 ",-1)),vue.createElementVNode("span",_hoisted_6$h,[vue.createVNode(ne,{modelValue:k.value.timeout_config.seconds,"onUpdate:modelValue":Z[14]||(Z[14]=ce=>k.value.timeout_config.seconds=ce),type:"number",precision:0,min:0,disabled:!r.editable,onBlur:G},null,8,["modelValue","disabled"]),Z[23]||(Z[23]=vue.createElementVNode("span",{class:"unit"},"秒",-1))]),Z[25]||(Z[25]=vue.createTextVNode(" 后,则 ",-1)),vue.createVNode(de,{modelValue:k.value.timeout_config.action,"onUpdate:modelValue":Z[15]||(Z[15]=ce=>k.value.timeout_config.action=ce),clearable:!1,disabled:!r.editable,"input-tooltips-options":y,onChange:G},{default:vue.withCtx(()=>[vue.createVNode(se,{id:"forced_fail",label:"强制终止"}),vue.createVNode(se,{id:"forced_fail_and_skip",label:"强制终止后跳过"})]),_:1},8,["modelValue","disabled"])],64)):vue.createCommentVNode("",!0)])]),_:1})]),_:1},8,["model"])])}}}),BasicInfo=_export_sfc(_sfc_main$Z,[["__scopeId","data-v-0c52bb31"]]),_sfc_main$Y=vue.defineComponent({__name:"index",props:{formData:{default:()=>({})},schema:{default:()=>({})},editable:{type:Boolean,default:!0},formType:{default:"horizontal"}},emits:["change"],setup(e,{expose:t,emit:n}){const r=createForm(),i=e,C=n,k=vue.ref(),y=R=>{Object.keys(R).forEach(z=>{const j=R[z]["ui:component"];j?"props"in j?j.props.disabled=!0:j.props={disabled:!0}:R[z]["ui:component"]={props:{disabled:!0}},R[z].items?.properties&&y(R[z].items.properties)})},B=vue.computed(()=>{const R=lodash$1.cloneDeep(i.schema);if(!i.editable&&R){const z=R.properties||R.items?.properties||{};y(z)}return R});return t({validate:()=>k.value?.validateForm()}),(R,z)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["jsonschema-input-params",{"edit-mode":i.editable}])},[vue.createVNode(vue.unref(r),{ref_key:"bkSchemaFormRef",ref:k,"model-value":e.formData,"form-type":e.formType,schema:B.value,layout:{group:[],container:{gap:"14px"}},onChange:z[0]||(z[0]=j=>C("change",j))},null,8,["model-value","form-type","schema"])],2))}}),JsonschemaForm=_export_sfc(_sfc_main$Y,[["__scopeId","data-v-5e619ddb"]]),ZERO_WIDTH_SPACE="​";let tokenId=0;const createTokenId=()=>(tokenId+=1,`variable-input-token-${tokenId}`),createTextToken=(e="")=>({type:"text",id:createTokenId(),text:e}),createVariableToken=e=>{const t=normalizeVariableKey(e);return{type:"variable",id:createTokenId(),key:t,raw:formatVariableKey(t)}},createDraftVariableToken=(e="")=>({type:"draft-variable",id:createTokenId(),keyword:e,raw:formatVariableKey(e)}),normalizeVariableKey=e=>{const t=String(e||"").trim();return t.startsWith("${")&&t.endsWith("}")?t.slice(2,-1):t},formatVariableKey=e=>`\${${normalizeVariableKey(e)}}`,sanitizeEditableText=(e="")=>e.replace(new RegExp(ZERO_WIDTH_SPACE,"g"),""),parseValueToTokens=e=>{const t=[],n=String(e||""),r=/\$\{([^}]*)\}/g;let i=0,C=null;for(;C=r.exec(n);)C.index>i&&t.push(createTextToken(n.slice(i,C.index))),t.push(createVariableToken(C[1])),i=C.index+C[0].length;return i<n.length&&t.push(createTextToken(n.slice(i))),t.length===0&&t.push(createTextToken("")),mergeTextTokens(t)},serializeTokens=e=>e.map(t=>t.type==="text"?t.text:t.type==="draft-variable"?formatVariableKey(t.keyword):formatVariableKey(t.key)).join(""),mergeTextTokens=e=>{const t=[];return e.forEach(n=>{const r=t[t.length-1];if(n.type==="text"&&r?.type==="text"){r.text+=n.text;return}t.push(n)}),t.length===0?[createTextToken("")]:t},searchVariableOptions=(e,t)=>{const n=normalizeVariableKey(t).toLowerCase();return n?e.filter(r=>{const i=normalizeVariableKey(r.key).toLowerCase(),C=formatVariableKey(r.key).toLowerCase(),k=(r.name||"").toLowerCase();return i.includes(n)||C.includes(n)||k.includes(n)}):e},getTextOffset=e=>{const t=window.getSelection();if(!t||t.rangeCount===0)return 0;const n=t.getRangeAt(0);if(!e.contains(n.startContainer))return sanitizeEditableText(e.textContent||"").length;const r=n.cloneRange();r.selectNodeContents(e),r.setEnd(n.startContainer,n.startOffset);const i=r.toString();return sanitizeEditableText(i).length},getOffsetFromRangePoint=(e,t,n)=>{const r=document.createRange();return r.selectNodeContents(e),r.setEnd(t,n),sanitizeEditableText(r.toString()).length},getTextSelectionOffsets=e=>{const t=window.getSelection();if(!t||t.rangeCount===0)return null;const n=t.getRangeAt(0);return!e.contains(n.startContainer)||!e.contains(n.endContainer)?null:{start:getOffsetFromRangePoint(e,n.startContainer,n.startOffset),end:getOffsetFromRangePoint(e,n.endContainer,n.endOffset)}},setCaretToTextOffset=(e,t)=>{(!e.firstChild||!e.textContent)&&(e.textContent=ZERO_WIDTH_SPACE);const n=e.firstChild||e,r=n.textContent||ZERO_WIDTH_SPACE,i=sanitizeEditableText(r).length,C=Math.max(0,Math.min(t??i,i));let k=0,y=0;for(;k<r.length&&y<C;)r[k]!==ZERO_WIDTH_SPACE&&(y+=1),k+=1;C===0&&r[0]===ZERO_WIDTH_SPACE&&(k=1);const B=document.createRange(),L=window.getSelection();L&&(e.focus(),B.setStart(n,n.nodeType===Node.TEXT_NODE?k:0),B.collapse(!0),L.removeAllRanges(),L.addRange(B))},variableInputCreateVariableKey=Symbol("variableInputCreateVariable"),provideVariableInputCreateVariable=e=>{vue.provide(variableInputCreateVariableKey,e)},useVariableInputCreateVariable=()=>vue.inject(variableInputCreateVariableKey,null),_hoisted_1$R={key:0,class:"variable-placeholder"},_hoisted_2$F=["data-token-id","contenteditable","onBeforeinput","onKeydown","onInput","onPaste","onCompositionend"],_hoisted_3$z=["data-token-id"],_hoisted_4$u=["contenteditable","onKeydown","onInput","onPaste","onCompositionend"],_hoisted_5$l=["data-token-id","title","onClick"],_hoisted_6$g={class:"variable-tag-text"},_hoisted_7$b=["onClick"],_hoisted_8$8={class:"dropdown-list"},_hoisted_9$7=["onMousedown"],_hoisted_10$7={class:"dropdown-item-content"},_hoisted_11$7={class:"option-key"},_hoisted_12$5={class:"option-name"},_hoisted_13$3={key:0,class:"dropdown-item empty"},DROPDOWN_VIEWPORT_GAP=8,DROPDOWN_ESTIMATED_HEIGHT=230,_sfc_main$X=vue.defineComponent({__name:"index",props:{modelValue:{default:""},options:{default:()=>[]},type:{default:"text"},placeholder:{default:""},disabled:{type:Boolean,default:!1},rows:{default:3},resize:{type:Boolean,default:!1},allowCreateVariable:{type:Boolean,default:!0},createVariableLabel:{default:"新建变量"},dropdownWidth:{default:480},variableColor:{default:"#D25489"}},emits:["update:modelValue","change","blur","create-variable","select-variable","remove-variable"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.ref(),k=vue.ref(),y=vue.ref(parseValueToTokens(r.modelValue)),B=vue.ref(!1),L=vue.ref(0),R=vue.ref(""),z=vue.ref(-1),j=vue.ref({top:0,left:0,width:0,placement:"bottom"}),$=vue.ref(!1),H=vue.ref(!1),Q=vue.ref(),W=new Map,te=useVariableInputCreateVariable(),ee=vue.computed(()=>r.type==="textarea"?"textarea":"text"),q=vue.computed(()=>serializeTokens(y.value).length===0),G=vue.computed(()=>({"--variable-color":r.variableColor})),J=vue.computed(()=>ee.value!=="textarea"?{}:{minHeight:`${r.rows*20+10}px`,resize:r.resize?"vertical":"none"}),Z=vue.computed(()=>{const xe={top:`${j.value.top}px`,left:`${j.value.left}px`,width:`${j.value.width}px`};return j.value.placement==="top"&&(xe.transform="translateY(-100%)"),xe}),ne=vue.computed(()=>searchVariableOptions(r.options,R.value)),oe=(xe,Ie)=>{Ie instanceof HTMLElement?W.set(xe,Ie):W.delete(xe)},ae=xe=>formatVariableKey(xe),se=xe=>{const Ie=normalizeVariableKey(xe);return r.options.find(mt=>normalizeVariableKey(mt.key)===Ie)?.name||formatVariableKey(Ie)},de=xe=>xe||ZERO_WIDTH_SPACE,ge=xe=>H.value||!!xe?.isComposing||xe?.keyCode===229,fe=xe=>H.value||!!xe.isComposing,ie=()=>{const xe=serializeTokens(y.value);i("update:modelValue",xe),i("change",xe)},ce=()=>{vue.nextTick(()=>{if(!C.value||z.value<0)return;const xe=y.value[z.value],Ie=xe?W.get(xe.id):null;if(!Ie)return;const $e=C.value.getBoundingClientRect(),mt=Ie.getBoundingClientRect(),it=document.documentElement.clientWidth,Tt=document.documentElement.clientHeight,Pt=Math.min(r.dropdownWidth,$e.width);let Wt=mt.left;Wt+Pt>it-DROPDOWN_VIEWPORT_GAP&&(Wt=it-DROPDOWN_VIEWPORT_GAP-Pt);const on=Tt-mt.bottom,Ke=mt.top,Ct=on<DROPDOWN_ESTIMATED_HEIGHT&&Ke>on;j.value={width:Pt,left:Math.max(DROPDOWN_VIEWPORT_GAP,Wt),top:Ct?mt.top-4:mt.bottom+4,placement:Ct?"top":"bottom"}})},pe=(xe,Ie="")=>{r.disabled||(z.value=xe,R.value=Ie,L.value=0,B.value=!0,ce())},le=()=>{B.value=!1,z.value=-1},ue=()=>z.value>-1&&y.value[z.value]?.type==="draft-variable",he=(xe,Ie=!1)=>{const $e=y.value[xe];if(!$e||$e.type!=="draft-variable")return!1;const mt=[...y.value],it=formatVariableKey($e.keyword);if(mt.splice(xe,1,createTextToken(it)),y.value=mergeTextTokens(mt),ie(),Ie){const Tt=Math.min(xe,y.value.length-1),Pt=y.value[Tt];Ne(Tt,Pt?.type==="text"?Pt.text.length:0)}return!0},ye=()=>{let xe=!1;const Ie=y.value.map($e=>$e.type!=="draft-variable"?$e:(xe=!0,createTextToken(formatVariableKey($e.keyword))));xe&&(y.value=Ie,ie())},_e=()=>{ue()&&(ye(),le())},Ne=(xe,Ie)=>{vue.nextTick(()=>{const $e=y.value[xe];if(!$e||$e.type!=="text")return;const mt=W.get($e.id);mt&&setCaretToTextOffset(mt,Ie)})},be=(xe,Ie)=>{vue.nextTick(()=>{const $e=y.value[xe];if(!$e||$e.type!=="draft-variable")return;const it=W.get($e.id)?.querySelector(".draft-keyword");it&&setCaretToTextOffset(it,Ie)})},Ae=()=>{if(y.value.length===0)return y.value=[createTextToken("")],0;const xe=y.value.length-1;return y.value[xe].type!=="text"?(y.value.push(createTextToken("")),y.value.length-1):xe},Te=()=>{const xe=window.getSelection();return!xe||xe.rangeCount===0||xe.isCollapsed},Ze=xe=>{for(let Ie=xe-1;Ie>=0;Ie-=1){const $e=y.value[Ie];if($e.type==="text")return Ne(Ie,$e.text.length),!0}return!1},lt=xe=>{for(let Ie=xe+1;Ie<y.value.length;Ie+=1)if(y.value[Ie].type==="text")return Ne(Ie,0),!0;return!1},Ge=(xe,Ie=0)=>y.value[xe]?.type==="text"?(Ne(xe,Ie),!0):!1,st=(xe,Ie)=>{const $e=Ie==="previous"?xe-1:xe+1;return y.value[$e]?.type==="variable"?$e:-1},Ue=xe=>{const Ie=document;if(Ie.caretRangeFromPoint)return Ie.caretRangeFromPoint(xe.clientX,xe.clientY);const $e=Ie.caretPositionFromPoint?.(xe.clientX,xe.clientY);if(!$e)return null;const mt=document.createRange();return mt.setStart($e.offsetNode,$e.offset),mt.collapse(!0),mt},De=xe=>{const Ie=Ue(xe);if(!Ie)return null;const it=(Ie.startContainer.nodeType===Node.TEXT_NODE?Ie.startContainer.parentElement:Ie.startContainer)?.closest?.(".text-token")?.dataset.tokenId;if(!it)return null;const Tt=y.value.findIndex(Wt=>Wt.id===it&&Wt.type==="text");if(Tt===-1)return null;const Pt=Ie.startContainer.nodeType===Node.TEXT_NODE?(Ie.startContainer.textContent||"").slice(0,Ie.startOffset):"";return{index:Tt,offset:sanitizeEditableText(Pt).length}},We=(xe,Ie=!1)=>{const $e=xe-1;if(Ie&&$e>=0&&y.value[$e]?.type==="text"){const it=y.value[$e];return{index:$e,offset:it.type==="text"?it.text.length:0}}if(y.value[xe]?.type==="text")return{index:xe,offset:0};if($e>=0&&y.value[$e]?.type==="text"){const it=y.value[$e];return{index:$e,offset:it.type==="text"?it.text.length:0}}const mt=[...y.value];return mt.splice(Math.max(0,xe),0,createTextToken("")),y.value=mt,{index:Math.max(0,xe),offset:0}},Ye=xe=>{const Ie=y.value.map((Ct,Rt)=>({token:Ct,index:Rt,el:W.get(Ct.id)})).filter(Ct=>Ct.el);if(Ie.length===0)return{index:Ae(),offset:0};const $e=Ie[0],mt=Ie[Ie.length-1],it=$e.el.getBoundingClientRect(),Tt=mt.el.getBoundingClientRect();if(ee.value==="textarea"&&xe.clientY>Tt.bottom+4)return We(mt.index+1,!0);if(ee.value==="textarea"&&xe.clientY<it.top-4)return We($e.index);const Pt=Ie.filter(Ct=>{const Rt=Ct.el.getBoundingClientRect();return xe.clientY>=Rt.top-4&&xe.clientY<=Rt.bottom+4}),Wt=Pt.length>0?Pt:Ie,on=Wt.find(Ct=>{const Rt=Ct.el.getBoundingClientRect();return xe.clientX<=Rt.left+Rt.width/2});if(on)return We(on.index);const Ke=Wt[Wt.length-1];return We(Ke.index+1,!0)},Re=xe=>{const Ie=Ye(xe);Ne(Ie.index,Ie.offset)},Je=xe=>{if(r.disabled)return;const Ie=xe.target;if(C.value?.contains(Ie)&&!Ie.closest(".draft-keyword, .variable-tag, .variable-dropdown")&&!Ie.closest(".draft-variable-token")){if(Ie.closest(".text-token")){ue()&&window.setTimeout(()=>{_e()},0);return}if(De(xe)){ue()&&window.setTimeout(()=>{_e()},0);return}xe.preventDefault(),_e(),Re(xe)}},Xe=xe=>{xe.target.closest(".draft-keyword")||xe.preventDefault()},Me=()=>{$.value=!0,Q.value&&(window.clearTimeout(Q.value),Q.value=void 0)},nt=xe=>{Q.value=window.setTimeout(()=>{const Ie=document.activeElement,$e=!!Ie&&!!C.value?.contains(Ie),mt=!!Ie&&!!k.value?.contains(Ie);!$e&&!mt&&($.value=!1,ye(),le(),i("blur",xe))},120)},et=(xe,Ie)=>{const $e=y.value[Ie];!$e||$e.type!=="text"||($e.text=sanitizeEditableText(xe.target.textContent||""))},wt=(xe,Ie)=>{const $e=y.value[xe];if(!$e||$e.type!=="text")return;const mt=$e.text.slice(0,Ie),it=$e.text.slice(Ie),Tt=[...y.value.slice(0,xe),createTextToken(mt),createDraftVariableToken(""),createTextToken(it),...y.value.slice(xe+1)];y.value=mergeTextTokens(Tt);const Pt=y.value.findIndex(Wt=>Wt.type==="draft-variable");ie(),pe(Pt),be(Pt)},tt=xe=>{const Ie=y.value[xe];if(!Ie||Ie.type!=="text")return;const $e=W.get(Ie.id),mt=$e?getTextOffset($e):Ie.text.length;wt(xe,mt)},ot=(xe,Ie)=>{r.disabled||fe(xe)||xe.inputType!=="insertText"||xe.data!=="$"||(xe.preventDefault(),_e(),tt(Ie))},gt=(xe,Ie)=>{if(r.disabled||ge(xe)||ke(xe))return;const $e=y.value[Ie];if(!$e||$e.type!=="text")return;const mt=W.get($e.id),it=mt?getTextOffset(mt):$e.text.length,Tt=$e.text.length;if(xe.key==="$"){xe.preventDefault(),tt(Ie);return}if(xe.key==="Enter"&&ee.value!=="textarea"){xe.preventDefault();return}if(xe.key==="Enter"){xe.preventDefault(),Nt(Ie,`
43
43
  `);return}if(Te()){if(xe.key==="ArrowLeft"&&it===0){Ze(Ie)&&xe.preventDefault();return}if(xe.key==="ArrowRight"&&it===Tt){lt(Ie)&&xe.preventDefault();return}if(xe.key==="Backspace"&&it===0&&Ie>0){const Pt=st(Ie,"previous");if(Pt>-1){xe.preventDefault();const Wt=Pt-1,on=y.value[Wt]?.type==="text"?y.value[Wt].text.length:0;He(Pt),ie(),Ge(Math.max(0,Wt),on)||lt(-1)}return}if(xe.key==="Delete"&&it===Tt){const Pt=st(Ie,"next");Pt>-1&&(xe.preventDefault(),He(Pt),ie(),Ge(Ie,Tt)||Ze(y.value.length));return}}},Et=(xe,Ie)=>{if(fe(xe))return;const $e=xe.target,mt=getTextOffset($e);et(xe,Ie);const it=y.value[Ie],Tt=ue();if(!H.value&&it?.type==="text"){const Pt=mt>0&&it.text[mt-1]==="$"?mt-1:-1;if(Pt>-1){_e(),it.text=it.text.slice(0,Pt)+it.text.slice(Pt+1),wt(Ie,Pt);return}}Tt&&_e(),ie(),Ne(Ie,mt)},Dt=(xe,Ie)=>{xe.preventDefault();const $e=xe.clipboardData?.getData("text/plain")||"";Nt(Ie,$e)},Ft=(xe,Ie)=>{const $e=xe.target,mt=getTextOffset($e);H.value=!1,et(xe,Ie),ie(),Ne(Ie,mt)},Nt=(xe,Ie)=>{const $e=y.value[xe];if(!$e||$e.type!=="text")return;const mt=W.get($e.id),it=mt?getTextSelectionOffsets(mt):null,Tt=it?it.start:mt?getTextOffset(mt):$e.text.length,Pt=it?it.end:Tt;$e.text=`${$e.text.slice(0,Tt)}${Ie}${$e.text.slice(Pt)}`,ie(),Ne(xe,Tt+Ie.length)},Pe=(xe,Ie)=>{const $e=y.value[Ie];!$e||$e.type!=="draft-variable"||($e.keyword=sanitizeEditableText(xe.target.textContent||"").replace(/[\${}]/g,""),$e.raw=formatVariableKey($e.keyword),R.value=$e.keyword,L.value=0,ce())},at=xe=>{fe(xe)||xe.inputType==="insertText"&&["$","{","}"].includes(xe.data||"")&&xe.preventDefault()},_t=(xe,Ie)=>{if(r.disabled||ge(xe)||ke(xe))return;const $e=y.value[Ie];if(!$e||$e.type!=="draft-variable")return;const mt=xe.target,it=getTextOffset(mt);if(xe.key==="$"||xe.key==="{"||xe.key==="}"){xe.preventDefault();return}if(xe.key==="Backspace"&&$e.keyword.length===0&&it===0){xe.preventDefault(),He(Ie),ie(),Ne(Math.max(0,Ie-1));return}xe.key==="Enter"&&xe.preventDefault()},Oe=(xe,Ie)=>{if(fe(xe))return;const $e=xe.target,mt=getTextOffset($e);Pe(xe,Ie),ie(),be(Ie,mt)},Be=(xe,Ie)=>{xe.preventDefault();const $e=(xe.clipboardData?.getData("text/plain")||"").replace(/[\${}]/g,"");ve(Ie,$e)},Ee=(xe,Ie)=>{const $e=xe.target,mt=getTextOffset($e);H.value=!1,Pe(xe,Ie),ie(),be(Ie,mt)},ve=(xe,Ie)=>{const $e=y.value[xe];if(!$e||$e.type!=="draft-variable")return;const it=W.get($e.id)?.querySelector(".draft-keyword"),Tt=it?getTextOffset(it):$e.keyword.length;$e.keyword=`${$e.keyword.slice(0,Tt)}${Ie}${$e.keyword.slice(Tt)}`,$e.raw=formatVariableKey($e.keyword),R.value=$e.keyword,ie(),be(xe,Tt+Ie.length)},ke=xe=>B.value?(["ArrowDown","ArrowUp","Enter","Escape"].includes(xe.key)&&(xe.preventDefault(),xe.stopPropagation()),xe.key==="ArrowDown"&&ne.value.length>0?(L.value=(L.value+1)%ne.value.length,bt(),!0):xe.key==="ArrowUp"&&ne.value.length>0?(L.value=L.value<=0?ne.value.length-1:L.value-1,bt(),!0):xe.key==="Enter"?(ne.value.length>0&&L.value>=0&&je(ne.value[L.value]),!0):xe.key==="Escape"?(z.value>-1&&he(z.value,!0),le(),!0):!1):!1,je=xe=>{if(z.value<0)return;const Ie=normalizeVariableKey(xe.key),$e=[...y.value];$e.splice(z.value,1,createVariableToken(Ie)),(!$e[z.value+1]||$e[z.value+1].type!=="text")&&$e.splice(z.value+1,0,createTextToken("")),y.value=mergeTextTokens($e);const mt=Math.min(z.value+1,y.value.length-1);le(),ie(),i("select-variable",xe),Ne(mt,0)},Se=xe=>{r.disabled||pe(xe,"")},ze=xe=>{const Ie=y.value[xe];if(!Ie||Ie.type!=="variable")return;const $e=Ie.key;He(xe),i("remove-variable",{key:$e,index:xe}),ie(),Ne(Math.max(0,xe-1))},He=xe=>{const Ie=[...y.value];Ie.splice(xe,1),y.value=mergeTextTokens(Ie),y.value.length===0&&(y.value=[createTextToken("")])},ut=()=>{const xe={keyword:R.value,cursorIndex:z.value};i("create-variable",xe),te?.(xe)},bt=()=>{vue.nextTick(()=>{if(!k.value)return;const Ie=k.value.querySelectorAll(".dropdown-item:not(.empty)")[L.value];if(!Ie)return;const $e=k.value.querySelector(".dropdown-list");if(!$e)return;const mt=Ie.offsetTop,it=mt+Ie.offsetHeight,Tt=$e.scrollTop,Pt=Tt+$e.clientHeight;mt<Tt?$e.scrollTop=mt:it>Pt&&($e.scrollTop=it-$e.clientHeight)})},At=xe=>{const Ie=xe.target;!C.value?.contains(Ie)&&!k.value?.contains(Ie)&&(ye(),le(),$.value=!1)},kt=()=>{B.value&&ce()};return vue.watch(()=>r.modelValue,xe=>{H.value||xe!==serializeTokens(y.value)&&(y.value=parseValueToTokens(xe))}),vue.watch(()=>ne.value.length,()=>{L.value=0}),vue.watch(()=>r.options,()=>{let xe=!1;const Ie=y.value.map($e=>{if($e.type!=="draft-variable"||!$e.keyword)return $e;const mt=r.options.find(it=>normalizeVariableKey(it.key)===normalizeVariableKey($e.keyword));return mt?(xe=!0,createVariableToken(mt.key)):$e});xe&&(y.value=mergeTextTokens(Ie),le(),ie())},{deep:!0}),vue.onMounted(()=>{document.addEventListener("click",At),window.addEventListener("resize",kt),window.addEventListener("scroll",kt,!0)}),vue.onBeforeUnmount(()=>{document.removeEventListener("click",At),window.removeEventListener("resize",kt),window.removeEventListener("scroll",kt,!0),Q.value&&window.clearTimeout(Q.value)}),t({focus:()=>{const xe=Ae(),Ie=y.value[xe];Ne(xe,Ie.type==="text"?Ie.text.length:0)},blur:()=>{const xe=document.activeElement;xe&&C.value?.contains(xe)&&xe.blur()}}),(xe,Ie)=>(vue.openBlock(),vue.createElementBlock("div",{ref_key:"containerRef",ref:C,class:vue.normalizeClass(["variable-input-wrapper",`is-${ee.value}`,{"is-focused":$.value,"is-disabled":r.disabled,"is-empty":q.value}]),style:vue.normalizeStyle(G.value),onMousedown:Je,onFocusin:Me,onFocusout:nt},[vue.createElementVNode("div",{class:"variable-editor",style:vue.normalizeStyle(J.value)},[q.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_1$R,vue.toDisplayString(r.placeholder),1)):vue.createCommentVNode("",!0),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(y.value,($e,mt)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:$e.id},[$e.type==="text"?(vue.openBlock(),vue.createElementBlock("span",{key:0,ref_for:!0,ref:it=>oe($e.id,it),"data-token-id":$e.id,class:"text-token",contenteditable:!r.disabled,spellcheck:"false",onBeforeinput:it=>ot(it,mt),onKeydown:it=>gt(it,mt),onInput:it=>Et(it,mt),onPaste:it=>Dt(it,mt),onCompositionstart:Ie[0]||(Ie[0]=it=>H.value=!0),onCompositionend:it=>Ft(it,mt)},vue.toDisplayString(de($e.text)),41,_hoisted_2$F)):$e.type==="draft-variable"?(vue.openBlock(),vue.createElementBlock("span",{key:1,ref_for:!0,ref:it=>oe($e.id,it),"data-token-id":$e.id,class:"draft-variable-token",onMousedown:Xe},[Ie[5]||(Ie[5]=vue.createElementVNode("span",{class:"draft-boundary"},"${",-1)),vue.createElementVNode("span",{class:"draft-keyword",contenteditable:!r.disabled,spellcheck:"false",onBeforeinput:Ie[1]||(Ie[1]=it=>at(it)),onKeydown:it=>_t(it,mt),onInput:it=>Oe(it,mt),onPaste:it=>Be(it,mt),onCompositionstart:Ie[2]||(Ie[2]=it=>H.value=!0),onCompositionend:it=>Ee(it,mt)},vue.toDisplayString(de($e.keyword)),41,_hoisted_4$u),Ie[6]||(Ie[6]=vue.createElementVNode("span",{class:"draft-boundary"},"}",-1))],40,_hoisted_3$z)):(vue.openBlock(),vue.createElementBlock("span",{key:2,ref_for:!0,ref:it=>oe($e.id,it),"data-token-id":$e.id,class:"variable-tag",title:se($e.key),onMousedown:Ie[3]||(Ie[3]=vue.withModifiers(()=>{},["prevent"])),onClick:vue.withModifiers(it=>Se(mt),["stop"])},[vue.createElementVNode("span",_hoisted_6$g,vue.toDisplayString(ae($e.key)),1),r.disabled?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("span",{key:0,class:"variable-tag-close",title:"删除",onClick:vue.withModifiers(it=>ze(mt),["stop"])},[...Ie[7]||(Ie[7]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-close"},null,-1)])],8,_hoisted_7$b))],40,_hoisted_5$l))],64))),128))],4),(vue.openBlock(),vue.createBlock(vue.Teleport,{to:"body"},[B.value?(vue.openBlock(),vue.createElementBlock("div",{key:0,ref_key:"dropdownRef",ref:k,class:vue.normalizeClass(["variable-dropdown",`is-${j.value.placement}`]),style:vue.normalizeStyle(Z.value)},[vue.createElementVNode("div",_hoisted_8$8,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(ne.value,($e,mt)=>(vue.openBlock(),vue.createElementBlock("div",{key:$e.key,class:vue.normalizeClass(["dropdown-item",{active:mt===L.value}]),onMousedown:vue.withModifiers(it=>je($e),["prevent"])},[vue.createElementVNode("div",_hoisted_10$7,[vue.createElementVNode("span",_hoisted_11$7,vue.toDisplayString(ae($e.key)),1),vue.createElementVNode("span",_hoisted_12$5,vue.toDisplayString($e.name),1)])],42,_hoisted_9$7))),128)),ne.value.length===0?(vue.openBlock(),vue.createElementBlock("div",_hoisted_13$3,"无匹配项")):vue.createCommentVNode("",!0)]),r.allowCreateVariable?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:"dropdown-create",onMousedown:Ie[4]||(Ie[4]=vue.withModifiers(()=>{},["prevent"])),onClick:vue.withModifiers(ut,["stop"])},[Ie[8]||(Ie[8]=vue.createElementVNode("span",{class:"create-icon"},"+",-1)),vue.createElementVNode("span",null,vue.toDisplayString(r.createVariableLabel),1)],32)):vue.createCommentVNode("",!0)],6)):vue.createCommentVNode("",!0)]))],38))}}),VariableInput=_export_sfc(_sfc_main$X,[["__scopeId","data-v-13f5f5d4"]]),_hoisted_1$Q={class:"input-field-form"},_sfc_main$W=vue.defineComponent({__name:"input",props:{modelValue:{default:""},config:{},disabled:{type:Boolean,default:!1},fullVariableList:{default:()=>[]}},emits:["update:modelValue","change"],setup(e,{emit:t}){const n=e,r=t,i=vue.ref(n.modelValue),C=vue.computed(()=>{const{type:y,form_type:B=""}=n.config;return B==="textarea"?"textarea":["int","integer","number"].includes(y)?"number":"text"});vue.watch(()=>n.modelValue,y=>{i.value=y});const k=()=>{r("update:modelValue",i.value),r("change",i.value)};return(y,B)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$Q,[vue.createVNode(VariableInput,{modelValue:i.value,"onUpdate:modelValue":B[0]||(B[0]=L=>i.value=L),type:C.value,rows:5,min:0,precision:0,disabled:n.disabled,options:n.fullVariableList,onChange:k},null,8,["modelValue","type","disabled","options"])]))}}),InputField=_export_sfc(_sfc_main$W,[["__scopeId","data-v-963da7d5"]]),_sfc_main$V=vue.defineComponent({__name:"switcher",props:{modelValue:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(e,{emit:t}){const n=e,r=vue.ref(n.modelValue);vue.watch(()=>n.modelValue,k=>{r.value=k});const i=t,C=k=>{i("update:modelValue",k),i("change",k)};return(k,y)=>{const B=vue.resolveComponent("bk-switcher");return vue.openBlock(),vue.createBlock(B,{"model-value":e.modelValue,theme:"primary",size:"small",disabled:e.disabled,onChange:C},null,8,["model-value","disabled"])}}}),_hoisted_1$P={class:"code-editor"},_sfc_main$U=vue.defineComponent({__name:"code",props:{modelValue:{default:""},language:{default:"json"},theme:{default:"vs-dark"},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change","blur","save"],setup(e,{emit:t}){setupMonacoEnvironment();const n={language:"json",theme:"vs-dark",automaticLayout:!0,minimap:{enabled:!1},wordWrap:"on",wrappingIndent:"same"},r=e,i=t,C=vue.ref(),k=vue.shallowRef();vue.watch(()=>r.modelValue,L=>{const R=k.value?.getValue();L!==R&&k.value?.setValue(L)}),vue.watch(()=>r.disabled,L=>{k.value&&k.value.updateOptions({...n,readOnly:L})}),vue.onMounted(()=>{y()}),vue.onBeforeUnmount(()=>{k.value&&k.value.dispose()});const y=()=>{k.value=monaco__namespace.editor.create(C.value,{...n,readOnly:r.disabled,value:r.modelValue,language:r.language});const L=k.value.getModel();L&&(L.setEOL(0),L.onDidChangeContent(()=>{const R=k.value?.getValue();B(R)})),k.value.onDidBlurEditorText(()=>{i("blur")})},B=L=>{i("update:modelValue",L),i("change",L)};return(L,R)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$P,[vue.createElementVNode("div",{ref_key:"monacoContainerRef",ref:C,class:"editor-instance-container"},null,512)]))}}),CodeField=_export_sfc(_sfc_main$U,[["__scopeId","data-v-8534e38a"]]),_hoisted_1$O={class:"bkflow-plugin-uniform-api-form"},_sfc_main$T=vue.defineComponent({__name:"index",props:{inputData:{default:()=>({})},inputs:{default:()=>[]},editable:{type:Boolean,default:!0},fullVariableList:{default:()=>[]}},emits:["change"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.ref(),k=vue.ref({}),y=vue.ref({});vue.watch(()=>r.inputData,()=>{Object.keys(r.inputData).forEach(j=>{k.value[j]=r.inputData[j].value})},{immediate:!0}),vue.watch(()=>r.inputs,()=>{r.inputs.forEach(j=>{j.required?y.value[j.key]=[{required:!0,message:"必填项",trigger:"blur"}]:(j.type==="json"||j.form_type==="json")&&(y.value[j.key]=[{validator:$=>{if($.trim().length===0)return!0;try{return JSON.parse($),!0}catch{return!1}},message:"请输入正确的 JSON 格式数据",trigger:"blur"}])})},{immediate:!0});const B=j=>{const{type:$,form_type:H=""}=j;if(H){if(["textarea","input"].includes(H))return InputField;if(["json"].includes(H))return CodeField}else{if(["string","int","integer","number"].includes($))return InputField;if(["boolean","bool"].includes($))return _sfc_main$V;if(["json","dict"].includes($))return CodeField}return vue.h("div","暂不支持该类型")},L=(j,$)=>{k.value[j]=$,z()},R=async()=>C.value.validate().then(()=>!0).catch(()=>!1),z=()=>{const j={...r.inputData};Object.keys(k.value).forEach($=>{j[$]={value:k.value[$],hook:!1,need_render:!0}}),i("change",j)};return t({validate:R}),(j,$)=>{const H=vue.resolveComponent("bk-form-item"),Q=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$O,[vue.createVNode(Q,{ref_key:"formRef",ref:C,rules:y.value,model:k.value,"label-width":94},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(r.inputs,W=>(vue.openBlock(),vue.createBlock(H,{key:W.key,label:W.name,required:W.required,desc:W.desc,property:W.key},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(B(W)),{"model-value":k.value[W.key],disabled:!r.editable,config:W,"full-variable-list":r.fullVariableList,onChange:te=>L(W.key,te)},null,40,["model-value","disabled","config","full-variable-list","onChange"]))]),_:2},1032,["label","required","desc","property"]))),128))]),_:1},8,["rules","model"])])}}}),BkFlowPluginUniformApiForm=_export_sfc(_sfc_main$T,[["__scopeId","data-v-38c9adce"]]),_hoisted_1$N={class:"plugin-agent"},_sfc_main$S=vue.defineComponent({__name:"index",props:{inputData:{},pluginDetail:{},editable:{type:Boolean},fullVariableList:{default:()=>[]}},emits:["change"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.computed(()=>{const z=r.pluginDetail?.inputs;return z&&z.find(j=>j.key==="addon_skills")||null}),k=vue.ref(),y=vue.ref({input:"",addon_skills:""});vue.watch(()=>r.inputData,()=>{!r.inputData.input&&r.inputData.content?y.value.input=r.inputData.content.value:r.inputData.input&&"value"in r.inputData.input&&(y.value.input=r.inputData.input.value),r.inputData.addon_skills&&"value"in r.inputData.addon_skills&&(y.value.addon_skills=r.inputData.addon_skills.value||"")},{immediate:!0});const B={input:[{required:!0,message:"请输入提问内容",trigger:"blur"}]},L=async()=>k.value.validate().then(()=>!0).catch(()=>!1),R=()=>{const z={...r.inputData};z.input={value:y.value.input,hook:!1,need_render:!0},C.value&&(z.addon_skills={value:y.value.addon_skills,hook:!1,need_render:!0}),i("change",z)};return t({validate:L}),(z,j)=>{const $=vue.resolveComponent("bk-form-item"),H=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$N,[vue.createVNode(H,{ref_key:"formRef",ref:k,rules:B,model:y.value,"label-width":94},{default:vue.withCtx(()=>[vue.createVNode($,{label:"用户提问",required:"",property:"input"},{default:vue.withCtx(()=>[vue.createVNode(VariableInput,{modelValue:y.value.input,"onUpdate:modelValue":j[0]||(j[0]=Q=>y.value.input=Q),options:r.fullVariableList,type:"textarea",placeholder:"请输入",rows:6,resize:!1,disabled:!r.editable,onChange:R},null,8,["modelValue","options","disabled"])]),_:1}),C.value?(vue.openBlock(),vue.createBlock($,{key:0,label:C.value.name,property:"addon_skills"},{default:vue.withCtx(()=>[vue.createVNode(VariableInput,{modelValue:y.value.addon_skills,"onUpdate:modelValue":j[1]||(j[1]=Q=>y.value.addon_skills=Q),options:r.fullVariableList,placeholder:C.value.desc||"请输入",disabled:!r.editable,onChange:R},null,8,["modelValue","options","placeholder","disabled"])]),_:1},8,["label"])):vue.createCommentVNode("",!0)]),_:1},8,["model"])])}}}),AgentForm=_export_sfc(_sfc_main$S,[["__scopeId","data-v-ddc5157f"]]);var commonjsGlobal=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function getDefaultExportFromCjs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var lodash={exports:{}};lodash.exports;(function(e,t){(function(){var n,r="4.17.21",i=200,C="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",k="Expected a function",y="Invalid `variable` option passed into `_.template`",B="__lodash_hash_undefined__",L=500,R="__lodash_placeholder__",z=1,j=2,$=4,H=1,Q=2,W=1,te=2,ee=4,q=8,G=16,J=32,Z=64,ne=128,oe=256,ae=512,se=30,de="...",ge=800,fe=16,ie=1,ce=2,pe=3,le=1/0,ue=9007199254740991,he=17976931348623157e292,ye=NaN,_e=4294967295,Ne=_e-1,be=_e>>>1,Ae=[["ary",ne],["bind",W],["bindKey",te],["curry",q],["curryRight",G],["flip",ae],["partial",J],["partialRight",Z],["rearg",oe]],Te="[object Arguments]",Ze="[object Array]",lt="[object AsyncFunction]",Ge="[object Boolean]",st="[object Date]",Ue="[object DOMException]",De="[object Error]",We="[object Function]",Ye="[object GeneratorFunction]",Re="[object Map]",Je="[object Number]",Xe="[object Null]",Me="[object Object]",nt="[object Promise]",et="[object Proxy]",wt="[object RegExp]",tt="[object Set]",ot="[object String]",gt="[object Symbol]",Et="[object Undefined]",Dt="[object WeakMap]",Ft="[object WeakSet]",Nt="[object ArrayBuffer]",Pe="[object DataView]",at="[object Float32Array]",_t="[object Float64Array]",Oe="[object Int8Array]",Be="[object Int16Array]",Ee="[object Int32Array]",ve="[object Uint8Array]",ke="[object Uint8ClampedArray]",je="[object Uint16Array]",Se="[object Uint32Array]",ze=/\b__p \+= '';/g,He=/\b(__p \+=) '' \+/g,ut=/(__e\(.*?\)|\b__t\)) \+\n'';/g,bt=/&(?:amp|lt|gt|quot|#39);/g,At=/[&<>"']/g,kt=RegExp(bt.source),xe=RegExp(At.source),Ie=/<%-([\s\S]+?)%>/g,$e=/<%([\s\S]+?)%>/g,mt=/<%=([\s\S]+?)%>/g,it=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Tt=/^\w*$/,Pt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Wt=/[\\^$.*+?()[\]{}|]/g,on=RegExp(Wt.source),Ke=/^\s+/,Ct=/\s/,Rt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Yt=/\{\n\/\* \[wrapped with (.+)\] \*/,mn=/,? & /,Bn=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Un=/[()=,{}\[\]\/\s]/,Hn=/\\(\\)?/g,so=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,dn=/\w*$/,dt=/^[-+]0x[0-9a-f]+$/i,ht=/^0b[01]+$/i,Le=/^\[object .+?Constructor\]$/,vt=/^0o[0-7]+$/i,xt=/^(?:0|[1-9]\d*)$/,It=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,$t=/($^)/,Zt=/['\n\r\u2028\u2029\\]/g,An="\\ud800-\\udfff",No="\\u0300-\\u036f",oa="\\ufe20-\\ufe2f",aa="\\u20d0-\\u20ff",tr=No+oa+aa,nr="\\u2700-\\u27bf",or="a-z\\xdf-\\xf6\\xf8-\\xff",Nu="\\xac\\xb1\\xd7\\xf7",Bu="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Su="\\u2000-\\u206f",Vu=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",ar="A-Z\\xc0-\\xd6\\xd8-\\xde",lr="\\ufe0e\\ufe0f",rr=Nu+Bu+Su+Vu,Ga="['’]",Tu="["+An+"]",sr="["+rr+"]",la="["+tr+"]",ur="\\d+",Iu="["+nr+"]",ir="["+or+"]",cr="[^"+An+rr+ur+nr+or+ar+"]",Wa="\\ud83c[\\udffb-\\udfff]",Du="(?:"+la+"|"+Wa+")",dr="[^"+An+"]",Ya="(?:\\ud83c[\\udde6-\\uddff]){2}",Qa="[\\ud800-\\udbff][\\udc00-\\udfff]",Bo="["+ar+"]",vr="\\u200d",fr="(?:"+ir+"|"+cr+")",Pu="(?:"+Bo+"|"+cr+")",pr="(?:"+Ga+"(?:d|ll|m|re|s|t|ve))?",mr="(?:"+Ga+"(?:D|LL|M|RE|S|T|VE))?",gr=Du+"?",hr="["+lr+"]?",Ou="(?:"+vr+"(?:"+[dr,Ya,Qa].join("|")+")"+hr+gr+")*",Mu="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Lu="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",br=hr+gr+Ou,Ru="(?:"+[Iu,Ya,Qa].join("|")+")"+br,Fu="(?:"+[dr+la+"?",la,Ya,Qa,Tu].join("|")+")",$u=RegExp(Ga,"g"),zu=RegExp(la,"g"),qa=RegExp(Wa+"(?="+Wa+")|"+Fu+br,"g"),ju=RegExp([Bo+"?"+ir+"+"+pr+"(?="+[sr,Bo,"$"].join("|")+")",Pu+"+"+mr+"(?="+[sr,Bo+fr,"$"].join("|")+")",Bo+"?"+fr+"+"+pr,Bo+"+"+mr,Lu,Mu,ur,Ru].join("|"),"g"),Uu=RegExp("["+vr+An+tr+lr+"]"),Hu=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Gu=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Wu=-1,an={};an[at]=an[_t]=an[Oe]=an[Be]=an[Ee]=an[ve]=an[ke]=an[je]=an[Se]=!0,an[Te]=an[Ze]=an[Nt]=an[Ge]=an[Pe]=an[st]=an[De]=an[We]=an[Re]=an[Je]=an[Me]=an[wt]=an[tt]=an[ot]=an[Dt]=!1;var nn={};nn[Te]=nn[Ze]=nn[Nt]=nn[Pe]=nn[Ge]=nn[st]=nn[at]=nn[_t]=nn[Oe]=nn[Be]=nn[Ee]=nn[Re]=nn[Je]=nn[Me]=nn[wt]=nn[tt]=nn[ot]=nn[gt]=nn[ve]=nn[ke]=nn[je]=nn[Se]=!0,nn[De]=nn[We]=nn[Dt]=!1;var Yu={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Qu={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},qu={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},Ku={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Zu=parseFloat,Xu=parseInt,yr=typeof commonjsGlobal=="object"&&commonjsGlobal&&commonjsGlobal.Object===Object&&commonjsGlobal,Ju=typeof self=="object"&&self&&self.Object===Object&&self,gn=yr||Ju||Function("return this")(),Ka=t&&!t.nodeType&&t,bo=Ka&&!0&&e&&!e.nodeType&&e,_r=bo&&bo.exports===Ka,Za=_r&&yr.process,On=(function(){try{var Qe=bo&&bo.require&&bo.require("util").types;return Qe||Za&&Za.binding&&Za.binding("util")}catch{}})(),wr=On&&On.isArrayBuffer,Cr=On&&On.isDate,Ar=On&&On.isMap,kr=On&&On.isRegExp,Er=On&&On.isSet,xr=On&&On.isTypedArray;function Sn(Qe,ct,rt){switch(rt.length){case 0:return Qe.call(ct);case 1:return Qe.call(ct,rt[0]);case 2:return Qe.call(ct,rt[0],rt[1]);case 3:return Qe.call(ct,rt[0],rt[1],rt[2])}return Qe.apply(ct,rt)}function ei(Qe,ct,rt,St){for(var zt=-1,Xt=Qe==null?0:Qe.length;++zt<Xt;){var vn=Qe[zt];ct(St,vn,rt(vn),Qe)}return St}function Mn(Qe,ct){for(var rt=-1,St=Qe==null?0:Qe.length;++rt<St&&ct(Qe[rt],rt,Qe)!==!1;);return Qe}function ti(Qe,ct){for(var rt=Qe==null?0:Qe.length;rt--&&ct(Qe[rt],rt,Qe)!==!1;);return Qe}function Nr(Qe,ct){for(var rt=-1,St=Qe==null?0:Qe.length;++rt<St;)if(!ct(Qe[rt],rt,Qe))return!1;return!0}function uo(Qe,ct){for(var rt=-1,St=Qe==null?0:Qe.length,zt=0,Xt=[];++rt<St;){var vn=Qe[rt];ct(vn,rt,Qe)&&(Xt[zt++]=vn)}return Xt}function ra(Qe,ct){var rt=Qe==null?0:Qe.length;return!!rt&&So(Qe,ct,0)>-1}function Xa(Qe,ct,rt){for(var St=-1,zt=Qe==null?0:Qe.length;++St<zt;)if(rt(ct,Qe[St]))return!0;return!1}function ln(Qe,ct){for(var rt=-1,St=Qe==null?0:Qe.length,zt=Array(St);++rt<St;)zt[rt]=ct(Qe[rt],rt,Qe);return zt}function io(Qe,ct){for(var rt=-1,St=ct.length,zt=Qe.length;++rt<St;)Qe[zt+rt]=ct[rt];return Qe}function Ja(Qe,ct,rt,St){var zt=-1,Xt=Qe==null?0:Qe.length;for(St&&Xt&&(rt=Qe[++zt]);++zt<Xt;)rt=ct(rt,Qe[zt],zt,Qe);return rt}function ni(Qe,ct,rt,St){var zt=Qe==null?0:Qe.length;for(St&&zt&&(rt=Qe[--zt]);zt--;)rt=ct(rt,Qe[zt],zt,Qe);return rt}function el(Qe,ct){for(var rt=-1,St=Qe==null?0:Qe.length;++rt<St;)if(ct(Qe[rt],rt,Qe))return!0;return!1}var oi=tl("length");function ai(Qe){return Qe.split("")}function li(Qe){return Qe.match(Bn)||[]}function Br(Qe,ct,rt){var St;return rt(Qe,function(zt,Xt,vn){if(ct(zt,Xt,vn))return St=Xt,!1}),St}function sa(Qe,ct,rt,St){for(var zt=Qe.length,Xt=rt+(St?1:-1);St?Xt--:++Xt<zt;)if(ct(Qe[Xt],Xt,Qe))return Xt;return-1}function So(Qe,ct,rt){return ct===ct?hi(Qe,ct,rt):sa(Qe,Sr,rt)}function ri(Qe,ct,rt,St){for(var zt=rt-1,Xt=Qe.length;++zt<Xt;)if(St(Qe[zt],ct))return zt;return-1}function Sr(Qe){return Qe!==Qe}function Vr(Qe,ct){var rt=Qe==null?0:Qe.length;return rt?ol(Qe,ct)/rt:ye}function tl(Qe){return function(ct){return ct==null?n:ct[Qe]}}function nl(Qe){return function(ct){return Qe==null?n:Qe[ct]}}function Tr(Qe,ct,rt,St,zt){return zt(Qe,function(Xt,vn,tn){rt=St?(St=!1,Xt):ct(rt,Xt,vn,tn)}),rt}function si(Qe,ct){var rt=Qe.length;for(Qe.sort(ct);rt--;)Qe[rt]=Qe[rt].value;return Qe}function ol(Qe,ct){for(var rt,St=-1,zt=Qe.length;++St<zt;){var Xt=ct(Qe[St]);Xt!==n&&(rt=rt===n?Xt:rt+Xt)}return rt}function al(Qe,ct){for(var rt=-1,St=Array(Qe);++rt<Qe;)St[rt]=ct(rt);return St}function ui(Qe,ct){return ln(ct,function(rt){return[rt,Qe[rt]]})}function Ir(Qe){return Qe&&Qe.slice(0,Mr(Qe)+1).replace(Ke,"")}function Vn(Qe){return function(ct){return Qe(ct)}}function ll(Qe,ct){return ln(ct,function(rt){return Qe[rt]})}function jo(Qe,ct){return Qe.has(ct)}function Dr(Qe,ct){for(var rt=-1,St=Qe.length;++rt<St&&So(ct,Qe[rt],0)>-1;);return rt}function Pr(Qe,ct){for(var rt=Qe.length;rt--&&So(ct,Qe[rt],0)>-1;);return rt}function ii(Qe,ct){for(var rt=Qe.length,St=0;rt--;)Qe[rt]===ct&&++St;return St}var ci=nl(Yu),di=nl(Qu);function vi(Qe){return"\\"+Ku[Qe]}function fi(Qe,ct){return Qe==null?n:Qe[ct]}function Vo(Qe){return Uu.test(Qe)}function pi(Qe){return Hu.test(Qe)}function mi(Qe){for(var ct,rt=[];!(ct=Qe.next()).done;)rt.push(ct.value);return rt}function rl(Qe){var ct=-1,rt=Array(Qe.size);return Qe.forEach(function(St,zt){rt[++ct]=[zt,St]}),rt}function Or(Qe,ct){return function(rt){return Qe(ct(rt))}}function co(Qe,ct){for(var rt=-1,St=Qe.length,zt=0,Xt=[];++rt<St;){var vn=Qe[rt];(vn===ct||vn===R)&&(Qe[rt]=R,Xt[zt++]=rt)}return Xt}function ua(Qe){var ct=-1,rt=Array(Qe.size);return Qe.forEach(function(St){rt[++ct]=St}),rt}function gi(Qe){var ct=-1,rt=Array(Qe.size);return Qe.forEach(function(St){rt[++ct]=[St,St]}),rt}function hi(Qe,ct,rt){for(var St=rt-1,zt=Qe.length;++St<zt;)if(Qe[St]===ct)return St;return-1}function bi(Qe,ct,rt){for(var St=rt+1;St--;)if(Qe[St]===ct)return St;return St}function To(Qe){return Vo(Qe)?_i(Qe):oi(Qe)}function Gn(Qe){return Vo(Qe)?wi(Qe):ai(Qe)}function Mr(Qe){for(var ct=Qe.length;ct--&&Ct.test(Qe.charAt(ct)););return ct}var yi=nl(qu);function _i(Qe){for(var ct=qa.lastIndex=0;qa.test(Qe);)++ct;return ct}function wi(Qe){return Qe.match(qa)||[]}function Ci(Qe){return Qe.match(ju)||[]}var Ai=function Qe(ct){ct=ct==null?gn:Io.defaults(gn.Object(),ct,Io.pick(gn,Gu));var rt=ct.Array,St=ct.Date,zt=ct.Error,Xt=ct.Function,vn=ct.Math,tn=ct.Object,sl=ct.RegExp,ki=ct.String,Ln=ct.TypeError,ia=rt.prototype,Ei=Xt.prototype,Do=tn.prototype,ca=ct["__core-js_shared__"],da=Ei.toString,en=Do.hasOwnProperty,xi=0,Lr=(function(){var g=/[^.]+$/.exec(ca&&ca.keys&&ca.keys.IE_PROTO||"");return g?"Symbol(src)_1."+g:""})(),va=Do.toString,Ni=da.call(tn),Bi=gn._,Si=sl("^"+da.call(en).replace(Wt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),fa=_r?ct.Buffer:n,vo=ct.Symbol,pa=ct.Uint8Array,Rr=fa?fa.allocUnsafe:n,ma=Or(tn.getPrototypeOf,tn),Fr=tn.create,$r=Do.propertyIsEnumerable,ga=ia.splice,zr=vo?vo.isConcatSpreadable:n,Uo=vo?vo.iterator:n,yo=vo?vo.toStringTag:n,ha=(function(){try{var g=ko(tn,"defineProperty");return g({},"",{}),g}catch{}})(),Vi=ct.clearTimeout!==gn.clearTimeout&&ct.clearTimeout,Ti=St&&St.now!==gn.Date.now&&St.now,Ii=ct.setTimeout!==gn.setTimeout&&ct.setTimeout,ba=vn.ceil,ya=vn.floor,ul=tn.getOwnPropertySymbols,Di=fa?fa.isBuffer:n,jr=ct.isFinite,Pi=ia.join,Oi=Or(tn.keys,tn),fn=vn.max,bn=vn.min,Mi=St.now,Li=ct.parseInt,Ur=vn.random,Ri=ia.reverse,il=ko(ct,"DataView"),Ho=ko(ct,"Map"),cl=ko(ct,"Promise"),Po=ko(ct,"Set"),Go=ko(ct,"WeakMap"),Wo=ko(tn,"create"),_a=Go&&new Go,Oo={},Fi=Eo(il),$i=Eo(Ho),zi=Eo(cl),ji=Eo(Po),Ui=Eo(Go),wa=vo?vo.prototype:n,Yo=wa?wa.valueOf:n,Hr=wa?wa.toString:n;function we(g){if(sn(g)&&!jt(g)&&!(g instanceof qt)){if(g instanceof Rn)return g;if(en.call(g,"__wrapped__"))return Gs(g)}return new Rn(g)}var Mo=(function(){function g(){}return function(V){if(!rn(V))return{};if(Fr)return Fr(V);g.prototype=V;var K=new g;return g.prototype=n,K}})();function Ca(){}function Rn(g,V){this.__wrapped__=g,this.__actions__=[],this.__chain__=!!V,this.__index__=0,this.__values__=n}we.templateSettings={escape:Ie,evaluate:$e,interpolate:mt,variable:"",imports:{_:we}},we.prototype=Ca.prototype,we.prototype.constructor=we,Rn.prototype=Mo(Ca.prototype),Rn.prototype.constructor=Rn;function qt(g){this.__wrapped__=g,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=_e,this.__views__=[]}function Hi(){var g=new qt(this.__wrapped__);return g.__actions__=kn(this.__actions__),g.__dir__=this.__dir__,g.__filtered__=this.__filtered__,g.__iteratees__=kn(this.__iteratees__),g.__takeCount__=this.__takeCount__,g.__views__=kn(this.__views__),g}function Gi(){if(this.__filtered__){var g=new qt(this);g.__dir__=-1,g.__filtered__=!0}else g=this.clone(),g.__dir__*=-1;return g}function Wi(){var g=this.__wrapped__.value(),V=this.__dir__,K=jt(g),re=V<0,me=K?g.length:0,Ce=ad(0,me,this.__views__),Ve=Ce.start,Fe=Ce.end,qe=Fe-Ve,ft=re?Fe:Ve-1,pt=this.__iteratees__,yt=pt.length,Bt=0,Vt=bn(qe,this.__takeCount__);if(!K||!re&&me==qe&&Vt==qe)return ps(g,this.__actions__);var Mt=[];e:for(;qe--&&Bt<Vt;){ft+=V;for(var Ht=-1,Lt=g[ft];++Ht<yt;){var Qt=pt[Ht],Kt=Qt.iteratee,Dn=Qt.type,Cn=Kt(Lt);if(Dn==ce)Lt=Cn;else if(!Cn){if(Dn==ie)continue e;break e}}Mt[Bt++]=Lt}return Mt}qt.prototype=Mo(Ca.prototype),qt.prototype.constructor=qt;function _o(g){var V=-1,K=g==null?0:g.length;for(this.clear();++V<K;){var re=g[V];this.set(re[0],re[1])}}function Yi(){this.__data__=Wo?Wo(null):{},this.size=0}function Qi(g){var V=this.has(g)&&delete this.__data__[g];return this.size-=V?1:0,V}function qi(g){var V=this.__data__;if(Wo){var K=V[g];return K===B?n:K}return en.call(V,g)?V[g]:n}function Ki(g){var V=this.__data__;return Wo?V[g]!==n:en.call(V,g)}function Zi(g,V){var K=this.__data__;return this.size+=this.has(g)?0:1,K[g]=Wo&&V===n?B:V,this}_o.prototype.clear=Yi,_o.prototype.delete=Qi,_o.prototype.get=qi,_o.prototype.has=Ki,_o.prototype.set=Zi;function Xn(g){var V=-1,K=g==null?0:g.length;for(this.clear();++V<K;){var re=g[V];this.set(re[0],re[1])}}function Xi(){this.__data__=[],this.size=0}function Ji(g){var V=this.__data__,K=Aa(V,g);if(K<0)return!1;var re=V.length-1;return K==re?V.pop():ga.call(V,K,1),--this.size,!0}function ec(g){var V=this.__data__,K=Aa(V,g);return K<0?n:V[K][1]}function tc(g){return Aa(this.__data__,g)>-1}function nc(g,V){var K=this.__data__,re=Aa(K,g);return re<0?(++this.size,K.push([g,V])):K[re][1]=V,this}Xn.prototype.clear=Xi,Xn.prototype.delete=Ji,Xn.prototype.get=ec,Xn.prototype.has=tc,Xn.prototype.set=nc;function Jn(g){var V=-1,K=g==null?0:g.length;for(this.clear();++V<K;){var re=g[V];this.set(re[0],re[1])}}function oc(){this.size=0,this.__data__={hash:new _o,map:new(Ho||Xn),string:new _o}}function ac(g){var V=Oa(this,g).delete(g);return this.size-=V?1:0,V}function lc(g){return Oa(this,g).get(g)}function rc(g){return Oa(this,g).has(g)}function sc(g,V){var K=Oa(this,g),re=K.size;return K.set(g,V),this.size+=K.size==re?0:1,this}Jn.prototype.clear=oc,Jn.prototype.delete=ac,Jn.prototype.get=lc,Jn.prototype.has=rc,Jn.prototype.set=sc;function wo(g){var V=-1,K=g==null?0:g.length;for(this.__data__=new Jn;++V<K;)this.add(g[V])}function uc(g){return this.__data__.set(g,B),this}function ic(g){return this.__data__.has(g)}wo.prototype.add=wo.prototype.push=uc,wo.prototype.has=ic;function Wn(g){var V=this.__data__=new Xn(g);this.size=V.size}function cc(){this.__data__=new Xn,this.size=0}function dc(g){var V=this.__data__,K=V.delete(g);return this.size=V.size,K}function vc(g){return this.__data__.get(g)}function fc(g){return this.__data__.has(g)}function pc(g,V){var K=this.__data__;if(K instanceof Xn){var re=K.__data__;if(!Ho||re.length<i-1)return re.push([g,V]),this.size=++K.size,this;K=this.__data__=new Jn(re)}return K.set(g,V),this.size=K.size,this}Wn.prototype.clear=cc,Wn.prototype.delete=dc,Wn.prototype.get=vc,Wn.prototype.has=fc,Wn.prototype.set=pc;function Gr(g,V){var K=jt(g),re=!K&&xo(g),me=!K&&!re&&ho(g),Ce=!K&&!re&&!me&&$o(g),Ve=K||re||me||Ce,Fe=Ve?al(g.length,ki):[],qe=Fe.length;for(var ft in g)(V||en.call(g,ft))&&!(Ve&&(ft=="length"||me&&(ft=="offset"||ft=="parent")||Ce&&(ft=="buffer"||ft=="byteLength"||ft=="byteOffset")||oo(ft,qe)))&&Fe.push(ft);return Fe}function Wr(g){var V=g.length;return V?g[wl(0,V-1)]:n}function mc(g,V){return Ma(kn(g),Co(V,0,g.length))}function gc(g){return Ma(kn(g))}function dl(g,V,K){(K!==n&&!Yn(g[V],K)||K===n&&!(V in g))&&eo(g,V,K)}function Qo(g,V,K){var re=g[V];(!(en.call(g,V)&&Yn(re,K))||K===n&&!(V in g))&&eo(g,V,K)}function Aa(g,V){for(var K=g.length;K--;)if(Yn(g[K][0],V))return K;return-1}function hc(g,V,K,re){return fo(g,function(me,Ce,Ve){V(re,me,K(me),Ve)}),re}function Yr(g,V){return g&&Kn(V,pn(V),g)}function bc(g,V){return g&&Kn(V,xn(V),g)}function eo(g,V,K){V=="__proto__"&&ha?ha(g,V,{configurable:!0,enumerable:!0,value:K,writable:!0}):g[V]=K}function vl(g,V){for(var K=-1,re=V.length,me=rt(re),Ce=g==null;++K<re;)me[K]=Ce?n:Wl(g,V[K]);return me}function Co(g,V,K){return g===g&&(K!==n&&(g=g<=K?g:K),V!==n&&(g=g>=V?g:V)),g}function Fn(g,V,K,re,me,Ce){var Ve,Fe=V&z,qe=V&j,ft=V&$;if(K&&(Ve=me?K(g,re,me,Ce):K(g)),Ve!==n)return Ve;if(!rn(g))return g;var pt=jt(g);if(pt){if(Ve=rd(g),!Fe)return kn(g,Ve)}else{var yt=yn(g),Bt=yt==We||yt==Ye;if(ho(g))return hs(g,Fe);if(yt==Me||yt==Te||Bt&&!me){if(Ve=qe||Bt?{}:Ms(g),!Fe)return qe?qc(g,bc(Ve,g)):Qc(g,Yr(Ve,g))}else{if(!nn[yt])return me?g:{};Ve=sd(g,yt,Fe)}}Ce||(Ce=new Wn);var Vt=Ce.get(g);if(Vt)return Vt;Ce.set(g,Ve),du(g)?g.forEach(function(Lt){Ve.add(Fn(Lt,V,K,Lt,g,Ce))}):iu(g)&&g.forEach(function(Lt,Qt){Ve.set(Qt,Fn(Lt,V,K,Qt,g,Ce))});var Mt=ft?qe?Il:Tl:qe?xn:pn,Ht=pt?n:Mt(g);return Mn(Ht||g,function(Lt,Qt){Ht&&(Qt=Lt,Lt=g[Qt]),Qo(Ve,Qt,Fn(Lt,V,K,Qt,g,Ce))}),Ve}function yc(g){var V=pn(g);return function(K){return Qr(K,g,V)}}function Qr(g,V,K){var re=K.length;if(g==null)return!re;for(g=tn(g);re--;){var me=K[re],Ce=V[me],Ve=g[me];if(Ve===n&&!(me in g)||!Ce(Ve))return!1}return!0}function qr(g,V,K){if(typeof g!="function")throw new Ln(k);return ta(function(){g.apply(n,K)},V)}function qo(g,V,K,re){var me=-1,Ce=ra,Ve=!0,Fe=g.length,qe=[],ft=V.length;if(!Fe)return qe;K&&(V=ln(V,Vn(K))),re?(Ce=Xa,Ve=!1):V.length>=i&&(Ce=jo,Ve=!1,V=new wo(V));e:for(;++me<Fe;){var pt=g[me],yt=K==null?pt:K(pt);if(pt=re||pt!==0?pt:0,Ve&&yt===yt){for(var Bt=ft;Bt--;)if(V[Bt]===yt)continue e;qe.push(pt)}else Ce(V,yt,re)||qe.push(pt)}return qe}var fo=Cs(qn),Kr=Cs(pl,!0);function _c(g,V){var K=!0;return fo(g,function(re,me,Ce){return K=!!V(re,me,Ce),K}),K}function ka(g,V,K){for(var re=-1,me=g.length;++re<me;){var Ce=g[re],Ve=V(Ce);if(Ve!=null&&(Fe===n?Ve===Ve&&!In(Ve):K(Ve,Fe)))var Fe=Ve,qe=Ce}return qe}function wc(g,V,K,re){var me=g.length;for(K=Ut(K),K<0&&(K=-K>me?0:me+K),re=re===n||re>me?me:Ut(re),re<0&&(re+=me),re=K>re?0:fu(re);K<re;)g[K++]=V;return g}function Zr(g,V){var K=[];return fo(g,function(re,me,Ce){V(re,me,Ce)&&K.push(re)}),K}function hn(g,V,K,re,me){var Ce=-1,Ve=g.length;for(K||(K=id),me||(me=[]);++Ce<Ve;){var Fe=g[Ce];V>0&&K(Fe)?V>1?hn(Fe,V-1,K,re,me):io(me,Fe):re||(me[me.length]=Fe)}return me}var fl=As(),Xr=As(!0);function qn(g,V){return g&&fl(g,V,pn)}function pl(g,V){return g&&Xr(g,V,pn)}function Ea(g,V){return uo(V,function(K){return ao(g[K])})}function Ao(g,V){V=mo(V,g);for(var K=0,re=V.length;g!=null&&K<re;)g=g[Zn(V[K++])];return K&&K==re?g:n}function Jr(g,V,K){var re=V(g);return jt(g)?re:io(re,K(g))}function _n(g){return g==null?g===n?Et:Xe:yo&&yo in tn(g)?od(g):gd(g)}function ml(g,V){return g>V}function Cc(g,V){return g!=null&&en.call(g,V)}function Ac(g,V){return g!=null&&V in tn(g)}function kc(g,V,K){return g>=bn(V,K)&&g<fn(V,K)}function gl(g,V,K){for(var re=K?Xa:ra,me=g[0].length,Ce=g.length,Ve=Ce,Fe=rt(Ce),qe=1/0,ft=[];Ve--;){var pt=g[Ve];Ve&&V&&(pt=ln(pt,Vn(V))),qe=bn(pt.length,qe),Fe[Ve]=!K&&(V||me>=120&&pt.length>=120)?new wo(Ve&&pt):n}pt=g[0];var yt=-1,Bt=Fe[0];e:for(;++yt<me&&ft.length<qe;){var Vt=pt[yt],Mt=V?V(Vt):Vt;if(Vt=K||Vt!==0?Vt:0,!(Bt?jo(Bt,Mt):re(ft,Mt,K))){for(Ve=Ce;--Ve;){var Ht=Fe[Ve];if(!(Ht?jo(Ht,Mt):re(g[Ve],Mt,K)))continue e}Bt&&Bt.push(Mt),ft.push(Vt)}}return ft}function Ec(g,V,K,re){return qn(g,function(me,Ce,Ve){V(re,K(me),Ce,Ve)}),re}function Ko(g,V,K){V=mo(V,g),g=$s(g,V);var re=g==null?g:g[Zn(zn(V))];return re==null?n:Sn(re,g,K)}function es(g){return sn(g)&&_n(g)==Te}function xc(g){return sn(g)&&_n(g)==Nt}function Nc(g){return sn(g)&&_n(g)==st}function Zo(g,V,K,re,me){return g===V?!0:g==null||V==null||!sn(g)&&!sn(V)?g!==g&&V!==V:Bc(g,V,K,re,Zo,me)}function Bc(g,V,K,re,me,Ce){var Ve=jt(g),Fe=jt(V),qe=Ve?Ze:yn(g),ft=Fe?Ze:yn(V);qe=qe==Te?Me:qe,ft=ft==Te?Me:ft;var pt=qe==Me,yt=ft==Me,Bt=qe==ft;if(Bt&&ho(g)){if(!ho(V))return!1;Ve=!0,pt=!1}if(Bt&&!pt)return Ce||(Ce=new Wn),Ve||$o(g)?Ds(g,V,K,re,me,Ce):td(g,V,qe,K,re,me,Ce);if(!(K&H)){var Vt=pt&&en.call(g,"__wrapped__"),Mt=yt&&en.call(V,"__wrapped__");if(Vt||Mt){var Ht=Vt?g.value():g,Lt=Mt?V.value():V;return Ce||(Ce=new Wn),me(Ht,Lt,K,re,Ce)}}return Bt?(Ce||(Ce=new Wn),nd(g,V,K,re,me,Ce)):!1}function Sc(g){return sn(g)&&yn(g)==Re}function hl(g,V,K,re){var me=K.length,Ce=me,Ve=!re;if(g==null)return!Ce;for(g=tn(g);me--;){var Fe=K[me];if(Ve&&Fe[2]?Fe[1]!==g[Fe[0]]:!(Fe[0]in g))return!1}for(;++me<Ce;){Fe=K[me];var qe=Fe[0],ft=g[qe],pt=Fe[1];if(Ve&&Fe[2]){if(ft===n&&!(qe in g))return!1}else{var yt=new Wn;if(re)var Bt=re(ft,pt,qe,g,V,yt);if(!(Bt===n?Zo(pt,ft,H|Q,re,yt):Bt))return!1}}return!0}function ts(g){if(!rn(g)||dd(g))return!1;var V=ao(g)?Si:Le;return V.test(Eo(g))}function Vc(g){return sn(g)&&_n(g)==wt}function Tc(g){return sn(g)&&yn(g)==tt}function Ic(g){return sn(g)&&ja(g.length)&&!!an[_n(g)]}function ns(g){return typeof g=="function"?g:g==null?Nn:typeof g=="object"?jt(g)?ls(g[0],g[1]):as(g):ku(g)}function bl(g){if(!ea(g))return Oi(g);var V=[];for(var K in tn(g))en.call(g,K)&&K!="constructor"&&V.push(K);return V}function Dc(g){if(!rn(g))return md(g);var V=ea(g),K=[];for(var re in g)re=="constructor"&&(V||!en.call(g,re))||K.push(re);return K}function yl(g,V){return g<V}function os(g,V){var K=-1,re=En(g)?rt(g.length):[];return fo(g,function(me,Ce,Ve){re[++K]=V(me,Ce,Ve)}),re}function as(g){var V=Pl(g);return V.length==1&&V[0][2]?Rs(V[0][0],V[0][1]):function(K){return K===g||hl(K,g,V)}}function ls(g,V){return Ml(g)&&Ls(V)?Rs(Zn(g),V):function(K){var re=Wl(K,g);return re===n&&re===V?Yl(K,g):Zo(V,re,H|Q)}}function xa(g,V,K,re,me){g!==V&&fl(V,function(Ce,Ve){if(me||(me=new Wn),rn(Ce))Pc(g,V,Ve,K,xa,re,me);else{var Fe=re?re(Rl(g,Ve),Ce,Ve+"",g,V,me):n;Fe===n&&(Fe=Ce),dl(g,Ve,Fe)}},xn)}function Pc(g,V,K,re,me,Ce,Ve){var Fe=Rl(g,K),qe=Rl(V,K),ft=Ve.get(qe);if(ft){dl(g,K,ft);return}var pt=Ce?Ce(Fe,qe,K+"",g,V,Ve):n,yt=pt===n;if(yt){var Bt=jt(qe),Vt=!Bt&&ho(qe),Mt=!Bt&&!Vt&&$o(qe);pt=qe,Bt||Vt||Mt?jt(Fe)?pt=Fe:un(Fe)?pt=kn(Fe):Vt?(yt=!1,pt=hs(qe,!0)):Mt?(yt=!1,pt=bs(qe,!0)):pt=[]:na(qe)||xo(qe)?(pt=Fe,xo(Fe)?pt=pu(Fe):(!rn(Fe)||ao(Fe))&&(pt=Ms(qe))):yt=!1}yt&&(Ve.set(qe,pt),me(pt,qe,re,Ce,Ve),Ve.delete(qe)),dl(g,K,pt)}function rs(g,V){var K=g.length;if(K)return V+=V<0?K:0,oo(V,K)?g[V]:n}function ss(g,V,K){V.length?V=ln(V,function(Ce){return jt(Ce)?function(Ve){return Ao(Ve,Ce.length===1?Ce[0]:Ce)}:Ce}):V=[Nn];var re=-1;V=ln(V,Vn(Ot()));var me=os(g,function(Ce,Ve,Fe){var qe=ln(V,function(ft){return ft(Ce)});return{criteria:qe,index:++re,value:Ce}});return si(me,function(Ce,Ve){return Yc(Ce,Ve,K)})}function Oc(g,V){return us(g,V,function(K,re){return Yl(g,re)})}function us(g,V,K){for(var re=-1,me=V.length,Ce={};++re<me;){var Ve=V[re],Fe=Ao(g,Ve);K(Fe,Ve)&&Xo(Ce,mo(Ve,g),Fe)}return Ce}function Mc(g){return function(V){return Ao(V,g)}}function _l(g,V,K,re){var me=re?ri:So,Ce=-1,Ve=V.length,Fe=g;for(g===V&&(V=kn(V)),K&&(Fe=ln(g,Vn(K)));++Ce<Ve;)for(var qe=0,ft=V[Ce],pt=K?K(ft):ft;(qe=me(Fe,pt,qe,re))>-1;)Fe!==g&&ga.call(Fe,qe,1),ga.call(g,qe,1);return g}function is(g,V){for(var K=g?V.length:0,re=K-1;K--;){var me=V[K];if(K==re||me!==Ce){var Ce=me;oo(me)?ga.call(g,me,1):kl(g,me)}}return g}function wl(g,V){return g+ya(Ur()*(V-g+1))}function Lc(g,V,K,re){for(var me=-1,Ce=fn(ba((V-g)/(K||1)),0),Ve=rt(Ce);Ce--;)Ve[re?Ce:++me]=g,g+=K;return Ve}function Cl(g,V){var K="";if(!g||V<1||V>ue)return K;do V%2&&(K+=g),V=ya(V/2),V&&(g+=g);while(V);return K}function Gt(g,V){return Fl(Fs(g,V,Nn),g+"")}function Rc(g){return Wr(zo(g))}function Fc(g,V){var K=zo(g);return Ma(K,Co(V,0,K.length))}function Xo(g,V,K,re){if(!rn(g))return g;V=mo(V,g);for(var me=-1,Ce=V.length,Ve=Ce-1,Fe=g;Fe!=null&&++me<Ce;){var qe=Zn(V[me]),ft=K;if(qe==="__proto__"||qe==="constructor"||qe==="prototype")return g;if(me!=Ve){var pt=Fe[qe];ft=re?re(pt,qe,Fe):n,ft===n&&(ft=rn(pt)?pt:oo(V[me+1])?[]:{})}Qo(Fe,qe,ft),Fe=Fe[qe]}return g}var cs=_a?function(g,V){return _a.set(g,V),g}:Nn,$c=ha?function(g,V){return ha(g,"toString",{configurable:!0,enumerable:!1,value:ql(V),writable:!0})}:Nn;function zc(g){return Ma(zo(g))}function $n(g,V,K){var re=-1,me=g.length;V<0&&(V=-V>me?0:me+V),K=K>me?me:K,K<0&&(K+=me),me=V>K?0:K-V>>>0,V>>>=0;for(var Ce=rt(me);++re<me;)Ce[re]=g[re+V];return Ce}function jc(g,V){var K;return fo(g,function(re,me,Ce){return K=V(re,me,Ce),!K}),!!K}function Na(g,V,K){var re=0,me=g==null?re:g.length;if(typeof V=="number"&&V===V&&me<=be){for(;re<me;){var Ce=re+me>>>1,Ve=g[Ce];Ve!==null&&!In(Ve)&&(K?Ve<=V:Ve<V)?re=Ce+1:me=Ce}return me}return Al(g,V,Nn,K)}function Al(g,V,K,re){var me=0,Ce=g==null?0:g.length;if(Ce===0)return 0;V=K(V);for(var Ve=V!==V,Fe=V===null,qe=In(V),ft=V===n;me<Ce;){var pt=ya((me+Ce)/2),yt=K(g[pt]),Bt=yt!==n,Vt=yt===null,Mt=yt===yt,Ht=In(yt);if(Ve)var Lt=re||Mt;else ft?Lt=Mt&&(re||Bt):Fe?Lt=Mt&&Bt&&(re||!Vt):qe?Lt=Mt&&Bt&&!Vt&&(re||!Ht):Vt||Ht?Lt=!1:Lt=re?yt<=V:yt<V;Lt?me=pt+1:Ce=pt}return bn(Ce,Ne)}function ds(g,V){for(var K=-1,re=g.length,me=0,Ce=[];++K<re;){var Ve=g[K],Fe=V?V(Ve):Ve;if(!K||!Yn(Fe,qe)){var qe=Fe;Ce[me++]=Ve===0?0:Ve}}return Ce}function vs(g){return typeof g=="number"?g:In(g)?ye:+g}function Tn(g){if(typeof g=="string")return g;if(jt(g))return ln(g,Tn)+"";if(In(g))return Hr?Hr.call(g):"";var V=g+"";return V=="0"&&1/g==-le?"-0":V}function po(g,V,K){var re=-1,me=ra,Ce=g.length,Ve=!0,Fe=[],qe=Fe;if(K)Ve=!1,me=Xa;else if(Ce>=i){var ft=V?null:Jc(g);if(ft)return ua(ft);Ve=!1,me=jo,qe=new wo}else qe=V?[]:Fe;e:for(;++re<Ce;){var pt=g[re],yt=V?V(pt):pt;if(pt=K||pt!==0?pt:0,Ve&&yt===yt){for(var Bt=qe.length;Bt--;)if(qe[Bt]===yt)continue e;V&&qe.push(yt),Fe.push(pt)}else me(qe,yt,K)||(qe!==Fe&&qe.push(yt),Fe.push(pt))}return Fe}function kl(g,V){return V=mo(V,g),g=$s(g,V),g==null||delete g[Zn(zn(V))]}function fs(g,V,K,re){return Xo(g,V,K(Ao(g,V)),re)}function Ba(g,V,K,re){for(var me=g.length,Ce=re?me:-1;(re?Ce--:++Ce<me)&&V(g[Ce],Ce,g););return K?$n(g,re?0:Ce,re?Ce+1:me):$n(g,re?Ce+1:0,re?me:Ce)}function ps(g,V){var K=g;return K instanceof qt&&(K=K.value()),Ja(V,function(re,me){return me.func.apply(me.thisArg,io([re],me.args))},K)}function El(g,V,K){var re=g.length;if(re<2)return re?po(g[0]):[];for(var me=-1,Ce=rt(re);++me<re;)for(var Ve=g[me],Fe=-1;++Fe<re;)Fe!=me&&(Ce[me]=qo(Ce[me]||Ve,g[Fe],V,K));return po(hn(Ce,1),V,K)}function ms(g,V,K){for(var re=-1,me=g.length,Ce=V.length,Ve={};++re<me;){var Fe=re<Ce?V[re]:n;K(Ve,g[re],Fe)}return Ve}function xl(g){return un(g)?g:[]}function Nl(g){return typeof g=="function"?g:Nn}function mo(g,V){return jt(g)?g:Ml(g,V)?[g]:Hs(Jt(g))}var Uc=Gt;function go(g,V,K){var re=g.length;return K=K===n?re:K,!V&&K>=re?g:$n(g,V,K)}var gs=Vi||function(g){return gn.clearTimeout(g)};function hs(g,V){if(V)return g.slice();var K=g.length,re=Rr?Rr(K):new g.constructor(K);return g.copy(re),re}function Bl(g){var V=new g.constructor(g.byteLength);return new pa(V).set(new pa(g)),V}function Hc(g,V){var K=V?Bl(g.buffer):g.buffer;return new g.constructor(K,g.byteOffset,g.byteLength)}function Gc(g){var V=new g.constructor(g.source,dn.exec(g));return V.lastIndex=g.lastIndex,V}function Wc(g){return Yo?tn(Yo.call(g)):{}}function bs(g,V){var K=V?Bl(g.buffer):g.buffer;return new g.constructor(K,g.byteOffset,g.length)}function ys(g,V){if(g!==V){var K=g!==n,re=g===null,me=g===g,Ce=In(g),Ve=V!==n,Fe=V===null,qe=V===V,ft=In(V);if(!Fe&&!ft&&!Ce&&g>V||Ce&&Ve&&qe&&!Fe&&!ft||re&&Ve&&qe||!K&&qe||!me)return 1;if(!re&&!Ce&&!ft&&g<V||ft&&K&&me&&!re&&!Ce||Fe&&K&&me||!Ve&&me||!qe)return-1}return 0}function Yc(g,V,K){for(var re=-1,me=g.criteria,Ce=V.criteria,Ve=me.length,Fe=K.length;++re<Ve;){var qe=ys(me[re],Ce[re]);if(qe){if(re>=Fe)return qe;var ft=K[re];return qe*(ft=="desc"?-1:1)}}return g.index-V.index}function _s(g,V,K,re){for(var me=-1,Ce=g.length,Ve=K.length,Fe=-1,qe=V.length,ft=fn(Ce-Ve,0),pt=rt(qe+ft),yt=!re;++Fe<qe;)pt[Fe]=V[Fe];for(;++me<Ve;)(yt||me<Ce)&&(pt[K[me]]=g[me]);for(;ft--;)pt[Fe++]=g[me++];return pt}function ws(g,V,K,re){for(var me=-1,Ce=g.length,Ve=-1,Fe=K.length,qe=-1,ft=V.length,pt=fn(Ce-Fe,0),yt=rt(pt+ft),Bt=!re;++me<pt;)yt[me]=g[me];for(var Vt=me;++qe<ft;)yt[Vt+qe]=V[qe];for(;++Ve<Fe;)(Bt||me<Ce)&&(yt[Vt+K[Ve]]=g[me++]);return yt}function kn(g,V){var K=-1,re=g.length;for(V||(V=rt(re));++K<re;)V[K]=g[K];return V}function Kn(g,V,K,re){var me=!K;K||(K={});for(var Ce=-1,Ve=V.length;++Ce<Ve;){var Fe=V[Ce],qe=re?re(K[Fe],g[Fe],Fe,K,g):n;qe===n&&(qe=g[Fe]),me?eo(K,Fe,qe):Qo(K,Fe,qe)}return K}function Qc(g,V){return Kn(g,Ol(g),V)}function qc(g,V){return Kn(g,Ps(g),V)}function Sa(g,V){return function(K,re){var me=jt(K)?ei:hc,Ce=V?V():{};return me(K,g,Ot(re,2),Ce)}}function Lo(g){return Gt(function(V,K){var re=-1,me=K.length,Ce=me>1?K[me-1]:n,Ve=me>2?K[2]:n;for(Ce=g.length>3&&typeof Ce=="function"?(me--,Ce):n,Ve&&wn(K[0],K[1],Ve)&&(Ce=me<3?n:Ce,me=1),V=tn(V);++re<me;){var Fe=K[re];Fe&&g(V,Fe,re,Ce)}return V})}function Cs(g,V){return function(K,re){if(K==null)return K;if(!En(K))return g(K,re);for(var me=K.length,Ce=V?me:-1,Ve=tn(K);(V?Ce--:++Ce<me)&&re(Ve[Ce],Ce,Ve)!==!1;);return K}}function As(g){return function(V,K,re){for(var me=-1,Ce=tn(V),Ve=re(V),Fe=Ve.length;Fe--;){var qe=Ve[g?Fe:++me];if(K(Ce[qe],qe,Ce)===!1)break}return V}}function Kc(g,V,K){var re=V&W,me=Jo(g);function Ce(){var Ve=this&&this!==gn&&this instanceof Ce?me:g;return Ve.apply(re?K:this,arguments)}return Ce}function ks(g){return function(V){V=Jt(V);var K=Vo(V)?Gn(V):n,re=K?K[0]:V.charAt(0),me=K?go(K,1).join(""):V.slice(1);return re[g]()+me}}function Ro(g){return function(V){return Ja(Cu(wu(V).replace($u,"")),g,"")}}function Jo(g){return function(){var V=arguments;switch(V.length){case 0:return new g;case 1:return new g(V[0]);case 2:return new g(V[0],V[1]);case 3:return new g(V[0],V[1],V[2]);case 4:return new g(V[0],V[1],V[2],V[3]);case 5:return new g(V[0],V[1],V[2],V[3],V[4]);case 6:return new g(V[0],V[1],V[2],V[3],V[4],V[5]);case 7:return new g(V[0],V[1],V[2],V[3],V[4],V[5],V[6])}var K=Mo(g.prototype),re=g.apply(K,V);return rn(re)?re:K}}function Zc(g,V,K){var re=Jo(g);function me(){for(var Ce=arguments.length,Ve=rt(Ce),Fe=Ce,qe=Fo(me);Fe--;)Ve[Fe]=arguments[Fe];var ft=Ce<3&&Ve[0]!==qe&&Ve[Ce-1]!==qe?[]:co(Ve,qe);if(Ce-=ft.length,Ce<K)return Ss(g,V,Va,me.placeholder,n,Ve,ft,n,n,K-Ce);var pt=this&&this!==gn&&this instanceof me?re:g;return Sn(pt,this,Ve)}return me}function Es(g){return function(V,K,re){var me=tn(V);if(!En(V)){var Ce=Ot(K,3);V=pn(V),K=function(Fe){return Ce(me[Fe],Fe,me)}}var Ve=g(V,K,re);return Ve>-1?me[Ce?V[Ve]:Ve]:n}}function xs(g){return no(function(V){var K=V.length,re=K,me=Rn.prototype.thru;for(g&&V.reverse();re--;){var Ce=V[re];if(typeof Ce!="function")throw new Ln(k);if(me&&!Ve&&Pa(Ce)=="wrapper")var Ve=new Rn([],!0)}for(re=Ve?re:K;++re<K;){Ce=V[re];var Fe=Pa(Ce),qe=Fe=="wrapper"?Dl(Ce):n;qe&&Ll(qe[0])&&qe[1]==(ne|q|J|oe)&&!qe[4].length&&qe[9]==1?Ve=Ve[Pa(qe[0])].apply(Ve,qe[3]):Ve=Ce.length==1&&Ll(Ce)?Ve[Fe]():Ve.thru(Ce)}return function(){var ft=arguments,pt=ft[0];if(Ve&&ft.length==1&&jt(pt))return Ve.plant(pt).value();for(var yt=0,Bt=K?V[yt].apply(this,ft):pt;++yt<K;)Bt=V[yt].call(this,Bt);return Bt}})}function Va(g,V,K,re,me,Ce,Ve,Fe,qe,ft){var pt=V&ne,yt=V&W,Bt=V&te,Vt=V&(q|G),Mt=V&ae,Ht=Bt?n:Jo(g);function Lt(){for(var Qt=arguments.length,Kt=rt(Qt),Dn=Qt;Dn--;)Kt[Dn]=arguments[Dn];if(Vt)var Cn=Fo(Lt),Pn=ii(Kt,Cn);if(re&&(Kt=_s(Kt,re,me,Vt)),Ce&&(Kt=ws(Kt,Ce,Ve,Vt)),Qt-=Pn,Vt&&Qt<ft){var cn=co(Kt,Cn);return Ss(g,V,Va,Lt.placeholder,K,Kt,cn,Fe,qe,ft-Qt)}var Qn=yt?K:this,ro=Bt?Qn[g]:g;return Qt=Kt.length,Fe?Kt=hd(Kt,Fe):Mt&&Qt>1&&Kt.reverse(),pt&&qe<Qt&&(Kt.length=qe),this&&this!==gn&&this instanceof Lt&&(ro=Ht||Jo(ro)),ro.apply(Qn,Kt)}return Lt}function Ns(g,V){return function(K,re){return Ec(K,g,V(re),{})}}function Ta(g,V){return function(K,re){var me;if(K===n&&re===n)return V;if(K!==n&&(me=K),re!==n){if(me===n)return re;typeof K=="string"||typeof re=="string"?(K=Tn(K),re=Tn(re)):(K=vs(K),re=vs(re)),me=g(K,re)}return me}}function Sl(g){return no(function(V){return V=ln(V,Vn(Ot())),Gt(function(K){var re=this;return g(V,function(me){return Sn(me,re,K)})})})}function Ia(g,V){V=V===n?" ":Tn(V);var K=V.length;if(K<2)return K?Cl(V,g):V;var re=Cl(V,ba(g/To(V)));return Vo(V)?go(Gn(re),0,g).join(""):re.slice(0,g)}function Xc(g,V,K,re){var me=V&W,Ce=Jo(g);function Ve(){for(var Fe=-1,qe=arguments.length,ft=-1,pt=re.length,yt=rt(pt+qe),Bt=this&&this!==gn&&this instanceof Ve?Ce:g;++ft<pt;)yt[ft]=re[ft];for(;qe--;)yt[ft++]=arguments[++Fe];return Sn(Bt,me?K:this,yt)}return Ve}function Bs(g){return function(V,K,re){return re&&typeof re!="number"&&wn(V,K,re)&&(K=re=n),V=lo(V),K===n?(K=V,V=0):K=lo(K),re=re===n?V<K?1:-1:lo(re),Lc(V,K,re,g)}}function Da(g){return function(V,K){return typeof V=="string"&&typeof K=="string"||(V=jn(V),K=jn(K)),g(V,K)}}function Ss(g,V,K,re,me,Ce,Ve,Fe,qe,ft){var pt=V&q,yt=pt?Ve:n,Bt=pt?n:Ve,Vt=pt?Ce:n,Mt=pt?n:Ce;V|=pt?J:Z,V&=~(pt?Z:J),V&ee||(V&=-4);var Ht=[g,V,me,Vt,yt,Mt,Bt,Fe,qe,ft],Lt=K.apply(n,Ht);return Ll(g)&&zs(Lt,Ht),Lt.placeholder=re,js(Lt,g,V)}function Vl(g){var V=vn[g];return function(K,re){if(K=jn(K),re=re==null?0:bn(Ut(re),292),re&&jr(K)){var me=(Jt(K)+"e").split("e"),Ce=V(me[0]+"e"+(+me[1]+re));return me=(Jt(Ce)+"e").split("e"),+(me[0]+"e"+(+me[1]-re))}return V(K)}}var Jc=Po&&1/ua(new Po([,-0]))[1]==le?function(g){return new Po(g)}:Xl;function Vs(g){return function(V){var K=yn(V);return K==Re?rl(V):K==tt?gi(V):ui(V,g(V))}}function to(g,V,K,re,me,Ce,Ve,Fe){var qe=V&te;if(!qe&&typeof g!="function")throw new Ln(k);var ft=re?re.length:0;if(ft||(V&=-97,re=me=n),Ve=Ve===n?Ve:fn(Ut(Ve),0),Fe=Fe===n?Fe:Ut(Fe),ft-=me?me.length:0,V&Z){var pt=re,yt=me;re=me=n}var Bt=qe?n:Dl(g),Vt=[g,V,K,re,me,pt,yt,Ce,Ve,Fe];if(Bt&&pd(Vt,Bt),g=Vt[0],V=Vt[1],K=Vt[2],re=Vt[3],me=Vt[4],Fe=Vt[9]=Vt[9]===n?qe?0:g.length:fn(Vt[9]-ft,0),!Fe&&V&(q|G)&&(V&=-25),!V||V==W)var Mt=Kc(g,V,K);else V==q||V==G?Mt=Zc(g,V,Fe):(V==J||V==(W|J))&&!me.length?Mt=Xc(g,V,K,re):Mt=Va.apply(n,Vt);var Ht=Bt?cs:zs;return js(Ht(Mt,Vt),g,V)}function Ts(g,V,K,re){return g===n||Yn(g,Do[K])&&!en.call(re,K)?V:g}function Is(g,V,K,re,me,Ce){return rn(g)&&rn(V)&&(Ce.set(V,g),xa(g,V,n,Is,Ce),Ce.delete(V)),g}function ed(g){return na(g)?n:g}function Ds(g,V,K,re,me,Ce){var Ve=K&H,Fe=g.length,qe=V.length;if(Fe!=qe&&!(Ve&&qe>Fe))return!1;var ft=Ce.get(g),pt=Ce.get(V);if(ft&&pt)return ft==V&&pt==g;var yt=-1,Bt=!0,Vt=K&Q?new wo:n;for(Ce.set(g,V),Ce.set(V,g);++yt<Fe;){var Mt=g[yt],Ht=V[yt];if(re)var Lt=Ve?re(Ht,Mt,yt,V,g,Ce):re(Mt,Ht,yt,g,V,Ce);if(Lt!==n){if(Lt)continue;Bt=!1;break}if(Vt){if(!el(V,function(Qt,Kt){if(!jo(Vt,Kt)&&(Mt===Qt||me(Mt,Qt,K,re,Ce)))return Vt.push(Kt)})){Bt=!1;break}}else if(!(Mt===Ht||me(Mt,Ht,K,re,Ce))){Bt=!1;break}}return Ce.delete(g),Ce.delete(V),Bt}function td(g,V,K,re,me,Ce,Ve){switch(K){case Pe:if(g.byteLength!=V.byteLength||g.byteOffset!=V.byteOffset)return!1;g=g.buffer,V=V.buffer;case Nt:return!(g.byteLength!=V.byteLength||!Ce(new pa(g),new pa(V)));case Ge:case st:case Je:return Yn(+g,+V);case De:return g.name==V.name&&g.message==V.message;case wt:case ot:return g==V+"";case Re:var Fe=rl;case tt:var qe=re&H;if(Fe||(Fe=ua),g.size!=V.size&&!qe)return!1;var ft=Ve.get(g);if(ft)return ft==V;re|=Q,Ve.set(g,V);var pt=Ds(Fe(g),Fe(V),re,me,Ce,Ve);return Ve.delete(g),pt;case gt:if(Yo)return Yo.call(g)==Yo.call(V)}return!1}function nd(g,V,K,re,me,Ce){var Ve=K&H,Fe=Tl(g),qe=Fe.length,ft=Tl(V),pt=ft.length;if(qe!=pt&&!Ve)return!1;for(var yt=qe;yt--;){var Bt=Fe[yt];if(!(Ve?Bt in V:en.call(V,Bt)))return!1}var Vt=Ce.get(g),Mt=Ce.get(V);if(Vt&&Mt)return Vt==V&&Mt==g;var Ht=!0;Ce.set(g,V),Ce.set(V,g);for(var Lt=Ve;++yt<qe;){Bt=Fe[yt];var Qt=g[Bt],Kt=V[Bt];if(re)var Dn=Ve?re(Kt,Qt,Bt,V,g,Ce):re(Qt,Kt,Bt,g,V,Ce);if(!(Dn===n?Qt===Kt||me(Qt,Kt,K,re,Ce):Dn)){Ht=!1;break}Lt||(Lt=Bt=="constructor")}if(Ht&&!Lt){var Cn=g.constructor,Pn=V.constructor;Cn!=Pn&&"constructor"in g&&"constructor"in V&&!(typeof Cn=="function"&&Cn instanceof Cn&&typeof Pn=="function"&&Pn instanceof Pn)&&(Ht=!1)}return Ce.delete(g),Ce.delete(V),Ht}function no(g){return Fl(Fs(g,n,Qs),g+"")}function Tl(g){return Jr(g,pn,Ol)}function Il(g){return Jr(g,xn,Ps)}var Dl=_a?function(g){return _a.get(g)}:Xl;function Pa(g){for(var V=g.name+"",K=Oo[V],re=en.call(Oo,V)?K.length:0;re--;){var me=K[re],Ce=me.func;if(Ce==null||Ce==g)return me.name}return V}function Fo(g){var V=en.call(we,"placeholder")?we:g;return V.placeholder}function Ot(){var g=we.iteratee||Kl;return g=g===Kl?ns:g,arguments.length?g(arguments[0],arguments[1]):g}function Oa(g,V){var K=g.__data__;return cd(V)?K[typeof V=="string"?"string":"hash"]:K.map}function Pl(g){for(var V=pn(g),K=V.length;K--;){var re=V[K],me=g[re];V[K]=[re,me,Ls(me)]}return V}function ko(g,V){var K=fi(g,V);return ts(K)?K:n}function od(g){var V=en.call(g,yo),K=g[yo];try{g[yo]=n;var re=!0}catch{}var me=va.call(g);return re&&(V?g[yo]=K:delete g[yo]),me}var Ol=ul?function(g){return g==null?[]:(g=tn(g),uo(ul(g),function(V){return $r.call(g,V)}))}:Jl,Ps=ul?function(g){for(var V=[];g;)io(V,Ol(g)),g=ma(g);return V}:Jl,yn=_n;(il&&yn(new il(new ArrayBuffer(1)))!=Pe||Ho&&yn(new Ho)!=Re||cl&&yn(cl.resolve())!=nt||Po&&yn(new Po)!=tt||Go&&yn(new Go)!=Dt)&&(yn=function(g){var V=_n(g),K=V==Me?g.constructor:n,re=K?Eo(K):"";if(re)switch(re){case Fi:return Pe;case $i:return Re;case zi:return nt;case ji:return tt;case Ui:return Dt}return V});function ad(g,V,K){for(var re=-1,me=K.length;++re<me;){var Ce=K[re],Ve=Ce.size;switch(Ce.type){case"drop":g+=Ve;break;case"dropRight":V-=Ve;break;case"take":V=bn(V,g+Ve);break;case"takeRight":g=fn(g,V-Ve);break}}return{start:g,end:V}}function ld(g){var V=g.match(Yt);return V?V[1].split(mn):[]}function Os(g,V,K){V=mo(V,g);for(var re=-1,me=V.length,Ce=!1;++re<me;){var Ve=Zn(V[re]);if(!(Ce=g!=null&&K(g,Ve)))break;g=g[Ve]}return Ce||++re!=me?Ce:(me=g==null?0:g.length,!!me&&ja(me)&&oo(Ve,me)&&(jt(g)||xo(g)))}function rd(g){var V=g.length,K=new g.constructor(V);return V&&typeof g[0]=="string"&&en.call(g,"index")&&(K.index=g.index,K.input=g.input),K}function Ms(g){return typeof g.constructor=="function"&&!ea(g)?Mo(ma(g)):{}}function sd(g,V,K){var re=g.constructor;switch(V){case Nt:return Bl(g);case Ge:case st:return new re(+g);case Pe:return Hc(g,K);case at:case _t:case Oe:case Be:case Ee:case ve:case ke:case je:case Se:return bs(g,K);case Re:return new re;case Je:case ot:return new re(g);case wt:return Gc(g);case tt:return new re;case gt:return Wc(g)}}function ud(g,V){var K=V.length;if(!K)return g;var re=K-1;return V[re]=(K>1?"& ":"")+V[re],V=V.join(K>2?", ":" "),g.replace(Rt,`{
@@ -67,4 +67,4 @@ function print() { __p += __j.call(arguments, '') }
67
67
  padding: ${i.padding};
68
68
  `,C.textContent=r.textContent,C};let n=!1;try{const r=window.getComputedStyle(e,null);if(r.webkitLineClamp!=="none"){const C=parseFloat(r.height),k=t(e,r);document.body.appendChild(k);const y=window.getComputedStyle(k,null).height;document.body.removeChild(k),n=C<parseFloat(y)}else n=e.clientWidth<e.scrollWidth||e.clientHeight<e.scrollHeight}catch(r){console.warn("There is an error when check element overflow state: ",r)}return n}function beforeShow(e){const{reference:t}=e,{props:n}=t._bk_overflow_tips_;if(checkOverflow(t)){let{content:i}=n;return i||(i=n.allowHTML?t.innerHTML:t.textContent),e.setContent(i),!0}return!1}function setupOnShow(e,t){e.onShow=n=>{if(typeof t.onShow=="function"&&!t.onShow(n)||!beforeShow(n))return!1}}function setupTheme(e,t){const n=["db-tippy bk-overflow-tips"];t.theme&&n.push(t.theme),e.theme=n.join(" ")}function formatModifiers(e){const t=Object.entries(e).map(r=>r[0]);if(t.length===0)return{};const n={};for(const r of t)placements.includes(r)&&(n.placement=r);return n}const defaultProps={arrow:!0,interactive:!0,delay:150,allowHTML:!1,maxWidth:600,placement:"top",appendTo:()=>document.body},overflowTips={mounted(e,t){const n=typeof t.value=="object"?t.value:formatModifiers(t.modifiers),r=Object.assign({...defaultProps},n);setupOnShow(r,n),setupTheme(r,n),e._bk_overflow_tips_={props:r,instance:dbTippy(e,r)}},updated(e,t){const{props:n,instance:r}=e._bk_overflow_tips_,i=typeof t.value=="object"?t.value:formatModifiers(t.modifiers);Object.assign(n,i),setupOnShow(n,i),setupTheme(n,i),r.setProps(n)},beforeUnmount(e){e._tippy&&e._tippy.destroy(),delete e._bk_overflow_tips_}},random=()=>`${_.random(0,999999)}_${Date.now()}_${_.random(0,999999)}`,_hoisted_1$6$1=["data-fixed","data-maxWidth","data-minWidth","data-width"],_hoisted_2$2$1={class:"th-cell"},_hoisted_3$1$1={style:{display:"inline-block","line-height":"40px","vertical-align":"top"}},_sfc_main$9$1=vue.defineComponent({__name:"head-column",props:{fixed:{default:void 0},maxWidth:{default:void 0},minWidth:{default:void 0},required:{type:Boolean,default:!0},width:{default:void 0},renderAppend:{type:Function,default:void 0},memo:{default:""}},setup(e){const t=e,n=vue.useSlots(),{rowWidth:r,isOverflow:i,isScrollToLeft:C,isScrollToRight:k}=vue.inject(renderTablekey),y=vue.inject(tableColumnResizekey),B=vue.ref(),L=vue.ref(0),R=bkuiVue.bkTooltips,z=overflowTips,j=random();let $=0,H=!1;const Q=vue.computed(()=>t.minWidth?t.minWidth:t.width??100),W=vue.computed(()=>t.fixed==="right"),te=vue.computed(()=>t.fixed==="left"),ee=vue.computed(()=>{if(t.width&&r?.value&&Q.value){const Z=r.value*$;if(Z!==t.width){let ne=0;return i?.value?L.value!==0&&(L.value!==Q.value||L.value!==t.width)?ne=L.value:ne=Q.value:Z>Q.value?ne=Z:ne=Q.value,{minWidth:`${ne}px`}}}return{minWidth:t.width?`${t.width}px`:"120px"}}),q=vue.computed(()=>{var Z;return(Z=t.renderAppend)==null?void 0:Z.call(t)});vue.watch(()=>[t.width,r?.value,L.value],([Z,ne,oe])=>{H&&Z&&ne&&oe&&Q.value&&(H=!1,oe!==0&&(oe!==Q.value||oe!==Z)?$=oe/ne:$=i?.value?Q.value/ne:Z/ne)},{immediate:!0}),useResizeObserver(B,()=>{if(!H)return;const Z=parseFloat(B.value.style.width);L.value=Z});const G=Z=>{H=!0,y?.columnMousedown(Z,{columnKey:j,minWidth:Q.value})},J=Z=>{y?.columnMouseMove(Z)};return(Z,ne)=>(vue.openBlock(),vue.createElementBlock("th",{ref_key:"columnRef",ref:B,style:vue.normalizeStyle(ee.value),class:vue.normalizeClass(["bk-ediatable-head-column",{[`column-${vue.unref(j)}`]:!0,"is-right-fixed":vue.unref(i)&&W.value&&!vue.unref(k),"is-left-fixed":vue.unref(i)&&te.value&&!vue.unref(C)}]),"data-fixed":Z.fixed,"data-maxWidth":Z.maxWidth,"data-minWidth":Q.value,"data-width":Z.width,onMousedown:G,onMousemove:J},[vue.createElementVNode("div",{class:vue.normalizeClass({"is-required":Z.required})},[vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_2$2$1,[vue.withDirectives((vue.openBlock(),vue.createElementBlock("span",{class:vue.normalizeClass({"title-memo":Z.memo})},[vue.renderSlot(Z.$slots,"default")],2)),[[vue.unref(R),{content:Z.memo,disabled:!Z.memo}]])])),[[vue.unref(z)]]),vue.createElementVNode("div",_hoisted_3$1$1,[n.append&&!Z.renderAppend?vue.renderSlot(Z.$slots,"append",{key:0}):vue.createCommentVNode("v-if",!0),Z.renderAppend!==void 0?(vue.openBlock(),vue.createBlock(vue.unref(q),{key:1})):vue.createCommentVNode("v-if",!0)])],2)],46,_hoisted_1$6$1))}}),renderTablekey=Symbol("renderTable"),_sfc_main$8$1=vue.defineComponent({__name:"ediatable",props:{theadList:{default:()=>[]}},setup(e){const t=vue.useSlots(),n=()=>{y.value=i.value.clientWidth,k.value=r.value.clientWidth<i.value.clientWidth,R()},r=vue.ref(),i=vue.ref(),C=vue.ref(),k=vue.ref(!1),y=vue.ref(0),B=vue.ref(!0),L=vue.ref(!1),{initColumnWidth:R}=useColumnResize(r,C,_.debounce(n));vue.provide(renderTablekey,{isOverflow:k,rowWidth:y,isScrollToLeft:B,isScrollToRight:L});const z=_.throttle(()=>{B.value=r.value.scrollLeft===0,L.value=r.value.scrollWidth-r.value.scrollLeft<r.value.clientWidth+1},200);return vue.onMounted(()=>{window.addEventListener("resize",n),n(),setTimeout(()=>n()),r.value.addEventListener("scroll",z)}),vue.onBeforeUnmount(()=>{window.removeEventListener("resize",n),r.value.removeEventListener("scroll",z)}),(j,$)=>(vue.openBlock(),vue.createElementBlock("div",{id:"ediatableRenderTableKey",ref_key:"tableOuterRef",ref:r,class:vue.normalizeClass(["bk-ediatable",{"scrollbar-exists":k.value}])},[vue.createElementVNode("table",{ref_key:"tableRef",ref:i},[vue.createElementVNode("thead",null,[vue.createElementVNode("tr",null,[t.default&&j.theadList.length===0?vue.renderSlot(j.$slots,"default",{key:0}):(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,{key:1},vue.renderList(j.theadList,(H,Q)=>(vue.openBlock(),vue.createBlock(_sfc_main$9$1,{key:Q,width:H.width,"min-width":H.minWidth,"max-width":H.maxWidth,fixed:H.fixed,required:H.required,"render-append":H.renderAppend,memo:H.memo},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(H.title),1)]),_:2},1032,["width","min-width","max-width","fixed","required","render-append","memo"]))),128))])]),vue.renderSlot(j.$slots,"data")],512),vue.createElementVNode("div",{ref_key:"tableColumnResizeRef",ref:C,class:"table-column-resize"},null,512)],2))}}),getRuleMessage=e=>typeof e.message=="function"?e.message():e.message;function useValidtor(e){const t=vue.reactive({loading:!1,error:!1,message:""}),n=r=>{if(t.error=!1,t.message="",!e)return Promise.resolve(!0);const i=(()=>{let C=-1;return async()=>{if(C=C+1,C>=e.length)return Promise.resolve(!0);const k=e[C];return Promise.resolve().then(()=>{const y=k.validator(r);if(typeof y!="boolean"&&typeof y.then=="function")return y.then(B=>{if(B===!1)return Promise.reject(getRuleMessage(k))}).then(()=>i(),()=>{t.error=!0;const B=getRuleMessage(k);return t.message=B,Promise.reject(B)});if(!y){t.error=!0;const B=getRuleMessage(k);return t.message=B,Promise.reject(B)}return i()})}})();return i()};return{...vue.toRefs(t),validator:n}}const DbIcon=vue.defineComponent({name:"DbIcon",props:{type:{type:String,required:!0},svg:{type:Boolean,default:!1}},render(){if(this.svg)return vue.h("svg",{class:{"db-svg-icon":!0}},[vue.h("use",{"xlink:href":`#db-icon-${this.type}`})]);const e={"ediatable-icon":!0,[`icon-${this.type}`]:!0};return vue.h("i",{class:e})}}),_hoisted_1$4$1={key:2,class:"blur-dispaly-main"},_sfc_main$6$1=vue.defineComponent({__name:"input-column",props:vue.mergeModels({placeholder:{default:"请输入"},rules:{default:void 0},disabled:{type:Boolean,default:!1},type:{default:"text"},min:{default:Number.MIN_SAFE_INTEGER},max:{default:Number.MAX_SAFE_INTEGER},isShowBlur:{type:Boolean,default:!1},precision:{default:0},maxlength:{},clearable:{type:Boolean,default:!0}},{modelValue:{default:""},modelModifiers:{}}),emits:vue.mergeModels(["change","submit","error","clear","focus"],["update:modelValue"]),setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.useModel(e,"modelValue"),k=vue.ref(),y=vue.ref(!0),B=vue.computed(()=>r.type==="password");let L="";const R=bkuiVue.bkTooltips,{message:z,validator:j}=useValidtor(r.rules),$=()=>{y.value=!1,i("focus")},H=q=>{y.value=!0,C.value=r.type==="number"?Number(q):q,r.type==="number"&&j(C.value).then(()=>{i("error",!1),i("change",C.value),i("submit",C.value)}).catch(()=>i("error",!0))},Q=()=>{C.value="",j("").catch(()=>i("error",!0)).finally(()=>{i("clear")})},W=q=>{y.value=!1,C.value=q},te=q=>{setTimeout(()=>{if(y.value=!0,r.disabled){q.preventDefault();return}if(C.value){if(L===C.value)return;L=C.value,j(C.value).then(()=>{i("error",!1),i("change",C.value),i("submit",C.value)}).catch(()=>i("error",!0));return}i("change",C.value),i("submit",C.value)},100)},ee=(q,G)=>{if(r.disabled){G.preventDefault();return}if(!G.isComposing&&(G.which===13||G.key==="Enter")){if(L===C.value)return;L=C.value,G.preventDefault(),j(C.value).then(J=>{J&&(i("error",!1),i("change",C.value),i("submit",C.value))}).catch(()=>i("error",!0))}};return t({getValue(){return j(C.value).then(()=>C.value)},focus(){var q;(q=k.value.querySelector("input"))==null||q.focus()}}),(q,G)=>(vue.openBlock(),vue.createElementBlock("div",{ref_key:"rootRef",ref:k,class:vue.normalizeClass(["bk-ediatable-input",{"is-error":!!vue.unref(z),"is-disabled":q.disabled,"is-password":B.value}])},[vue.createVNode(vue.unref(bkuiVue.Input),vue.mergeProps({class:"input-box",clearable:!1,disabled:q.disabled,max:q.max,maxlength:q.maxlength,min:q.min,"model-value":C.value,placeholder:q.placeholder,type:q.type},q.$attrs,{precision:q.precision,onBlur:te,onChange:H,onFocus:$,onInput:W,onKeydown:ee}),null,16,["disabled","max","maxlength","min","model-value","placeholder","type","precision"]),q.clearable&&C.value&&q.type!=="number"?(vue.openBlock(),vue.createBlock(vue.unref(DbIcon),{key:0,class:"clear-icon",type:"close-circle-shape",onClick:Q})):vue.createCommentVNode("v-if",!0),vue.unref(z)?vue.withDirectives((vue.openBlock(),vue.createBlock(vue.unref(DbIcon),{key:1,class:"error-icon",type:"exclamation-fill"},null,512)),[[vue.unref(R),vue.unref(z)]]):vue.createCommentVNode("v-if",!0),q.isShowBlur&&y.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$4$1,[vue.renderSlot(q.$slots,"blur")])):vue.createCommentVNode("v-if",!0)],2))}}),_hoisted_1$2$1={key:0,class:"select-error"},_sfc_main$3$1=vue.defineComponent({__name:"select-column",props:vue.mergeModels({list:{default:()=>[]},placeholder:{default:"请选择"},rules:{default:()=>[]},disabled:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},multipleMode:{default:void 0},showSelectAll:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},displayKey:{default:"label"},idKey:{default:"value"}},{modelValue:{type:[Boolean,Number,String,Array],type:[String,Number,Array,Boolean]},modelModifiers:{}}),emits:vue.mergeModels(["change","error"],["update:modelValue"]),setup(e,{expose:t,emit:n}){const{Option:r}=bkuiVue.Select,i=vue.useSlots(),C=e,k=n,y=vue.useModel(e,"modelValue"),B=vue.ref(),L=vue.ref(""),R=vue.ref(42),z=vue.computed(()=>C.multipleMode==="tag"),{message:j,validator:$}=useValidtor(C.rules),H=bkuiVue.bkTooltips;vue.watch(y,ee=>{if(ee!==void 0){if(L.value=ee,typeof ee!="object"&&ee){$(ee).then(()=>{k("error",!1)}).catch(()=>k("error",!0));return}if(Array.isArray(ee)&&ee.length>0){$(ee).then(()=>{k("error",!1)}).catch(()=>k("error",!0));return}}},{immediate:!0});const Q=ee=>{L.value=ee,$(L.value).then(()=>{y.value=ee,k("error",!1),k("change",L.value)}).catch(()=>k("error",!0))},W=()=>{L.value=Array.isArray(L.value)?[]:"",$(L.value).then(()=>{y.value=L.value,k("error",!1),k("change",L.value)}).catch(()=>k("error",!0))},te=()=>{R.value=B.value.parentNode.clientHeight};return useResizeObserver(B,_.throttle(te,500)),t({getValue(){return $(L.value).then(()=>L.value)}}),(ee,q)=>(vue.openBlock(),vue.createElementBlock("div",{ref_key:"rootRef",ref:B,style:vue.normalizeStyle({height:R.value+"px"}),class:vue.normalizeClass(["bk-ediatable-select",{"is-error":!!vue.unref(j),"is-disable":ee.disabled,"is-overflow-visible":z.value}])},[vue.createVNode(vue.unref(bkuiVue.Select),vue.mergeProps({class:"select-box",clearable:ee.clearable,disabled:ee.disabled,"display-key":ee.displayKey,"id-key":ee.idKey,"input-search":!1,list:i.optionRender?ee.list:[],"model-value":L.value,multiple:ee.multiple,"multiple-mode":ee.multipleMode,placeholder:ee.placeholder,"show-select-all":ee.showSelectAll,"auto-focus":"",filterable:""},ee.$attrs,{onChange:Q,onClear:W}),vue.createSlots({default:vue.withCtx(()=>[i.optionRender?vue.createCommentVNode("v-if",!0):(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,{key:0},vue.renderList(ee.list,(G,J)=>(vue.openBlock(),vue.createBlock(vue.unref(r),{disabled:G.disabled,key:J,label:G[ee.displayKey],value:G[ee.idKey]},null,8,["disabled","label","value"]))),128))]),_:2},[i.optionRender?{name:"optionRender",fn:vue.withCtx(({item:G})=>[vue.renderSlot(ee.$slots,"optionRender",{item:G})]),key:"0"}:void 0]),1040,["clearable","disabled","display-key","id-key","list","model-value","multiple","multiple-mode","placeholder","show-select-all"]),vue.unref(j)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$2$1,[vue.withDirectives(vue.createVNode(vue.unref(DbIcon),{type:"exclamation-fill"},null,512),[[vue.unref(H),vue.unref(j)]])])):vue.createCommentVNode("v-if",!0)],6))}}),_hoisted_1$M={class:"cell-content"},_hoisted_2$E={class:"cell-content"},_hoisted_3$y={class:"field-name"},_hoisted_4$t={class:"cell-content role-cell"},_sfc_main$R=vue.defineComponent({__name:"field-row",props:{data:{},index:{}},setup(e,{expose:t}){const n={timestamp:"时间戳",feature:"特征"},r=e;return t({getValue:async()=>r.data}),(i,C)=>{const k=vue.resolveComponent("bk-tag");return vue.openBlock(),vue.createElementBlock("tr",null,[vue.createElementVNode("td",null,[vue.createElementVNode("div",_hoisted_1$M,vue.toDisplayString(e.index+1),1)]),vue.createElementVNode("td",null,[vue.createElementVNode("div",_hoisted_2$E,[vue.createVNode(k,{theme:"info",class:"type-tag"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(e.data.type),1)]),_:1}),vue.createElementVNode("span",_hoisted_3$y,vue.toDisplayString(e.data.name),1)])]),vue.createElementVNode("td",null,[vue.createElementVNode("div",_hoisted_4$t,[vue.createVNode(k,{class:vue.normalizeClass(`role-${e.data.role}`)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(n[e.data.role]||e.data.role),1)]),_:1},8,["class"])])]),vue.createElementVNode("td",null,[vue.createVNode(vue.unref(_sfc_main$3$1),{"model-value":e.data.name,list:[{value:e.data.name,label:e.data.name}],disabled:""},null,8,["model-value","list"])])])}}}),FieldRow=_export_sfc(_sfc_main$R,[["__scopeId","data-v-a4ad323e"]]),_hoisted_1$L={class:"cell-content"},_hoisted_2$D={class:"cell-content field-info"},_hoisted_3$x={class:"field-name-wrapper"},_hoisted_4$s={class:"field-name"},_hoisted_5$k={class:"tooltip-content"},_hoisted_6$f={class:"cell-content"},_sfc_main$Q=vue.defineComponent({__name:"app-param-row",props:{data:{},index:{},editable:{type:Boolean}},emits:["update-value"],setup(e,{expose:t}){const n=e,r=vue.computed(()=>{const i=n.data.condition;return i?i.enum?i.enum.join(" | "):i.range?`${i.range[0]} ~ ${i.range[1]}`:"-":"-"});return t({getValue:async()=>n.data}),(i,C)=>{const k=vue.resolveComponent("bk-tag"),y=vue.resolveComponent("bk-popover");return vue.openBlock(),vue.createElementBlock("tr",null,[vue.createElementVNode("td",null,[vue.createElementVNode("div",_hoisted_1$L,vue.toDisplayString(e.index+1),1)]),vue.createElementVNode("td",null,[vue.createElementVNode("div",_hoisted_2$D,[vue.createVNode(k,{theme:"info",class:"type-tag"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(e.data.type),1)]),_:1}),vue.createVNode(y,{"ext-cls":"info-popover",theme:"dark",placement:"right",trigger:"hover"},{content:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_5$k,[vue.createElementVNode("p",null,[C[2]||(C[2]=vue.createElementVNode("span",null,"变量名称:",-1)),vue.createTextVNode(vue.toDisplayString(e.data.name),1)]),vue.createElementVNode("p",null,[C[3]||(C[3]=vue.createElementVNode("span",null,"变量别名:",-1)),vue.createTextVNode(vue.toDisplayString(e.data.alias||e.data.desc),1)]),vue.createElementVNode("p",null,[C[4]||(C[4]=vue.createElementVNode("span",null,"变量描述:",-1)),vue.createTextVNode(vue.toDisplayString(e.data.desc),1)])])]),default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_3$x,[vue.createElementVNode("span",_hoisted_4$s,vue.toDisplayString(e.data.name),1)])]),_:1})])]),vue.createElementVNode("td",null,[vue.createElementVNode("div",_hoisted_6$f,[vue.createVNode(k,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.value),1)]),_:1})])]),vue.createElementVNode("td",null,[vue.createVNode(vue.unref(_sfc_main$6$1),{modelValue:e.data.value,"onUpdate:modelValue":C[0]||(C[0]=B=>e.data.value=B),placeholder:"请输入参数值",disabled:!e.editable,clearable:e.editable,onSubmit:C[1]||(C[1]=B=>i.$emit("update-value",B))},null,8,["modelValue","disabled","clearable"])])])}}}),AppParamRow=_export_sfc(_sfc_main$Q,[["__scopeId","data-v-7c0389fe"]]),_hoisted_1$K={class:"aiops-form"},_sfc_main$P=vue.defineComponent({__name:"aiops-form",props:{inputData:{},pluginId:{},pluginDetail:{},editable:{type:Boolean},fullVariableList:{default:()=>[]}},emits:["change"],setup(e,{expose:t,emit:n}){const r=useFlowApiConfig(),i=e,C=n,k=vue.ref(),y=vue.ref({dataInput:""}),B=vue.ref([]),L=(Z,ne)=>{const oe=i.inputData?.[Z]?.value;return oe!==void 0?lodash$1.cloneDeep(oe):ne},R=()=>i.pluginDetail?.inputs,z=vue.computed(()=>{const Z=R()?.find(ne=>ne.key==="data");return{name:Z?.name||"输入参数",desc:Z?.desc||""}}),j=vue.computed(()=>{const Z=R()?.find(ne=>ne.key==="data");return Z?._slots?Object.entries(Z._slots).map(([ne,oe])=>{const ae=oe;return{key:ne,name:ae.name,type:ae.type,desc:ae.desc,required:ae.required,role:ae.role||"feature",mapping:L(`data_mapping_${ne}`,"")}}):[]}),$=()=>{const Z=R()?.find(oe=>oe.key==="predict_args");if(!Z?._slots){B.value=[];return}const ne=i.inputData?.predict_args?.value;B.value=Object.entries(Z._slots).map(([oe,ae])=>{const se=ae,de=se.default!==void 0?String(se.default):"",ge=ne?.[oe],fe=ge!==void 0?String(ge):L(`predict_args_${oe}`,de);return{key:oe,name:se.name,type:se.type,desc:se.desc,required:se.required,condition:se.condition,value:fe,default:de}})},H=[{title:"#",width:50,maxWidth:50,required:!1},{title:"字段名",width:140,minWidth:100,required:!1},{title:"角色",width:100,minWidth:80,required:!1},{title:"字段映射",width:200,minWidth:160,required:!1}],Q=[{title:"#",width:50,maxWidth:50,required:!1},{title:"参数名",width:160,minWidth:120,required:!1},{title:"值约束",width:140,minWidth:100,required:!1},{title:"参数值",width:200,minWidth:160,required:!1}],W=Z=>{if(!i.inputData)return;const ne={...i.inputData};Object.entries(Z).forEach(([oe,ae])=>{ne[oe]={value:ae,hook:!1,need_render:!0}}),C("change",ne)},te=()=>{if(!i.editable||!i.inputData)return;const Z={...i.inputData};Z.data={value:y.value.dataInput,hook:!1,need_render:!0},C("change",Z)},ee=(Z,ne)=>{if(!i.editable)return;Z.value=ne;const oe=Object.fromEntries(B.value.map(ae=>[ae.key,ae.value]));W({predict_args:oe})};vue.watch(()=>i.inputData,()=>{const Z=i.inputData?.data?.value;Array.isArray(Z)?y.value.dataInput="":typeof Z=="string"?y.value.dataInput=Z==="[]"?"":Z:y.value.dataInput="",$(),(!i.inputData||!Object.keys(i.inputData).length)&&te()},{immediate:!0}),vue.watch(()=>i.pluginDetail,$,{immediate:!0});const q=async()=>{try{return k.value&&await k.value.validate(),await G()}catch{return!1}},G=async()=>{if(!B.value.length)return!0;try{return await r.fetchApplyInstructionData?.({plugin_id:i.pluginId,instruction:"validate_args",params:{predict_args:Object.fromEntries(B.value.map(Z=>[Z.key,Z.value]))}}),!0}catch{return!1}};return t({validate:q,getFormData:()=>({data:Object.fromEntries(j.value.map(Z=>[Z.key,{mapping:Z.mapping}])),predict_args:Object.fromEntries(B.value.map(Z=>[Z.key,Z.value]))})}),(Z,ne)=>{const oe=vue.resolveComponent("bk-input"),ae=vue.resolveComponent("bk-form-item"),se=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$K,[j.value.length?(vue.openBlock(),vue.createBlock(SectionContainer,{key:0,title:z.value.name,"no-background":!0,class:"section"},{default:vue.withCtx(()=>[vue.createVNode(se,{ref_key:"inputFormRef",ref:k,"form-type":"vertical",model:y.value},{default:vue.withCtx(()=>[vue.createVNode(ae,{property:"dataInput",rules:[{required:!0,message:"必填项",trigger:"blur"}]},{label:vue.withCtx(()=>[vue.createElementVNode("span",null,vue.toDisplayString(z.value.name)+" 映射",1),ne[1]||(ne[1]=vue.createElementVNode("span",{class:"required-mark"},"*",-1)),ne[2]||(ne[2]=vue.createElementVNode("span",{class:"label-desc"},"(请输入「指标序列」变量表达式)",-1))]),default:vue.withCtx(()=>[vue.createVNode(oe,{modelValue:y.value.dataInput,"onUpdate:modelValue":ne[0]||(ne[0]=de=>y.value.dataInput=de),disabled:!e.editable,onChange:te},null,8,["modelValue","disabled"])]),_:1}),vue.createVNode(ae,{label:"输入字段映射",required:"",class:"mapping-label"}),vue.createVNode(vue.unref(_sfc_main$8$1),{"thead-list":H,class:"field-mapping-table"},{data:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(j.value,(de,ge)=>(vue.openBlock(),vue.createBlock(FieldRow,{key:de.key,data:de,index:ge},null,8,["data","index"]))),128))]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])):vue.createCommentVNode("",!0),B.value.length?(vue.openBlock(),vue.createBlock(SectionContainer,{key:1,title:"应用参数","no-background":!0,class:"section app-params-section"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(_sfc_main$8$1),{"thead-list":Q,class:"app-params-table"},{data:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(B.value,(de,ge)=>(vue.openBlock(),vue.createBlock(AppParamRow,{key:de.key,data:de,index:ge,editable:e.editable,onUpdateValue:fe=>ee(de,fe)},null,8,["data","index","editable","onUpdateValue"]))),128))]),_:1})]),_:1})):vue.createCommentVNode("",!0)])}}}),AiopsForm=_export_sfc(_sfc_main$P,[["__scopeId","data-v-3396cc19"]]),_sfc_main$O=vue.defineComponent({__name:"role-type-selector",props:{modelValue:{},index:{},disabled:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const n=[{code:"assistant",name:"AI",description:"这条 Prompt 作为AI回答的结果"},{code:"system",name:"系统",description:"这条 Prompt 作为系统输入来定义角色,会在整个会话中生效"},{code:"user",name:"用户",description:"这条 Prompt 作为用户的输入,可以更详细描述对角色的要求"},{code:"pause",name:"等待回答",description:"这条Prompt作为AI的提问,会等待用户输入回答内容"}],r=e,i=t,C=vue.computed(()=>n.find(L=>L.code===r.modelValue)?.name),k=()=>n.filter(B=>B.code==="system"?r.index===0:!0),y=B=>{i("update:modelValue",B)};return(B,L)=>{const R=vue.resolveComponent("bk-option"),z=vue.resolveComponent("bk-select"),j=vue.resolveDirective("bk-tooltips");return vue.withDirectives((vue.openBlock(),vue.createBlock(z,{filterable:"","disable-scroll-to-selected-option":"","popover-min-width":300,"input-search":!1,"model-value":e.modelValue,disabled:e.index===0||r.disabled,"popover-options":{placement:"bottom-end",zIndex:9999},onChange:y},{trigger:vue.withCtx(()=>[vue.createElementVNode("span",{class:vue.normalizeClass({"role-type":!0,disabled:e.index===0})},[vue.createTextVNode(vue.toDisplayString(C.value)+" ",1),L[0]||(L[0]=vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-angle-up"},null,-1))],2)]),default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(k(),$=>vue.withDirectives((vue.openBlock(),vue.createBlock(R,{id:$.code,key:$.code,name:$.name},null,8,["id","name"])),[[j,{content:$.description,theme:"light",placement:"right",boundary:"parent"}]])),128))]),_:1},8,["model-value","disabled"])),[[j,{content:"角色第一条 Prompt 必须定义为“系统”",disabled:r.index>0}]])}}}),RoleTypeSelector=_export_sfc(_sfc_main$O,[["__scopeId","data-v-a6edc23d"]]),_hoisted_1$J={class:"bkflow-canvas-icon bkflow-canvas-daoru import-trigger"},_hoisted_2$C={class:"prompt-content-tips"},_sfc_main$N=vue.defineComponent({__name:"prompt-import",props:{prompts:{},disabled:{type:Boolean}},emits:["import"],setup(e,{emit:t}){const n=e,r=t,i=C=>{const k=n.prompts.find(y=>y.prompt_id===C);k&&r("import",k.content)};return(C,k)=>{const y=vue.resolveComponent("bk-option"),B=vue.resolveComponent("bk-popover"),L=vue.resolveComponent("bk-select"),R=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createBlock(L,{filterable:"","disable-scroll-to-selected-option":"","popover-min-width":300,"input-search":!1,disabled:n.disabled,"popover-options":{placement:"bottom-end",zIndex:9999},onChange:i},{trigger:vue.withCtx(()=>[vue.renderSlot(C.$slots,"default",{},()=>[vue.withDirectives(vue.createElementVNode("i",_hoisted_1$J,null,512),[[R,{content:"导入"}]])],!0)]),default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.prompts,z=>(vue.openBlock(),vue.createBlock(B,{theme:"light",placement:"right","ext-cls":"import-prompt-tips-popover",disabled:!z.content,key:z.prompt_id,"popover-delay":0},{content:vue.withCtx(()=>[vue.createElementVNode("p",_hoisted_2$C,vue.toDisplayString(z.content),1)]),default:vue.withCtx(()=>[(vue.openBlock(),vue.createBlock(y,{id:z.prompt_id,key:z.prompt_id,name:z.prompt_name},null,8,["id","name"]))]),_:2},1032,["disabled"]))),128))]),_:3},8,["disabled"])}}}),PromptImport=_export_sfc(_sfc_main$N,[["__scopeId","data-v-bd3ebb9e"]]),_hoisted_1$I={class:"prompt-add"},_sfc_main$M=vue.defineComponent({__name:"prompt-add",props:{prompts:{},disabled:{type:Boolean}},emits:["add"],setup(e,{emit:t}){const n=e,r=t,i=()=>{r("add","")},C=k=>{r("add",k)};return(k,y)=>{const B=vue.resolveComponent("bk-button");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$I,[vue.createVNode(B,{text:"",theme:"primary",size:"small",disabled:n.disabled,onClick:i},{default:vue.withCtx(()=>[...y[0]||(y[0]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-plus-circle"},null,-1),vue.createTextVNode(" 添加 ",-1)])]),_:1},8,["disabled"]),y[2]||(y[2]=vue.createElementVNode("span",{class:"prompt-gap"},null,-1)),vue.createVNode(PromptImport,{prompts:n.prompts,disabled:n.disabled,onImport:C},{default:vue.withCtx(()=>[vue.createVNode(B,{text:"",theme:"primary",size:"small"},{default:vue.withCtx(()=>[...y[1]||(y[1]=[vue.createTextVNode("从Prompt导入 ",-1)])]),_:1})]),_:1},8,["prompts","disabled"])])}}}),PromptAdd=_export_sfc(_sfc_main$M,[["__scopeId","data-v-00c7183e"]]),_hoisted_1$H={class:"plugin-llm-form"},_hoisted_2$B={class:"prompt-actions"},_sfc_main$L=vue.defineComponent({__name:"llm-form",props:{inputData:{},pluginId:{},pluginDetail:{},editable:{type:Boolean},fullVariableList:{default:()=>[]}},emits:["change"],setup(e,{expose:t,emit:n}){const r=useFlowApiConfig(),i=useScopeData(),C=e,k=n,y=()=>{const te={...C.inputData};Object.keys(L.value).forEach(ee=>{te[ee]={value:L.value[ee],hook:!1,need_render:!0}}),k("change",te)},B=vue.ref(),L=vue.ref({messages:[{role:"system",content:""},{role:"user",content:""}],chat_history:""}),R=vue.shallowRef([]);vue.watch(()=>C.inputData,te=>{const ee="messages"in te&&Array.isArray(te.messages.value)&&te.messages.value.length>=2,q="chat_history"in te&&typeof te.chat_history?.value=="string";L.value.messages=ee?lodash$1.cloneDeep(te.messages.value):[{role:"system",content:""},{role:"user",content:""}],L.value.chat_history=q?te.chat_history.value:"",(!ee||!q)&&y()},{immediate:!0}),vue.onMounted(()=>{z()});const z=async()=>{if(!r.fetchApplyInstructionData){console.error("fetchApplyInstructionData is not available");return}const te=await r.fetchApplyInstructionData({plugin_id:C.pluginId,scope_type:i.scope_type,scope_value:i.scope_value,instruction:"get_space_prompts",params:{}});R.value=te.response},j=te=>{L.value.messages.push({role:"user",content:te}),B.value.validate(),y()},$=(te,ee)=>{L.value.messages[te].content=ee,y()},H=te=>{C.editable&&(L.value.messages.splice(te,1),y())},Q=(te,ee)=>te>0&&te===L.value.messages.length-1?ee==="user":!0;return t({validate:async()=>B.value.validate().then(()=>!0).catch(()=>!1)}),(te,ee)=>{const q=vue.resolveComponent("bk-form-item"),G=vue.resolveComponent("bk-input"),J=vue.resolveComponent("bk-form"),Z=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$H,[vue.createVNode(J,{ref_key:"formRef",ref:B,"form-type":"vertical",model:L.value},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(L.value.messages,(ne,oe)=>(vue.openBlock(),vue.createBlock(q,{key:oe,label:"Prompt",property:`messages[${oe}]`,required:oe>0,rules:[{validator:ae=>oe===0||ae.content.trim().length>0,message:"请输入Prompt内容"},{validator:ae=>Q(oe,ae.role),message:"最后一个提示词必须为【用户】role"}]},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$B,[vue.createVNode(RoleTypeSelector,{modelValue:ne.role,"onUpdate:modelValue":[ae=>ne.role=ae,y],index:oe,disabled:!C.editable},null,8,["modelValue","onUpdate:modelValue","index","disabled"]),vue.createVNode(PromptImport,{prompts:R.value,disabled:!C.editable,onImport:ae=>$(oe,ae)},null,8,["prompts","disabled","onImport"]),oe>0&&L.value.messages.length>2?vue.withDirectives((vue.openBlock(),vue.createBlock(vue.unref(icon.Del),{key:0,class:vue.normalizeClass(["delete-prompt-btn",{disabled:!C.editable}]),onClick:ae=>H(oe)},null,8,["class","onClick"])),[[Z,"删除"]]):vue.createCommentVNode("",!0)]),vue.createVNode(VariableInput,{modelValue:ne.content,"onUpdate:modelValue":ae=>ne.content=ae,options:C.fullVariableList,type:"textarea",placeholder:"请输入",rows:6,resize:!1,disabled:!C.editable,onChange:y},null,8,["modelValue","onUpdate:modelValue","options","disabled"])]),_:2},1032,["property","required","rules"]))),128)),vue.createVNode(PromptAdd,{prompts:R.value,disabled:!C.editable,onAdd:j},null,8,["prompts","disabled"]),vue.createVNode(q,{label:"聊天历史",property:"chat_history"},{default:vue.withCtx(()=>[vue.createVNode(G,{modelValue:L.value.chat_history,"onUpdate:modelValue":ee[0]||(ee[0]=ne=>L.value.chat_history=ne),type:"textarea",placeholder:"请输入聊天历史",rows:4,resize:!1,disabled:!C.editable,onBlur:y},null,8,["modelValue","disabled"])]),_:1})]),_:1},8,["model"])])}}}),LlmForm=_export_sfc(_sfc_main$L,[["__scopeId","data-v-4fd13086"]]),_hoisted_1$G={class:"knowledgebase-input-params"},_hoisted_2$A={class:"settings-query-param-item-slider-wrapper"},_hoisted_3$w={class:"resource-reject-threshold-tips"},_sfc_main$K=vue.defineComponent({__name:"index",props:{inputData:{},pluginId:{},pluginDetail:{},inputs:{default:()=>[]},editable:{type:Boolean},fullVariableList:{default:()=>[]}},emits:["change"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.ref({topk:0,knowledge_resource_reject_threshold:[.01,.1],knowledge_resource_fine_grained_score_type:"",model:"",query:""}),k=vue.ref(),y=vue.computed(()=>r.inputs.find($=>$.key==="knowledge_resource_fine_grained_score_type")?.options?.map($=>({id:$.value,name:$.text}))||[]),B=vue.computed(()=>r.inputs.find($=>$.key==="model")?.options?.map($=>({id:$.value,name:$.text}))||[]),L=()=>{const j={...r.inputData};Object.keys(C.value).forEach($=>{j[$]={value:C.value[$],hook:!1,need_render:!0}}),i("change",j)};vue.watch(()=>r.inputData,()=>{["topk","knowledge_resource_reject_threshold","knowledge_resource_fine_grained_score_type","model","query"].forEach($=>{r.inputData[$]?.value!==void 0?C.value[$]=lodash$1.cloneDeep(r.inputData[$].value):$==="knowledge_resource_fine_grained_score_type"?C.value.knowledge_resource_fine_grained_score_type=y.value[0]?.id||"":$==="model"?C.value.model=B.value[0]?.id||"":$==="topk"?C.value.topk=0:$==="knowledge_resource_reject_threshold"?C.value.knowledge_resource_reject_threshold=[.01,.1]:$==="query"&&(C.value.query="")})},{immediate:!0});const R=(j,$)=>{C.value[j]=$,j==="knowledge_resource_fine_grained_score_type"&&(C.value.model=$==="LLM"&&B.value[0]?.id||""),L()};return t({validate:async()=>k.value.validate().then(()=>!0).catch(()=>!1)}),(j,$)=>{const H=vue.resolveComponent("bk-slider"),Q=vue.resolveComponent("bk-form-item"),W=vue.resolveComponent("bk-select"),te=vue.resolveComponent("bk-input"),ee=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$G,[vue.createVNode(ee,{"form-type":"vertical",ref_key:"formRef",ref:k,model:C.value},{default:vue.withCtx(()=>[vue.createVNode(Q,{label:"文档片段数",class:"slider-form-item"},{default:vue.withCtx(()=>[vue.createVNode(H,{"show-tip":"","model-value":C.value.topk,"min-value":0,"max-value":100,"show-between-label":!0,disable:!r.editable,"onUpdate:modelValue":$[0]||($[0]=q=>R("topk",q))},null,8,["model-value","disable"])]),_:1}),vue.createVNode(Q,{label:"相关性阈值",class:"slider-form-item"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$A,[vue.createVNode(H,{class:vue.normalizeClass(["settings-query-param-item-slider",{disabled:!r.editable}]),"model-value":C.value.knowledge_resource_reject_threshold,"min-value":0,"max-value":1,step:.01,"show-between-label":!0,disable:!r.editable,"show-tip":"",range:"","onUpdate:modelValue":$[1]||($[1]=q=>R("knowledge_resource_reject_threshold",q))},null,8,["class","model-value","disable"]),vue.createElementVNode("section",_hoisted_3$w,[vue.createElementVNode("span",null,[$[6]||($[6]=vue.createElementVNode("span",{class:"threshold-tips-label"},"不相关:",-1)),vue.createElementVNode("span",null,"0 - "+vue.toDisplayString(C.value.knowledge_resource_reject_threshold?.[0]),1)]),vue.createElementVNode("span",null,[$[7]||($[7]=vue.createElementVNode("span",{class:"threshold-tips-label"},"可能相关:",-1)),vue.createElementVNode("span",null,vue.toDisplayString(C.value.knowledge_resource_reject_threshold?.[0])+" - "+vue.toDisplayString(C.value.knowledge_resource_reject_threshold?.[1]),1)]),vue.createElementVNode("span",null,[$[8]||($[8]=vue.createElementVNode("span",{class:"threshold-tips-label"},"强相关:",-1)),vue.createElementVNode("span",null,vue.toDisplayString(C.value.knowledge_resource_reject_threshold?.[1])+" - 1",1)])])])]),_:1}),vue.createVNode(Q,{label:"重排序方法",required:"",property:"knowledge_resource_fine_grained_score_type"},{default:vue.withCtx(()=>[vue.createVNode(W,{"model-value":C.value.knowledge_resource_fine_grained_score_type,list:y.value,disabled:!r.editable,clearable:!1,"disable-scroll-to-selected-option":!0,"id-key":"id","display-key":"name",onSelect:$[2]||($[2]=q=>R("knowledge_resource_fine_grained_score_type",q))},null,8,["model-value","list","disabled"])]),_:1}),C.value.knowledge_resource_fine_grained_score_type==="LLM"?(vue.openBlock(),vue.createBlock(Q,{key:0,label:"模型",required:"",property:"model"},{default:vue.withCtx(()=>[vue.createVNode(W,{"id-key":"id","display-key":"name",clearable:!1,filterable:!0,"disable-scroll-to-selected-option":!0,disabled:!r.editable,"model-value":C.value.model,list:B.value,onSelect:$[3]||($[3]=q=>R("model",q))},null,8,["disabled","model-value","list"])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(Q,{label:"查询文本",required:"",property:"query"},{default:vue.withCtx(()=>[vue.createVNode(te,{modelValue:C.value.query,"onUpdate:modelValue":$[4]||($[4]=q=>C.value.query=q),type:"textarea",rows:10,disabled:!r.editable,resize:!1,placeholder:"请输入查询文本",onChange:$[5]||($[5]=q=>R("query",q))},null,8,["modelValue","disabled"])]),_:1})]),_:1},8,["model"])])}}}),KnowledgebaseForm=_export_sfc(_sfc_main$K,[["__scopeId","data-v-29beb2c9"]]),_hoisted_1$F={class:"node-config-input-params"},_sfc_main$J=vue.defineComponent({__name:"input-params",props:{node:{},pluginType:{},pluginDetail:{},inputs:{default:()=>[]},editable:{type:Boolean,default:!0},fullVariableList:{default:()=>[]}},emits:["change"],setup(e,{expose:t,emit:n}){const r={uniform_api_plugin:BkFlowPluginUniformApiForm,agent:AgentForm,aiops:AiopsForm,llm:LlmForm,custom:LlmForm,knowledgebase:KnowledgebaseForm},i=e,C=n,k=()=>{const Q={};return Object.keys(i.node.component.data).forEach(W=>{Q[W]=lodash$1.cloneDeep(i.node.component.data[W].value)}),Q},y=vue.ref(),B=vue.ref(),L=vue.ref(),R=vue.ref(k()),z=vue.computed(()=>{const Q=i.pluginDetail?.category,W=i.pluginDetail?.group;if(Q){if(Q==="model"&&W&&W in r)return r[W];if(Q in r)return r[Q]}return BkFlowPluginUniformApiForm}),j=vue.computed(()=>i.pluginType==="uniform_api"&&i.node.component.api_meta?.id||"");vue.watch(()=>i.node.component.data,()=>{R.value=k()});const $=Q=>{const W={...i.node.component.data};Object.keys(Q).forEach(te=>{W[te]={hook:!1,need_render:!0,value:Q[te]}}),C("change",W)};return t({validate:()=>y.value&&y.value.validate?y.value.validate():B.value&&B.value.validate?B.value.validate():i.pluginType==="uniform_api"&&L.value&&L.value.validate?L.value.validate():!0}),(Q,W)=>(vue.openBlock(),vue.createElementBlock("section",_hoisted_1$F,[i.pluginDetail?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[i.pluginDetail.inputParamsFormType==="renderform"?(vue.openBlock(),vue.createBlock(RenderForm,{key:0,ref_key:"renderFormRef",ref:y,scheme:i.inputs,editable:i.editable,"form-option":{showGroup:!1,showHook:!0,showLabel:!0,showVarList:!0,formEdit:i.editable},"form-data":R.value,"full-variable-list":i.fullVariableList,onChange:$},null,8,["scheme","editable","form-option","form-data","full-variable-list"])):vue.createCommentVNode("",!0),i.pluginDetail.inputParamsFormType==="jsonschemaform"?(vue.openBlock(),vue.createBlock(JsonschemaForm,{key:1,ref_key:"jsonschemaFormRef",ref:B,"form-data":R.value,schema:i.inputs,editable:i.editable,onChange:$},null,8,["form-data","schema","editable"])):vue.createCommentVNode("",!0),i.pluginDetail.inputParamsFormType==="uniformApiForm"?(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(z.value),{key:2,ref_key:"uniformApiPluginComponentRef",ref:L,node:i.node,"plugin-detail":i.pluginDetail,"plugin-id":j.value,"input-data":i.node.component.data,inputs:i.inputs,editable:i.editable,"full-variable-list":i.fullVariableList,onChange:W[0]||(W[0]=te=>C("change",te))},null,40,["node","plugin-detail","plugin-id","input-data","inputs","editable","full-variable-list"])):vue.createCommentVNode("",!0)],64)):vue.createCommentVNode("",!0)]))}}),InputParams=_export_sfc(_sfc_main$J,[["__scopeId","data-v-222b14dd"]]),_hoisted_1$E={class:"node-config-output-params"},_hoisted_2$z={class:"params-key-wrappper"},_hoisted_3$v={class:"key-text"},_hoisted_4$r={class:"create-variable-cell"},_hoisted_5$j=["onClick"],_sfc_main$I=vue.defineComponent({__name:"output-params",props:{node:{},outputsForms:{},constants:{default:()=>({})},editable:{type:Boolean,default:!0}},emits:["updateConstants"],setup(e,{emit:t}){const n=e,r=t,i=vue.shallowRef({}),C=vue.computed(()=>n.outputsForms.map(B=>({...B,hookedKey:k(B.key)})));vue.watch(()=>n.constants,B=>{i.value={...B}},{immediate:!0});const k=B=>getGlobalOutputVariableKey(i.value,n.node.id,B),y=B=>{if(!n.editable)return;const L=k(B.key);if(L){const R={...i.value[L],source_info:{...i.value[L].source_info,[n.node.id]:i.value[L].source_info[n.node.id].filter(z=>z!==B.key)}};i.value={...i.value,[L]:R}}else{const R=`\${${B.key}}`,z=n.constants[R]?`\${${B.key}_${composable.random4()}}`:R;i.value={...i.value,[z]:{index:Object.values(i.value).length,name:B.name,key:z,desc:"",custom_type:"",show_type:"hide",source_type:"component_outputs",source_info:{[n.node.id]:[B.key]},source_tag:"",validation:"",plugin_code:"",value:""}}}r("updateConstants",i.value)};return(B,L)=>{const R=vue.resolveComponent("bk-table-column"),z=vue.resolveComponent("bk-input"),j=vue.resolveComponent("bk-table"),$=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("section",_hoisted_1$E,[vue.createVNode(j,{"empty-text":"暂无参数",data:C.value,border:["outer"],scrollbar:!1},{default:vue.withCtx(()=>[vue.createVNode(R,{label:"名称",width:180,"min-width":180,prop:"name"},{default:vue.withCtx(({row:H})=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("span",{class:vue.normalizeClass(["params-name",{"has-desc":H.description!==""}])},[vue.createTextVNode(vue.toDisplayString(H.name),1)],2)),[[$,{disabled:H.description==="",content:H.description}]])]),_:1}),vue.createVNode(R,{label:"KEY",prop:"key"},{default:vue.withCtx(({row:H})=>[vue.createElementVNode("div",_hoisted_2$z,[vue.createElementVNode("span",_hoisted_3$v,vue.toDisplayString(H.key),1),H.hookedKey?(vue.openBlock(),vue.createBlock(z,{key:0,class:"variable-key-input","model-value":H.hookedKey,readonly:vue.readonly},null,8,["model-value"])):vue.createCommentVNode("",!0)])]),_:1}),vue.createVNode(R,{label:"勾选为全局变量",width:120,"min-width":120},{default:vue.withCtx(({row:H})=>[vue.createElementVNode("div",_hoisted_4$r,[vue.withDirectives((vue.openBlock(),vue.createElementBlock("span",{class:vue.normalizeClass(["btn",{"is-hooked":!!H.hookedKey,"is-disabled":!n.editable,"is-disabled-tooltip":!n.editable}]),onClick:Q=>y(H)},[...L[0]||(L[0]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-quanjubianliang-2"},null,-1)])],10,_hoisted_5$j)),[[$,{placement:"top",content:H.hookedKey?"取消使用变量接收输出":"使用变量接收输出"}]])])]),_:1})]),_:1},8,["data"])])}}}),OutputParams=_export_sfc(_sfc_main$I,[["__scopeId","data-v-cfbfc03c"]]),_hoisted_1$D={class:"bkflow-node-config"},_hoisted_2$y={key:1,class:"input-params-empty-tip"},_sfc_main$H=vue.defineComponent({__name:"index",props:{node:{},systemVariables:{default:()=>[]},constants:{default:()=>({})},editable:{type:Boolean,default:!0}},emits:["change","selectPlugin","updateConstants"],setup(e,{expose:t,emit:n}){const r=e,i=useFlowApiConfig(),C=n,k=vue.ref(),y=vue.ref(),B=vue.ref(null),L=vue.ref(!0),R=vue.shallowRef([]),z=vue.shallowRef([]),j=vue.ref(!1),$=se=>{const de=se||r.node;return de.component.code?["uniform_api","remote_plugin"].includes(de.component.code)?de.component.code:"inner":""},H=vue.computed(()=>$()),Q=vue.computed(()=>[...r.systemVariables,...Object.values(r.constants)].map(se=>({key:se.key,name:se.name,source_type:se.source_type,custom_type:se.custom_type||""})));vue.onMounted(()=>{j.value=!1,r.node.component.code?W():L.value=!1});const W=async()=>{L.value=!0,j.value=!1;try{const se=await pluginDetailRequest(i,r.node.component),{inputs:de,outputs:ge}=se;R.value=de,z.value=ge,B.value=se,ee()}catch(se){(se?.message||String(se)).includes("1211011")?j.value=!0:console.error("Failed to fetch plugin detail:",se)}finally{L.value=!1}},te=se=>{if(!B.value)return;const{data:de}=se.component,ge=$(se);if({uniform_api:()=>{if(!de||!("uniform_api_plugin_url"in de)||!("uniform_api_plugin_method"in de))return!0;const ce=R.value;return!ce||ce.length===0?!1:ce.some(le=>!(le.key in de))},remote_plugin:()=>de?Object.keys(de).length<=2||!("plugin_code"in de)||!("plugin_version"in de):!0,inner:()=>!de||Object.keys(de).length===0}[ge]?.())if(ge==="uniform_api"&&de){const ie=getPluginDefaultComponentData(ge,B.value),ce={...ie,...de};R.value.forEach(le=>{le.key in ce||(ce[le.key]=ie[le.key])}),Z({...se,component:{...se.component,data:ce}})}else Z({...se,component:{...se.component,data:getPluginDefaultComponentData(ge,B.value)}})},ee=()=>{te(r.node)},q=se=>{const de={...r.node,component:{...r.node.component,data:se}};Z(de)},G=se=>{Z(se),J(se)},J=async se=>{L.value=!0,j.value=!1;try{const de=await pluginDetailRequest(i,se.component),{inputs:ge,outputs:fe}=de;R.value=ge,z.value=fe,B.value=de,te(se)}catch(de){(de?.message||String(de)).includes("1211011")?j.value=!0:console.error("Failed to fetch plugin detail:",de)}finally{L.value=!1}},Z=se=>{C("change",se)},ne=se=>{q(se)},oe=(se,de,ge)=>{const fe={...r.constants},ie=fe[se];if(!ie)return;const ce=ie.source_info[de]||[];ce.includes(ge)||(fe[se]={...ie,source_info:{...ie.source_info,[de]:[...ce,ge]}},C("updateConstants",fe))};return t({isPluginNotExist:j,pluginDetailLoading:L,validate:async()=>{const se=y.value?.validate||(()=>!0),[de,ge]=await Promise.all([k.value?.validate(),se()]);return de&&ge},updateInputParams:ne}),(se,de)=>{const ge=vue.resolveComponent("bk-button"),fe=vue.resolveComponent("bk-exception"),ie=vue.resolveDirective("bk-loading");return vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_1$D,[j.value?(vue.openBlock(),vue.createBlock(fe,{key:0,class:"plugin-not-exist-exception",type:"500",title:"未找到可用插件或可用版本",scene:"part"},{default:vue.withCtx(()=>[r.editable?(vue.openBlock(),vue.createBlock(ge,{key:0,text:"",theme:"primary",onClick:de[0]||(de[0]=ce=>C("selectPlugin"))},{default:vue.withCtx(()=>[...de[3]||(de[3]=[vue.createTextVNode("重新选择",-1)])]),_:1})):vue.createCommentVNode("",!0)]),_:1})):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createVNode(SectionContainer,{title:"基础信息"},{default:vue.withCtx(()=>[vue.createVNode(BasicInfo,{ref_key:"basicInfoRef",ref:k,node:r.node,editable:r.editable,"plugin-type":H.value,"plugin-detail":B.value,onSelectPlugin:de[1]||(de[1]=ce=>C("selectPlugin")),onChange:Z,onVersionChange:G},null,8,["node","editable","plugin-type","plugin-detail"])]),_:1}),vue.createVNode(SectionContainer,{title:"输入参数"},{default:vue.withCtx(()=>[!L.value&&B.value?vue.renderSlot(se.$slots,"inputParams",{node:r.node,pluginDetail:B.value,inputs:R.value,editable:r.editable,fullVariableList:Q.value,updateInputParams:ne,updateVariableSourceInfo:oe},()=>[vue.createVNode(InputParams,{ref_key:"inputParamsRef",ref:y,node:r.node,"plugin-type":H.value,"plugin-detail":B.value,inputs:R.value,editable:r.editable,"full-variable-list":Q.value,onChange:q},null,8,["node","plugin-type","plugin-detail","inputs","editable","full-variable-list"])],!0,0):!L.value&&!r.node.component?.code?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$y,[...de[4]||(de[4]=[vue.createElementVNode("span",{class:"tip-text"},"请选择插件",-1)])])):vue.createCommentVNode("",!0)]),_:3}),vue.createVNode(SectionContainer,{title:"输出参数"},{default:vue.withCtx(()=>[L.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(OutputParams,{key:0,node:r.node,"outputs-forms":z.value,constants:r.constants,editable:r.editable,onUpdateConstants:de[2]||(de[2]=ce=>C("updateConstants",ce))},null,8,["node","outputs-forms","constants","editable"]))]),_:1})],64))])),[[ie,{loading:L.value}]])}}}),NodeConfig=_export_sfc(_sfc_main$H,[["__scopeId","data-v-d53475b0"]]),_hoisted_1$C={class:"global-variables-preview-content"},_hoisted_2$x={class:"preview-table-wrapper"},_hoisted_3$u={class:"cell-text"},_hoisted_4$q={class:"key-cell"},_hoisted_5$i={class:"cell-text"},_hoisted_6$e={class:"copy-icon-wrapper"},_hoisted_7$a={class:"attribute-icons"},_sfc_main$G=vue.defineComponent({__name:"global-variables-preview",props:{constants:{default:()=>({})},systemVariables:{default:()=>[]}},setup(e){const t=e,n=vue.ref(!1),r=vue.computed(()=>{const C=Object.values(t.constants).sort((k,y)=>k.index-y.index);return[...t.systemVariables,...C]}),i=C=>{const k=document.createElement("textarea");k.value=C.toString(),document.body.appendChild(k),k.select(),document.execCommand("copy"),document.body.removeChild(k),lib.Message({theme:"success",message:"复制成功"})};return(C,k)=>{const y=vue.resolveComponent("bk-overflow-title"),B=vue.resolveComponent("bk-table-column"),L=vue.resolveComponent("bk-table"),R=vue.resolveComponent("bk-popover"),z=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createBlock(R,{placement:"bottom-end",theme:"light","ext-cls":"global-variables-preview-popover",offset:8,arrow:!1,width:580},{content:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$C,[k[3]||(k[3]=vue.createElementVNode("div",{class:"preview-header"},[vue.createElementVNode("span",{class:"header-title"},"全局变量")],-1)),vue.createElementVNode("div",_hoisted_2$x,[vue.createVNode(L,{data:r.value,border:["outer"],"max-height":400},{default:vue.withCtx(()=>[vue.createVNode(B,{label:"名称",prop:"name","min-width":150},{default:vue.withCtx(({row:j})=>[vue.createElementVNode("div",_hoisted_3$u,[vue.createVNode(y,{type:"tips"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(j.name),1)]),_:2},1024)])]),_:1}),vue.createVNode(B,{label:"KEY",prop:"key","min-width":200},{default:vue.withCtx(({row:j})=>[vue.createElementVNode("div",_hoisted_4$q,[vue.createElementVNode("div",_hoisted_5$i,[vue.createVNode(y,{type:"tips"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(j.key),1)]),_:2},1024)]),vue.createElementVNode("span",_hoisted_6$e,[vue.withDirectives(vue.createVNode(vue.unref(icon.CopyShape),{onClick:vue.withModifiers($=>i(j.key),["stop"])},null,8,["onClick"]),[[z,{content:"复制",placement:"top"}]])])])]),_:1}),vue.createVNode(B,{label:"属性",prop:"attributes",width:100},{default:vue.withCtx(({row:j})=>[vue.createElementVNode("div",_hoisted_7$a,[vue.withDirectives(vue.createElementVNode("i",{class:vue.normalizeClass(["bkflow-canvas-icon","attr-icon",j.source_type!=="component_outputs"?"bkflow-canvas-show-left input-icon":"bkflow-canvas-hide-right output-icon"])},null,2),[[z,{content:j.source_type!=="component_outputs"?"输入":"输出",placement:"top"}]]),vue.withDirectives(vue.createElementVNode("i",{class:vue.normalizeClass(["bkflow-canvas-icon","attr-icon",j.show_type==="show"?"bkflow-canvas-eye-show show-icon":"bkflow-canvas-eye-hide hide-icon"])},null,2),[[z,{content:j.show_type==="show"?"显示":"隐藏",placement:"top"}]])])]),_:1})]),_:1},8,["data"])])])]),default:vue.withCtx(()=>[vue.createElementVNode("div",{class:vue.normalizeClass(["global-variables-trigger",{"is-active":n.value}]),onMouseenter:k[0]||(k[0]=j=>n.value=!0),onMouseleave:k[1]||(k[1]=j=>n.value=!1)},[...k[2]||(k[2]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-quanjubianliang-2"},null,-1),vue.createElementVNode("span",{class:"trigger-text"},"全局变量",-1)])],34)]),_:1})}}}),GlobalVariablesPreview=_export_sfc(_sfc_main$G,[["__scopeId","data-v-f48da013"]]),_hoisted_1$B={class:"node-config-slider-header"},_hoisted_2$w={class:"header-title","data-test":"node-config-title"},_hoisted_3$t={"data-test":"tab-debug-label"},_hoisted_4$p={class:"sideslider-footer-buttons"},_sfc_main$F=vue.defineComponent({__name:"index",props:{show:{type:Boolean,default:!1},node:{},constants:{default:()=>({})},systemVariables:{default:()=>[]},editable:{type:Boolean,default:!0},enableDebug:{type:Boolean,default:!1},initialTab:{default:"config"}},emits:["close","update:show","confirm","selectPlugin","updateConstants","debug-tab-activated"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.ref(),k=vue.ref(!0),y=vue.ref("config"),B=vue.computed(()=>j.value?.name||"节点配置"),L=vue.computed(()=>j.value?.component?.code?"":"请先选择插件后再进行调试"),R=vue.computed(()=>({node:j.value,active:y.value==="debug",close:ae})),z=()=>{L.value||(y.value="debug")};vue.watch(y,ge=>{ge==="debug"&&!L.value&&i("debug-tab-activated",j.value)});const j=vue.ref(lodash$1.cloneDeep(r.node)),$=vue.shallowRef(lodash$1.cloneDeep(r.constants)),H=vue.ref(lodash$1.cloneDeep(r.node)),Q=vue.shallowRef(lodash$1.cloneDeep(r.constants)),W=vue.ref(!1),te=()=>{H.value=lodash$1.cloneDeep(j.value),Q.value=lodash$1.cloneDeep($.value),W.value=!0};vue.watch(()=>r.show,ge=>{if(ge){j.value=lodash$1.cloneDeep(r.node),$.value=lodash$1.cloneDeep(r.constants),W.value=!1;const fe=r.enableDebug&&r.initialTab==="debug"&&!L.value;y.value=fe?"debug":"config"}},{immediate:!0}),vue.watch([()=>r.show,()=>!!C.value,()=>C.value?.pluginDetailLoading],async([ge,fe,ie])=>{!ge||!fe||ie||W.value||(await vue.nextTick(),!(!r.show||C.value?.pluginDetailLoading||W.value)&&te())},{flush:"post"}),vue.watchEffect(()=>{C.value?.isPluginNotExist||C.value?.pluginDetailLoading?k.value=!1:k.value=!0});const ee=ge=>{j.value=ge},q=ge=>{$.value=ge,i("updateConstants",ge)},G=(ge,fe)=>{const ie={};return Object.entries(ge).forEach(([ce,pe])=>{const le={...pe};["component_outputs","component_inputs"].includes(le.source_type)&&le.source_info&&(le.source_info[fe]!==void 0&&Array.isArray(le.source_info[fe])&&le.source_info[fe].length===0&&(le.source_info={...le.source_info},delete le.source_info[fe]),Object.keys(le.source_info).length===0)||(ie[ce]=le)}),ie},J=async()=>{if(await C.value?.validate()){const fe=G($.value,j.value.id);i("confirm",j.value,fe)}},Z=()=>{i("selectPlugin",j.value,$.value)},ne=()=>W.value?!lodash$1.isEqual(j.value,H.value)||!lodash$1.isEqual($.value,Q.value):!1,oe=()=>!r.editable||!ne()?(ae(),!0):new Promise(ge=>{lib.InfoBox({title:"确认离开?",content:"离开将会导致未保存信息丢失",confirmText:"离开",cancelText:"取消",width:320,onConfirm:()=>{ae(),ge(!0)},onCancel:()=>{ge(!1)}})}),ae=()=>{i("close"),i("update:show",!1)};return t({updateNodeInputParams:ge=>{C.value&&C.value.updateInputParams?.(ge)},updateConstants:ge=>{$.value=lodash$1.cloneDeep(ge)}}),(ge,fe)=>{const ie=vue.resolveComponent("bk-tab-panel"),ce=vue.resolveComponent("bk-tab"),pe=vue.resolveComponent("bk-button"),le=vue.resolveComponent("bk-sideslider"),ue=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createBlock(le,{title:"节点配置","is-show":r.show,width:960,"esc-close":!1,"before-close":oe},{header:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$B,[vue.createElementVNode("span",_hoisted_2$w,vue.toDisplayString(B.value),1),vue.createVNode(GlobalVariablesPreview,{constants:$.value,"system-variables":r.systemVariables},null,8,["constants","system-variables"])])]),footer:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_4$p,[k.value&&(!r.enableDebug||y.value==="config")?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[r.editable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(pe,{theme:"primary","data-test":"save",onClick:J},{default:vue.withCtx(()=>[...fe[2]||(fe[2]=[vue.createTextVNode("保存",-1)])]),_:1}),r.enableDebug?vue.withDirectives((vue.openBlock(),vue.createBlock(pe,{key:0,outline:"",theme:"primary","data-test":"go-to-debug",title:L.value,disabled:!!L.value,onClick:z},{default:vue.withCtx(()=>[...fe[3]||(fe[3]=[vue.createTextVNode(" 去调试 ",-1)])]),_:1},8,["title","disabled"])),[[ue,{content:L.value,disabled:!L.value}]]):vue.createCommentVNode("",!0),vue.createVNode(pe,{onClick:ae},{default:vue.withCtx(()=>[...fe[4]||(fe[4]=[vue.createTextVNode("取消",-1)])]),_:1})],64)):(vue.openBlock(),vue.createBlock(pe,{key:1,theme:"primary",onClick:ae},{default:vue.withCtx(()=>[...fe[5]||(fe[5]=[vue.createTextVNode("关闭",-1)])]),_:1}))],64)):vue.createCommentVNode("",!0)])]),default:vue.withCtx(()=>[vue.createElementVNode("div",{class:vue.normalizeClass(["node-config-slider",{"has-debug-tabs":r.enableDebug}])},[r.show&&!r.enableDebug?(vue.openBlock(),vue.createBlock(NodeConfig,{key:0,ref_key:"nodeConfigRef",ref:C,node:j.value,editable:r.editable,constants:$.value,"system-variables":r.systemVariables,onSelectPlugin:Z,onUpdateConstants:q,onChange:ee},{inputParams:vue.withCtx(he=>[vue.renderSlot(ge.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps(he)),void 0,!0)]),_:3},8,["node","editable","constants","system-variables"])):r.show?(vue.openBlock(),vue.createBlock(ce,{key:1,active:y.value,"onUpdate:active":fe[0]||(fe[0]=he=>y.value=he),class:"node-detail-tabs",type:"unborder-card"},{default:vue.withCtx(()=>[vue.createVNode(ie,{name:"config",label:"节点配置","data-test":"tab-config"},{default:vue.withCtx(()=>[vue.createVNode(NodeConfig,{ref_key:"nodeConfigRef",ref:C,node:j.value,editable:r.editable,constants:$.value,"system-variables":r.systemVariables,onSelectPlugin:Z,onUpdateConstants:q,onChange:ee},{inputParams:vue.withCtx(he=>[vue.renderSlot(ge.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps(he)),void 0,!0)]),_:3},8,["node","editable","constants","system-variables"])]),_:3}),vue.createVNode(ie,{name:"debug",label:"调试配置","data-test":"tab-debug",disabled:!!L.value},{label:vue.withCtx(()=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("span",_hoisted_3$t,[...fe[1]||(fe[1]=[vue.createTextVNode(" 调试配置 ",-1)])])),[[ue,{content:L.value,disabled:!L.value}]])]),default:vue.withCtx(()=>[vue.renderSlot(ge.$slots,"debugConfig",vue.normalizeProps(vue.guardReactiveProps(R.value)),void 0,!0)]),_:3},8,["disabled"])]),_:3},8,["active"])):vue.createCommentVNode("",!0)],2)]),_:3},8,["is-show"])}}}),NodeConfigPanel=_export_sfc(_sfc_main$F,[["__scopeId","data-v-a5dcd6ec"]]),_hoisted_1$A={class:"plugin-group-aside"},_hoisted_2$v={class:"group-list"},_hoisted_3$s=["onClick"],_hoisted_4$o=["src"],_hoisted_5$h={class:"group-text"},_sfc_main$E=vue.defineComponent({__name:"plugin-groups-aside",props:{active:{},groups:{}},emits:["update:active","change"],setup(e,{emit:t}){const n=e,r=t,i=k=>{r("update:active",k),r("change",k)},C=k=>{const y=k.target;y.src!==composable.PLUGIN_GROUP_DEFAULT_ICON&&(y.src=composable.PLUGIN_GROUP_DEFAULT_ICON)};return(k,y)=>(vue.openBlock(),vue.createElementBlock("section",_hoisted_1$A,[vue.createElementVNode("div",_hoisted_2$v,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(n.groups,B=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["group-item",{actived:n.active===B.name}]),key:B.id,onClick:L=>i(B.name)},[vue.createElementVNode("img",{class:"group-icon",src:B.iconUrl||vue.unref(composable.PLUGIN_GROUP_DEFAULT_ICON),onError:C},null,40,_hoisted_4$o),vue.createElementVNode("span",_hoisted_5$h,vue.toDisplayString(B.alias),1)],10,_hoisted_3$s))),128))])]))}}),PluginGroupsAside=_export_sfc(_sfc_main$E,[["__scopeId","data-v-daa65103"]]),alarmImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/告警%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/告警'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3ccircle%20id='椭圆形'%20fill='%233A84FF'%20fill-rule='nonzero'%20cx='27'%20cy='27'%20r='23'%3e%3c/circle%3e%3ccircle%20id='椭圆形备份'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20cx='34'%20cy='34'%20r='24'%3e%3c/circle%3e%3cg%20id='alert-告警'%20transform='translate(20,%2018)'%20fill='%23FFFFFF'%3e%3cpath%20d='M23.8214286,25.9259259%20L23.8214286,14.5185185%20C23.8280822,12.0419907%2022.8443395,9.66585559%2021.0897321,7.92037037%20C19.3290179,6.16064815%2016.9889509,5.18515161%2014.5,5.18515161%20C12.026631,5.17852307%209.65352669,6.16352209%207.91026786,7.92037037%20C6.15279018,9.68333333%205.17857143,12.0263889%205.17857143,14.5185185%20L5.17857143,25.9259259%20L2.07142857,25.9259259%20L2.07142857,28%20L26.9285714,28%20L26.9285714,25.9259259%20L23.8214286,25.9259259%20Z%20M15.225,10.9083333%20L16.6879464,12.3731481%20L14.5356027,14.5314815%20L17.3708705,17.3703704%20L13.8138393,21.3305556%20L12.2732143,19.9435185%20L14.516183,17.4449074%20L11.6064732,14.5314815%20L15.225,10.9083333%20Z%20M29,13.4814815%20L29,15.5555556%20L24.8571429,15.5555556%20L24.8571429,13.4814815%20L29,13.4814815%20Z%20M4.14285714,13.4814815%20L4.14285714,15.5555556%20L0,15.5555556%20L0,13.4814815%20L4.14285714,13.4814815%20Z%20M5.01594524,3.53359279%20L7.94538762,6.46677647%20L6.48066643,7.93336831%20L3.55122405,5.00018463%20L5.01594524,3.53359279%20Z%20M23.9784806,3.5274069%20L25.4432018,4.99399875%20L22.5137594,7.92718243%20L21.0490382,6.46059059%20L23.9784806,3.5274069%20Z%20M15.5357143,0%20L15.5357143,4.14814815%20L13.4642857,4.14814815%20L13.4642857,0%20L15.5357143,0%20Z'%20id='形状'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",eventImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/事件%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/事件'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3crect%20id='矩形-2'%20fill='%233A84FF'%20fill-rule='nonzero'%20x='5'%20y='5'%20width='40'%20height='40'%20rx='3'%3e%3c/rect%3e%3crect%20id='矩形'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20x='10'%20y='10'%20width='44'%20height='44'%20rx='3'%3e%3c/rect%3e%3cg%20id='alert-告警'%20transform='translate(16.25,%2016.25)'%20fill='%23FFFFFF'%20fill-rule='nonzero'%3e%3cpath%20d='M9,0%20L9,2.25%20L22.5,2.25%20L22.5,0%20L27,0%20L27,2.25%20L29.25,2.25%20C30.4926407,2.25%2031.5,3.25735931%2031.5,4.5%20L31.5,29.25%20C31.5,30.4926407%2030.4926407,31.5%2029.25,31.5%20L2.25,31.5%20C1.00735931,31.5%200,30.4926407%200,29.25%20L0,4.5%20C0,3.25735931%201.00735931,2.25%202.25,2.25%20L4.5,2.25%20L4.5,0%20L9,0%20Z%20M29.25,10.125%20L2.25,10.125%20L2.25,29.25%20L29.25,29.25%20L29.25,10.125%20Z%20M11.25,13.5%20L11.25,18%20L5.625,18%20L5.625,13.5%20L11.25,13.5%20Z'%20id='形状结合'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",graphImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/图谱%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/图谱'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3ccircle%20id='椭圆形'%20fill='%233A84FF'%20fill-rule='nonzero'%20cx='27'%20cy='27'%20r='23'%3e%3c/circle%3e%3ccircle%20id='椭圆形备份'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20cx='34'%20cy='34'%20r='24'%3e%3c/circle%3e%3cg%20id='alert-告警'%20transform='translate(18.25,%2018.25)'%20fill='%23FFFFFF'%3e%3cpath%20d='M27.5625,0%20C29.7371212,0%2031.5,1.7628788%2031.5,3.9375%20C31.5,6.1121212%2029.7371212,7.875%2027.5625,7.875%20C26.8821072,7.875%2026.2420211,7.70242627%2025.6836253,7.39866233%20L21.2480235,11.8331927%20C22.0362649,12.9376649%2022.5,14.2896769%2022.5,15.75%20C22.5,17.2076792%2022.0379426,18.5574391%2021.2523016,19.6608059%20L24.7142478,23.1229218%20C25.3841532,22.7271229%2026.1655529,22.5%2027,22.5%20C29.4852814,22.5%2031.5,24.5147186%2031.5,27%20C31.5,29.4852814%2029.4852814,31.5%2027,31.5%20C24.5147186,31.5%2022.5,29.4852814%2022.5,27%20C22.5,26.1655529%2022.7271229,25.3841532%2023.1229218,24.7142478%20L19.6608059,21.2523016%20C18.5574391,22.0379426%2017.2076792,22.5%2015.75,22.5%20C14.2923208,22.5%2012.9425609,22.0379426%2011.8391941,21.2523016%20L8.73675688,24.3548271%20C8.9071608,24.8296846%209,25.3415004%209,25.875%20C9,28.3602814%206.98528137,30.375%204.5,30.375%20C2.01471863,30.375%200,28.3602814%200,25.875%20C0,23.3897186%202.01471863,21.375%204.5,21.375%20C5.62390208,21.375%206.6515713,21.7870218%207.44020055,22.4682583%20L10.2476984,19.6608059%20C9.46205741,18.5574391%209,17.2076792%209,15.75%20C9,14.2927614%209.46177809,12.9433769%2010.246986,11.8401948%20L6.9225844,8.53381806%20C6.36863781,8.83126977%205.73527343,9%205.0625,9%20C2.8878788,9%201.125,7.2371212%201.125,5.0625%20C1.125,2.8878788%202.8878788,1.125%205.0625,1.125%20C7.2371212,1.125%209,2.8878788%209,5.0625%20C9,5.74577587%208.82596068,6.38840267%208.51979386,6.94846859%20L11.8381935,10.2484109%20C12.9417448,9.46233681%2014.2918801,9%2015.75,9%20C17.2050353,9%2018.5525424,9.46038278%2019.6547997,10.2434266%20L24.0949001,5.80449226%20C23.7951367,5.24890576%2023.625,4.61307166%2023.625,3.9375%20C23.625,1.7628788%2025.3878788,0%2027.5625,0%20Z'%20id='形状结合'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",logImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/日志%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/日志'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3crect%20id='矩形-2'%20fill='%233A84FF'%20fill-rule='nonzero'%20x='5'%20y='5'%20width='40'%20height='40'%20rx='3'%3e%3c/rect%3e%3crect%20id='矩形'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20x='10'%20y='10'%20width='44'%20height='44'%20rx='3'%3e%3c/rect%3e%3cg%20id='alert-告警'%20transform='translate(17.375,%2017.375)'%20fill='%23FFFFFF'%3e%3cpath%20d='M28.25,0%20C28.8022847,0%2029.25,0.44771525%2029.25,1%20L29.25,28.25%20C29.25,28.8022847%2028.8022847,29.25%2028.25,29.25%20L1,29.25%20C0.44771525,29.25%200,28.8022847%200,28.25%20L0,1%20C0,0.44771525%200.44771525,1.11022302e-16%201,0%20L28.25,0%20Z%20M14.625,19.125%20C14.0036797,19.125%2013.5,19.6286797%2013.5,20.25%20C13.5,20.8713203%2014.0036797,21.375%2014.625,21.375%20C15.2463203,21.375%2015.75,20.8713203%2015.75,20.25%20C15.75,19.6286797%2015.2463203,19.125%2014.625,19.125%20Z%20M8.4375,7.875%20C5.02023811,7.875%202.25,10.6452381%202.25,14.0625%20C2.25,17.4797619%205.02023811,20.25%208.4375,20.25%20C11.8547619,20.25%2014.625,17.4797619%2014.625,14.0625%20C14.625,10.6452381%2011.8547619,7.875%208.4375,7.875%20Z%20M20.8125,7.875%20C17.3952381,7.875%2014.625,10.6452381%2014.625,14.0625%20C14.625,17.4797619%2017.3952381,20.25%2020.8125,20.25%20C24.2297619,20.25%2027,17.4797619%2027,14.0625%20C27,10.6452381%2024.2297619,7.875%2020.8125,7.875%20Z%20M8.4375,10.125%20C10.6121212,10.125%2012.375,11.8878788%2012.375,14.0625%20C12.375,16.2371212%2010.6121212,18%208.4375,18%20C6.2628788,18%204.5,16.2371212%204.5,14.0625%20C4.5,11.8878788%206.2628788,10.125%208.4375,10.125%20Z%20M20.8125,10.125%20C22.9871212,10.125%2024.75,11.8878788%2024.75,14.0625%20C24.75,16.2371212%2022.9871212,18%2020.8125,18%20C18.6378788,18%2016.875,16.2371212%2016.875,14.0625%20C16.875,11.8878788%2018.6378788,10.125%2020.8125,10.125%20Z%20M21.5,12.9375%20L20.125,12.9375%20C19.5727153,12.9375%2019.125,13.3852153%2019.125,13.9375%20L19.125,14.1875%20C19.125,14.7397847%2019.5727153,15.1875%2020.125,15.1875%20L21.5,15.1875%20C22.0522847,15.1875%2022.5,14.7397847%2022.5,14.1875%20L22.5,13.9375%20C22.5,13.3852153%2022.0522847,12.9375%2021.5,12.9375%20Z'%20id='形状结合'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",metricImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/指标%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/指标'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3ccircle%20id='椭圆形'%20fill='%233A84FF'%20fill-rule='nonzero'%20cx='27'%20cy='27'%20r='23'%3e%3c/circle%3e%3ccircle%20id='椭圆形备份'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20cx='34'%20cy='34'%20r='24'%3e%3c/circle%3e%3cg%20id='alert-告警'%20transform='translate(20.0022,%2019)'%20fill='%23FFFFFF'%3e%3cpath%20d='M26.9978016,9%20L26.9978016,26%20L22.9857822,26%20L22.9857822,9%20L26.9978016,9%20Z%20M19.9767677,15%20L19.9767677,26%20L15.9647484,26%20L15.9647484,15%20L19.9767677,15%20Z%20M12.9557339,12%20L12.9557339,26%20L8.9437145,26%20L8.9437145,12%20L12.9557339,12%20Z%20M5.93469998,17%20L5.93469998,26%20L1.92268063,26%20L1.92268063,17%20L5.93469998,17%20Z%20M26.9978016,0%20L26.9978016,8%20L23.6568016,4.67%20L16.9918102,11.3355632%20L11.3179511,5.6617042%20L1.41846305,15.561206%20L3.55271368e-15,14.1427429%20L11.3137085,2.82903444%20L16.9875333,8.50285925%20L22.2358016,3.253%20L18.9737629,0%20L26.9978016,0%20Z'%20id='形状结合'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",profilingImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/Profiling%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/Profiling'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3ccircle%20id='椭圆形'%20fill='%233A84FF'%20fill-rule='nonzero'%20cx='27'%20cy='27'%20r='23'%3e%3c/circle%3e%3ccircle%20id='椭圆形备份'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20cx='34'%20cy='34'%20r='24'%3e%3c/circle%3e%3cg%20id='alert-告警'%20transform='translate(19.375,%2016)'%20fill='%23FFFFFF'%20fill-rule='nonzero'%3e%3cpath%20d='M10.3813948,-3.55271368e-15%20C17.257736,1.52410383%2022.3838329,6.97063848%2023.2188935,13.6207878%20C24.020884,11.6579106%2025.6982065,10.1856528%2027.7485185,9.64494215%20C27.1633902,11.2491122%2027.1633902,13.0083535%2027.7485185,14.6125236%20C27.7485185,14.6125236%2033.0597887,25.1085424%2026.6837718,31.6233741%20L24.0521736,28.9989243%20C27.3425616,24.7791508%2027.0291913,18.684516%2023.1138432,14.7781096%20C18.7284397,10.4016526%2011.6811693,10.5583362%207.45245097,14.9347932%20C3.22373261,19.3094697%203.53710289,26.4991091%207.9225064,30.562199%20C11.8378545,34.1552382%2017.6316437,34.3119218%2021.8603621,31.1853723%20L24.2302248,33.5498699%20C23.1560051,34.1931262%2022.0151369,34.7178845%2020.8276645,35.1149251%20C20.8276645,35.1149251%2016.914097,36.7173707%2011.2876759,35.6099027%20C11.2876759,35.6099027%20-5.60939232,32.1361567%201.9435438,14.8956223%20C2.71450593,15.6701377%203.23085471,16.6583125%203.42136957,17.7337316%20C4.27570623,15.1161605%205.73197932,12.7354096%207.67323457,10.7826785%20C10.1623917,8.55705961%2012.6960617,2.27013128%2010.3813948,-3.55271368e-15%20Z%20M8.86261726,17.9028786%20C10.3191865,15.8450628%2012.6836372,14.6218537%2015.2048045,14.6218537%20C17.7259718,14.6218537%2020.0904225,15.8450628%2021.5469918,17.9028786%20C23.5838986,20.5593773%2023.5838986,24.3108806%2021.5469918,27.1240629%20C20.0904225,29.1818787%2017.7259718,30.4050878%2015.2048045,30.4050878%20C12.6836372,30.4050878%2010.3191865,29.1818787%208.86261726,27.1240629%20C6.8257104,24.4675642%206.8257104,20.5593773%208.86261726,17.9028786%20Z%20M20.475123,17.8049514%20L9.79204502,17.8049514%20L9.79204502,21.3659416%20L11.572558,21.3659416%20L11.572558,24.9269319%20L13.353071,24.9269319%20L13.353071,23.1464368%20L15.133584,23.1464368%20L15.133584,26.7074271%20L16.914097,26.7074271%20L16.914097,28.4879222%20L18.69461,28.4879222%20L18.69461,23.1464368%20L20.475123,23.1464368%20L20.475123,17.8049514%20L20.475123,17.8049514%20Z'%20id='形状'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",traceImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/Trace%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/Trace'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3ccircle%20id='椭圆形'%20fill='%233A84FF'%20fill-rule='nonzero'%20cx='27'%20cy='27'%20r='23'%3e%3c/circle%3e%3ccircle%20id='椭圆形备份'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20cx='34'%20cy='34'%20r='24'%3e%3c/circle%3e%3cg%20id='alert-告警'%20transform='translate(18.25,%2018.25)'%20fill='%23FFFFFF'%20fill-rule='nonzero'%3e%3cpath%20d='M15.75,0%20C16.36875,0%2016.875,0.50625%2016.875,1.125%20L16.875,2.29647656%20C23.4334688,2.83756641%2028.6624336,8.06653125%2029.2035234,14.625%20L30.375,14.625%20C30.99375,14.625%2031.5,15.13125%2031.5,15.75%20C31.5,16.36875%2030.99375,16.875%2030.375,16.875%20L29.2035234,16.875%20C28.6624336,23.4334688%2023.4334688,28.6624336%2016.875,29.2035234%20L16.875,30.375%20C16.875,30.99375%2016.36875,31.5%2015.75,31.5%20C15.13125,31.5%2014.625,30.99375%2014.625,30.375%20L14.625,29.2035234%20C8.06653125,28.6624336%202.83756641,23.4334688%202.29647656,16.875%20L1.125,16.875%20C0.50625,16.875%200,16.36875%200,15.75%20C0,15.13125%200.50625,14.625%201.125,14.625%20L2.29647656,14.625%20C2.83756641,8.06653125%208.06653125,2.83756641%2014.625,2.29647656%20L14.625,1.125%20C14.625,0.50625%2015.13125,0%2015.75,0%20Z%20M16.875,4.55582812%20L16.875,5.625%20C16.875,6.24375%2016.36875,6.75%2015.75,6.75%20C15.13125,6.75%2014.625,6.24375%2014.625,5.625%20L14.625,4.55582812%20C9.31011328,5.08355859%205.08355859,9.31011328%204.55582812,14.625%20L5.625,14.625%20C6.24375,14.625%206.75,15.13125%206.75,15.75%20C6.75,16.36875%206.24375,16.875%205.625,16.875%20L4.55582812,16.875%20C5.08355859,22.1898867%209.31011328,26.4164414%2014.625,26.9441719%20L14.625,25.875%20C14.625,25.25625%2015.13125,24.75%2015.75,24.75%20C16.36875,24.75%2016.875,25.25625%2016.875,25.875%20L16.875,26.9441719%20C22.1898867,26.4164414%2026.4164414,22.1898867%2026.9441719,16.875%20L25.875,16.875%20C25.25625,16.875%2024.75,16.36875%2024.75,15.75%20C24.75,15.13125%2025.25625,14.625%2025.875,14.625%20L26.9441719,14.625%20C26.4164414,9.31011328%2022.1898867,5.08355859%2016.875,4.55582812%20Z%20M15.75,10.125%20C18.8566017,10.125%2021.375,12.6433983%2021.375,15.75%20C21.375,18.8566017%2018.8566017,21.375%2015.75,21.375%20C12.6433983,21.375%2010.125,18.8566017%2010.125,15.75%20C10.125,12.6433983%2012.6433983,10.125%2015.75,10.125%20Z'%20id='形状结合'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",defaultImg="data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='none'%20fill-rule='evenodd'%3e%3cpath%20fill='%233A84FF'%20fill-rule='nonzero'%20d='M800%20432A368%20368%200%200%201%20432%20800%20368%20368%200%200%201%2064%20432%20368%20368%200%200%201%20800%20432z'/%3e%3cpath%20fill='%23CFDDF6'%20fill-opacity='.7'%20d='M928%20544A384%20384%200%200%201%20544%20928%20384%20384%200%200%201%20160%20544%20384%20384%200%200%201%20928%20544z'/%3e%3cpath%20d='M0%200H1024V1024H0V0z'/%3e%3cpath%20fill='%23FFF'%20fill-rule='nonzero'%20d='M746.6581968%20501.3226672L714.6514847999999%20501.3226672%20714.6514847999999%20416.00355568C714.56956%20392.47735216%20695.5183712%20373.42592608%20671.9924608%20373.344L586.6993008%20373.344%20586.6993008%20341.33688912C586.6993008%20311.87973856%20562.8198592%20288%20533.3630752%20288%20503.90629151999997%20288%20480.02685024%20311.87973856%20480.02685024%20341.33688912L480.02685024%20373.344%20394.65902464%20373.344C371.1890944%20373.344%20352.2239972112%20392.53333327999997%20352.2239972112%20416.00355568L352.2239972112%20497.0666672%20384.00671248%20497.0666672C415.01415584%20498.1832048%20439.57441824%20523.6440752%20439.57441824%20554.672%20439.57441824%20585.6999248%20415.01415584%20611.1607951999999%20384.00671248%20612.2773328000001L352%20612.2773328000001%20352%20693.3404448C352.0819249832%20716.8666479999999%20371.13311392%20735.9180736000001%20394.65902464%20736L475.72112624%20736%20475.72112624%20703.9928896C476.83765103999997%20672.9850592%20502.29820336%20648.4244911999999%20533.3257424%20648.4244911999999%20564.3532816%20648.4244911999999%20589.8138336%20672.9850592%20590.9303583999999%20703.9928896L590.9303583999999%20736%20671.9924608%20736C695.5183712%20735.9180736000001%20714.56956%20716.8666479999999%20714.6514847999999%20693.3404448L714.6514847999999%20607.9964448000001%20746.6581968%20607.9964448000001C765.7147232%20607.9984368%20783.3245328%20597.8329200000001%20792.8533712000001%20581.3296096%20802.3822096%20564.8263008%20802.3822096%20544.4928096%20792.8533712000001%20527.9895008%20783.3245328%20511.48619199999996%20765.7147232%20501.32067359999996%20746.6581968%20501.3226672L746.6581968%20501.3226672Z'/%3e%3c/g%3e%3c/svg%3e",_hoisted_1$z={class:"data-plugin-group"},_hoisted_2$u={class:"plugin-list"},_hoisted_3$r=["onClick"],_hoisted_4$n=["src"],_hoisted_5$g={class:"plugin-name"},_sfc_main$D=vue.defineComponent({__name:"data-plugin-group",props:{plugins:{}},emits:["select"],setup(e,{emit:t}){const n=e,r=t,i={alert_plugin:alarmImg,log_plugin:logImg,trace_plugin:traceImg,query_promql_metric_plugin:metricImg,事件查询:eventImg,Profiling查询:profilingImg,图谱查询:graphImg},C=defaultImg,k=vue.computed(()=>(n.plugins||[]).map(y=>({id:y.id,name:y.alias,icon:i[y.name]||y.icon||C})));return(y,B)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$z,[vue.createElementVNode("div",_hoisted_2$u,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(k.value,L=>(vue.openBlock(),vue.createElementBlock("div",{class:"plugin-item",key:L.id,onClick:R=>r("select",L.id)},[vue.createElementVNode("img",{class:"plugin-img",src:L.icon},null,8,_hoisted_4$n),vue.createElementVNode("h4",_hoisted_5$g,vue.toDisplayString(L.name),1)],8,_hoisted_3$r))),128))]),k.value.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:0,title:"暂无数据插件"})):vue.createCommentVNode("",!0)]))}}),DataPluginGroup=_export_sfc(_sfc_main$D,[["__scopeId","data-v-a00731b3"]]),_hoisted_1$y={key:0,class:"agent-plugin-group"},_hoisted_2$t={class:"top-operate-area"},_hoisted_3$q={class:"buttons"},_hoisted_4$m={class:"agent-content-area"},_hoisted_5$f={class:"agent-cards"},_hoisted_6$d={class:"card-header"},_hoisted_7$9=["src"],_hoisted_8$7={class:"agent-summary"},_hoisted_9$6={class:"main-info"},_hoisted_10$6={class:"name-text"},_hoisted_11$6={class:"other-info"},_hoisted_12$4=["title"],_hoisted_13$2=["title"],_hoisted_14$1={class:"agent-desc"},_hoisted_15$1={class:"agent-btns"},_sfc_main$C=vue.defineComponent({__name:"agent-plugin-group",props:{properties:{},plugins:{},loading:{type:Boolean}},emits:["select"],setup(e,{emit:t}){const n=[{id:"alias",name:"智能体名称"},{id:"updated_by",name:"更新人"},{id:"agent_type",name:"标签"}],r=e,i=useSelectPanelConfig(),C=t,k=vue.ref("all"),y=vue.ref([]),B=vue.computed(()=>Object.keys(r.properties).map(te=>({id:te,name:r.properties[te]}))),L=vue.computed(()=>(r.plugins||[]).filter(te=>!te.display_content?.hidden)),R=vue.computed(()=>{let te=L.value;return k.value!=="all"&&(te=te.filter(ee=>ee.group===k.value)),y.value.length>0&&(te=te.filter(ee=>y.value.some(q=>q.id==="alias"?ee.alias.toLowerCase().includes(q.values[0].id.toLowerCase()):q.id==="agent_type"?(ee.display_content?.agent_type||"")===q.values[0].id:q.id==="space_name"?(ee.display_content?.space_name||"").toLowerCase().includes(q.values[0].id.toLowerCase()):q.id==="updated_by"?(ee.display_content?.updated_by||"")===q.values[0].id:!0))),te}),z=vue.ref(!1);vue.watch(()=>r.plugins,te=>{if(z.value||!te?.length)return;te.some(q=>!q.display_content?.hidden&&q.group==="applied")&&(k.value="applied"),z.value=!0},{immediate:!0});const j=te=>{y.value=te},$=async(te,ee)=>{const q=te?.id;if(!q)return[];const G=(ee||"").toLowerCase(),J=new Set;if(L.value.forEach(Z=>{let ne="";q==="alias"?ne=Z.alias||"":q==="updated_by"?ne=Z.display_content?.updated_by||"":q==="agent_type"&&(ne=Z.display_content?.agent_type||""),ne&&J.add(ne)}),q==="agent_type"){const Z={single:"单智能体",flow:"流程类"};return[...J].filter(ne=>!G||(Z[ne]||ne).toLowerCase().includes(G)).map(ne=>({id:ne,name:Z[ne]||ne}))}return[...J].filter(Z=>!G||Z.toLowerCase().includes(G)).map(Z=>({id:Z,name:Z}))},H=()=>{i?.agentApplyUrl&&window.open(i.agentApplyUrl,"_blank")},Q=()=>{i?.agentResourceUrl&&window.open(i.agentResourceUrl,"_blank")},W=te=>{te.display_content.fetch_url&&window.open(te.display_content.fetch_url,"_blank")};return(te,ee)=>{const q=vue.resolveComponent("bk-button"),G=vue.resolveComponent("bk-alert"),J=vue.resolveComponent("bk-radio-button"),Z=vue.resolveComponent("bk-radio-group"),ne=vue.resolveDirective("bk-tooltips");return r.loading?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$y,[vue.createVNode(G,null,{default:vue.withCtx(()=>[ee[3]||(ee[3]=vue.createTextVNode(" 如有需要,您可以申请更多的智能体权限 ",-1)),vue.createVNode(q,{theme:"primary",text:"",size:"small",onClick:H},{default:vue.withCtx(()=>[...ee[2]||(ee[2]=[vue.createTextVNode("点击申请",-1)])]),_:1})]),_:1}),vue.createElementVNode("div",_hoisted_2$t,[vue.createElementVNode("div",_hoisted_3$q,[vue.createVNode(q,{theme:"primary",onClick:Q},{default:vue.withCtx(()=>[vue.unref(i)?.agentButtonText?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createTextVNode(vue.toDisplayString(vue.unref(i).agentButtonText),1)],64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createVNode(vue.unref(icon.Plus),{class:"add-icon"}),ee[4]||(ee[4]=vue.createTextVNode(" 智能体 ",-1))],64))]),_:1}),B.value.length>1?(vue.openBlock(),vue.createBlock(Z,{key:0,modelValue:k.value,"onUpdate:modelValue":ee[0]||(ee[0]=oe=>k.value=oe),type:"capsule"},{default:vue.withCtx(()=>[vue.createVNode(J,{label:"all"},{default:vue.withCtx(()=>[...ee[5]||(ee[5]=[vue.createTextVNode("全部",-1)])]),_:1}),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(B.value,oe=>(vue.openBlock(),vue.createBlock(J,{key:oe.id,label:oe.id},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(oe.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])):vue.createCommentVNode("",!0)]),vue.createVNode(_sfc_main$21,{modelValue:y.value,options:n,"get-menu-list":$,placeholder:"搜索智能体名称、更新人、标签",onChange:j},null,8,["modelValue"])]),vue.createElementVNode("div",_hoisted_4$m,[vue.createElementVNode("div",_hoisted_5$f,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(R.value,oe=>(vue.openBlock(),vue.createElementBlock("div",{class:"card-item",key:oe.id},[vue.createElementVNode("div",_hoisted_6$d,[vue.createElementVNode("img",{src:oe.display_content.icon,alt:"",class:"agent-img"},null,8,_hoisted_7$9),vue.createElementVNode("div",_hoisted_8$7,[vue.createElementVNode("div",_hoisted_9$6,[vue.createElementVNode("div",_hoisted_10$6,vue.toDisplayString(oe.alias),1),oe.display_content.agent_type?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:vue.normalizeClass(["agent-type",oe.display_content.agent_type])},vue.toDisplayString(oe.display_content.agent_type==="single"?"单智能体":"流程类"),3)):vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_11$6,[vue.createElementVNode("span",{title:oe.display_content.agent_code},"ID:"+vue.toDisplayString(oe.display_content.agent_code),9,_hoisted_12$4),vue.createElementVNode("span",{title:oe.display_content.updated_by||"--"}," 更新人:"+vue.toDisplayString(oe.display_content.updated_by||"--"),9,_hoisted_13$2)])])]),vue.createElementVNode("p",_hoisted_14$1,vue.toDisplayString(oe.display_content.description||"--"),1),vue.createElementVNode("div",_hoisted_15$1,[vue.createVNode(q,{theme:"primary",size:"small",onClick:ae=>C("select",oe.id)},{default:vue.withCtx(()=>[...ee[6]||(ee[6]=[vue.createTextVNode("选择",-1)])]),_:1},8,["onClick"]),oe.display_content.agent_type?vue.withDirectives((vue.openBlock(),vue.createBlock(q,{key:0,size:"small",disabled:oe.display_content.agent_type!=="single",onClick:ae=>W(oe)},{default:vue.withCtx(()=>[...ee[7]||(ee[7]=[vue.createTextVNode(" 体验 ",-1)])]),_:1},8,["disabled","onClick"])),[[ne,{disabled:oe.display_content.agent_type!=="flow",content:"流程类Agent暂不支持体验"}]]):vue.createCommentVNode("",!0)])]))),128))]),R.value.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:0,"is-search":y.value.length>0,title:"暂无智能体",onClear:ee[1]||(ee[1]=oe=>y.value=[])},null,8,["is-search"])):vue.createCommentVNode("",!0)])]))}}}),AgentPluginGroup=_export_sfc(_sfc_main$C,[["__scopeId","data-v-2ef77a0c"]]),_hoisted_1$x={class:"order-selector"},_sfc_main$B=vue.defineComponent({__name:"order-selector",props:{order:{}},emits:["update:order"],setup(e,{emit:t}){const n=[{id:"created_at_asc",name:"创建时间(升序)",icon:"bkflow-canvas-icon bkflow-canvas-sort-up"},{id:"created_at_desc",name:"创建时间(降序)",icon:"bkflow-canvas-icon bkflow-canvas-sort-down"},{id:"name_asc",name:"中文名称(A-Z)",icon:"bkflow-canvas-icon bkflow-canvas-sort-up"},{id:"name_desc",name:"中文名称(Z-A)",icon:"bkflow-canvas-icon bkflow-canvas-sort-down"}],r=e,i=t,C=vue.ref(!1),k=L=>{C.value=L},y=vue.computed(()=>n.find(L=>L.id===r.order)),B=L=>{i("update:order",L)};return(L,R)=>{const z=vue.resolveComponent("bk-button"),j=vue.resolveComponent("bk-dropdown-item"),$=vue.resolveComponent("bk-dropdown-menu"),H=vue.resolveComponent("bk-dropdown");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$x,[R[0]||(R[0]=vue.createElementVNode("span",{class:"order-selector-prefix"},"排序",-1)),vue.createVNode(H,{placement:"bottom-start",trigger:"click","popover-options":{clickContentAutoHide:!0,width:146},onShowChange:k},{content:vue.withCtx(()=>[vue.createVNode($,{"ext-cls":"order-selector-dropdown-menu"},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(n,Q=>vue.createVNode(j,{key:Q.id,class:vue.normalizeClass({active:Q.id===e.order}),onClick:W=>B(Q.id)},{default:vue.withCtx(()=>[vue.createElementVNode("span",null,vue.toDisplayString(Q.name),1)]),_:2},1032,["class","onClick"])),64))]),_:1})]),default:vue.withCtx(()=>[vue.createVNode(z,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(y.value?.name)+" ",1),vue.createElementVNode("i",{class:vue.normalizeClass(["order-selector-icon",y.value?.icon])},null,2),vue.createElementVNode("i",{class:vue.normalizeClass(["bkflow-canvas-icon","bkflow-canvas-angle-up",{"angle-down":!C.value}])},null,2)]),_:1})]),_:1})])}}}),OrderSelector=_export_sfc(_sfc_main$B,[["__scopeId","data-v-dcd78334"]]),_hoisted_1$w={class:"big-model-card"},_hoisted_2$s={class:"card-header"},_hoisted_3$p=["src"],_hoisted_4$l={class:"model-info"},_hoisted_5$e={class:"model-name"},_hoisted_6$c=["title"],_hoisted_7$8={class:"other-info"},_hoisted_8$6={class:"other-info"},_hoisted_9$5={class:"model-desc"},_hoisted_10$5={class:"tag-list"},_hoisted_11$5={class:"bottom-btns"},_sfc_main$A=vue.defineComponent({__name:"big-model-card",props:{plugin:{}},emits:["select"],setup(e,{emit:t}){const n=e,r=t,i=vue.computed(()=>n.plugin.display_content.tag_names.map(C=>C.join("/")));return(C,k)=>{const y=vue.resolveComponent("bk-tag"),B=vue.resolveComponent("bk-button");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$w,[vue.createElementVNode("div",_hoisted_2$s,[vue.createElementVNode("img",{src:n.plugin.display_content.icon,alt:"",class:"model-img"},null,8,_hoisted_3$p),vue.createElementVNode("div",_hoisted_4$l,[vue.createElementVNode("div",_hoisted_5$e,[vue.createElementVNode("div",{class:"name-text",title:n.plugin.alias},vue.toDisplayString(n.plugin.alias),9,_hoisted_6$c)]),vue.createElementVNode("p",_hoisted_7$8,[vue.createElementVNode("span",null,"基座模型: "+vue.toDisplayString(n.plugin.display_content.base_model),1),vue.createElementVNode("span",null,"激活参数: "+vue.toDisplayString(n.plugin.display_content.context_length),1)]),vue.createElementVNode("p",_hoisted_8$6,[vue.createElementVNode("span",null,"更新人: "+vue.toDisplayString(n.plugin.display_content.created_by),1),vue.createElementVNode("span",null,"更新时间: "+vue.toDisplayString(n.plugin.display_content.created_at),1)])])]),vue.createElementVNode("p",_hoisted_9$5,vue.toDisplayString(n.plugin.display_content.description||"--"),1),vue.createElementVNode("div",_hoisted_10$5,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(i.value,L=>(vue.openBlock(),vue.createBlock(y,{key:L},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(L),1)]),_:2},1024))),128))]),vue.createElementVNode("div",_hoisted_11$5,[vue.createVNode(B,{theme:"primary",size:"small",onClick:k[0]||(k[0]=L=>r("select",n.plugin.id))},{default:vue.withCtx(()=>[...k[1]||(k[1]=[vue.createTextVNode("选择",-1)])]),_:1})])])}}}),BigModelCard=_export_sfc(_sfc_main$A,[["__scopeId","data-v-be29d405"]]),_hoisted_1$v={class:"small-model-card"},_hoisted_2$r={class:"model-name"},_hoisted_3$o={class:"name-text"},_hoisted_4$k={class:"en-name"},_hoisted_5$d={class:"extend-info"},_hoisted_6$b={class:"model-desc"},_hoisted_7$7={class:"bottom-btns"},_sfc_main$z=vue.defineComponent({__name:"small-model-card",props:{plugin:{}},emits:["select"],setup(e,{emit:t}){const n=e,r=t;return(i,C)=>{const k=vue.resolveComponent("bk-button");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$v,[vue.createElementVNode("div",_hoisted_2$r,[vue.createElementVNode("span",_hoisted_3$o,vue.toDisplayString(n.plugin.alias),1),vue.createElementVNode("span",_hoisted_4$k,"("+vue.toDisplayString(n.plugin.name)+")",1)]),vue.createElementVNode("p",_hoisted_5$d,[vue.createElementVNode("span",null,"依赖历史数据长度 : "+vue.toDisplayString(n.plugin.display_content.ts_depend_time)+" 天",1),vue.createElementVNode("span",null,"数据频率:"+vue.toDisplayString(n.plugin.display_content.frequency)+" 秒",1),vue.createElementVNode("span",null,"发布人:"+vue.toDisplayString(n.plugin.display_content.created_by),1)]),vue.createElementVNode("p",_hoisted_6$b,vue.toDisplayString(n.plugin.display_content.description||"--"),1),vue.createElementVNode("div",_hoisted_7$7,[vue.createVNode(k,{theme:"primary",size:"small",onClick:C[0]||(C[0]=y=>r("select",n.plugin.id))},{default:vue.withCtx(()=>[...C[1]||(C[1]=[vue.createTextVNode("选择",-1)])]),_:1})])])}}}),SmallModelCard=_export_sfc(_sfc_main$z,[["__scopeId","data-v-6d16f3f0"]]),_hoisted_1$u={class:"model-plugin-group"},_hoisted_2$q={class:"top-operate-area"},_hoisted_3$n={class:"group-selector"},_hoisted_4$j={class:"search-area"},_hoisted_5$c={class:"mode-content-area"},_hoisted_6$a={class:"card-list"},_sfc_main$y=vue.defineComponent({__name:"index",props:{properties:{},plugins:{}},emits:["select"],setup(e,{emit:t}){const n=e,r=t,i=vue.ref("llm"),C=vue.ref("created_at_desc"),k=vue.ref([]),y=vue.computed(()=>i.value==="llm"?[{id:"name",name:"模型名称"},{id:"base_model",name:"基座模型"},{id:"tag",name:"标签"}]:[{id:"name",name:"模型名称"},{id:"created_by",name:"发布人"}]),B=vue.computed(()=>i.value==="llm"?"搜索模型名称、基座模型、标签":"搜索模型名称、发布人"),L=vue.computed(()=>Object.keys(n.properties).map(q=>({id:q,name:n.properties[q]}))),R=vue.computed(()=>(n.plugins||[]).filter(q=>!q.display_content?.hidden)),z=q=>q.filter(G=>G.group===i.value),j=q=>{if(k.value.length===0)return q;const G={name:J=>J.name,base_model:J=>J.display_content.base_model||"",created_by:J=>J.display_content.created_by||""};return q.filter(J=>k.value.some(Z=>{const ne=Z.values[0].id.toLowerCase();if(Z.id==="tag")return(J.display_content?.tag_names||[]).some(se=>se.join("/").toLowerCase().includes(ne));const oe=G[Z.id];return oe?.(J).toLowerCase().includes(ne)??!1}))},$=q=>{if(i.value!=="llm")return q;const G=(ne,oe,ae)=>{const se=new Date(ne.display_content.created_at).getTime(),de=new Date(oe.display_content.created_at).getTime();return ae?se-de:de-se},Z={created_at_asc:(ne,oe)=>G(ne,oe,!0),created_at_desc:(ne,oe)=>G(ne,oe,!1),name_asc:(ne,oe)=>ne.alias.localeCompare(oe.alias),name_desc:(ne,oe)=>oe.alias.localeCompare(ne.alias)}[C.value];return Z?[...q].sort(Z):q},H=vue.computed(()=>{const q=z(R.value),G=j(q);return $(G)}),Q=q=>{i.value=q,C.value="created_at_desc",k.value=[]},W=q=>{k.value=q},te=async(q,G)=>{const J=q?.id;if(!J)return[];const Z=(G||"").toLowerCase(),ne=new Set;return R.value.filter(ae=>ae.group===i.value).forEach(ae=>{if(J==="tag")(ae.display_content?.tag_names||[]).forEach(de=>{const ge=de.join("/");ge&&ne.add(ge)});else{let se="";J==="name"?se=ae.name||"":J==="base_model"?se=ae.display_content?.base_model||"":J==="created_by"&&(se=ae.display_content?.created_by||""),se&&ne.add(se)}}),[...ne].filter(ae=>!Z||ae.toLowerCase().includes(Z)).map(ae=>({id:ae,name:ae}))},ee=q=>{r("select",q)};return(q,G)=>{const J=vue.resolveComponent("bk-radio-button"),Z=vue.resolveComponent("bk-radio-group");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$u,[vue.createElementVNode("div",_hoisted_2$q,[vue.createElementVNode("div",_hoisted_3$n,[L.value.length>1?(vue.openBlock(),vue.createBlock(Z,{key:0,modelValue:i.value,"onUpdate:modelValue":G[0]||(G[0]=ne=>i.value=ne),type:"capsule",onChange:Q},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(L.value,ne=>(vue.openBlock(),vue.createBlock(J,{key:ne.id,label:ne.id},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(ne.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])):vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_4$j,[i.value==="llm"?(vue.openBlock(),vue.createBlock(OrderSelector,{key:0,order:C.value,"onUpdate:order":G[1]||(G[1]=ne=>C.value=ne)},null,8,["order"])):vue.createCommentVNode("",!0),vue.createVNode(_sfc_main$21,{modelValue:k.value,options:y.value,"get-menu-list":te,placeholder:B.value,onChange:W},null,8,["modelValue","options","placeholder"])])]),vue.createElementVNode("div",_hoisted_5$c,[vue.createElementVNode("div",_hoisted_6$a,[i.value==="llm"?(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,{key:0},vue.renderList(H.value,ne=>(vue.openBlock(),vue.createBlock(BigModelCard,{key:ne.id,plugin:ne,onSelect:ee},null,8,["plugin"]))),128)):(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,{key:1},vue.renderList(H.value,ne=>(vue.openBlock(),vue.createBlock(SmallModelCard,{key:ne.id,plugin:ne,onSelect:ee},null,8,["plugin"]))),128))]),H.value.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:0,"is-search":k.value.length>0,title:"暂无模型插件",onClear:G[2]||(G[2]=ne=>k.value=[])},null,8,["is-search"])):vue.createCommentVNode("",!0)])])}}}),ModelPluginGroup=_export_sfc(_sfc_main$y,[["__scopeId","data-v-4766232d"]]),_hoisted_1$t={class:"knowledgebase-plugin-group"},_hoisted_2$p={class:"group-header"},_hoisted_3$m={class:"knowledgebase-list"},_hoisted_4$i=["onClick"],_hoisted_5$b={class:"knowledgebase-info"},_hoisted_6$9={class:"kb-main-info"},_hoisted_7$6={class:"kb-name"},_hoisted_8$5={class:"name-text"},_hoisted_9$4={class:"kb-size"},_hoisted_10$4={class:"count"},_hoisted_11$4={class:"size"},_hoisted_12$3={class:"kb-description"},_hoisted_13$1={key:0,class:"group-footer"},_sfc_main$x=vue.defineComponent({__name:"knowledgebase-plugin-group",props:{plugins:{},inputData:{default:()=>({})}},emits:["select","cancel"],setup(e,{emit:t}){const n=[{id:"name",name:"知识库名称"},{id:"description",name:"描述"},{id:"knowledgebase_id",name:"ID"},{id:"updated_by",name:"更新人"}],r=useSelectPanelConfig(),i=useFlowApiConfig(),C=e,k=t,y=vue.shallowRef([]),B=vue.ref([]),L=vue.ref([]),R=vue.ref(!1),z=vue.computed(()=>B.value.length===0?y.value:y.value.filter(ee=>B.value.every(q=>{const G=q.id,J=String(ee[G]??"").toLowerCase();return q.values.some(Z=>{const ne=Z.name.toLowerCase();return J.includes(ne)})}))),j=async()=>{R.value=!0;const ee=await i.fetchApplyInstructionData?.({plugin_id:C.plugins[0].id,instruction:"get_available_knowledgebases"});y.value=ee.response,R.value=!1};vue.watch(()=>C.plugins,ee=>{ee?.length>0&&j()},{immediate:!0}),vue.watch(()=>C.inputData,ee=>{if(ee?.knowledge_base_id?.value){const q=ee.knowledge_base_id.value;Array.isArray(q)?L.value=q:typeof q=="number"&&(L.value=[q])}},{immediate:!0});const $=ee=>ee<1024?`${ee} B`:ee<1024*1024?`${(ee/1024).toFixed(2)} KB`:ee<1024*1024*1024?`${(ee/1024/1024).toFixed(2)} MB`:`${(ee/1024/1024/1024).toFixed(2)} GB`,H=()=>{r?.knowledgebaseResourceUrl&&window.open(r.knowledgebaseResourceUrl,"_blank")},Q=(ee,q)=>{ee?L.value.includes(q)||(L.value=[...L.value,q]):L.value=L.value.filter(G=>G!==q)},W=()=>{const ee="knowledge_base_id"in C.inputData;let q;if(ee){const{uniform_api_plugin_url:G,uniform_api_plugin_method:J,...Z}=C.inputData;q={...Z,knowledge_base_id:{value:L.value,hook:!1,need_render:!0}}}else q={knowledge_base_id:{value:L.value,hook:!1,need_render:!0}};k("select",{pluginId:C.plugins[0].id,inputData:q})},te=()=>{k("cancel")};return(ee,q)=>{const G=vue.resolveComponent("bk-button"),J=vue.resolveComponent("bk-checkbox"),Z=vue.resolveDirective("bk-tooltips"),ne=vue.resolveDirective("bk-loading");return vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_1$t,[vue.createElementVNode("div",_hoisted_2$p,[vue.createVNode(G,{theme:"primary",onClick:H},{default:vue.withCtx(()=>[...q[2]||(q[2]=[vue.createTextVNode("新建知识库",-1)])]),_:1}),vue.createVNode(_sfc_main$21,{modelValue:B.value,"onUpdate:modelValue":q[0]||(q[0]=oe=>B.value=oe),options:n,placeholder:"搜索知识库名称、描述、ID、更新人"},null,8,["modelValue"])]),vue.createElementVNode("div",_hoisted_3$m,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(z.value,oe=>(vue.openBlock(),vue.createElementBlock("div",{class:"knowledgebase-item",key:oe.knowledgebase_id,onClick:ae=>Q(!L.value.includes(oe.knowledgebase_id),oe.knowledgebase_id)},[vue.createElementVNode("div",_hoisted_5$b,[q[3]||(q[3]=vue.createElementVNode("div",{class:"kb-icon"},[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-knowledgebase"})],-1)),vue.createElementVNode("div",_hoisted_6$9,[vue.createElementVNode("div",_hoisted_7$6,[vue.createElementVNode("div",_hoisted_8$5,vue.toDisplayString(oe.name),1),vue.withDirectives(vue.createVNode(vue.unref(icon.InfoLine),{class:"info-icon",onClick:q[1]||(q[1]=vue.withModifiers(()=>{},["stop"]))},null,512),[[Z,{content:`更新人:${oe.updated_by}
69
69
  更新时间:${oe.updated_at}
70
- `,placement:"top"}]])]),vue.createElementVNode("div",_hoisted_9$4,[vue.createElementVNode("span",_hoisted_10$4,"共 "+vue.toDisplayString(oe.count)+" 篇,",1),vue.createElementVNode("span",_hoisted_11$4,vue.toDisplayString($(oe.size)),1)]),vue.createVNode(J,{class:"kb-checkbox",style:{"pointer-events":"none"},"model-value":L.value.includes(oe.knowledgebase_id)},null,8,["model-value"])])]),vue.createElementVNode("div",_hoisted_12$3,vue.toDisplayString(oe.description||"--"),1)],8,_hoisted_4$i))),128)),z.value.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:0,title:y.value.length===0?"暂无知识库":"搜索结果为空"},null,8,["title"])):vue.createCommentVNode("",!0)]),z.value.length>0?(vue.openBlock(),vue.createElementBlock("div",_hoisted_13$1,[vue.withDirectives((vue.openBlock(),vue.createBlock(G,{theme:"primary",disabled:L.value.length===0,onClick:W},{default:vue.withCtx(()=>[...q[4]||(q[4]=[vue.createTextVNode(" 确定 ",-1)])]),_:1},8,["disabled"])),[[Z,{content:L.value.length===0?"请选择知识库":"",disabled:L.value.length>0}]]),vue.createVNode(G,{onClick:te},{default:vue.withCtx(()=>[...q[5]||(q[5]=[vue.createTextVNode("取消",-1)])]),_:1})])):vue.createCommentVNode("",!0)])),[[ne,{loading:R.value}]])}}}),KnowledgebasePluginGroup=_export_sfc(_sfc_main$x,[["__scopeId","data-v-67fc5ae8"]]),_hoisted_1$s={class:"plugin-group"},_sfc_main$w=vue.defineComponent({__name:"output-plugin-group",setup(e){return(t,n)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$s,[vue.createVNode(EmptyException,{title:"暂无结论输出插件"})]))}}),OutputPluginGroup=_export_sfc(_sfc_main$w,[["__scopeId","data-v-93c9733d"]]),pluginDefaultIcon="data:image/png;base64,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",_hoisted_1$r={class:"bkflow-plugin-group"},_hoisted_2$o={class:"plugin-content-wrapper"},_hoisted_3$l={class:"tags-list"},_hoisted_4$h=["onClick"],_hoisted_5$a={class:"plugins-list"},_hoisted_6$8={class:"plugin-icon-wrapper"},_hoisted_7$5=["src"],_hoisted_8$4={class:"plugin-info-wrapper"},_hoisted_9$3={class:"plugin-name"},_hoisted_10$3=["title"],_hoisted_11$3={class:"managers-text"},_sfc_main$v=vue.defineComponent({__name:"bkflow-plugin-group",props:{bkflowPluginTags:{},activeTag:{}},emits:["selectBkflowPlugin"],setup(e,{emit:t}){const n=useFlowApiConfig(),r=e,i=t,C=vue.ref([]),k=vue.ref(r.activeTag||0),y=vue.ref([]),B=vue.ref(!1),L=vue.ref(!1),R=vue.ref({}),z=[{id:"name",name:"插件名称"}],j=vue.computed(()=>L.value?r.bkflowPluginTags.filter(q=>(R.value[q.id]?.length||0)>0):r.bkflowPluginTags),$=vue.computed(()=>L.value?R.value[k.value]||[]:y.value);vue.onMounted(()=>{W()});const H=q=>{k.value=q,L.value||W()},Q=async q=>{const J=q.find(Z=>Z.id==="name")?.values?.[0]?.name||"";if(!J){L.value=!1,R.value={},W();return}L.value=!0,B.value=!0,R.value={};try{const ne=(await n.fetchBkFlowInnerPluginList()).filter(ae=>ae.name.toLowerCase().includes(J.toLowerCase())).map(ae=>({code:ae.code,name:ae.name,logo_url:pluginDefaultIcon,desc:ae.desc||"--",managers:["BkFlow"],version:ae.version,tag:0}));if(ne.length>0&&(R.value[0]=ne),n.enableThirdPlugin!==!1&&n.searchBkFlowThirdPartyPlugins&&(await n.searchBkFlowThirdPartyPlugins(J)).data.plugins.forEach(de=>{const ge={code:de.code,name:de.name,logo_url:de.logo_url,desc:de.introduction||"--",managers:de.managers,version:"1.0.0",tag:de.tag};R.value[de.tag]||(R.value[de.tag]=[]),R.value[de.tag].push(ge)}),!R.value[k.value]||R.value[k.value].length===0){const ae=Object.keys(R.value).map(Number)[0];ae!==void 0&&(k.value=ae)}}catch(Z){console.error("Search plugins failed:",Z)}finally{B.value=!1}},W=async()=>{if(B.value=!0,y.value=[],k.value===0){const q=await n.fetchBkFlowInnerPluginList();y.value=q.map(G=>({code:G.code,name:G.name,logo_url:pluginDefaultIcon,desc:G.desc||"--",managers:["BkFlow"],version:G.version}))}else{if(!(n.enableThirdPlugin!==!1)){y.value=[],B.value=!1;return}const G=await n.fetchBkFlowThirdPartyPluginList(k.value);y.value=G.data.plugins.map(J=>({code:J.code,name:J.name,logo_url:J.logo_url,desc:J.introduction||"--",managers:J.managers,version:"1.0.0"}))}B.value=!1},te=()=>{C.value=[],L.value=!1,R.value={},W()},ee=q=>{const J=(L.value?$.value:y.value).find(Z=>Z.code===q);if(J){const{code:Z,name:ne,version:oe}=J,ae=L.value?J.tag===0:k.value===0;i("selectBkflowPlugin",{code:ae?Z:"remote_plugin",name:ne,data:ae?{}:{plugin_code:{hook:!1,value:Z}},version:oe})}};return(q,G)=>{const J=vue.resolveComponent("bk-button"),Z=vue.resolveDirective("bk-loading");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$r,[vue.createVNode(_sfc_main$21,{modelValue:C.value,"onUpdate:modelValue":G[0]||(G[0]=ne=>C.value=ne),options:z,placeholder:"搜索插件名称",onChange:Q},null,8,["modelValue"]),vue.createElementVNode("div",_hoisted_2$o,[j.value.length>0?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createElementVNode("div",_hoisted_3$l,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(j.value,ne=>(vue.openBlock(),vue.createElementBlock("div",{key:ne.id,class:vue.normalizeClass(["tag-item",{actived:k.value===ne.id}]),onClick:oe=>H(ne.id)},vue.toDisplayString(ne.name),11,_hoisted_4$h))),128))]),vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_5$a,[$.value.length>0?(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,{key:0},vue.renderList($.value,ne=>(vue.openBlock(),vue.createElementBlock("div",{key:ne.code,class:"plugin-item"},[vue.createElementVNode("div",_hoisted_6$8,[vue.createElementVNode("img",{src:ne.logo_url||vue.unref(pluginDefaultIcon),alt:"plugin-icon"},null,8,_hoisted_7$5)]),vue.createElementVNode("div",_hoisted_8$4,[vue.createElementVNode("h4",_hoisted_9$3,vue.toDisplayString(ne.name),1),vue.createElementVNode("p",{class:"plugin-desc",title:ne.desc},vue.toDisplayString(ne.desc),9,_hoisted_10$3),vue.createElementVNode("div",_hoisted_11$3,vue.toDisplayString(ne.managers?ne.managers.join(","):"BkFlow")+" 提供",1)]),vue.createVNode(J,{theme:"primary",size:"small",onClick:oe=>ee(ne.code)},{default:vue.withCtx(()=>[...G[1]||(G[1]=[vue.createTextVNode("选择",-1)])]),_:1},8,["onClick"])]))),128)):!B.value&&$.value.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:1,title:"该分类暂无插件"})):vue.createCommentVNode("",!0)])),[[Z,{loading:B.value}]])],64)):L.value&&!B.value&&j.value.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:1,"is-search":!0,onClear:te})):vue.createCommentVNode("",!0)])])}}}),BkFlowPluginGroup=_export_sfc(_sfc_main$v,[["__scopeId","data-v-1f2d5307"]]),_hoisted_1$q={class:"plugin-select-slider"},_hoisted_2$n={key:0,class:"plugin-select-content"},_sfc_main$u=vue.defineComponent({__name:"index",props:{show:{type:Boolean,default:!1},flowId:{},active:{default:""},bkflowTag:{default:0},pluginGroupList:{default:()=>[]},inputData:{default:()=>({})},isBack:{type:Boolean,default:!1}},emits:["close","update:show","select","back"],setup(e,{emit:t}){const n={data:DataPluginGroup,agent:AgentPluginGroup,model:ModelPluginGroup,knowledgebase:KnowledgebasePluginGroup,bkflow:BkFlowPluginGroup,output:OutputPluginGroup},r=e,i=t,C=vue.ref(r.active),k=vue.shallowRef([]),y=vue.ref(!1),B=vue.computed(()=>n[C.value]||null),L=vue.computed(()=>r.pluginGroupList.find(ee=>ee.name===C.value)?.properties||{}),R=vue.computed(()=>r.pluginGroupList.find(ee=>ee.name==="bkflow")?.children||[]),z=vue.computed(()=>C.value==="knowledgebase"?{cancel:te}:{});vue.watch(()=>r.show,()=>{r.show&&(C.value=r.active,C.value!=="bkflow"&&j())});const j=()=>{const ee=r.pluginGroupList.find(q=>q.name===C.value);k.value=ee?ee.children:[]},$=ee=>{k.value=[],C.value=ee,ee!=="bkflow"&&j()},H=ee=>{if(typeof ee=="object"&&ee.pluginId){const q=k.value.find(G=>G.id===ee.pluginId);i("select","projectPlugin",q,ee.inputData)}else{const q=k.value.find(G=>G.id===ee);i("select","projectPlugin",q)}},Q=ee=>{i("select","bkflowPlugin",ee)},W=()=>r.isBack?(i("back"),!1):(te(),!0),te=()=>{k.value=[],i("close"),i("update:show",!1)};return(ee,q)=>{const G=vue.resolveComponent("bk-sideslider"),J=vue.resolveDirective("bk-loading");return vue.openBlock(),vue.createBlock(G,{title:"节点选择","is-show":r.show,width:1200,"esc-close":!1,"before-close":W},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$q,[vue.createVNode(PluginGroupsAside,{active:C.value,"onUpdate:active":q[0]||(q[0]=Z=>C.value=Z),groups:r.pluginGroupList,onChange:$},null,8,["active","groups"]),r.show?vue.withDirectives((vue.openBlock(),vue.createElementBlock("section",_hoisted_2$n,[B.value?(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(B.value),vue.mergeProps({key:C.value,plugins:k.value,loading:y.value,"bkflow-plugin-tags":R.value,"active-tag":r.bkflowTag,properties:L.value,"input-data":r.inputData},vue.toHandlers(z.value),{onSelect:H,onSelectBkflowPlugin:Q}),null,16,["plugins","loading","bkflow-plugin-tags","active-tag","properties","input-data"])):vue.createCommentVNode("",!0)])),[[J,{loading:y.value}]]):vue.createCommentVNode("",!0)])]),_:1},8,["is-show"])}}}),PluginSelectPanel=_export_sfc(_sfc_main$u,[["__scopeId","data-v-6f710058"]]),logicImg="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20class='design-iconfont'%3e%3cpath%20d='M13,1%20C14.1045695,1%2015,1.8954305%2015,3%20L15,13%20C15,14.1045695%2014.1045695,15%2013,15%20L3,15%20C1.8954305,15%201,14.1045695%201,13%20L1,3%20C1,1.8954305%201.8954305,1%203,1%20L13,1%20Z%20M13,3.5%20L10,3.5%20L10,4.5%20L11.3962161,4.50116386%20C9.643609,6.49502964%208.38728573,7.5%207.76574712,7.5%20L2.98331185,7.5%20L2.98331185,8.5%20L7.76574712,8.5%20C8.38739048,8.5%209.64403252,9.50530916%2011.3971023,11.4998444%20L10,11.5%20L10,12.5%20L13,12.5%20L13,9.5%20L12,9.5%20L11.9990374,10.6691668%20C10.8673578,9.39340572%209.92128001,8.50479286%209.13199729,8.00043657%20C9.92138242,7.4953138%2010.8676033,6.60639761%2011.9994779,5.33034326%20L12,6.5%20L13,6.5%20L13,3.5%20Z'%20fill='%236EC3D5'%20fill-rule='evenodd'/%3e%3c/svg%3e",_hoisted_1$p={class:"option-item"},_hoisted_2$m=["src"],_hoisted_3$k={class:"option-name"},_sfc_main$t=vue.defineComponent({__name:"option-item",props:{option:{}},setup(e){const t=e,n=r=>{const i=r.target;i.src!==composable.PLUGIN_GROUP_DEFAULT_ICON&&(i.src=composable.PLUGIN_GROUP_DEFAULT_ICON)};return(r,i)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$p,[vue.createElementVNode("img",{class:"option-img",src:t.option.iconUrl||vue.unref(composable.PLUGIN_GROUP_DEFAULT_ICON),onError:n},null,40,_hoisted_2$m),vue.createElementVNode("div",_hoisted_3$k,vue.toDisplayString(t.option.name),1),t.option.type==="group"?(vue.openBlock(),vue.createBlock(vue.unref(icon.AngleRight),{key:0,class:"angle-icon"})):vue.createCommentVNode("",!0),t.option.type==="link"?(vue.openBlock(),vue.createBlock(vue.unref(icon.ArrowsRight),{key:1,class:"arrow-icon"})):vue.createCommentVNode("",!0)]))}}),OptionItem=_export_sfc(_sfc_main$t,[["__scopeId","data-v-0a4661f8"]]),_hoisted_1$o={class:"quick-edit-popover"},_hoisted_2$l={class:"search-input"},_hoisted_3$j={class:"plugin-option-list"},_hoisted_4$g={key:0,class:"logic-node-list"},_hoisted_5$9=["onClick"],_hoisted_6$7={class:"logic-node-name"},_hoisted_7$4={key:1,class:"data-plugin-list"},_hoisted_8$3=["onClick"],_hoisted_9$2={class:"data-plugin-name"},_hoisted_10$2={key:2,class:"agent-plugin-list"},_hoisted_11$2={class:"list-wrapper"},_hoisted_12$2=["onClick"],_hoisted_13={class:"agent-name"},_hoisted_14={class:"agent-en-name"},_hoisted_15={key:3,class:"agent-plugin-list"},_hoisted_16={class:"list-wrapper"},_hoisted_17=["onClick"],_hoisted_18={class:"agent-name"},_hoisted_19={key:4,class:"bkflow-tag-list"},_hoisted_20=["onClick"],_hoisted_21=["onClick"],_sfc_main$s=vue.defineComponent({__name:"index",props:{pluginGroupList:{default:()=>[]}},emits:["addNode","addPlugin","openPluginSelect"],setup(e,{emit:t}){const n={branchgateway:DEFAULT_DND_NODE_TYPES.find(ee=>ee.type==="exclusive-gateway")?.icon??"bkflow-canvas-fenzhiwangguan",parallelgateway:DEFAULT_DND_NODE_TYPES.find(ee=>ee.type==="parallel-gateway")?.icon??"bkflow-canvas-bingxingwangguan",conditionalparallelgateway:DEFAULT_DND_NODE_TYPES.find(ee=>ee.type==="conditional-parallel-gateway")?.icon??"bkflow-canvas-tiaojianbingxingwangguan",convergegateway:DEFAULT_DND_NODE_TYPES.find(ee=>ee.type==="converge-gateway")?.icon??"bkflow-canvas-huijuwangguan"},r=[{id:"branchgateway",name:"分支网关",icon:n.branchgateway},{id:"parallelgateway",name:"并行网关",icon:n.parallelgateway},{id:"conditionalparallelgateway",name:"条件并行网关",icon:n.conditionalparallelgateway},{id:"convergegateway",name:"汇聚网关",icon:n.convergegateway}],i={alert_plugin:"incident-gaojing",query_promql_metric_plugin:"incident-zhibiao",trace_plugin:"incident-trace",事件:"incident-shijian",log_plugin:"incident-rizhi",profling:"incident-profling",图谱:"incident-tupu"},C=useSelectPanelConfig(),k=e,y=t,B=vue.shallowRef([]),L=vue.ref(""),R=vue.shallowRef([...B.value||[]]),z=vue.computed(()=>(k.pluginGroupList.find(ee=>ee.name==="agent")?.children.length||0)>10);vue.watch(()=>k.pluginGroupList,ee=>{const q=[{id:"logic",name:"逻辑",iconUrl:logicImg,type:"group",width:160,children:r}];ee.forEach(G=>{q.push({id:G.name,name:G.alias,iconUrl:G.iconUrl,type:G.name==="knowledgebase"?"link":"group",width:G.name==="data"?160:280,children:G.children.map(J=>{if(G.name==="data"){const{id:Z,name:ne,alias:oe}=J;return{id:Z,name:oe,icon:i[ne]}}else if(G.name==="agent"){const{id:Z,alias:ne,name:oe}=J;return{id:Z,name:ne,enName:oe}}else if(G.name==="bkflow"){const{id:Z,name:ne}=J;return{id:Z,name:ne}}return J})})}),B.value=q,R.value=[...B.value]},{immediate:!0});const j=ee=>{const q=ee.trim().toLowerCase();if(q===""){R.value=[...B.value];return}const G=[];B.value.forEach(J=>{if(J.name.toLowerCase().includes(q))G.push(J);else if(J.type==="group"){const Z=[];J.children?.forEach(ne=>{ne.name.toLowerCase().includes(q)&&Z.push(ne)}),Z.length>0&&G.push({...J,children:Z})}}),R.value=G},$=()=>{L.value="",R.value=[...B.value]},H=ee=>{y("addNode",ee)},Q=(ee,q)=>{q==="bkflow"?W("bkflow",ee):y("addPlugin",ee,q)},W=(ee,q=0)=>{y("openPluginSelect",ee,q)},te=ee=>{ee==="agent"&&!z.value?C?.agentApplyUrl&&window.open(C.agentApplyUrl,"_blank"):W(ee)};return(ee,q)=>{const G=vue.resolveComponent("bk-input"),J=vue.resolveComponent("bk-button"),Z=vue.resolveComponent("bk-popover");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$o,[vue.createElementVNode("div",_hoisted_2$l,[vue.createVNode(G,{modelValue:L.value,"onUpdate:modelValue":q[0]||(q[0]=ne=>L.value=ne),placeholder:"搜索节点",type:"search",clearable:!0,onClear:$,onInput:j},null,8,["modelValue"])]),vue.createElementVNode("div",_hoisted_3$j,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(R.value,ne=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:ne.id},[ne.type==="group"?(vue.openBlock(),vue.createBlock(Z,{key:0,theme:"light",placement:"right-start","ext-cls":"plugin-child-popover",boundary:"parent",arrow:!1,width:ne.width,"popover-delay":[0,100]},{content:vue.withCtx(()=>[ne.id==="logic"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$g,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(ne.children,oe=>(vue.openBlock(),vue.createElementBlock("div",{key:oe.id,class:"logic-node-item",onClick:ae=>H(oe.id)},[vue.createElementVNode("i",{class:vue.normalizeClass(["bkflow-canvas-icon",oe.icon])},null,2),vue.createElementVNode("span",_hoisted_6$7,vue.toDisplayString(oe.name),1)],8,_hoisted_5$9))),128))])):ne.id==="data"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_7$4,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(ne.children?.slice(0,10),oe=>(vue.openBlock(),vue.createElementBlock("div",{class:"data-plugin-item",key:oe.id,onClick:ae=>Q(oe.id,"data")},[vue.createElementVNode("div",_hoisted_9$2,vue.toDisplayString(oe.name),1)],8,_hoisted_8$3))),128))])):ne.id==="agent"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_10$2,[vue.createElementVNode("div",_hoisted_11$2,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(ne.children?.slice(0,10),oe=>(vue.openBlock(),vue.createElementBlock("div",{class:"agent-plugin-item",key:oe.id,onClick:ae=>Q(oe.id,"agent")},[vue.createElementVNode("span",_hoisted_13,vue.toDisplayString(oe.name),1),vue.createElementVNode("span",_hoisted_14,"("+vue.toDisplayString(oe.enName)+")",1)],8,_hoisted_12$2))),128))])])):ne.id==="model"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_15,[vue.createElementVNode("div",_hoisted_16,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(ne.children?.slice(0,10),oe=>(vue.openBlock(),vue.createElementBlock("div",{class:"agent-plugin-item",key:oe.id,onClick:ae=>Q(oe.id,"model")},[vue.createElementVNode("span",_hoisted_18,vue.toDisplayString(oe.alias||oe.enName),1)],8,_hoisted_17))),128))])])):ne.id==="bkflow"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_19,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(ne.children?.slice(0,10),oe=>(vue.openBlock(),vue.createElementBlock("div",{class:"bkflow-tag-item",key:oe.id,onClick:ae=>Q(oe.id,"bkflow")},vue.toDisplayString(oe.name),9,_hoisted_20))),128))])):vue.createCommentVNode("",!0),ne.children&&ne.children.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:5,class:"group-empty-exception",title:`暂无${ne.name}插件`},null,8,["title"])):vue.createCommentVNode("",!0),ne.id==="agent"||ne.children&&ne.children.length>10?(vue.openBlock(),vue.createElementBlock("div",{key:6,class:"list-footer",onClick:oe=>te(ne.id)},[vue.createVNode(J,{theme:"primary",text:"",size:"small"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(ne.id==="agent"&&!z.value?"申请更多权限":"更多"),1)]),_:2},1024),q[1]||(q[1]=vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-arrow2"},null,-1))],8,_hoisted_21)):vue.createCommentVNode("",!0)]),default:vue.withCtx(()=>[vue.createVNode(OptionItem,{option:ne},null,8,["option"])]),_:2},1032,["width"])):(vue.openBlock(),vue.createBlock(OptionItem,{key:1,option:ne,onClick:oe=>W(ne.id)},null,8,["option","onClick"]))],64))),128)),R.value.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:0,"is-search":L.value.length>0,onClear:$},null,8,["is-search"])):vue.createCommentVNode("",!0)])])}}}),QuickAddNodePopover=_export_sfc(_sfc_main$s,[["__scopeId","data-v-ee6dddbf"]]),_hoisted_1$n={class:"pipeline-editor-container"},_hoisted_2$k={class:"dnd-palette-items"},_hoisted_3$i=["data-dnd-type","title","onMouseenter"],_hoisted_4$f={class:"dnd-item-text"},_hoisted_5$8=["src"],QUICK_ADD_NODE_GAP=100,_sfc_main$r=vue.defineComponent({__name:"index",props:{mode:{},flowId:{},pipelineTree:{},systemVariables:{default:()=>[]},pluginGroupList:{default:()=>[]},dndNodeTypes:{default:()=>DEFAULT_DND_NODE_TYPES},thumbnail:{type:Boolean,default:!1},defaultZoom:{default:1},quickAdd:{default:void 0},additionalPlugins:{default:()=>[]},toolbarItems:{default:()=>[]},simulateDebugContext:{default:void 0},enableNodeDebug:{type:Boolean,default:!1},debugContext:{default:void 0}},emits:["change","format-position","mock-node-click","running-node-click"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.ref(),k=vue.ref(),y=vue.ref(),B=[],L=vue.ref({visible:!1,x:0,y:0,image:""});function R(Oe,Be){if(!Be.tipsImage)return;const Ee=Oe.currentTarget.getBoundingClientRect(),ve=y.value?.getBoundingClientRect().right??Ee.right+16;L.value={visible:!0,x:ve+8,y:Math.max(8,Math.min(window.innerHeight-208,Ee.top+Ee.height/2-100)),image:Be.tipsImage}}function z(){L.value.visible=!1}const j=vue.computed(()=>({showDelete:r.mode==="edit",showCopy:r.mode==="edit",showCopyInsert:r.mode==="edit",showDisconnect:r.mode==="edit",showDebug:r.enableNodeDebug})),$=vue.computed(()=>C.value?.editor?.api?.value??null);vue.watch([$,y],([Oe,Be])=>{if(B.forEach(ve=>ve()),B.length=0,!Oe||!Be)return;const Ee=Be.querySelectorAll("[data-dnd-type]");for(const ve of Ee){const ke=ve.dataset.dndType,je=Oe.registerDndSource(ve,()=>({id:`node${composable.generateId()}`,type:ke,position:{x:0,y:0},label:"",payload:{}}));B.push(je)}},{flush:"post"}),vue.onBeforeUnmount(()=>{B.forEach(Oe=>Oe()),ne&&(clearTimeout(ne),ne=null)});const H=vue.ref({show:!1,nodeId:"",edgeId:"",condition:null,hasDefaultBranch:!1,isDefault:!1}),Q=vue.ref({show:!1,node:null,constants:null}),W=vue.ref({show:!1,active:r.pluginGroupList[0]?.name||"",bkflowTag:0,node:null,constants:null,isBack:!1});vue.watch(()=>C.value?.editor?.flowModel.value,Oe=>{if(Oe){if(Q.value.show&&Q.value.node&&(Oe.nodes[Q.value.node.id]||(Q.value={show:!1,node:null,constants:null})),H.value.show){const{nodeId:Be,edgeId:Ee}=H.value;(!Oe.nodes[Be]||!Oe.edges[Ee])&&(H.value={...H.value,show:!1})}Z.value.show&&(Oe.nodes[Z.value.nodeId]||(Z.value={...Z.value,show:!1})),W.value.show&&W.value.node&&(Oe.nodes[W.value.node.id]||(W.value={...W.value,show:!1,node:null,constants:null,isBack:!1}))}});const te=vue.computed(()=>{const Oe=C.value?.editor;return Oe?new BkFlowModelAccessor(Oe.flowModel.value).globalVariables:r.pipelineTree.constants});function ee(){return C.value?.editor}function q(Oe){const Be=ee();Be&&Be.executeCommand(Oe)}function G(Oe){i("change",Oe)}function J(Oe){Oe.type==="node.action.debug"&&Nt(Oe.nodeId)}const Z=vue.ref({show:!1,nodeId:"",screenPosition:{x:0,y:0}});let ne=null;vue.watch(()=>r.mode,Oe=>{Oe!=="edit"&&(Q.value={show:!1,node:null,constants:null},H.value={...H.value,show:!1},W.value={...W.value,show:!1,node:null,constants:null,isBack:!1},Z.value={...Z.value,show:!1})});function oe(){ne=setTimeout(()=>{Z.value.show=!1,ne=null},150)}function ae(){ne&&(clearTimeout(ne),ne=null)}function se(Oe){return getNodeRenderSize(Oe,ee()?.schema)}function de(Oe){const Be=ee();if(!Be)return{x:0,y:0};const Ee=Be.api.value;if(!Ee)return{x:0,y:0};const ve=Ee.unsafeGetGraph(),ke=Be.flowModel.value.nodes[Oe];if(!ke)return{x:0,y:0};const je=PLACEHOLDER_SIZE.width,Se=PLACEHOLDER_SIZE.height;return ve.localToPage(ke.position.x+je,ke.position.y+Se/2)}function ge(Oe){if(r.thumbnail)return;const Be=ee();if(!Be)return;const Ee=Be.flowModel.value.nodes[Oe.nodeId];if(!Ee)return;if(r.mode==="execute"){i("running-node-click",Oe.nodeId);return}if(r.mode==="mock-config"){if(Ee.type!=="task")return;const Se=exportToPipelineTree(Be.flowModel.value).activities[Oe.nodeId];Se&&i("mock-node-click",lodash$1.cloneDeep(Se));return}if(r.mode!=="edit"&&r.mode!=="view")return;if(Ee.type==="placeholder"){const je=de(Oe.nodeId);Z.value={show:!0,nodeId:Oe.nodeId,screenPosition:{x:je.x+18,y:je.y-18}};return}if(Ee.type!=="task")return;const ke=exportToPipelineTree(Be.flowModel.value).activities[Oe.nodeId];ke&&(Q.value=createNodeConfigResumeState({node:lodash$1.cloneDeep(ke),constants:lodash$1.cloneDeep(te.value)}))}function fe(Oe){if(r.thumbnail||r.mode!=="edit")return;const Be=ee();if(!Be)return;const Ee=Be.flowModel.value,ve=Ee.edges[Oe.edgeId];if(!ve)return;const ke=Ee.nodes[ve.source.nodeId];if(!ke||!(ke.type==="exclusive-gateway"||ke.type==="conditional-parallel-gateway"))return;const Se=ke.payload??{},ze=Se.conditions??{},He=Se.defaultCondition,ut=!!He&&typeof He.flow_id=="string";H.value.hasDefaultBranch=ut,H.value.nodeId=ve.source.nodeId,H.value.edgeId=Oe.edgeId,He?.flow_id===Oe.edgeId?(H.value.condition=lodash$1.cloneDeep(He)??null,H.value.isDefault=!0):ze[Oe.edgeId]&&(H.value.condition=lodash$1.cloneDeep(ze[Oe.edgeId])??null,H.value.isDefault=!1),H.value.show=!0}function ie(Oe){const Be=ee();if(!Be)return{x:0,y:0};const Ee=Be.flowModel.value.nodes[Oe];return Ee?{...Ee.position}:{x:0,y:0}}function ce(Oe,Be,Ee){const ve=ee();if(!ve)return[];const ke=ve.flowModel.value,je=ke.nodes[Oe];if(!je)return[];const Se=je.type.includes("gateway"),ze=Object.values(ke.edges).filter(Ie=>Ie.source.nodeId===Oe);if(Se||ze.length===0)return[];const ut=se(Be).width+QUICK_ADD_NODE_GAP,bt=ze[0].target.nodeId,At=new Set,kt=[bt],xe=[];for(;kt.length>0;){const Ie=kt.shift();if(At.has(Ie)||Ie===Oe)continue;At.add(Ie);const $e=ke.nodes[Ie];if($e){xe.push({type:"node.move",nodeId:Ie,position:{x:$e.position.x+ut,y:$e.position.y}});for(const mt of Object.values(ke.edges))mt.source.nodeId===Ie&&!At.has(mt.target.nodeId)&&kt.push(mt.target.nodeId)}}return xe}function pe(Oe){const Be=ee();if(!Be)return 0;const Ee=Be.flowModel.value.nodes[Oe];if(!Ee)return 0;const ve=se(Ee.type);return Ee.position.x+ve.width+QUICK_ADD_NODE_GAP}function le(Oe,Be){const Ee=ee();if(!Ee)return 0;const ve=Ee.flowModel.value,ke=ve.nodes[Oe];if(!ke)return 0;const je=ke.position.y;if(ke.type.includes("gateway")){const bt=Object.values(ve.edges).filter(At=>At.source.nodeId===Oe);if(bt.length>0)return bt.reduce((kt,xe)=>{const Ie=ve.nodes[xe.target.nodeId];return Ie?Math.max(kt,Ie.position.y):kt},0)+QUICK_ADD_NODE_GAP}const Se=Ee.schema.nodeTypes[ke.type],ze=Ee.schema.nodeTypes[Be],He=Se?.getSize(ke)?.height??48,ut=ze?.getSize({id:"",type:Be,position:{x:0,y:0}})?.height??48;return je+(He-ut)/2}function ue(Oe,Be,Ee,ve={}){const ke={x:pe(Oe),y:le(Oe,Ee)};return[...ce(Oe,Ee),...he(Be,Ee,ke,ve),...ye(Oe,Be)]}function he(Oe,Be,Ee,ve={}){return[{type:"node.add",node:{id:Oe,type:Be,position:Ee,label:ve.name??"",payload:ve}}]}function ye(Oe,Be){const Ee=ee();if(!Ee)return[];const ve=Ee.flowModel.value,ke=[],je=Object.entries(ve.edges).filter(([,He])=>He.source.nodeId===Oe);if(ve.nodes[Oe]?.type.includes("gateway")&&je.length>0)ke.push({type:"edge.add",edge:{id:`line${composable.generateId()}`,source:{nodeId:Oe,portId:"bottom"},target:{nodeId:Be,portId:"left"}}});else if(je.length===0)ke.push({type:"edge.add",edge:{id:`line${composable.generateId()}`,source:{nodeId:Oe,portId:"right"},target:{nodeId:Be,portId:"left"}}});else{const[He,ut]=je[0],bt=ut.target.nodeId;ke.push({type:"edge.remove",edgeId:He},{type:"edge.add",edge:{id:`line${composable.generateId()}`,source:{nodeId:Oe,portId:"right"},target:{nodeId:Be,portId:"left"}}},{type:"edge.add",edge:{id:`line${composable.generateId()}`,source:{nodeId:Be,portId:"right"},target:{nodeId:bt,portId:"left"}}})}return ke}function _e(Oe,Be,Ee={}){const ve=ee();if(!ve)return;const ke=ve.flowModel.value.nodes[Oe];if(!ke)return;const je={id:"",type:Be,position:{x:0,y:0},label:Ee.name??"",payload:Ee};q({id:composable.generateId(),source:"user:panel",label:"替换占位节点",timestamp:Date.now(),commands:buildReplacePlaceholderCommands(ke,je,ve.schema)})}function Ne(Oe,Be,Ee){const ve=ee();if(!ve)return;const ke=ve.flowModel.value.edges[Oe],je=Be||"";if(ke?.labels?.length){q({id:composable.generateId(),source:"user:panel",label:"更新边标签",timestamp:Date.now(),commands:[{type:"edge.label.update",edgeId:Oe,labelId:ke.labels[0].id,patch:{text:je,...Ee!==void 0?{position:Ee}:{}}}]});return}q({id:composable.generateId(),source:"user:panel",label:"新增边标签",timestamp:Date.now(),commands:[{type:"edge.update",edgeId:Oe,patch:{labels:[{id:`label-${Oe}`,text:je,position:Ee??DEFAULT_BRANCH_LABEL_POSITION}]}}]})}function be(Oe,Be=Z.value.nodeId){const Ee=Ze[Oe]??Oe;Be&&(_e(Be,Ee),Z.value.show=!1)}function Ae(Oe,Be,Ee=Z.value.nodeId){const ke=r.pluginGroupList.find(ze=>ze.name===Be)?.children.find(ze=>ze.id===Oe);if(!ke)return;const je={name:ke.alias||ke.name,component:{code:"uniform_api",data:{},version:ke.version??"v2.0.0",api_meta:{id:ke.id,name:ke.name,alias:ke.alias||ke.name,meta_url:ke.meta_url,api_key:ke.api_key??"incident",category:{id:ke.category_id,name:Be}}}},Se=Ee;Se&&(_e(Se,"task",je),Z.value.show=!1,vue.nextTick(()=>{const ze=ee();if(!ze)return;const ut=exportToPipelineTree(ze.flowModel.value).activities[Se];ut&&(Q.value=createNodeConfigResumeState({node:lodash$1.cloneDeep(ut),constants:lodash$1.cloneDeep(te.value)}))}))}function Te(Oe,Be,Ee=Z.value.nodeId){const ve=Ee;ve&&(_e(ve,"task"),Z.value.show=!1,vue.nextTick(()=>{const ke=ee();if(!ke)return;const Se=exportToPipelineTree(ke.flowModel.value).activities[ve];Se&&(W.value={show:!0,active:Oe,bkflowTag:Be,node:lodash$1.cloneDeep(Se),constants:lodash$1.cloneDeep(te.value),isBack:!1})}))}const Ze={tasknode:"task",branchgateway:"exclusive-gateway",parallelgateway:"parallel-gateway",conditionalparallelgateway:"conditional-parallel-gateway",convergegateway:"converge-gateway"};function lt(Oe,Be){const Ee=Ze[Be]??Be,ve=`node${composable.generateId()}`,ke=ue(Oe,ve,Ee);q({id:composable.generateId(),source:"user:quick-add",label:"快捷添加节点",timestamp:Date.now(),commands:ke})}function Ge(Oe,Be,Ee){const ke=r.pluginGroupList.find(He=>He.name===Ee)?.children.find(He=>He.id===Be);if(!ke)return;const je=`node${composable.generateId()}`,Se={name:ke.alias||ke.name,component:{code:"uniform_api",data:{},version:ke.version??"v2.0.0",api_meta:{id:ke.id,name:ke.name,alias:ke.alias||ke.name,meta_url:ke.meta_url,api_key:ke.api_key??"incident",category:{id:ke.category_id,name:Ee}}}},ze=ue(Oe,je,"task",Se);q({id:composable.generateId(),source:"user:quick-add",label:"快捷添加插件节点",timestamp:Date.now(),commands:ze}),vue.nextTick(()=>{const He=ee();if(!He)return;const bt=exportToPipelineTree(He.flowModel.value).activities[je];bt&&(Q.value=createNodeConfigResumeState({node:lodash$1.cloneDeep(bt),constants:lodash$1.cloneDeep(te.value)}))})}function st(Oe,Be,Ee=0){const ve=`node${composable.generateId()}`,ke=ue(Oe,ve,"task");q({id:composable.generateId(),source:"user:quick-add",label:"快捷添加并选择插件",timestamp:Date.now(),commands:ke}),vue.nextTick(()=>{const je=ee();if(!je)return;const ze=exportToPipelineTree(je.flowModel.value).activities[ve];ze&&(W.value={show:!0,active:Be,bkflowTag:Ee,node:lodash$1.cloneDeep(ze),constants:lodash$1.cloneDeep(te.value),isBack:!1})})}function Ue(Oe){const Be=ee();if(!Be)return;const Ee=exportToPipelineTree(Be.flowModel.value),ve=`node${composable.generateId()}`,ke=ie(Oe),je=Be.flowModel.value.nodes[Oe];if(!je)return;let Se={};Ee.activities[Oe]&&(Se={...lodash$1.cloneDeep(Ee.activities[Oe]),id:ve,incoming:[],outgoing:""}),q({id:composable.generateId(),source:"user:toolbar",label:"复制节点",timestamp:Date.now(),commands:he(ve,je.type,{x:ke.x+200,y:ke.y},Se)})}function De(Oe){const Be=ee();if(!Be)return;const Ee=exportToPipelineTree(Be.flowModel.value),ve=`node${composable.generateId()}`,ke=ie(Oe),je=Be.flowModel.value.nodes[Oe];if(!je)return;let Se={};Ee.activities[Oe]&&(Se={...lodash$1.cloneDeep(Ee.activities[Oe]),id:ve,incoming:[],outgoing:""});const ze=le(Oe,je.type),He=[...he(ve,je.type,{x:ke.x+200,y:ze},Se),...ye(Oe,ve)];q({id:composable.generateId(),source:"user:toolbar",label:"复制并插入节点",timestamp:Date.now(),commands:He})}function We(Oe){const Be=ee();if(!Be)return;const Ee=Be.flowModel.value,ve=Object.entries(Ee.edges).filter(([,ke])=>ke.source.nodeId===Oe||ke.target.nodeId===Oe).map(([ke])=>ke);ve.length!==0&&q({id:composable.generateId(),source:"user:toolbar",label:"解除连线",timestamp:Date.now(),commands:ve.map(ke=>({type:"edge.remove",edgeId:ke}))})}function Ye(Oe){q({id:composable.generateId(),source:"user:toolbar",label:"删除节点",timestamp:Date.now(),commands:[{type:"node.remove",nodeId:Oe}]})}function Re(Oe,Be){const{nodeId:Ee,edgeId:ve,isDefault:ke}=H.value,je=ee();if(!je)return;const Se=je.flowModel.value,ze=[],{name:He,tag:ut,evaluate:bt="",loc:At}=Oe,kt={name:He,tag:ut,evaluate:bt.trim()};if(At&&(kt.loc=At),Be?(delete kt.evaluate,kt.flow_id=ve,ze.push({type:"node.set-payload",nodeId:Ee,path:["defaultCondition"],value:kt}),ke||ze.push({type:"node.set-payload",nodeId:Ee,path:["conditions",ve],value:void 0})):(ze.push({type:"node.set-payload",nodeId:Ee,path:["conditions",ve],value:kt}),ke&&ze.push({type:"node.set-payload",nodeId:Ee,path:["defaultCondition"],value:void 0})),ze.push({type:"edge.set-payload",edgeId:ve,path:["isDefault"],value:Be}),Be&&!ke){const $e=Se.nodes[Ee],mt=$e?.payload?.defaultCondition;if(mt?.flow_id&&mt.flow_id!==ve){const it=mt.flow_id;ze.push({type:"edge.set-payload",edgeId:it,path:["isDefault"],value:!1});const Tt=$e?.payload?.conditions?.[it],Pt=Se.edges[it];Pt?.labels?.length&&ze.push({type:"edge.label.update",edgeId:it,labelId:Pt.labels[0].id,patch:{text:Tt?.name??"",position:Pt.labels[0].position??DEFAULT_BRANCH_LABEL_POSITION}})}}const xe=Be?kt.name||"默认":kt.name||"",Ie=Se.edges[ve];Ie?.labels?.length?ze.push({type:"edge.label.update",edgeId:ve,labelId:Ie.labels[0].id,patch:{text:xe,position:Ie.labels[0].position??DEFAULT_BRANCH_LABEL_POSITION}}):ze.push({type:"edge.update",edgeId:ve,patch:{labels:[{id:`label-${ve}`,text:xe,position:DEFAULT_BRANCH_LABEL_POSITION}]}}),q({id:composable.generateId(),source:"user:panel",label:"编辑分支条件",timestamp:Date.now(),commands:ze})}function Je(Oe,Be){W.value=createPluginSelectDraftState({node:lodash$1.cloneDeep(Oe),constants:lodash$1.cloneDeep(Be),defaultGroup:r.pluginGroupList[0]?.name??""}),Q.value={show:!1,node:null,constants:null}}function Xe(){W.value.node&&(Q.value=createNodeConfigResumeState({node:lodash$1.cloneDeep(W.value.node),constants:lodash$1.cloneDeep(W.value.constants??te.value)}),W.value={...W.value,show:!1,node:null,constants:null,isBack:!1})}function Me(Oe,Be,Ee){if(!W.value.node)return;const ve=lodash$1.cloneDeep(W.value.node);if(Oe==="projectPlugin"){const{id:ke,name:je,alias:Se,meta_url:ze,api_key:He="incident",version:ut="v2.0.0",category:bt,category_id:At}=Be;ve.component={code:"uniform_api",data:Ee||{},version:ut,api_meta:{id:ke,name:je,alias:Se||je,meta_url:ze,api_key:He,category:{id:At,name:bt}}},ve.name=Se}else{const{code:ke,data:je,version:Se,name:ze}=Be;ve.component={code:ke,data:je,version:Se},ve.name=ze}Q.value=createNodeConfigResumeState({node:ve,constants:lodash$1.cloneDeep(W.value.constants??te.value)}),W.value={...W.value,show:!1,node:null,constants:null,isBack:!1}}function nt(Oe,Be){const Ee=[{type:"node.update",nodeId:Oe.id,patch:{label:Oe.name}},{type:"node.set-payload",nodeId:Oe.id,path:[],value:{name:Oe.name,stageName:Oe.stage_name??"",component:Oe.component,errorIgnorable:Oe.error_ignorable,retryable:Oe.retryable,skippable:Oe.skippable,autoRetry:Oe.auto_retry,timeoutConfig:Oe.timeout_config}},{type:"model.set-meta",path:["variables"],value:Be}];q({id:composable.generateId(),source:"user:panel",label:"保存节点配置",timestamp:Date.now(),commands:Ee}),Q.value={show:!1,node:null,constants:null}}function et(Oe){q({id:composable.generateId(),source:"user:panel",label:"更新全局变量",timestamp:Date.now(),commands:[{type:"model.set-meta",path:["variables"],value:Oe}],skipHistory:!0}),k.value&&Q.value.show&&k.value.updateConstants?.(Oe)}function wt(Oe){q({id:composable.generateId(),source:"user:panel",label:"更新输出变量",timestamp:Date.now(),commands:[{type:"model.set-meta",path:["outputs"],value:Oe}],skipHistory:!0})}const tt=Oe=>{k.value&&Q.value.show&&k.value.updateNodeInputParams?.(Oe)},ot={addEmptyNode:lt,addPlugin:Ge,addNodeAndSelectPlugin:st,updateEdgeLabel:Ne,copyNode:Ue,copyNodeAndInsert:De,detachEdges:We,deleteNode:Ye};vue.provide("bkflow-node-operations",ot);const gt=vue.ref(!1);function Et(){return C.value?.$el?.offsetWidth??document.documentElement.offsetWidth-200}function Dt(Oe){gt.value=Oe}function Ft(Oe){const Be=$.value;Be&&(Be.scrollToNode(Oe),Be.highlightNodes([Oe]),setTimeout(()=>Be.clearHighlight(),1500))}function Nt(Oe){if(r.thumbnail)return;const Be=ee();if(!Be)return;const Ee=Be.flowModel.value.nodes[Oe];if(!Ee||Ee.type!=="task")return;const ke=exportToPipelineTree(Be.flowModel.value).activities[Oe];ke&&(Q.value=createNodeConfigResumeState({node:lodash$1.cloneDeep(ke),constants:lodash$1.cloneDeep(te.value),initialTab:"debug"}))}function Pe(Oe){$.value?.zoomToFit(Oe)}function at(){$.value?.centerContent()}function _t(){return $.value?.getZoom()??1}return t({updateNodeInputParams:tt,updateGlobalVariables:et,updateOutputs:wt,bkflowCanvasRef:C,getCanvasWidth:Et,setFormatLoading:Dt,formatLoading:gt,locateNode:Ft,openNodeDebugPanel:Nt,zoomToFit:Pe,centerContent:at,getZoom:_t,updatePipelineTree:Oe=>C.value?.updatePipelineTree?.(Oe),...ot}),(Oe,Be)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$n,[vue.createVNode(BkFlowCanvas,{ref_key:"bkflowCanvasRef",ref:C,"pipeline-tree":r.pipelineTree,mode:r.mode,thumbnail:r.thumbnail,"default-zoom":r.defaultZoom,"node-actions":j.value,"quick-add":r.quickAdd,"additional-plugins":r.additionalPlugins,"toolbar-items":r.toolbarItems,"simulate-debug-context":r.simulateDebugContext,"debug-context":r.debugContext,onChange:G,onNodeClick:ge,onEdgeLabelClick:fe,onUiEvent:J,onFormatPosition:Be[0]||(Be[0]=Ee=>i("format-position"))},{"node-palette":vue.withCtx(()=>[vue.renderSlot(Oe.$slots,"node-palette",{},()=>[r.mode==="edit"&&!r.thumbnail?(vue.openBlock(),vue.createElementBlock("div",{key:0,ref_key:"dndPaletteRef",ref:y,class:"dnd-node-palette"},[vue.createElementVNode("div",_hoisted_2$k,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(r.dndNodeTypes,Ee=>(vue.openBlock(),vue.createElementBlock("div",{key:Ee.type,"data-dnd-type":Ee.disabled?void 0:Ee.type,class:vue.normalizeClass(["dnd-palette-item",{"is-disabled":Ee.disabled}]),title:Ee.disabled?Ee.disabledTip:Ee.tipsImage?void 0:Ee.label,onMouseenter:ve=>R(ve,Ee),onMouseleave:z},[vue.createElementVNode("i",{class:vue.normalizeClass(["bkflow-canvas-icon",Ee.icon])},null,2),vue.createElementVNode("span",_hoisted_4$f,vue.toDisplayString(Ee.label),1)],42,_hoisted_3$i))),128))]),(vue.openBlock(),vue.createBlock(vue.Teleport,{to:"body"},[L.value.visible?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:"dnd-gateway-tip",style:vue.normalizeStyle({left:`${L.value.x}px`,top:`${L.value.y}px`})},[vue.createElementVNode("img",{src:L.value.image},null,8,_hoisted_5$8)],4)):vue.createCommentVNode("",!0)]))],512)):vue.createCommentVNode("",!0)],!0)]),"quick-add-panel":vue.withCtx(({node:Ee,closePopover:ve})=>[vue.createVNode(QuickAddNodePopover,{"plugin-group-list":r.pluginGroupList,onAddNode:ke=>{lt(Ee.id,ke),ve()},onAddPlugin:(ke,je)=>{Ge(Ee.id,ke,je),ve()},onOpenPluginSelect:(ke,je)=>{st(Ee.id,ke,je),ve()}},null,8,["plugin-group-list","onAddNode","onAddPlugin","onOpenPluginSelect"])]),_:3},8,["pipeline-tree","mode","thumbnail","default-zoom","node-actions","quick-add","additional-plugins","toolbar-items","simulate-debug-context","debug-context"]),(vue.openBlock(),vue.createBlock(vue.Teleport,{to:"body"},[Z.value.show?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:"placeholder-popover-mask",onClick:Be[1]||(Be[1]=vue.withModifiers(Ee=>Z.value.show=!1,["self"]))},[vue.createElementVNode("div",{class:"placeholder-popover",style:vue.normalizeStyle({left:`${Z.value.screenPosition.x}px`,top:`${Z.value.screenPosition.y}px`}),onMouseleave:oe,onMouseenter:ae},[vue.createVNode(QuickAddNodePopover,{"plugin-group-list":r.pluginGroupList,onAddNode:be,onAddPlugin:Ae,onOpenPluginSelect:Te},null,8,["plugin-group-list"])],36)])):vue.createCommentVNode("",!0)])),!r.thumbnail&&H.value.condition?(vue.openBlock(),vue.createBlock(BranchConditionPanel,{key:0,show:H.value.show,"onUpdate:show":Be[2]||(Be[2]=Ee=>H.value.show=Ee),condition:H.value.condition,"has-default-branch":H.value.hasDefaultBranch,"is-default":H.value.isDefault,editable:r.mode==="edit",onConfirm:Re},null,8,["show","condition","has-default-branch","is-default","editable"])):vue.createCommentVNode("",!0),!r.thumbnail&&Q.value.node?(vue.openBlock(),vue.createBlock(NodeConfigPanel,{key:1,ref_key:"nodeConfigPanelRef",ref:k,show:Q.value.show,"onUpdate:show":Be[3]||(Be[3]=Ee=>Q.value.show=Ee),node:Q.value.node,editable:r.mode==="edit","enable-debug":r.enableNodeDebug,"initial-tab":Q.value.initialTab??"config","system-variables":r.systemVariables,constants:Q.value.constants??te.value,onSelectPlugin:Je,onConfirm:nt},{inputParams:vue.withCtx(Ee=>[vue.renderSlot(Oe.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps(Ee)),void 0,!0)]),debugConfig:vue.withCtx(Ee=>[vue.renderSlot(Oe.$slots,"nodeDebugConfig",vue.normalizeProps(vue.guardReactiveProps(Ee)),void 0,!0)]),_:3},8,["show","node","editable","enable-debug","initial-tab","system-variables","constants"])):vue.createCommentVNode("",!0),r.thumbnail?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(PluginSelectPanel,{key:2,show:W.value.show,"onUpdate:show":Be[4]||(Be[4]=Ee=>W.value.show=Ee),"flow-id":r.flowId,active:W.value.active,"bkflow-tag":W.value.bkflowTag,"plugin-group-list":r.pluginGroupList,"input-data":W.value.node?.component?.data||{},"is-back":W.value.isBack,onBack:Xe,onSelect:Me},null,8,["show","flow-id","active","bkflow-tag","plugin-group-list","input-data","is-back"]))]))}}),FlowCanvas=_export_sfc(_sfc_main$r,[["__scopeId","data-v-e85b2a0e"]]);function serializeCreateTaskDraft(e){return JSON.stringify({name:e.name,variables:e.variables,customFormData:e.customFormData,additionalTaskParams:e.additionalTaskParams})}function shouldConfirmBeforeClose(e){return e.editable?e.lastSavedSnapshot!==serializeCreateTaskDraft(e.currentDraft):!1}const _hoisted_1$m={class:"execute-flow-slider"},_hoisted_2$j={class:"flow-name-wrapper"},_hoisted_3$h={class:"form-params-wrapper"},_hoisted_4$e={key:0,class:"sideslider-footer-buttons"},_sfc_main$q=vue.defineComponent({__name:"create-task",props:{flowId:{},show:{type:Boolean},editable:{type:Boolean,default:!0},showFlowEntry:{type:Boolean,default:!1},apiConfig:{},onExecuteSuccess:{},bkflowSaasUrl:{},memberSelectorConfig:{}},emits:["confirm","close","update:show","before-close","view-flow"],setup(e,{emit:t}){const n=vue.useSlots(),r=e,i=t,C=provideFlowApiConfig(r.apiConfig);provideMemberSelectorConfig(r.memberSelectorConfig),setContext({},r.bkflowSaasUrl);const k={name:[{required:!0,message:"请输入任务名称",trigger:"blur"}]},y=vue.shallowRef(null),B=vue.shallowRef(!0),L=vue.shallowRef([]),R=vue.ref({}),z=vue.shallowRef([]),j=vue.ref({}),$=vue.ref({}),H=vue.ref(),Q=vue.ref(),W=vue.ref(),te=vue.ref({name:""}),ee=vue.shallowRef(!1),q=vue.computed(()=>z.value.filter(ce=>isBuiltinUsageVariable(ce)));let G="";const J=()=>{G=serializeCreateTaskDraft({name:te.value.name,variables:R.value,customFormData:j.value,additionalTaskParams:$.value})};vue.watch(()=>r.show,ce=>{ce&&Z()});const Z=async()=>{B.value=!0,j.value={},$.value={};const ce=await C.fetchFlowDetail(r.flowId);y.value=ce,te.value.name=`${ce.name}_${dayjs().format("YYYYMMDDHHmmss")}`;const pe=[],le={};Object.values(ce.pipeline_tree.constants).forEach(ue=>{if(typeof ue!="object"||ue===null)return;const he=ue;!["system","space"].includes(he.source_type)&&he.show_type==="show"&&pe.push(he),"value"in he&&(le[he.key]=he.value)}),z.value=pe,R.value=le,await ne(),B.value=!1,setTimeout(J)},ne=async()=>{const ce=y.value?.pipeline_tree?.constants;if(!ce){L.value=[];return}const pe=Object.fromEntries(Object.entries(ce).filter(([,le])=>{if(typeof le!="object"||le===null)return!1;const ue=le;return ue.source_type==="custom"&&ue.show_type==="show"&&!isBuiltinUsageVariable(ue)}));if(Object.keys(pe).length<1){L.value=[];return}if(!("fetchBkFlowInnerPluginDetail"in C)||typeof C.fetchBkFlowInnerPluginDetail!="function"){console.warn("fetchBkFlowInnerPluginDetail API is not available"),L.value=[];return}try{const le=await getInputFormsFromConstants(C,pe);L.value=le}catch(le){console.error("Failed to get input forms from constants:",le),L.value=[]}},oe=()=>{i("view-flow")},ae=ce=>{R.value={...R.value,...lodash$1.cloneDeep(ce)}},se=ce=>{j.value={...j.value,...ce}},de=ce=>{$.value={...$.value,...ce}},ge=async()=>{if(!C.createFlowTask||!C.executeFlowTask){console.warn("createFlowTask or executeFlowTask is not provided in api");return}const[ce,pe,le]=await Promise.all([H.value?.validate(),Promise.resolve(W.value&&typeof W.value.validate=="function"?W.value.validate():!0),Promise.resolve(Q.value&&typeof Q.value.validate=="function"?Q.value.validate():!0)]);if(!(!ce||!pe||!le))try{ee.value=!0;const ue=await C.createFlowTask({...$.value,template_id:r.flowId,creator:"admin",name:te.value.name,constants:R.value});if(ue.data.id){const he=await C.executeFlowTask({task_id:ue.data.id,resource_type:"TASK",resource_id:ue.data.id,permission_type:"OPERATE"});BkMessage({theme:"success",message:"执行成功"}),J();const ye={createResult:ue,executeResult:he};i("confirm",ye),ie(),r.onExecuteSuccess&&r.onExecuteSuccess(ye)}}catch(ue){console.error(ue)}finally{ee.value=!1}},fe=()=>shouldConfirmBeforeClose({editable:!!r.editable,lastSavedSnapshot:G,currentDraft:{name:te.value.name,variables:R.value,customFormData:j.value,additionalTaskParams:$.value}})?new Promise(pe=>{lib.InfoBox({title:"确认离开?",content:"离开将会导致未保存信息丢失",confirmText:"离开",cancelText:"取消",width:320,onConfirm:()=>{ie(),pe(!0)},onCancel:()=>{pe(!1)}})}):(ie(),!0),ie=()=>{i("before-close"),z.value=[],R.value={},j.value={},$.value={},i("close"),i("update:show",!1)};return(ce,pe)=>{const le=vue.resolveComponent("bk-input"),ue=vue.resolveComponent("bk-form-item"),he=vue.resolveComponent("bk-form"),ye=vue.resolveComponent("bk-button"),_e=vue.resolveComponent("bk-sideslider"),Ne=vue.resolveDirective("bk-tooltips"),be=vue.resolveDirective("bkloading");return vue.openBlock(),vue.createBlock(_e,{title:"执行流程","is-show":r.show,width:700,"quick-close":!0,"esc-close":!1,"before-close":fe},{footer:vue.withCtx(()=>[B.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$e,[vue.createVNode(ye,{theme:"primary",loading:ee.value,onClick:ge},{default:vue.withCtx(()=>[...pe[2]||(pe[2]=[vue.createTextVNode("确定",-1)])]),_:1},8,["loading"]),vue.createVNode(ye,{onClick:ie},{default:vue.withCtx(()=>[...pe[3]||(pe[3]=[vue.createTextVNode("取消",-1)])]),_:1})]))]),default:vue.withCtx(()=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_1$m,[vue.createVNode(he,{ref_key:"formRef",ref:H,"form-type":"vertical",model:te.value,rules:k,"label-width":100},{default:vue.withCtx(()=>[e.showFlowEntry?(vue.openBlock(),vue.createBlock(ue,{key:0,label:"排障流程",required:""},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$j,[vue.createVNode(le,{readonly:"","model-value":y.value?.name},null,8,["model-value"]),vue.withDirectives(vue.createVNode(vue.unref(icon.Share),{class:"link-icon",onClick:oe},null,512),[[Ne,"查看排障流程",void 0,{top:!0}]])])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(ue,{label:"任务名称",property:"name",required:""},{default:vue.withCtx(()=>[vue.createVNode(le,{modelValue:te.value.name,"onUpdate:modelValue":pe[0]||(pe[0]=Ae=>te.value.name=Ae),placeholder:"请输入任务名称","show-word-limit":"",maxlength:100},null,8,["modelValue"])]),_:1}),n.customFormContent?vue.renderSlot(ce.$slots,"customFormContent",{customFormData:j.value,additionalTaskParams:$.value,updateCustomFormData:se,updateAdditionalTaskParams:de},void 0,!0,1):vue.createCommentVNode("",!0),vue.createVNode(ue,{label:"请求参数",property:"inputParams",description:"流程的入参"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_3$h,[q.value.length>0?(vue.openBlock(),vue.createBlock(vue.unref(BuiltinVariableUsageForm),{key:0,ref_key:"builtinVariableFormRef",ref:W,modelValue:R.value,"onUpdate:modelValue":pe[1]||(pe[1]=Ae=>R.value=Ae),variables:q.value,editable:r.editable},null,8,["modelValue","variables","editable"])):vue.createCommentVNode("",!0),L.value.length>0?(vue.openBlock(),vue.createBlock(RenderForm,{key:1,ref_key:"renderFormRef",ref:Q,scheme:L.value,editable:r.editable,"form-option":{showRequired:!0,showGroup:!0,showLabel:!1,showHook:!1,showDesc:!0,formEdit:r.editable},"form-data":R.value,onChange:ae},null,8,["scheme","editable","form-option","form-data"])):vue.createCommentVNode("",!0),q.value.length<1&&L.value.length<1?(vue.openBlock(),vue.createBlock(EmptyException,{key:2,title:"暂无参数"})):vue.createCommentVNode("",!0)])]),_:1})]),_:3},8,["model"])])),[[be,{loading:B.value}]])]),_:3},8,["is-show"])}}}),FlowCreateTask=_export_sfc(_sfc_main$q,[["__scopeId","data-v-98ecb359"]]),createTask=Object.freeze(Object.defineProperty({__proto__:null,default:FlowCreateTask},Symbol.toStringTag,{value:"Module"})),_hoisted_1$l={class:"execute-flow-slider"},_hoisted_2$i={class:"flow-name-wrapper"},_hoisted_3$g={class:"form-params-wrapper"},_hoisted_4$d={key:0,class:"sideslider-footer-buttons"},_sfc_main$p=vue.defineComponent({__name:"debug",props:{flowId:{},show:{type:Boolean},editable:{type:Boolean,default:!0},showFlowEntry:{type:Boolean,default:!1},apiConfig:{},onConfirm:{},useCustomConfirm:{type:Boolean,default:!1},mockData:{},onExecuteSuccess:{},bkflowSaasUrl:{},enableVersion:{type:Boolean,default:!1},flowVersion:{},memberSelectorConfig:{}},emits:["confirm","close","update:show","before-close"],setup(e,{emit:t}){const n=e,r=t,i=provideFlowApiConfig(n.apiConfig);provideMemberSelectorConfig(n.memberSelectorConfig),setContext({},n.bkflowSaasUrl);const C={name:[{required:!0,message:"请输入任务名称",trigger:"blur"}]},k=vue.shallowRef(null),y=vue.shallowRef(!0),B=vue.shallowRef([]),L=vue.ref({}),R=vue.shallowRef([]),z=vue.ref(),j=vue.ref(),$=vue.ref(),H=vue.ref({name:""}),Q=vue.shallowRef(!1),W=vue.computed(()=>R.value.filter(ge=>isBuiltinUsageVariable(ge)));let te="";const ee=()=>{te=JSON.stringify({name:H.value.name,variables:L.value})};vue.watch(()=>n.show,ge=>{ge&&q()});const q=async()=>{y.value=!0;let ge=await i.fetchFlowDetail(n.flowId);if(n.enableVersion)if(n.flowVersion){const ce=await i.fetchFlowDetailByVersion(n.flowId,n.flowVersion);ge={...ge,name:ce.name,pipeline_tree:ce.pipeline_tree}}else{const ce=await i.fetchFlowDraftDetail(n.flowId);ge={...ge,pipeline_tree:ce.pipeline_tree}}k.value=ge,H.value.name=`${ge.name}_${dayjs().format("YYYYMMDDHHmmss")}`;const fe=[],ie={};Object.values(ge.pipeline_tree.constants).forEach(ce=>{if(typeof ce!="object"||ce===null)return;const pe=ce;!["system","space"].includes(pe.source_type)&&pe.show_type==="show"&&fe.push(pe),"value"in pe&&(ie[pe.key]=pe.value)}),R.value=fe,L.value=ie,await G(),y.value=!1,setTimeout(ee)},G=async()=>{const ge=k.value?.pipeline_tree?.constants;if(!ge){B.value=[];return}const fe=Object.fromEntries(Object.entries(ge).filter(([,ie])=>{if(typeof ie!="object"||ie===null)return!1;const ce=ie;return ce.source_type==="custom"&&ce.show_type==="show"&&!isBuiltinUsageVariable(ce)}));if(Object.keys(fe).length<1){B.value=[];return}if(!("fetchBkFlowInnerPluginDetail"in i)||typeof i.fetchBkFlowInnerPluginDetail!="function"){console.warn("fetchBkFlowInnerPluginDetail API is not available"),B.value=[];return}try{const ie=await getInputFormsFromConstants(i,fe);B.value=ie}catch(ie){console.error("Failed to get input forms from constants:",ie),B.value=[]}},J=()=>{n.onExecuteSuccess},Z=ge=>{L.value={...L.value,...lodash$1.cloneDeep(ge)}},ne=ge=>{const fe=lodash$1.cloneDeep(k.value?.pipeline_tree);return Object.entries(ge).forEach(([ie,ce])=>{fe.constants[ie]&&(fe.constants[ie]={...fe.constants[ie],value:ce})}),fe},oe=async()=>{if(!i.createMockDebugTask||!i.executeFlowTask){console.warn("createMockDebugTask or executeFlowTask is not provided in api");return}try{Q.value=!0;const ge=await i.createMockDebugTask({template_id:n.flowId,name:H.value.name,pipeline_tree:ne(L.value),mock_data:n.mockData??{nodes:[],outputs:{}},creator:String(window.USERNAME??"")}),fe=ge.data.id;await i.executeFlowTask({task_id:fe,resource_type:"TASK",resource_id:fe,permission_type:"OPERATE"}),BkMessage({theme:"success",message:"执行成功"}),ee(),r("confirm",fe,ge.data.template_id),de(),n.onExecuteSuccess&&n.onExecuteSuccess(fe,ge.data.template_id)}catch(ge){console.error(ge)}finally{Q.value=!1}},ae=async()=>{const[ge,fe,ie]=await Promise.all([z.value?.validate(),Promise.resolve($.value&&typeof $.value.validate=="function"?$.value.validate():!0),Promise.resolve(j.value&&typeof j.value.validate=="function"?j.value.validate():!0)]);if(!ge||!fe||!ie)return;const ce={name:H.value.name,variablesValue:L.value};if(n.useCustomConfirm&&n.onConfirm)try{Q.value=!0,await n.onConfirm(ce),ee(),r("confirm"),de()}catch(pe){console.error(pe)}finally{Q.value=!1}else await oe(),n.onConfirm&&await n.onConfirm(ce)},se=()=>{const ge=JSON.stringify({name:H.value.name,variables:L.value}),fe=te!==ge;return!n.editable||!fe?(de(),!0):new Promise(ie=>{lib.InfoBox({title:"确认离开?",content:"离开将会导致未保存信息丢失",confirmText:"离开",cancelText:"取消",width:320,onConfirm:()=>{de(),ie(!0)},onCancel:()=>{ie(!1)}})})},de=()=>{r("before-close"),R.value=[],L.value={},r("close"),r("update:show",!1)};return(ge,fe)=>{const ie=vue.resolveComponent("bk-input"),ce=vue.resolveComponent("bk-form-item"),pe=vue.resolveComponent("bk-form"),le=vue.resolveComponent("bk-button"),ue=vue.resolveComponent("bk-sideslider"),he=vue.resolveDirective("bk-tooltips"),ye=vue.resolveDirective("bkloading");return vue.openBlock(),vue.createBlock(ue,{title:"调试流程","is-show":n.show,width:700,"quick-close":!0,"esc-close":!1,"before-close":se},{footer:vue.withCtx(()=>[y.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$d,[vue.createVNode(le,{theme:"primary",loading:Q.value,onClick:ae},{default:vue.withCtx(()=>[...fe[2]||(fe[2]=[vue.createTextVNode("确定",-1)])]),_:1},8,["loading"]),vue.createVNode(le,{onClick:de},{default:vue.withCtx(()=>[...fe[3]||(fe[3]=[vue.createTextVNode("取消",-1)])]),_:1})]))]),default:vue.withCtx(()=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_1$l,[vue.createVNode(pe,{ref_key:"formRef",ref:z,"form-type":"vertical",model:H.value,rules:C,"label-width":100},{default:vue.withCtx(()=>[n.showFlowEntry?(vue.openBlock(),vue.createBlock(ce,{key:0,label:"排障流程",required:""},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$i,[vue.createVNode(ie,{readonly:"","model-value":k.value?.name},null,8,["model-value"]),vue.withDirectives(vue.createVNode(vue.unref(icon.Share),{class:"link-icon",onClick:J},null,512),[[he,"查看排障流程",void 0,{top:!0}]])])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(ce,{label:"任务名称",property:"name",required:""},{default:vue.withCtx(()=>[vue.createVNode(ie,{modelValue:H.value.name,"onUpdate:modelValue":fe[0]||(fe[0]=_e=>H.value.name=_e),placeholder:"请输入任务名称","show-word-limit":"",maxlength:100},null,8,["modelValue"])]),_:1}),vue.createVNode(ce,{label:"请求参数",property:"inputParams",description:"流程的入参"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_3$g,[W.value.length>0?(vue.openBlock(),vue.createBlock(vue.unref(BuiltinVariableUsageForm),{key:0,ref_key:"builtinVariableFormRef",ref:$,modelValue:L.value,"onUpdate:modelValue":fe[1]||(fe[1]=_e=>L.value=_e),variables:W.value,editable:n.editable},null,8,["modelValue","variables","editable"])):vue.createCommentVNode("",!0),B.value.length>0?(vue.openBlock(),vue.createBlock(RenderForm,{key:1,ref_key:"renderFormRef",ref:j,scheme:B.value,editable:n.editable,"form-option":{showRequired:!0,showGroup:!0,showLabel:!1,showHook:!1,showDesc:!0,formEdit:n.editable},"form-data":L.value,onChange:Z},null,8,["scheme","editable","form-option","form-data"])):vue.createCommentVNode("",!0),W.value.length<1&&B.value.length<1?(vue.openBlock(),vue.createBlock(EmptyException,{key:2,title:"暂无参数"})):vue.createCommentVNode("",!0)])]),_:1}),vue.renderSlot(ge.$slots,"custom-form-content",{formData:H.value,variablesValue:L.value},void 0,!0)]),_:3},8,["model"])])),[[ye,{loading:y.value}]])]),_:3},8,["is-show"])}}}),FlowDebug=_export_sfc(_sfc_main$p,[["__scopeId","data-v-a3a3d259"]]),debug=Object.freeze(Object.defineProperty({__proto__:null,default:FlowDebug},Symbol.toStringTag,{value:"Module"})),_hoisted_1$k={class:"mock-field-renderer"},_hoisted_2$h={key:8,class:"mock-field-renderer__code-editor"},_hoisted_3$f={key:10,class:"mock-field-renderer__error"},_sfc_main$o=vue.defineComponent({__name:"mock-field-renderer",props:{field:{},modelValue:{},error:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,r=t,i=vue.computed(()=>resolveMockFormControl(n.field)),C=vue.computed(()=>(n.field.options??[]).map(normalizeOption)),k=vue.computed(()=>C.value.length>0?C.value:n.field.type==="boolean"?[{label:"true",value:!0},{label:"false",value:!1}]:C.value),y=vue.computed(()=>["json-editor","data-table"].includes(i.value)),B=vue.computed(()=>({language:"json",theme:"vs-dark",lineNumbers:"on",scrollBeyondLastLine:!1,tabSize:2,placeholder:"{}"})),L=vue.computed({get(){return typeof n.modelValue=="string"?n.modelValue:""},set(j){R(j)}}),R=j=>{r("update:modelValue",j)},z=j=>{if(j===""||j===void 0||j===null){r("update:modelValue",void 0);return}const $=Number(j);r("update:modelValue",Number.isNaN($)?j:$)};return(j,$)=>{const H=vue.resolveComponent("bk-option"),Q=vue.resolveComponent("bk-select"),W=vue.resolveComponent("bk-checkbox"),te=vue.resolveComponent("bk-checkbox-group"),ee=vue.resolveComponent("bk-radio"),q=vue.resolveComponent("bk-radio-group"),G=vue.resolveComponent("bk-switcher"),J=vue.resolveComponent("bk-date-picker"),Z=vue.resolveComponent("bk-input");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$k,[i.value==="bk-select"?(vue.openBlock(),vue.createBlock(Q,{key:0,"model-value":n.modelValue,clearable:"",onChange:R},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(C.value,ne=>(vue.openBlock(),vue.createBlock(H,{id:ne.value,key:String(ne.value),label:ne.label},null,8,["id","label"]))),128))]),_:1},8,["model-value"])):i.value==="bk-checkbox-group"?(vue.openBlock(),vue.createBlock(te,{key:1,"model-value":Array.isArray(n.modelValue)?n.modelValue:[],onChange:R},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(C.value,ne=>(vue.openBlock(),vue.createBlock(W,{key:String(ne.value),label:ne.value},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(ne.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["model-value"])):i.value==="bk-radio-group"?(vue.openBlock(),vue.createBlock(q,{key:2,"model-value":n.modelValue,onChange:R},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(k.value,ne=>(vue.openBlock(),vue.createBlock(ee,{key:String(ne.value),label:ne.value},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(ne.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["model-value"])):i.value==="bk-switcher"?(vue.openBlock(),vue.createBlock(G,{key:3,"model-value":!!n.modelValue,theme:"primary",onChange:R},null,8,["model-value"])):i.value==="bk-date-picker"?(vue.openBlock(),vue.createBlock(J,{key:4,"model-value":n.modelValue,type:"datetime",clearable:"",onChange:R},null,8,["model-value"])):i.value==="bk-date-range-picker"?(vue.openBlock(),vue.createBlock(J,{key:5,"model-value":Array.isArray(n.modelValue)?n.modelValue:[],type:"datetimerange",clearable:"",onChange:R},null,8,["model-value"])):i.value==="bk-input-number"?(vue.openBlock(),vue.createBlock(Z,{key:6,"model-value":n.modelValue,type:"number","onUpdate:modelValue":z},null,8,["model-value"])):i.value==="bk-textarea"?(vue.openBlock(),vue.createBlock(Z,{key:7,"model-value":n.modelValue,type:"textarea",rows:3,placeholder:"请输入","onUpdate:modelValue":R},null,8,["model-value"])):y.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$h,[vue.createVNode(CodeEditor,{modelValue:L.value,"onUpdate:modelValue":$[0]||($[0]=ne=>L.value=ne),options:B.value},null,8,["modelValue","options"])])):(vue.openBlock(),vue.createBlock(Z,{key:9,"model-value":n.modelValue,"onUpdate:modelValue":R},null,8,["model-value"])),n.error?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$f,vue.toDisplayString(n.error),1)):vue.createCommentVNode("",!0)])}}}),MockFieldRenderer=_export_sfc(_sfc_main$o,[["__scopeId","data-v-7dc32c6a"]]),_hoisted_1$j={key:0,class:"unchecked-fields-section"},_hoisted_2$g={key:0,class:"unchecked-fields-section__content"},_sfc_main$n=vue.defineComponent({__name:"unchecked-fields-section",props:{fields:{}},setup(e){const t=e,n=vue.ref(!1);return(r,i)=>{const C=vue.resolveComponent("bk-button");return t.fields.length>0?(vue.openBlock(),vue.createElementBlock("section",_hoisted_1$j,[vue.createVNode(C,{text:"",theme:"primary",class:"unchecked-fields-section__toggle",onClick:i[0]||(i[0]=k=>n.value=!n.value)},{default:vue.withCtx(()=>[vue.createElementVNode("i",{class:vue.normalizeClass(["bkflow-canvas-icon bkflow-canvas-angle-up unchecked-fields-section__toggle-icon",{"is-expanded":n.value}])},null,2),vue.createElementVNode("span",null,vue.toDisplayString(n.value?"收起未勾选的字段":"显示未勾选的字段"),1)]),_:1}),n.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$g,[vue.renderSlot(r.$slots,"default",{},void 0,!0)])):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0)}}}),UncheckedFieldsSection=_export_sfc(_sfc_main$n,[["__scopeId","data-v-768e1d59"]]),_hoisted_1$i={key:0,class:"mock-data-sideslider__title-sep"},_hoisted_2$f=["title"],_hoisted_3$e={class:"mock-data-sideslider"},_hoisted_4$c={class:"mock-data-sideslider__footer"},_sfc_main$m=vue.defineComponent({__name:"index",props:{show:{type:Boolean},node:{},constants:{default:()=>({})},config:{default:void 0}},emits:["save","cancel","update:show"],setup(e,{emit:t}){const n=e,r=t,i=useFlowApiConfig(),C=vue.ref(!1),k=vue.shallowRef([]),y=vue.ref({}),B=vue.ref({}),L=vue.ref(!1),R=vue.ref({}),z=vue.computed(()=>splitOutputFieldsByGlobalUsage(k.value,n.constants,n.node?.id??"")),j=vue.computed(()=>z.value.globalFields),$=vue.computed(()=>z.value.otherFields),H=vue.computed(()=>k.value.length>0),Q=Z=>{const ne=n.config?.outputs;return!ne||!Object.prototype.hasOwnProperty.call(ne,Z.key)?{exists:!1,value:void 0}:{exists:!0,value:ne[Z.key]}},W=async()=>{if(n.node){C.value=!0,L.value=!1,R.value={};try{const Z=await pluginDetailRequest(i,n.node.component);k.value=mergeOutputs(Z.outputs);const ne={};k.value.forEach(oe=>{const ae=Q(oe),se=ae.exists?ae.value:oe.type==="object"?{}:void 0,de=resolveMockFormControl(oe);ne[oe.key]=de==="json-editor"||de==="data-table"?formatJsonFieldValue(se):se}),y.value=ne,B.value=lodash$1.cloneDeep(ne),L.value=!0}catch(Z){console.error(Z),k.value=[],y.value={},B.value={},L.value=!0,bkuiVue.Message({theme:"error",message:"加载输出参数失败"})}finally{C.value=!1}}},te=()=>{const Z={},ne={};return k.value.forEach(oe=>{const ae=y.value[oe.key],se=resolveMockFormControl(oe);if(se==="json-editor"||se==="data-table"){const de=parseJsonFieldValue(ae);if(!de.valid){Z[oe.key]=de.message;return}de.value!==void 0&&(ne[oe.key]=de.value);return}ae!==void 0&&ae!==""&&(ne[oe.key]=ae)}),{errors:Z,outputs:ne}},ee=()=>!L.value||C.value?!1:!lodash$1.isEqual(y.value,B.value),q=()=>{if(!n.node)return;const{errors:Z,outputs:ne}=te();R.value=Z,!(Object.keys(Z).length>0)&&(r("save",{nodeId:n.node.id,outputs:ne,fieldSnapshots:Object.fromEntries(k.value.map(oe=>[oe.key,oe]))}),r("update:show",!1))},G=()=>{r("cancel"),r("update:show",!1)},J=()=>ee()?new Promise(Z=>{lib.InfoBox({title:"确认离开?",content:"离开将会导致未保存信息丢失",confirmText:"离开",cancelText:"取消",width:320,onConfirm:()=>{G(),Z(!0)},onCancel:()=>{Z(!1)}})}):(G(),!0);return vue.watch(()=>[n.show,n.node?.id],([Z])=>{Z&&n.node&&W()},{immediate:!0}),(Z,ne)=>{const oe=vue.resolveComponent("bk-exception"),ae=vue.resolveComponent("bk-form-item"),se=vue.resolveComponent("bk-form"),de=vue.resolveComponent("bk-button"),ge=vue.resolveComponent("bk-sideslider"),fe=vue.resolveDirective("bkloading");return vue.openBlock(),vue.createBlock(ge,{"is-show":n.show,width:640,"quick-close":"","esc-close":!1,"before-close":J},{header:vue.withCtx(()=>[ne[0]||(ne[0]=vue.createElementVNode("span",{class:"mock-data-sideslider__title"},"设置 Mock 数据",-1)),n.node?.name?(vue.openBlock(),vue.createElementBlock("span",_hoisted_1$i,"-")):vue.createCommentVNode("",!0),n.node?.name?(vue.openBlock(),vue.createElementBlock("span",{key:1,class:"mock-data-sideslider__title-node",title:n.node.name},vue.toDisplayString(n.node.name),9,_hoisted_2$f)):vue.createCommentVNode("",!0)]),footer:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_4$c,[H.value?(vue.openBlock(),vue.createBlock(de,{key:0,theme:"primary",onClick:q},{default:vue.withCtx(()=>[...ne[1]||(ne[1]=[vue.createTextVNode("保存",-1)])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(de,{onClick:J},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(H.value?"取消":"关闭"),1)]),_:1})])]),default:vue.withCtx(()=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_3$e,[n.node?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[k.value.length>0?(vue.openBlock(),vue.createBlock(se,{key:0,"form-type":"vertical","label-width":120},{default:vue.withCtx(()=>[j.value.length===0?(vue.openBlock(),vue.createBlock(oe,{key:0,class:"mock-data-sideslider__exception",scene:"part",type:"empty",title:"暂无已勾选的全局变量字段"})):vue.createCommentVNode("",!0),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(j.value,ie=>(vue.openBlock(),vue.createBlock(ae,{key:ie.key,label:ie.name||ie.key,description:ie.description},{default:vue.withCtx(()=>[vue.createVNode(MockFieldRenderer,{modelValue:y.value[ie.key],"onUpdate:modelValue":ce=>y.value[ie.key]=ce,field:ie,error:R.value[ie.key]},null,8,["modelValue","onUpdate:modelValue","field","error"])]),_:2},1032,["label","description"]))),128)),vue.createVNode(UncheckedFieldsSection,{fields:$.value},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList($.value,ie=>(vue.openBlock(),vue.createBlock(ae,{key:ie.key,label:ie.name||ie.key,description:ie.description},{default:vue.withCtx(()=>[vue.createVNode(MockFieldRenderer,{modelValue:y.value[ie.key],"onUpdate:modelValue":ce=>y.value[ie.key]=ce,field:ie,error:R.value[ie.key]},null,8,["modelValue","onUpdate:modelValue","field","error"])]),_:2},1032,["label","description"]))),128))]),_:1},8,["fields"])]),_:1})):C.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(oe,{key:1,class:"mock-data-sideslider__exception",scene:"part",type:"empty",title:"暂无输出参数"}))],64)):vue.createCommentVNode("",!0)])),[[fe,{loading:C.value}]])]),_:1},8,["is-show"])}}}),MockDataSideslider=_export_sfc(_sfc_main$m,[["__scopeId","data-v-5db17099"]]),_hoisted_1$h={class:"mock-select-all-toolbar"},_sfc_main$l=vue.defineComponent({__name:"mock-select-all-toolbar",setup(e){const t=useBkflowCanvasContext(),n=vue.computed(()=>!!t.simulateDebug?.isAllMockNodesSelected?.());return(r,i)=>(vue.openBlock(),vue.createElementBlock("span",_hoisted_1$h,[vue.createElementVNode("i",{class:vue.normalizeClass(["mock-select-all-toolbar__icon","bkflow-canvas-icon","bkflow-canvas-batch-checked",{"is-checked":n.value}]),"aria-hidden":"true"},null,2)]))}}),MockSelectAllToolbar=_export_sfc(_sfc_main$l,[["__scopeId","data-v-4f66d077"]]),_hoisted_1$g={key:0,class:"operate-area"},_hoisted_2$e={key:0,class:"operate-btns"},_hoisted_3$d={class:"flow-view-page-content"},_hoisted_4$b={key:1,class:"flow-view-thumbnail"},_sfc_main$k=vue.defineComponent({__name:"view",props:{flowId:{},apiConfig:{},permissions:{default:()=>({canEdit:!0,canExecute:!0})},onEdit:{},onBack:{},thumbnail:{type:Boolean,default:!1},enableVersion:{type:Boolean,default:!1},flowVersion:{},showHeaderActions:{type:Boolean,default:!0},defaultZoom:{default:1},bkflowSaasUrl:{},onExecuteSuccess:{},memberSelectorConfig:{},enableDebug:{type:Boolean,default:!1},onMockDebugCreated:{},hideTrigger:{type:Boolean,default:!1}},emits:["edit","back","mockDebugCreated"],setup(e,{expose:t,emit:n}){const r=vue.useSlots(),i=e,C=vue.computed(()=>({canEdit:!0,canExecute:!0,...i.permissions})),k=provideFlowApiConfig(i.apiConfig);provideMemberSelectorConfig(i.memberSelectorConfig);const y=n;setContext({},i.bkflowSaasUrl);const B=vue.shallowRef(!1),L=vue.shallowRef(null),R=vue.shallowRef(!0),z=vue.shallowRef({}),j=vue.shallowRef(!0),$=vue.shallowRef([]),H=vue.shallowRef(!1),Q=vue.ref(),W=vue.ref(!1),te=useSimulateDebug(),ee=vue.computed(()=>te.stage.value!=="edit"),q=vue.computed(()=>te.stage.value==="mock-config"?"mock-config":"view"),G={stage:te.stage,isMockSelected:te.isMockSelected,toggleMockSelected:te.toggleMockSelected,hasMockConfig:te.hasMockConfig,isAllMockNodesSelected:()=>Z.value},J=vue.computed(()=>getMockableNodeIds(L.value?.pipeline_tree??null)),Z=vue.computed(()=>te.isAllMockNodesSelected(J.value)),ne=vue.computed(()=>{const{mockData:Ye}=te.buildRunnableSelection(J.value);return Object.keys(Ye).length>0}),oe=vue.computed(()=>{if(ne.value)return"";const{selectedIds:Ye}=te.buildRunnableSelection(J.value);return Ye.length===0?"请先勾选需要模拟调试的节点":"请先为已勾选节点设置 Mock 数据"}),ae=vue.computed(()=>[{id:"mock-select-all",type:"custom",component:MockSelectAllToolbar,description:"全选",group:"tools",order:19,visible:()=>te.stage.value==="mock-config",active:()=>Z.value,onClick:()=>te.toggleSelectAllMockNodes(J.value)}]),se=vue.computed(()=>{const Ye=te.activeConfigNodeId.value;return Ye?L.value?.pipeline_tree.activities[Ye]??null:null}),de=vue.computed(()=>{const Ye=te.activeConfigNodeId.value;return Ye?te.mockConfigs.value[Ye]:void 0});vue.onMounted(()=>{ge(),fe(),ie()}),vue.watch(()=>[i.flowId,i.flowVersion],([Ye,Re],[Je,Xe])=>{(Ye!==Je||Re!==Xe)&&(te.reset(),W.value=!1,ge(),fe(),ie())});const ge=async()=>{R.value=!0;try{let Ye=await k.fetchFlowDetail(String(i.flowId));if(i.enableVersion)if(i.flowVersion){const Re=await k.fetchFlowDetailByVersion(String(i.flowId),i.flowVersion);Ye={...Ye,name:Re.name,pipeline_tree:Re.pipeline_tree}}else{const Re=await k.fetchFlowDraftDetail(String(i.flowId));Ye={...Ye,pipeline_tree:Re.pipeline_tree}}L.value=Ye}catch(Ye){console.error(Ye)}finally{R.value=!1}},fe=async()=>{j.value=!0;try{const Ye=await k.fetchSpaceFlowConfig(String(i.flowId));z.value=Ye}catch(Ye){console.error(Ye)}finally{j.value=!1}},ie=async()=>{H.value=!0;try{const Ye=await k.fetchSystemVariables(String(i.flowId));$.value=Ye}catch(Ye){console.error(Ye)}finally{H.value=!1}},ce=()=>{typeof i.onBack=="function"?i.onBack():y("back")},pe=()=>{C.value.canEdit&&(typeof i.onEdit=="function"?i.onEdit():y("edit"))},le=()=>{C.value.canExecute&&(B.value=!0)},ue=Ye=>{typeof i.onExecuteSuccess=="function"&&i.onExecuteSuccess(Ye)};t({zoomToFit:Ye=>{Q.value?.zoomToFit?.(Ye)},centerContent:()=>{Q.value?.centerContent?.()},getZoom:()=>Q.value?.getZoom?.()??1});const Ne=()=>String(window.USERNAME??""),be=(Ye,Re)=>{const Je={taskId:Ye,templateId:Re};i.onMockDebugCreated&&i.onMockDebugCreated(Je),y("mockDebugCreated",Je)},Ae=Ye=>{bkuiVue.Message({theme:"error",message:Ye.message}),Ye.ids.length>0&&Q.value?.locateNode?.(Ye.ids[0])},Te=()=>{if(!L.value)return;const Ye=validatePipelineTree(L.value.pipeline_tree),Re=getUnconfiguredActivityIds(L.value.pipeline_tree);if(!Ye.valid||Re.length>0){Ae(Ye.valid?{message:"流程中存在未配置节点,请配置后再模拟调试",ids:Re}:Ye);return}te.enterConfig(J.value)},Ze=()=>{ne.value&&(W.value=!0)},lt=()=>{W.value=!1},Ge=Ye=>{te.openConfigNode(Ye.id)},st=Ye=>{te.saveMockConfig(Ye),te.closeConfigNode()},Ue=Ye=>{Ye||te.closeConfigNode()},De=()=>{W.value=!1,te.reset()},We=async Ye=>{if(!L.value)return;const{selectedIds:Re,mockNodeIds:Je,mockData:Xe}=te.buildRunnableSelection(J.value);if(Re.length<1){bkuiVue.Message({theme:"warning",message:"请至少选择一个可模拟调试节点"});return}if(!k.createMockDebugTask||!k.executeFlowTask){bkuiVue.Message({theme:"warning",message:"模拟调试接口未配置"});return}try{const Me=buildMockDebugPipelineTree(L.value.pipeline_tree,Re,Ye.variablesValue),nt=await k.createMockDebugTask({template_id:L.value.id,name:Ye.name,pipeline_tree:Me,mock_data:{nodes:Je,outputs:Xe,mock_data_ids:{}},creator:Ne()}),et=nt.data.id,wt=nt.data.template_id;await k.executeFlowTask({task_id:et,resource_type:"TASK",resource_id:et,permission_type:"OPERATE"}),te.reset(),be(et,wt)}catch(Me){throw console.error(Me),bkuiVue.Message({theme:"error",message:"创建或启动模拟调试任务失败"}),Me}};return(Ye,Re)=>{const Je=vue.resolveComponent("bk-button"),Xe=vue.resolveDirective("bk-tooltips"),Me=vue.resolveDirective("bkloading");return i.thumbnail?vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_4$b,[L.value?(vue.openBlock(),vue.createBlock(FlowCanvas,{key:0,mode:"view","flow-id":e.flowId,"pipeline-tree":L.value.pipeline_tree,"system-variables":$.value,thumbnail:!0,"default-zoom":i.defaultZoom},{inputParams:vue.withCtx(nt=>[vue.renderSlot(Ye.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps(nt)),void 0,!0)]),_:3},8,["flow-id","pipeline-tree","system-variables","default-zoom"])):vue.createCommentVNode("",!0)])),[[Me,{loading:R.value||j.value,zIndex:100}]]):(vue.openBlock(),vue.createBlock(ContainerLayout,{key:0,title:"查看流程",desc:L.value?.name,"show-back-icon":!0,onBack:ce},vue.createSlots({extend:vue.withCtx(()=>[L.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$g,[vue.createVNode(FlowInfoSliders,{editable:!1,"flow-data":L.value,"system-variables":$.value,"fetch-user-api":vue.unref(k).fetchUserApi,"enable-simulate-debug":i.enableDebug,"simulate-debug-active":ee.value,"simulate-debug-only":ee.value,"hide-trigger":i.hideTrigger,onSimulateDebug:Te},null,8,["flow-data","system-variables","fetch-user-api","enable-simulate-debug","simulate-debug-active","simulate-debug-only","hide-trigger"]),e.showHeaderActions?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$e,[ee.value?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.withDirectives((vue.openBlock(),vue.createBlock(Je,{theme:"primary",disabled:!ne.value,onClick:Ze},{default:vue.withCtx(()=>[...Re[2]||(Re[2]=[vue.createTextVNode(" 执行 ",-1)])]),_:1},8,["disabled"])),[[Xe,{content:oe.value,disabled:!oe.value}]]),vue.createVNode(Je,{onClick:De},{default:vue.withCtx(()=>[...Re[3]||(Re[3]=[vue.createTextVNode("退出模拟调试",-1)])]),_:1})],64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createVNode(Je,{theme:"primary",disabled:!C.value.canEdit,onClick:pe},{default:vue.withCtx(()=>[...Re[4]||(Re[4]=[vue.createTextVNode("编辑",-1)])]),_:1},8,["disabled"]),vue.createVNode(Je,{disabled:!C.value.canExecute,onClick:le},{default:vue.withCtx(()=>[...Re[5]||(Re[5]=[vue.createTextVNode("执行流程",-1)])]),_:1},8,["disabled"])],64))])):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0)]),default:vue.withCtx(()=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_3$d,[L.value?(vue.openBlock(),vue.createBlock(FlowCanvas,{key:0,ref_key:"flowCanvasRef",ref:Q,mode:q.value,"flow-id":e.flowId,"pipeline-tree":L.value.pipeline_tree,"system-variables":$.value,thumbnail:i.thumbnail,"default-zoom":i.defaultZoom,"toolbar-items":ae.value,"simulate-debug-context":G,onMockNodeClick:Ge},{inputParams:vue.withCtx(nt=>[vue.renderSlot(Ye.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps(nt)),void 0,!0)]),_:3},8,["mode","flow-id","pipeline-tree","system-variables","thumbnail","default-zoom","toolbar-items"])):vue.createCommentVNode("",!0)])),[[Me,{loading:R.value||j.value,zIndex:100}]]),L.value?(vue.openBlock(),vue.createBlock(FlowCreateTask,{key:0,"flow-id":e.flowId,show:B.value,"api-config":i.apiConfig,"bkflow-saas-url":i.bkflowSaasUrl,"member-selector-config":i.memberSelectorConfig,onClose:Re[0]||(Re[0]=nt=>B.value=!1),onConfirm:ue},vue.createSlots({_:2},[vue.unref(r).customFormContent?{name:"customFormContent",fn:vue.withCtx(nt=>[vue.renderSlot(Ye.$slots,"customFormContent",vue.normalizeProps(vue.guardReactiveProps(nt)),void 0,!0)]),key:"0"}:void 0]),1032,["flow-id","show","api-config","bkflow-saas-url","member-selector-config"])):vue.createCommentVNode("",!0),L.value?(vue.openBlock(),vue.createBlock(FlowDebug,{key:1,"flow-id":e.flowId,show:W.value,"api-config":i.apiConfig,"bkflow-saas-url":i.bkflowSaasUrl,"enable-version":!1,"flow-version":i.flowVersion,"on-confirm":We,"use-custom-confirm":!0,onClose:lt,"onUpdate:show":Re[1]||(Re[1]=nt=>W.value=nt)},{"custom-form-content":vue.withCtx(nt=>[vue.renderSlot(Ye.$slots,"debugCustomFormContent",vue.normalizeProps(vue.guardReactiveProps(nt)),void 0,!0)]),_:3},8,["flow-id","show","api-config","bkflow-saas-url","flow-version"])):vue.createCommentVNode("",!0),L.value?(vue.openBlock(),vue.createBlock(MockDataSideslider,{key:2,show:!!se.value,node:se.value,constants:L.value.pipeline_tree.constants,config:de.value,onSave:st,onCancel:vue.unref(te).closeConfigNode,"onUpdate:show":Ue},null,8,["show","node","constants","config","onCancel"])):vue.createCommentVNode("",!0)]),_:2},[vue.unref(r).header?{name:"header",fn:vue.withCtx(()=>[vue.renderSlot(Ye.$slots,"header",{},void 0,!0)]),key:"0"}:void 0]),1032,["desc"]))}}}),view=_export_sfc(_sfc_main$k,[["__scopeId","data-v-82600d34"]]),view$1=Object.freeze(Object.defineProperty({__proto__:null,default:view},Symbol.toStringTag,{value:"Module"})),_hoisted_1$f={key:0,class:"operate-area"},_hoisted_2$d={class:"flow-actions"},_hoisted_3$c={class:"operate-btns"},_hoisted_4$a={class:"flow-edit-page-content"},_sfc_main$j=vue.defineComponent({__name:"edit",props:{flowId:{},apiConfig:{},permissions:{default:()=>({canSave:!0})},enableDebug:{type:Boolean,default:!1},onDebugConfirm:{},useCustomDebugConfirm:{type:Boolean,default:!1},selectPanelConfig:{},memberSelectorConfig:{},onSave:{},onSaveSuccess:{},onBack:{},onExitEdit:{},onBeforeLeave:{},onMockDebugCreated:{},enableVersion:{type:Boolean,default:!1},flowVersion:{},defaultZoom:{default:1},bkflowSaasUrl:{},enableThirdPlugin:{type:Boolean,default:!0},quickAdd:{default:void 0},hideTrigger:{type:Boolean,default:!1}},emits:["save","saveSuccess","back","exitEdit","debugBeforeClose","mockDebugCreated","createVariable"],setup(e,{expose:t,emit:n}){const r=e,i={...r.apiConfig,enableThirdPlugin:r.enableThirdPlugin},C=provideFlowApiConfig(i);provideSelectPanelConfig(r.selectPanelConfig||{}),provideMemberSelectorConfig(r.memberSelectorConfig);const k=n;setContext({},r.bkflowSaasUrl);const y=vue.shallowRef(null),B=vue.shallowRef(!0),L=vue.ref(),R=vue.ref(),z=vue.shallowRef(!0),j=vue.shallowRef({}),$=vue.shallowRef(!1),H=vue.shallowRef([]),Q=vue.shallowRef(!1),W=vue.shallowRef([]),te=vue.shallowRef(!1),ee=vue.shallowRef(!1),q=vue.ref(!1),G=vue.ref(!1),J=useSimulateDebug(),Z=vue.computed(()=>String(r.flowId));provideVariableInputCreateVariable(Ee=>{k("createVariable",Ee),L.value?.openGlobalVariableCreate(Ee)});const oe=vue.computed(()=>B.value||Q.value||z.value),ae=vue.computed(()=>J.stage.value==="mock-config"?"mock-config":"edit"),se={stage:J.stage,isMockSelected:J.isMockSelected,toggleMockSelected:J.toggleMockSelected,hasMockConfig:J.hasMockConfig,isAllMockNodesSelected:()=>ge.value},de=vue.computed(()=>getMockableNodeIds(y.value?.pipeline_tree??null)),ge=vue.computed(()=>J.isAllMockNodesSelected(de.value)),fe=vue.computed(()=>{const{mockData:Ee}=J.buildRunnableSelection(de.value);return Object.keys(Ee).length>0}),ie=vue.computed(()=>{if(fe.value)return"";const{selectedIds:Ee}=J.buildRunnableSelection(de.value);return Ee.length===0?"请先勾选需要模拟调试的节点":"请先为已勾选节点设置 Mock 数据"}),ce=vue.computed(()=>[{id:"mock-select-all",type:"custom",component:MockSelectAllToolbar,description:"全选",group:"tools",order:19,visible:()=>J.stage.value==="mock-config",active:()=>ge.value,onClick:()=>J.toggleSelectAllMockNodes(de.value)}]),pe=vue.computed(()=>y.value?.pipeline_tree),le=vue.computed(()=>{const Ee=J.activeConfigNodeId.value;return Ee?y.value?.pipeline_tree.activities[Ee]??null:null}),ue=vue.computed(()=>{const Ee=J.activeConfigNodeId.value;return Ee?J.mockConfigs.value[Ee]:void 0}),he=()=>String(window.USERNAME??""),ye=(Ee,ve)=>{const ke={taskId:Ee,templateId:ve};r.onMockDebugCreated&&r.onMockDebugCreated(ke),k("mockDebugCreated",ke)};vue.onMounted(()=>{_e(),Ne(),be(),Ae()}),vue.watch(()=>[r.flowId,r.flowVersion],([Ee,ve],[ke,je])=>{(Ee!==ke||ve!==je)&&(ee.value=!1,J.reset(),_e(),Ne(),be(),Ae())});const _e=async()=>{B.value=!0;try{let Ee=await C.fetchFlowDetail(Z.value);if(r.enableVersion)if(r.flowVersion){const ve=await C.fetchFlowDetailByVersion(Z.value,r.flowVersion);Ee={...Ee,name:ve.name,pipeline_tree:ve.pipeline_tree}}else{const ve=await C.fetchFlowDraftDetail(Z.value);Ee={...Ee,pipeline_tree:ve.pipeline_tree}}y.value=Ee}catch(Ee){console.error(Ee)}finally{B.value=!1}},Ne=async()=>{z.value=!0;try{const Ee=await C.fetchSpaceFlowConfig(Z.value);j.value=Ee}catch(Ee){console.error(Ee)}finally{z.value=!1}},be=async()=>{te.value=!0;try{const Ee=await C.fetchSystemVariables(Z.value);W.value=Ee}catch(Ee){console.error(Ee)}finally{te.value=!1}},Ae=async()=>{Q.value=!0;try{const Ee=await C.fetchAllPluginGroups();H.value=Ee}catch(Ee){console.error(Ee)}finally{Q.value=!1}},Te=()=>{r.onBack?r.onBack():k("back")},Ze=()=>{r.onExitEdit?r.onExitEdit():k("exitEdit")},lt=()=>{L.value?.openBasicSetting()},Ge=Ee=>{y.value=Ee,ee.value=!0},st=Ee=>{y.value&&(y.value={...y.value,pipeline_tree:{...y.value.pipeline_tree,constants:Ee}}),ee.value=!0,R.value?.updateGlobalVariables(Ee)},Ue=Ee=>{R.value?.updateOutputs(Ee)},De=Ee=>{y.value={...y.value,pipeline_tree:Ee},ee.value=!0},We=async()=>{if(!y.value||!C.drawPipeline)return;const Ee=y.value.pipeline_tree,ve=validatePipelineTree(Ee);if(!ve.valid){bkuiVue.Message({theme:"warning",message:ve.message});return}const ke=R.value?.getCanvasWidth?.()??document.documentElement.offsetWidth-200;try{R.value?.setFormatLoading?.(!0);const je=await C.drawPipeline({pipeline_tree:Ee,canvas_width:ke,activity_size:[240,48],event_size:[88,40],gateway_size:[64,64],start:[20,150]}),Se=R.value?.updatePipelineTree?.(je.pipeline_tree);y.value={...y.value,pipeline_tree:Se??je.pipeline_tree},ee.value=!0,bkuiVue.Message({theme:"success",message:"排版完成"})}catch(je){console.error(je)}finally{R.value?.setFormatLoading?.(!1)}},Ye=Ee=>{R.value&&R.value.updateNodeInputParams?.(Ee)},Re=Ee=>{bkuiVue.Message({theme:"error",message:Ee.message}),Ee.ids.length>0&&R.value?.locateNode?.(Ee.ids[0])},Je=async()=>{if(!y.value)return;const Ee=validatePipelineTree(y.value.pipeline_tree),ve=getUnconfiguredActivityIds(y.value.pipeline_tree);if(!Ee.valid||ve.length>0){Re(Ee.valid?{message:"流程中存在未配置节点,请配置后再模拟调试",ids:ve}:Ee);return}if(ee.value){if(!r.permissions.canSave){bkuiVue.Message({theme:"warning",message:"您没有保存权限,无法在未保存的情况下进行模拟调试"});return}return new Promise(ke=>{lib.InfoBox({title:"确认进入模拟调试?",content:"流程已修改,进入模拟调试前需要先保存流程。是否保存并继续?",confirmText:"保存并继续",cancelText:"取消",width:400,headerAlign:"center",footerAlign:"center",onConfirm:async()=>{try{await Nt({throwOnError:!0,silent:!0})&&J.enterConfig(de.value)}catch(je){console.error("保存失败:",je),bkuiVue.Message({theme:"error",message:"保存失败,请重试"})}finally{ke()}},onCancel:()=>{ke()}})})}J.enterConfig(de.value)},Xe=()=>{fe.value&&(G.value=!0)},Me=async Ee=>{if(!y.value)return;const{selectedIds:ve,mockNodeIds:ke,mockData:je}=J.buildRunnableSelection(de.value);if(ve.length<1){bkuiVue.Message({theme:"warning",message:"请至少选择一个可模拟调试节点"});return}if(!C.createMockDebugTask||!C.executeFlowTask){bkuiVue.Message({theme:"warning",message:"模拟调试接口未配置"});return}try{const Se=buildMockDebugPipelineTree(y.value.pipeline_tree,ve,Ee.variablesValue),ze=await C.createMockDebugTask({template_id:y.value.id,name:Ee.name,pipeline_tree:Se,mock_data:{nodes:ke,outputs:je,mock_data_ids:{}},creator:he()}),He=ze.data.id,ut=ze.data.template_id;await C.executeFlowTask({task_id:He,resource_type:"TASK",resource_id:He,permission_type:"OPERATE"}),J.reset(),ye(He,ut)}catch(Se){throw console.error(Se),bkuiVue.Message({theme:"error",message:"创建或启动模拟调试任务失败"}),Se}},nt=(Ee,ve)=>{ye(Ee,ve)},et=()=>{G.value=!1},wt=Ee=>{J.openConfigNode(Ee.id)},tt=Ee=>{J.saveMockConfig(Ee),J.closeConfigNode()},ot=Ee=>{Ee||J.closeConfigNode()},gt=()=>{G.value=!1,J.reset()},Et=()=>{k("debugBeforeClose")},Dt=()=>{q.value=!1},Ft=()=>{if(!r.permissions.canSave)return;const Ee=validatePipelineTree(y.value?.pipeline_tree);Ee.valid?Nt():Re(Ee)},Nt=async(Ee={})=>{const{name:ve,desc:ke,notify_config:je,pipeline_tree:Se,triggers:ze}=y.value,He={name:ve,desc:ke,notify_config:je,pipeline_tree:Se,triggers:ze};try{return $.value=!0,await C.saveFlow(Z.value,He),ee.value=!1,bkuiVue.Message({theme:"success",message:"保存成功"}),Ee.silent||(r.onSave&&r.onSave(y.value),r.onSaveSuccess&&r.onSaveSuccess(),k("save",y.value),k("saveSuccess")),!0}catch(ut){if(console.error(ut),Ee.throwOnError)throw ut;return!1}finally{$.value=!1}},Pe=()=>{L.value?.openGlobalVariables()},at=Ee=>{R.value?.zoomToFit?.(Ee)},_t=()=>{R.value?.centerContent?.()},Oe=()=>R.value?.getZoom?.()??1,Be={isFlowEdited:vue.computed(()=>ee.value),updateNodeInputParams:Ye,openGlobalVariables:Pe,zoomToFit:at,centerContent:_t,getZoom:Oe};return t(Be),(Ee,ve)=>{const ke=vue.resolveComponent("bk-button"),je=vue.resolveDirective("bk-tooltips"),Se=vue.resolveDirective("bkloading");return vue.openBlock(),vue.createBlock(ContainerLayout,{title:"编辑流程",desc:y.value?.name,"show-back-icon":!0,"show-edit-icon":!0,onBack:Te,onEdit:lt},{header:vue.withCtx(()=>[vue.renderSlot(Ee.$slots,"header",{},void 0,!0)]),extend:vue.withCtx(()=>[y.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$f,[vue.createElementVNode("div",_hoisted_2$d,[vue.createVNode(FlowInfoSliders,{ref_key:"flowInfoSlidersRef",ref:L,"flow-data":y.value,"system-variables":W.value,"fetch-user-api":vue.unref(C).fetchUserApi,"enable-simulate-debug":r.enableDebug,"simulate-debug-active":vue.unref(J).stage.value!=="edit","simulate-debug-only":vue.unref(J).stage.value!=="edit","hide-trigger":r.hideTrigger,onChange:Ge,onUpdateConstants:st,onUpdateOutputs:Ue,onSimulateDebug:Je},null,8,["flow-data","system-variables","fetch-user-api","enable-simulate-debug","simulate-debug-active","simulate-debug-only","hide-trigger"]),vue.createElementVNode("div",_hoisted_3$c,[vue.unref(J).stage.value==="edit"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(ke,{theme:"primary",disabled:!e.permissions.canSave,loading:$.value,onClick:Ft},{default:vue.withCtx(()=>[...ve[2]||(ve[2]=[vue.createTextVNode(" 保存 ",-1)])]),_:1},8,["disabled","loading"]),vue.createVNode(ke,{onClick:Ze},{default:vue.withCtx(()=>[...ve[3]||(ve[3]=[vue.createTextVNode("退出编辑",-1)])]),_:1})],64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.withDirectives((vue.openBlock(),vue.createBlock(ke,{theme:"primary",disabled:!fe.value,onClick:Xe},{default:vue.withCtx(()=>[...ve[4]||(ve[4]=[vue.createTextVNode(" 执行 ",-1)])]),_:1},8,["disabled"])),[[je,{content:ie.value,disabled:!ie.value}]]),vue.createVNode(ke,{onClick:gt},{default:vue.withCtx(()=>[...ve[5]||(ve[5]=[vue.createTextVNode("退出模拟调试",-1)])]),_:1})],64))])])])):vue.createCommentVNode("",!0)]),default:vue.withCtx(()=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_4$a,[!oe.value&&y.value?(vue.openBlock(),vue.createBlock(FlowCanvas,{key:0,ref_key:"flowCanvasRef",ref:R,mode:ae.value,"flow-id":Z.value,"pipeline-tree":pe.value,"plugin-group-list":H.value,"system-variables":W.value,"default-zoom":r.defaultZoom,"quick-add":r.quickAdd,"toolbar-items":ce.value,"simulate-debug-context":se,onChange:De,onMockNodeClick:wt,onFormatPosition:We},{inputParams:vue.withCtx(ze=>[vue.renderSlot(Ee.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps({...ze,updateNodeInputParams:Ye})),void 0,!0)]),_:3},8,["mode","flow-id","pipeline-tree","plugin-group-list","system-variables","default-zoom","quick-add","toolbar-items"])):vue.createCommentVNode("",!0)])),[[Se,{loading:oe.value,zIndex:100}]]),y.value?(vue.openBlock(),vue.createBlock(FlowDebug,{key:0,"flow-id":Z.value,show:q.value,"api-config":r.apiConfig,"bkflow-saas-url":r.bkflowSaasUrl,"enable-version":r.enableVersion,"flow-version":r.flowVersion,"on-confirm":r.onDebugConfirm,"use-custom-confirm":r.useCustomDebugConfirm,"on-execute-success":nt,onClose:Dt,"onUpdate:show":ve[0]||(ve[0]=ze=>q.value=ze),onBeforeClose:Et},{"custom-form-content":vue.withCtx(ze=>[vue.renderSlot(Ee.$slots,"debugCustomFormContent",vue.normalizeProps(vue.guardReactiveProps(ze)),void 0,!0)]),_:3},8,["flow-id","show","api-config","bkflow-saas-url","enable-version","flow-version","on-confirm","use-custom-confirm"])):vue.createCommentVNode("",!0),y.value?(vue.openBlock(),vue.createBlock(FlowDebug,{key:1,"flow-id":Z.value,show:G.value,"api-config":r.apiConfig,"bkflow-saas-url":r.bkflowSaasUrl,"enable-version":!1,"flow-version":r.flowVersion,"on-confirm":Me,"use-custom-confirm":!0,onClose:et,"onUpdate:show":ve[1]||(ve[1]=ze=>G.value=ze)},{"custom-form-content":vue.withCtx(ze=>[vue.renderSlot(Ee.$slots,"debugCustomFormContent",vue.normalizeProps(vue.guardReactiveProps(ze)),void 0,!0)]),_:3},8,["flow-id","show","api-config","bkflow-saas-url","flow-version"])):vue.createCommentVNode("",!0),y.value?(vue.openBlock(),vue.createBlock(MockDataSideslider,{key:2,show:!!le.value,node:le.value,constants:y.value.pipeline_tree.constants,config:ue.value,onSave:tt,onCancel:vue.unref(J).closeConfigNode,"onUpdate:show":ot},null,8,["show","node","constants","config","onCancel"])):vue.createCommentVNode("",!0)]),_:3},8,["desc"])}}}),edit=_export_sfc(_sfc_main$j,[["__scopeId","data-v-454a169d"]]),edit$1=Object.freeze(Object.defineProperty({__proto__:null,default:edit},Symbol.toStringTag,{value:"Module"})),EXECUTED_EDGE_COLOR="#48A397",FAILED_EDGE_GRADIENT_START=.82,FAILED_EDGE_GRADIENT_END=.94,EXECUTION_END_STATUS_COLORS={FAILED:"#FA4E41",SUSPENDED:"#F59500",REVOKED:"#979BA5",SKIP:"#C4C6CC"};function createExecutionStatusPlugin(e){return{name:"execution-status",priority:100,decorateEdge(t){const n=e.value;if(!n)return;const r=n[t.source.nodeId];if(!r)return;const i=n[t.target.nodeId];if(!i)return;const C=i.status in EXECUTION_END_STATUS_COLORS?EXECUTION_END_STATUS_COLORS[i.status]:void 0;if(r.status==="FINISHED")return C?{strokeColor:{type:"linearGradient",stops:[{offset:0,color:EXECUTED_EDGE_COLOR},{offset:FAILED_EDGE_GRADIENT_START,color:EXECUTED_EDGE_COLOR},{offset:FAILED_EDGE_GRADIENT_END,color:C},{offset:1,color:C}]},targetMarkerColor:C}:{strokeColor:EXECUTED_EDGE_COLOR}}}}const GATEWAY_TYPE_TO_SCHEMA={ExclusiveGateway:"exclusive-gateway",ParallelGateway:"parallel-gateway",ConditionalParallelGateway:"conditional-parallel-gateway",ConvergeGateway:"converge-gateway"};function mergeNodeStatesToPipelineTree(e,t){if(!t||Object.keys(t).length===0)return e;const n={...e.activities};for(const[k,y]of Object.entries(t)){const B=n[k];if(!B)continue;const L={...B,status:y.status};y.retry!==void 0&&(L.retry=y.retry),y.skip!==void 0&&(L.skip=y.skip),(y.errorIgnored??y.error_ignored)!==void 0&&(L.error_ignored=y.errorIgnored??y.error_ignored),y.loop!==void 0&&(L.loop=y.loop),y.phase!==void 0&&(L.phase=y.phase),n[k]=L}const r={...e.gateways};for(const[k,y]of Object.entries(t))r[k]&&(r[k]={...r[k],status:y.status});const i=e.start_event&&t[e.start_event.id]?{...e.start_event,status:t[e.start_event.id].status}:e.start_event,C=e.end_event&&t[e.end_event.id]?{...e.end_event,status:t[e.end_event.id].status}:e.end_event;return{...e,activities:n,gateways:r,start_event:i,end_event:C}}function getSchemaNodeType(e,t){if(!e)return"";if(e.activities?.[t])return"task";const n=e.gateways?.[t];return n?GATEWAY_TYPE_TO_SCHEMA[n.type]??"":e.start_event?.id===t?"start-event":e.end_event?.id===t?"end-event":""}function buildResolverState(e,t,n){const r=e?.[n];if(!r)return;const i=t?.activities?.[n];return i?{...r,taskState:r.taskState??r.task_state,retryable:r.retryable??i.retryable,skippable:r.skippable??i.skippable,errorIgnorable:r.errorIgnorable??r.error_ignorable??i.error_ignorable,hasAdminPerm:r.hasAdminPerm??r.has_admin_perm,errorIgnored:r.errorIgnored??r.error_ignored,nodeCode:r.nodeCode??r.code??i.component?.code,actions:r.actions??r.action_list}:{...r,taskState:r.taskState??r.task_state,nodeCode:r.nodeCode??r.code,errorIgnorable:r.errorIgnorable??r.error_ignorable,hasAdminPerm:r.hasAdminPerm??r.has_admin_perm,errorIgnored:r.errorIgnored??r.error_ignored,actions:r.actions??r.action_list}}function resolveExecutionActions(e,t){if(!e)return[];const n=normalizeExecutionState(e);return n.taskState==="REVOKED"||n.status==="REVOKED"?[]:n.actions&&n.actions.length>0?n.actions:t==="task"?resolveTaskActions(n):isSkippableGatewayType(t)?resolveGatewayActions(n):[]}function resolveTaskActions(e){const t=[];if(e.status==="FAILED")return(e.retryable||e.errorIgnorable)&&t.push("retry"),(e.skippable||e.errorIgnorable)&&t.push("skip"),t;if(e.status==="RUNNING"){const n=e.nodeCode;return n==="pause_node"?(t.push("resume"),t):n==="bk_approve"?(t.push("approve"),t):(t.push("forceFail"),t)}return t}function resolveGatewayActions(e){return e.status==="FAILED"?["gatewaySkip"]:[]}function isSkippableGatewayType(e){return e==="exclusive-gateway"||e==="parallel-gateway"||e==="conditional-parallel-gateway"}function normalizeExecutionState(e){return{...e,taskState:e.taskState??e.task_state,nodeCode:e.nodeCode??e.code,errorIgnorable:e.errorIgnorable??e.error_ignorable,hasAdminPerm:e.hasAdminPerm??e.has_admin_perm,errorIgnored:e.errorIgnored??e.error_ignored,actions:e.actions??e.action_list}}const HOVER_LEAVE_GRACE=150;function useActionPopover(e){const t=vue.reactive({visible:!1,nodeId:"",actions:[],position:{x:0,y:0}});let n=null;function r(){n&&(clearTimeout(n),n=null)}function i(){r(),n=setTimeout(()=>{t.visible=!1,n=null},HOVER_LEAVE_GRACE)}function C(){r(),t.visible=!1}function k(R){const z=e.getPipelineTree(),j=buildResolverState(e.getNodeStates(),z,R);if(!j){C();return}const $=getSchemaNodeType(z,R),H=resolveExecutionActions(j,$);if(H.length===0){C();return}const Q=e.getNodeViewportRect(R);if(!Q){C();return}r(),t.nodeId=R,t.actions=H,t.position={x:Q.x+Q.width,y:Q.y+Q.height},t.visible=!0}function y(){r()}function B(){i()}function L(R){if(R.type==="node.mouseenter"){k(R.nodeId);return}if(R.type==="node.mouseleave"){R.nodeId===t.nodeId&&i();return}R.type==="blank.click"&&C()}return vue.onBeforeUnmount(()=>{r()}),{actionPopover:t,openActionPopover:k,closeActionPopover:C,handlePopoverEnter:y,handlePopoverLeave:B,handleUiEvent:L}}const _hoisted_1$e={class:"execution-action-popover__actions"},_hoisted_2$c={key:0,class:"execution-action-popover__divider","aria-hidden":"true"},_hoisted_3$b=["title","onClick","onKeydown"],_hoisted_4$9={class:"execution-action-popover__label"},_sfc_main$i=vue.defineComponent({__name:"index",props:{visible:{type:Boolean},nodeId:{},actions:{},position:{}},emits:["popover-enter","popover-leave","action"],setup(e,{emit:t}){const n={retry:{label:"重试",icon:"bkflow-canvas-icon bkflow-canvas-retry"},skip:{label:"跳过",icon:"bkflow-canvas-icon bkflow-canvas-skip"},resume:{label:"继续",icon:"bkflow-canvas-icon bkflow-canvas-play"},approve:{label:"审批",icon:"bkflow-canvas-icon bkflow-canvas-circulation"},forceFail:{label:"强制终止",icon:"bkflow-canvas-icon bkflow-canvas-mandatory-failure"},gatewaySkip:{label:"跳过",icon:"bkflow-canvas-icon bkflow-canvas-skip"}},r=e,i=t,C=vue.computed(()=>r.actions.map(R=>({key:R,...n[R]??{label:R,icon:""}}))),k=vue.computed(()=>({left:`${r.position.x}px`,top:`${r.position.y+4}px`})),y=R=>{i("action",{nodeId:r.nodeId,action:R})},B=()=>{i("popover-enter")},L=()=>{i("popover-leave")};return(R,z)=>(vue.openBlock(),vue.createBlock(vue.Teleport,{to:"body"},[e.visible?(vue.openBlock(),vue.createElementBlock("div",{key:0,ref:"popoverRef",class:"execution-action-popover",style:vue.normalizeStyle(k.value),onMouseenter:B,onMouseleave:L,onClick:z[0]||(z[0]=vue.withModifiers(()=>{},["stop"]))},[vue.createElementVNode("div",_hoisted_1$e,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(C.value,(j,$)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:j.key},[$>0?(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$c)):vue.createCommentVNode("",!0),vue.createElementVNode("span",{class:"execution-action-popover__item",title:j.label,role:"button",tabindex:"0",onClick:H=>y(j.key),onKeydown:[vue.withKeys(vue.withModifiers(H=>y(j.key),["prevent"]),["enter"]),vue.withKeys(vue.withModifiers(H=>y(j.key),["prevent"]),["space"])]},[vue.createElementVNode("i",{class:vue.normalizeClass(["execution-action-popover__icon",j.icon])},null,2),vue.createElementVNode("span",_hoisted_4$9,vue.toDisplayString(j.label),1)],40,_hoisted_3$b)],64))),128))])],36)):vue.createCommentVNode("",!0)]))}}),ExecutionActionPopover=_export_sfc(_sfc_main$i,[["__scopeId","data-v-868d8e66"]]),_hoisted_1$d={class:"flow-execute-page-content"},_sfc_main$h=vue.defineComponent({__name:"execute",props:{pipelineTree:{},nodeStates:{default:()=>({})},defaultZoom:{default:1},apiConfig:{},bkflowSaasUrl:{},showHeader:{type:Boolean,default:!0},onBack:{}},emits:["back","node-click","ui-event","execution-action","retry","skip","gatewaySkip","resume","approve","forceFail"],setup(e,{emit:t}){const n=vue.useSlots(),r=e,i=t;provideFlowApiConfig(r.apiConfig),setContext({},r.bkflowSaasUrl);const C=vue.ref(),k=vue.computed(()=>r.nodeStates??{}),y=vue.shallowRef([createExecutionStatusPlugin(k)]),B=vue.computed(()=>r.pipelineTree?mergeNodeStatesToPipelineTree(r.pipelineTree,r.nodeStates):null),{actionPopover:L,closeActionPopover:R,handlePopoverEnter:z,handlePopoverLeave:j,handleUiEvent:$}=useActionPopover({getNodeStates:()=>r.nodeStates,getPipelineTree:()=>B.value,getNodeViewportRect:ee=>C.value?.editor?.api?.value?.overlay?.getNodeViewportRect?.(ee)});function H(ee){i("execution-action",ee),i(ee.action,ee.nodeId),R()}const Q=()=>{typeof r.onBack=="function"?r.onBack():i("back")},W=ee=>{i("node-click",ee)},te=ee=>{i("ui-event",ee),$(ee)};return(ee,q)=>{const G=vue.resolveDirective("bkloading");return vue.openBlock(),vue.createBlock(ContainerLayout,{title:"任务执行","show-back-icon":!0,"show-header":r.showHeader,onBack:Q},vue.createSlots({extend:vue.withCtx(()=>[vue.renderSlot(ee.$slots,"extend",{},void 0,!0)]),default:vue.withCtx(()=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_1$d,[B.value?(vue.openBlock(),vue.createBlock(BkFlowCanvas,{key:0,ref_key:"canvasRef",ref:C,mode:"view","pipeline-tree":B.value,"default-zoom":r.defaultZoom,"additional-plugins":y.value,onNodeClick:W,onUiEvent:te},null,8,["pipeline-tree","default-zoom","additional-plugins"])):vue.createCommentVNode("",!0)])),[[G,{loading:!r.pipelineTree}]]),vue.createVNode(ExecutionActionPopover,{visible:vue.unref(L).visible,"node-id":vue.unref(L).nodeId,actions:vue.unref(L).actions,position:vue.unref(L).position,onPopoverEnter:vue.unref(z),onPopoverLeave:vue.unref(j),onAction:H},null,8,["visible","node-id","actions","position","onPopoverEnter","onPopoverLeave"])]),_:2},[vue.unref(n).header?{name:"header",fn:vue.withCtx(()=>[vue.renderSlot(ee.$slots,"header",{},void 0,!0)]),key:"0"}:void 0]),1032,["show-header"])}}}),execute=_export_sfc(_sfc_main$h,[["__scopeId","data-v-d2ccd1b2"]]),execute$1=Object.freeze(Object.defineProperty({__proto__:null,default:execute},Symbol.toStringTag,{value:"Module"})),DOT_COUNT=3,_sfc_main$g=vue.defineComponent({__name:"index",props:{size:{default:20},width:{default:""},dotSize:{default:4},color:{default:""}},setup(e){const t=e,n=i=>typeof i=="number"?`${i}px`:i,r=vue.computed(()=>({"--bkflow-loading-dots-icon-width":t.width?n(t.width):n(t.size),"--bkflow-loading-dots-icon-size":n(t.size),"--bkflow-loading-dots-icon-dot-size":n(t.dotSize),color:t.color||void 0}));return(i,C)=>(vue.openBlock(),vue.createElementBlock("span",{class:"bkflow-loading-dots-icon",style:vue.normalizeStyle(r.value),"aria-hidden":"true"},[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(DOT_COUNT,k=>vue.createElementVNode("span",{key:k,class:"bkflow-loading-dots-icon__dot"})),64))],4))}}),LoadingDotsIcon=_export_sfc(_sfc_main$g,[["__scopeId","data-v-dd36d9ac"]]),_hoisted_1$c={class:"debug-status-bar__label"},_hoisted_2$b={class:"debug-status-bar__elapsed"},_hoisted_3$a={class:"debug-status-bar__failed-count"},_sfc_main$f=vue.defineComponent({__name:"index",props:{status:{default:"RUNNING"},startedAt:{default:void 0},elapsed:{default:void 0},failedCount:{default:0}},emits:["stop","locate-failed"],setup(e,{emit:t}){const n=e,r=t,i=vue.ref(Date.now());let C;const k=vue.computed(()=>n.status??"RUNNING"),y=vue.computed(()=>({RUNNING:"正在调试",FINISHED:"调试成功",FAILED:"调试失败"})[k.value]),B=vue.computed(()=>({RUNNING:"",FINISHED:"bkflow-canvas-dark-circle-checkbox",FAILED:"bkflow-canvas-dark-circle-close"})[k.value]),L=vue.computed(()=>k.value!=="RUNNING"&&n.elapsed!=null?n.elapsed:n.startedAt?Math.max(0,Math.floor((i.value-n.startedAt)/1e3)):0),R=vue.computed(()=>{const $=L.value,H=Math.floor($/3600),Q=Math.floor($%3600/60),W=$%60,te=String(Q).padStart(2,"0"),ee=String(W).padStart(2,"0");return H>0?`${String(H).padStart(2,"0")}:${te}:${ee}`:`${te}:${ee}`}),z=()=>{j(),C=setInterval(()=>{i.value=Date.now()},1e3)},j=()=>{C&&(clearInterval(C),C=void 0)};return vue.watch(k,$=>{$==="RUNNING"?z():j()},{immediate:!0}),vue.onBeforeUnmount(()=>{j()}),($,H)=>{const Q=vue.resolveComponent("bk-button"),W=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["debug-status-bar",`is-${k.value.toLowerCase()}`])},[k.value==="RUNNING"?(vue.openBlock(),vue.createBlock(LoadingStatusIcon,{key:0,class:"debug-status-bar__icon",size:14})):(vue.openBlock(),vue.createElementBlock("i",{key:1,class:vue.normalizeClass(["debug-status-bar__icon bkflow-canvas-icon",B.value])},null,2)),vue.createElementVNode("span",_hoisted_1$c,vue.toDisplayString(y.value),1),H[4]||(H[4]=vue.createElementVNode("span",{class:"debug-status-bar__divider"},null,-1)),vue.createElementVNode("span",_hoisted_2$b,vue.toDisplayString(R.value),1),k.value==="RUNNING"?(vue.openBlock(),vue.createBlock(Q,{key:2,text:"",class:"debug-status-bar__action debug-status-bar__action--stop",onClick:H[0]||(H[0]=te=>r("stop"))},{default:vue.withCtx(()=>[...H[2]||(H[2]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-zhongzhi debug-status-bar__action-icon"},null,-1),vue.createTextVNode(" 终止调试 ",-1)])]),_:1})):vue.createCommentVNode("",!0),k.value==="FAILED"&&n.failedCount>0?(vue.openBlock(),vue.createBlock(Q,{key:3,text:"",class:"debug-status-bar__action debug-status-bar__action--locate",onClick:H[1]||(H[1]=te=>r("locate-failed"))},{default:vue.withCtx(()=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("span",_hoisted_3$a,[vue.createTextVNode(vue.toDisplayString(n.failedCount),1)])),[[W,"定位错误"]]),H[3]||(H[3]=vue.createTextVNode(" 个节点错误 ",-1))]),_:1})):vue.createCommentVNode("",!0)],2)}}}),DebugStatusBar=_export_sfc(_sfc_main$f,[["__scopeId","data-v-dfddc841"]]),_hoisted_1$b={key:0,class:"bkflow-segment-tabs__divider"},_hoisted_2$a=["onClick"],_hoisted_3$9={key:2,class:"bkflow-segment-tabs__label"},_hoisted_4$8={key:3,class:"bkflow-segment-tabs__count"},SCROLL_STEP=120,_sfc_main$e=vue.defineComponent({__name:"index",props:{modelValue:{},items:{},size:{default:"default"}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,r=t,i=vue.ref(),C=vue.ref(!1),k=vue.ref(!1),y=()=>{const R=i.value;R&&(C.value=R.scrollLeft>1,k.value=R.scrollLeft+R.clientWidth<R.scrollWidth-1)},B=R=>{i.value?.scrollBy({left:R,behavior:"smooth"})};let L;return vue.onMounted(()=>{vue.nextTick(y),i.value&&(L=new ResizeObserver(y),L.observe(i.value))}),vue.onBeforeUnmount(()=>{L?.disconnect()}),vue.watch(()=>n.items,()=>vue.nextTick(y)),(R,z)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["bkflow-segment-tabs",{"is-small":n.size==="small"}])},[C.value?(vue.openBlock(),vue.createElementBlock("span",{key:0,class:"bkflow-segment-tabs__arrow is-left",onClick:z[0]||(z[0]=j=>B(-SCROLL_STEP))})):vue.createCommentVNode("",!0),vue.createElementVNode("div",{ref_key:"trackRef",ref:i,class:"bkflow-segment-tabs__track",onScroll:y},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(n.items,(j,$)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:j.value},[$>0?(vue.openBlock(),vue.createElementBlock("span",_hoisted_1$b)):vue.createCommentVNode("",!0),vue.createElementVNode("button",{class:vue.normalizeClass(["bkflow-segment-tabs__item",{"is-active":j.value===n.modelValue}]),type:"button",onClick:H=>r("update:modelValue",j.value)},[j.iconComponent?(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(j.iconComponent),{key:0,class:"bkflow-segment-tabs__icon",style:vue.normalizeStyle(j.iconColor?{color:j.iconColor}:void 0)},null,8,["style"])):j.icon?(vue.openBlock(),vue.createElementBlock("i",{key:1,class:vue.normalizeClass(["bkflow-segment-tabs__icon bkflow-canvas-icon",j.icon]),style:vue.normalizeStyle(j.iconColor?{color:j.iconColor}:void 0)},null,6)):vue.createCommentVNode("",!0),j.label?(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$9,vue.toDisplayString(j.label),1)):vue.createCommentVNode("",!0),j.count!=null?(vue.openBlock(),vue.createElementBlock("span",_hoisted_4$8,vue.toDisplayString(j.count),1)):vue.createCommentVNode("",!0)],10,_hoisted_2$a)],64))),128))],544),k.value?(vue.openBlock(),vue.createElementBlock("span",{key:1,class:"bkflow-segment-tabs__arrow is-right",onClick:z[1]||(z[1]=j=>B(SCROLL_STEP))})):vue.createCommentVNode("",!0)],2))}}),SegmentTabs=_export_sfc(_sfc_main$e,[["__scopeId","data-v-2cd0beb6"]]),_hoisted_1$a={class:"debug-node-list"},_hoisted_2$9={key:0,class:"debug-node-list__items",role:"listbox"},_hoisted_3$8=["aria-selected","onClick","onKeydown"],_hoisted_4$7=["title"],_hoisted_5$7={key:0,class:"debug-node-list__mock"},_hoisted_6$6={key:1,class:"debug-node-list__empty"},_sfc_main$d=vue.defineComponent({__name:"node-list",props:{nodes:{},modelValue:{default:""}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,r=t,i=vue.ref(""),C=vue.ref("ALL"),k=[{value:"ALL",label:"全部",icon:"",iconColor:""},{value:"FINISHED",icon:"bkflow-canvas-dark-circle-checkbox",iconColor:"#2dcb56"},{value:"FAILED",icon:"bkflow-canvas-circle-alert-filled",iconColor:"#ea3636"},{value:"RUNNING",iconComponent:LoadingStatusIcon,iconColor:"#3a84ff"},{value:"CREATED",icon:"bkflow-canvas-weizhixing",iconColor:"#c4c6cc"},{value:"SUSPENDED",icon:"bkflow-canvas-guaqi",iconColor:"#ff9c01"},{value:"REVOKED",icon:"bkflow-canvas-tiaoguo",iconColor:"#6e89af"}],y=vue.computed(()=>{const j=i.value.trim().toLowerCase();return n.nodes.filter($=>C.value==="ALL"||($.status||"CREATED")===C.value?j?$.name.toLowerCase().includes(j)||$.id.toLowerCase().includes(j):!0:!1)}),B={FINISHED:"成功",FAILED:"失败",RUNNING:"执行中",SUSPENDED:"暂停",CREATED:"未执行",REVOKED:"已撤销"},L=vue.computed(()=>i.value.trim()?"搜索结果为空":C.value!=="ALL"?`暂无${B[C.value]}状态节点`:"暂无节点"),R=()=>{i.value="",C.value="ALL"},z=vue.computed(()=>k.map(j=>({...j,count:j.value==="ALL"?n.nodes.length:n.nodes.filter($=>($.status||"CREATED")===j.value).length})));return(j,$)=>{const H=vue.resolveComponent("bk-input");return vue.openBlock(),vue.createElementBlock("aside",_hoisted_1$a,[vue.createVNode(H,{modelValue:i.value,"onUpdate:modelValue":$[0]||($[0]=Q=>i.value=Q),class:"debug-node-list__search",placeholder:"搜索节点名称",type:"search",clearable:""},null,8,["modelValue"]),vue.createVNode(SegmentTabs,{modelValue:C.value,"onUpdate:modelValue":$[1]||($[1]=Q=>C.value=Q),class:"debug-node-list__stats",items:z.value},null,8,["modelValue","items"]),y.value.length>0?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$9,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(y.value,Q=>(vue.openBlock(),vue.createElementBlock("div",{key:Q.id,class:vue.normalizeClass(["debug-node-list__item",{"is-active":Q.id===n.modelValue}]),role:"option",tabindex:"0","aria-selected":Q.id===n.modelValue,onClick:W=>r("update:modelValue",Q.id),onKeydown:vue.withKeys(vue.withModifiers(W=>r("update:modelValue",Q.id),["prevent"]),["enter","space"])},[vue.createElementVNode("span",{class:vue.normalizeClass(["debug-node-list__status",`is-${(Q.status||"CREATED").toLowerCase()}`])},[Q.status==="RUNNING"?(vue.openBlock(),vue.createBlock(LoadingStatusIcon,{key:0,size:12})):Q.iconClass?(vue.openBlock(),vue.createElementBlock("i",{key:1,class:vue.normalizeClass(Q.iconClass)},null,2)):vue.createCommentVNode("",!0)],2),vue.createElementVNode("span",{class:"debug-node-list__name",title:`${Q.name} ${Q.typeName||""}`},vue.toDisplayString(Q.name),9,_hoisted_4$7),Q.hasMockConfig?(vue.openBlock(),vue.createElementBlock("span",_hoisted_5$7,"MOCK")):vue.createCommentVNode("",!0)],42,_hoisted_3$8))),128))])):(vue.openBlock(),vue.createElementBlock("div",_hoisted_6$6,[vue.createVNode(EmptyException,{"is-search":!1,title:L.value,onClear:R},null,8,["title"])]))])}}}),NodeList=_export_sfc(_sfc_main$d,[["__scopeId","data-v-8864ef7f"]]),toPlainRecord=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:void 0,unwrapDebugResponseData=e=>{const t=toPlainRecord(e);return!t||!("data"in t)?e:t.data},isComplexDebugValue=e=>!!(e&&typeof e=="object"),formatDebugResultData=e=>{if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}},formatDebugValue=e=>e==null||e===""?"--":typeof e=="boolean"?e?"true":"false":typeof e=="number"?String(e):typeof e=="string"?e:Array.isArray(e)?"[ ... ]":"{ ... }",getDebugValueSummary=e=>{if(Array.isArray(e))return e.length>0?"[ ... ]":"[]";const t=toPlainRecord(e);return t?Object.keys(t).length>0?"{ ... }":"{}":formatDebugValue(e)},toDebugInputValueRows=(e,t={})=>{const n=toPlainRecord(e);return n?Object.entries(n).map(([r,i])=>({name:t[r]||r,key:r,value:i})):[]},toDebugOutputValueRows=(e,t={})=>{if(Array.isArray(e))return e.map((r,i)=>{const C=toPlainRecord(r),k=String(C?.key??C?.id??i);return{name:t[k]||String(C?.name??C?.label??k),key:k,value:C&&"value"in C?C.value:r}});const n=toPlainRecord(e);return n?Object.entries(n).map(([r,i])=>({name:t[r]||r,key:r,value:toPlainRecord(i)&&"value"in i?i.value:i})):[]},normalizeLogText=e=>{const t=unwrapDebugResponseData(e);return typeof t=="string"?t:formatDebugResultData(t)},formatElapsedTime=e=>{if(typeof e!="number")return"--";if(e<1)return"小于 1 秒";if(e<60)return`${e} 秒`;const t=Math.floor(e/60),n=e%60;return n>0?`${t} 分 ${n} 秒`:`${t} 分`},SHARED_NODE_DETAIL_KEY=Symbol("shared-node-detail"),getErrorMessage$3=e=>typeof e=="string"?e:e instanceof Error?e.message:"加载失败",buildCacheKey=(e,t)=>`${e??""}_${t??""}`;function useSharedNodeDetail(e){const t=useFlowApiConfig(),n=vue.ref(!1),r=vue.ref(""),i=vue.shallowRef(),C=new Map;let k=0;const y=async()=>{const L=e.taskId(),R=e.nodeId(),z=++k;if(!L||!R){n.value=!1,r.value="",i.value=void 0;return}const j=buildCacheKey(L,R),$=C.get(j);if($){n.value=!1,r.value="",i.value=$;return}if(!t.fetchTaskNodeDetail){n.value=!1,r.value="节点执行详情接口未配置",i.value=void 0;return}n.value=!0,r.value="";try{const H=await t.fetchTaskNodeDetail({task_id:L,node_id:R});if(z!==k)return;const Q=toPlainRecord(unwrapDebugResponseData(H));Q&&C.set(j,Q),i.value=Q}catch(H){if(z!==k)return;console.error(H),r.value=getErrorMessage$3(H),i.value=void 0}finally{z===k&&(n.value=!1)}};vue.watch(()=>[e.taskId(),e.nodeId()],()=>{y()},{immediate:!0});const B={loading:n,error:r,detail:i};return vue.provide(SHARED_NODE_DETAIL_KEY,B),B}function useInjectedNodeDetail(){const e=vue.inject(SHARED_NODE_DETAIL_KEY);if(!e)throw new Error("useInjectedNodeDetail: shared node detail is not provided");return e}const _hoisted_1$9={class:"execution-info-tab"},_hoisted_2$8={key:0,class:"execution-info-tab__state is-error"},_hoisted_3$7={class:"execution-info-tab__section"},_hoisted_4$6={class:"execution-info-tab__section"},_hoisted_5$6={class:"execution-info-tab__table"},_sfc_main$c=vue.defineComponent({__name:"execution-info",setup(e){const{loading:t,error:n,detail:r}=useInjectedNodeDetail(),i=vue.computed(()=>String(r.value?.ex_data??"")),C=vue.computed(()=>[{label:"开始时间",value:formatDebugValue(r.value?.start_time)},{label:"结束时间",value:formatDebugValue(r.value?.finish_time)},{label:"耗时",value:formatElapsedTime(r.value?.elapsed_time)}]);return(k,y)=>{const B=vue.resolveDirective("bkloading");return vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_1$9,[vue.unref(n)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$8,vue.toDisplayString(vue.unref(n)),1)):vue.unref(r)?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createElementVNode("section",_hoisted_3$7,[y[0]||(y[0]=vue.createElementVNode("h3",null,"异常信息",-1)),vue.createElementVNode("div",{class:vue.normalizeClass(["execution-info-tab__exception",{"is-empty":!i.value}])},vue.toDisplayString(i.value||"暂无异常"),3)]),vue.createElementVNode("section",_hoisted_4$6,[y[1]||(y[1]=vue.createElementVNode("h3",null,"执行信息",-1)),vue.createElementVNode("table",_hoisted_5$6,[vue.createElementVNode("tbody",null,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(C.value,L=>(vue.openBlock(),vue.createElementBlock("tr",{key:L.label},[vue.createElementVNode("th",null,vue.toDisplayString(L.label),1),vue.createElementVNode("td",null,vue.toDisplayString(L.value),1)]))),128))])])])],64)):vue.unref(t)?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(EmptyException,{key:2,title:"暂无执行信息"}))])),[[B,{loading:vue.unref(t)}]])}}}),ExecutionInfo=_export_sfc(_sfc_main$c,[["__scopeId","data-v-43618193"]]),_hoisted_1$8={class:"debug-json-viewer"},_hoisted_2$7={class:"debug-json-viewer__line"},_hoisted_3$6={key:1,class:"debug-json-viewer__key"},_hoisted_4$5={class:"debug-json-viewer__summary"},_hoisted_5$5={key:0,class:"debug-json-viewer__children"},_hoisted_6$5={key:1,class:"debug-json-viewer__line"},_hoisted_7$3={key:0,class:"debug-json-viewer__key"},_sfc_main$b=vue.defineComponent({name:"DebugJsonViewer",__name:"debug-json-viewer",props:{label:{default:""},value:{},level:{default:0},defaultExpanded:{type:Boolean,default:!1}},setup(e){const t=e,n=vue.ref(t.defaultExpanded),r=vue.computed(()=>isComplexDebugValue(t.value)),i=vue.computed(()=>getDebugValueSummary(t.value)),C=vue.computed(()=>t.value===null?"null":typeof t.value),k=vue.computed(()=>formatDebugResultData(t.value)),y=vue.computed(()=>{if(Array.isArray(t.value))return t.value.map((R,z)=>({key:String(z),value:R}));const L=toPlainRecord(t.value);return L?Object.entries(L).map(([R,z])=>({key:R,value:z})):[]}),B=async L=>{const R=formatDebugResultData(L);try{await navigator.clipboard?.writeText(R)}catch{const j=document.createElement("textarea");j.value=R,j.style.position="fixed",j.style.opacity="0",document.body.appendChild(j),j.select(),document.execCommand("copy"),document.body.removeChild(j)}BkMessage({theme:"success",message:"复制成功"})};return(L,R)=>{const z=vue.resolveComponent("DebugJsonViewer",!0);return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$8,[r.value?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createElementVNode("div",_hoisted_2$7,[y.value.length>0?(vue.openBlock(),vue.createElementBlock("span",{key:0,class:"debug-json-viewer__toggle",onClick:R[0]||(R[0]=j=>n.value=!n.value)},vue.toDisplayString(n.value?"▼":"▶"),1)):vue.createCommentVNode("",!0),t.label?(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$6,vue.toDisplayString(t.label)+":",1)):vue.createCommentVNode("",!0),vue.createElementVNode("span",_hoisted_4$5,vue.toDisplayString(i.value),1),y.value.length>0?(vue.openBlock(),vue.createElementBlock("i",{key:2,class:"bkflow-canvas-icon bkflow-canvas-bkflow-copy debug-json-viewer__copy",title:"复制",onClick:R[1]||(R[1]=j=>B(t.value))})):vue.createCommentVNode("",!0)]),n.value&&y.value.length>0?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$5,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(y.value,j=>(vue.openBlock(),vue.createBlock(z,{key:j.key,label:j.key,value:j.value,level:t.level+1},null,8,["label","value","level"]))),128))])):vue.createCommentVNode("",!0)],64)):(vue.openBlock(),vue.createElementBlock("div",_hoisted_6$5,[t.label?(vue.openBlock(),vue.createElementBlock("span",_hoisted_7$3,vue.toDisplayString(t.label)+":",1)):vue.createCommentVNode("",!0),vue.createElementVNode("span",{class:vue.normalizeClass(["debug-json-viewer__primitive",`is-${C.value}`])},vue.toDisplayString(k.value),3)]))])}}}),DebugJsonViewer=_export_sfc(_sfc_main$b,[["__scopeId","data-v-32f8c36e"]]),_hoisted_1$7={class:"debug-value-table"},_hoisted_2$6={key:0,class:"debug-value-table__state is-error"},_hoisted_3$5={class:"debug-value-table__toolbar"},_hoisted_4$4={key:0,class:"debug-value-table__table"},_hoisted_5$4=["title"],_hoisted_6$4={class:"debug-value-table__value"},_hoisted_7$2={key:1},_hoisted_8$2={key:1,class:"debug-value-table__json-mode"},_sfc_main$a=vue.defineComponent({__name:"debug-value-table",props:{rows:{},loading:{type:Boolean,default:!1},error:{default:""},emptyText:{default:"暂无数据"}},setup(e){const t=e,n=vue.ref("kv"),r=[{value:"kv",label:"KV"},{value:"json",label:"JSON"}],i=vue.computed(()=>Object.fromEntries(t.rows.map(C=>[C.key||C.name,C.value])));return(C,k)=>{const y=vue.resolveDirective("bkloading");return vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_1$7,[t.error?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$6,vue.toDisplayString(t.error),1)):!t.loading&&t.rows.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:1,title:t.emptyText},null,8,["title"])):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:2},[vue.createElementVNode("div",_hoisted_3$5,[vue.createVNode(SegmentTabs,{modelValue:n.value,"onUpdate:modelValue":k[0]||(k[0]=B=>n.value=B),items:r},null,8,["modelValue"])]),n.value==="kv"?(vue.openBlock(),vue.createElementBlock("table",_hoisted_4$4,[k[1]||(k[1]=vue.createElementVNode("thead",null,[vue.createElementVNode("tr",null,[vue.createElementVNode("th",null,"参数名"),vue.createElementVNode("th",null,"参数值")])],-1)),vue.createElementVNode("tbody",null,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(t.rows,B=>(vue.openBlock(),vue.createElementBlock("tr",{key:B.key},[vue.createElementVNode("td",{class:"debug-value-table__name",title:B.name},vue.toDisplayString(B.name),9,_hoisted_5$4),vue.createElementVNode("td",_hoisted_6$4,[vue.unref(isComplexDebugValue)(B.value)?(vue.openBlock(),vue.createBlock(DebugJsonViewer,{key:0,value:B.value},null,8,["value"])):(vue.openBlock(),vue.createElementBlock("span",_hoisted_7$2,vue.toDisplayString(vue.unref(formatDebugValue)(B.value)),1))])]))),128))])])):(vue.openBlock(),vue.createElementBlock("div",_hoisted_8$2,[vue.createVNode(DebugJsonViewer,{value:i.value,"default-expanded":""},null,8,["value"])]))],64))])),[[y,{loading:t.loading}]])}}}),DebugValueTable=_export_sfc(_sfc_main$a,[["__scopeId","data-v-1399d4df"]]),PLUGIN_PARAM_NAMES_KEY=Symbol("plugin-param-names"),getErrorMessage$2=e=>typeof e=="string"?e:e instanceof Error?e.message:"加载失败",buildPluginCacheKey=e=>{if(!e?.code)return"";const t=e.data?.plugin_code?.value,n=e.data?.plugin_version?.value;return[e.code,e.version??"",e.api_meta?.id??"",typeof t=="string"?t:String(t??""),typeof n=="string"?n:String(n??"")].join("|")},buildInputNameMap=e=>{const t={},{inputs:n,inputParamsFormType:r}=e;if(r==="uniformApiForm")return n.forEach(i=>{i.key&&(t[i.key]=i.name||i.key)}),t;if(r==="jsonschemaform"){const C=n?.properties??{};return Object.entries(C).forEach(([k,y])=>{const B=toPlainRecord(y),L=typeof B?.title=="string"?B.title:"";t[k]=L||k}),t}return n.forEach(i=>{i.tag_code&&(t[i.tag_code]=i.name||i.tag_code)}),t},buildOutputNameMap=e=>{const t={};return e.forEach(n=>{n.key&&(t[n.key]=n.name||n.key)}),t};function usePluginParamNames(e){const t=useFlowApiConfig(),n=vue.ref(!1),r=vue.shallowRef({}),i=vue.shallowRef({}),C=new Map;let k=0;const y=async()=>{const L=e.component(),R=++k;if(!L?.code){n.value=!1,r.value={},i.value={};return}const z=buildPluginCacheKey(L),j=C.get(z);if(j){n.value=!1,r.value=j.inputNameMap,i.value=j.outputNameMap;return}n.value=!0;try{const $=await pluginDetailRequest(t,L);if(R!==k)return;const H=buildInputNameMap($),Q=buildOutputNameMap($.outputs);C.set(z,{inputNameMap:H,outputNameMap:Q}),r.value=H,i.value=Q}catch($){if(R!==k)return;console.error("Failed to fetch plugin param names:",getErrorMessage$2($)),r.value={},i.value={}}finally{R===k&&(n.value=!1)}};vue.watch(()=>buildPluginCacheKey(e.component()),()=>{y()},{immediate:!0});const B={loading:n,inputNameMap:r,outputNameMap:i};return vue.provide(PLUGIN_PARAM_NAMES_KEY,B),B}function useInjectedPluginParamNames(){const e=vue.inject(PLUGIN_PARAM_NAMES_KEY);if(!e)throw new Error("useInjectedPluginParamNames: plugin param names is not provided");return e}const _sfc_main$9=vue.defineComponent({__name:"input-params",setup(e){const{loading:t,error:n,detail:r}=useInjectedNodeDetail(),{loading:i,inputNameMap:C}=useInjectedPluginParamNames(),k=vue.computed(()=>t.value||i.value),y=vue.computed(()=>{const B=toDebugInputValueRows(r.value?.inputs,C.value),L=C.value;return Object.keys(L).length===0?B:B.filter(R=>R.key in L)});return(B,L)=>(vue.openBlock(),vue.createBlock(DebugValueTable,{loading:k.value,error:vue.unref(n),rows:y.value,"empty-text":"暂无输入参数"},null,8,["loading","error","rows"]))}}),_sfc_main$8=vue.defineComponent({__name:"output-params",setup(e){const{loading:t,error:n,detail:r}=useInjectedNodeDetail(),{loading:i,outputNameMap:C}=useInjectedPluginParamNames(),k=vue.computed(()=>t.value||i.value),y=vue.computed(()=>toDebugOutputValueRows(r.value?.outputs,C.value));return(B,L)=>(vue.openBlock(),vue.createBlock(DebugValueTable,{loading:k.value,error:vue.unref(n),rows:y.value,"empty-text":"暂无输出参数"},null,8,["loading","error","rows"]))}}),getErrorMessage$1=e=>typeof e=="string"?e:e instanceof Error?e.message:"加载失败";function useNodeResultData(e){const t=vue.ref(!1),n=vue.ref(""),r=vue.shallowRef();let i=0;const C=async()=>{const k=++i;if(!e.isReady()){t.value=!1,n.value="",r.value=void 0;return}t.value=!0,n.value="";try{const y=await e.load();k===i&&(r.value=y)}catch(y){k===i&&(console.error(y),n.value=getErrorMessage$1(y),r.value=void 0)}finally{k===i&&(t.value=!1)}};return vue.watch(e.dependencies,()=>{C()},{immediate:!0}),{loading:t,error:n,data:r,fetchData:C}}const _hoisted_1$6={class:"call-logs-viewer"},_hoisted_2$5={key:0,class:"call-logs-viewer__state is-error","data-test":"log-error"},_hoisted_3$4={key:2,class:"call-logs-viewer__viewer"},_hoisted_4$3={class:"call-logs-viewer__empty-body"},_hoisted_5$3={class:"call-logs-viewer__sub-tabs"},_hoisted_6$3=["onClick"],_sfc_main$7=vue.defineComponent({__name:"call-logs-viewer",props:{logText:{default:""},loading:{type:Boolean,default:!1},error:{default:""}},setup(e){const t=e,n=vue.ref("platform"),r=[{value:"platform",label:"平台日志"},{value:"thirdParty",label:"第三方插件日志"}],i={readOnly:!0,lineNumbers:"on",domReadOnly:!0},C=vue.computed(()=>(t.logText||"").replace(/\[bk-mark\]|\[\/bk-mark\]/g,""));return(k,y)=>{const B=vue.resolveDirective("bkloading");return vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_1$6,[t.error?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$5,vue.toDisplayString(t.error),1)):!t.loading&&!t.logText?(vue.openBlock(),vue.createBlock(EmptyException,{key:1,title:"暂无调用日志","data-test":"log-empty"})):t.logText?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$4,[n.value==="platform"?(vue.openBlock(),vue.createBlock(CodeEditor,{key:0,"model-value":C.value,options:i,"data-test":"log-editor"},null,8,["model-value"])):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[y[0]||(y[0]=vue.createElementVNode("div",{class:"call-logs-viewer__empty-header"},null,-1)),vue.createElementVNode("div",_hoisted_4$3,[vue.createVNode(EmptyException,{title:"暂无第三方插件日志"})])],64)),vue.createElementVNode("div",_hoisted_5$3,[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(r,L=>vue.createElementVNode("span",{key:L.value,class:vue.normalizeClass(["call-logs-viewer__sub-tab",{"is-active":n.value===L.value}]),"data-test":"log-sub-tab",onClick:R=>n.value=L.value},vue.toDisplayString(L.label),11,_hoisted_6$3)),64))])])):vue.createCommentVNode("",!0)])),[[B,{loading:t.loading}]])}}}),CallLogsViewer=_export_sfc(_sfc_main$7,[["__scopeId","data-v-21fe43ae"]]),_sfc_main$6=vue.defineComponent({__name:"call-logs",props:{taskId:{},nodeId:{},version:{}},setup(e){const t=e,n=useFlowApiConfig(),{loading:r,error:i,data:C}=useNodeResultData({dependencies:()=>[t.taskId,t.nodeId,t.version],isReady:()=>!!(t.taskId&&t.nodeId&&t.version),load:async()=>{if(!n.fetchTaskNodeLog)throw new Error("节点调用日志接口未配置");return await n.fetchTaskNodeLog({task_id:t.taskId,node_id:t.nodeId,version:t.version})}}),k=vue.computed(()=>normalizeLogText(C.value));return(y,B)=>(vue.openBlock(),vue.createBlock(CallLogsViewer,{"log-text":k.value,loading:vue.unref(r),error:vue.unref(i)},null,8,["log-text","loading","error"]))}}),_hoisted_1$5={class:"debug-result-tabs"},_sfc_main$5=vue.defineComponent({__name:"result-tabs",props:{taskId:{},activeNodeId:{},activeNodeVersion:{},activeNodeType:{default:""},activeNodeComponent:{default:void 0}},setup(e){const t=new Set(["开始节点","结束节点","网关节点"]),n=e,r=vue.ref("execution"),i=vue.computed(()=>t.has(n.activeNodeType));return useSharedNodeDetail({taskId:()=>n.taskId,nodeId:()=>n.activeNodeId}),usePluginParamNames({component:()=>n.activeNodeComponent}),(C,k)=>{const y=vue.resolveComponent("bk-tab-panel"),B=vue.resolveComponent("bk-tab");return vue.openBlock(),vue.createElementBlock("section",_hoisted_1$5,[vue.createVNode(B,{active:r.value,"onUpdate:active":k[0]||(k[0]=L=>r.value=L),type:"card-grid"},{default:vue.withCtx(()=>[vue.createVNode(y,{name:"execution",label:"执行信息"},{default:vue.withCtx(()=>[r.value==="execution"?(vue.openBlock(),vue.createBlock(ExecutionInfo,{key:0})):vue.createCommentVNode("",!0)]),_:1}),vue.createVNode(y,{name:"inputs",label:"输入参数"},{default:vue.withCtx(()=>[i.value?(vue.openBlock(),vue.createBlock(EmptyException,{key:0,title:"暂无输入参数"})):r.value==="inputs"?(vue.openBlock(),vue.createBlock(_sfc_main$9,{key:1})):vue.createCommentVNode("",!0)]),_:1}),vue.createVNode(y,{name:"outputs",label:"输出参数"},{default:vue.withCtx(()=>[i.value?(vue.openBlock(),vue.createBlock(EmptyException,{key:0,title:"暂无输出参数"})):r.value==="outputs"?(vue.openBlock(),vue.createBlock(_sfc_main$8,{key:1})):vue.createCommentVNode("",!0)]),_:1}),vue.createVNode(y,{name:"logs",label:"调用日志"},{default:vue.withCtx(()=>[r.value==="logs"?(vue.openBlock(),vue.createBlock(_sfc_main$6,{key:0,"task-id":n.taskId,"node-id":n.activeNodeId,version:n.activeNodeVersion},null,8,["task-id","node-id","version"])):vue.createCommentVNode("",!0)]),_:1})]),_:1},8,["active"])])}}}),ResultTabs=_export_sfc(_sfc_main$5,[["__scopeId","data-v-9b3059c0"]]),_hoisted_1$4={class:"debug-result-drawer__header"},_hoisted_2$4={class:"debug-result-drawer__body"},HEADER_HEIGHT=44,_sfc_main$4=vue.defineComponent({__name:"index",props:{open:{type:Boolean},taskId:{default:void 0},nodes:{},activeNodeId:{default:""},activeNodeVersion:{default:""},activeNodeComponent:{default:void 0}},emits:["update:open","update:activeNodeId"],setup(e,{emit:t}){const n=e,r=vue.computed(()=>n.nodes.find(ee=>ee.id===n.activeNodeId)?.typeName??""),i=t,C=vue.ref(420),k=vue.ref(!1);let y=0,B=0,L="",R="";const z=vue.computed(()=>({height:`${n.open?C.value:HEADER_HEIGHT}px`})),j=()=>{i("update:open",!n.open)},$=te=>{i("update:activeNodeId",te)},H=te=>{const ee=B-(te.clientY-y);C.value=Math.max(200,Math.min(window.innerHeight*.8,ee))},Q=()=>{document.removeEventListener("mousemove",H),document.removeEventListener("mouseup",Q),document.body.style.cursor=L,document.body.style.userSelect=R,k.value=!1},W=te=>{te.preventDefault(),k.value=!0,y=te.clientY,B=C.value,L=document.body.style.cursor,R=document.body.style.userSelect,document.body.style.cursor="ns-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",H),document.addEventListener("mouseup",Q)};return vue.onBeforeUnmount(Q),(te,ee)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["debug-result-drawer-wrapper",{"is-resizing":k.value}]),style:vue.normalizeStyle(z.value)},[n.open?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:"debug-result-drawer__resize",onMousedown:W},null,32)):vue.createCommentVNode("",!0),vue.createElementVNode("section",{class:vue.normalizeClass(["debug-result-drawer",{"is-collapsed":!n.open}])},[vue.createElementVNode("header",_hoisted_1$4,[ee[0]||(ee[0]=vue.createElementVNode("div",{class:"debug-result-drawer__title"},"调试结果",-1)),vue.createElementVNode("span",{class:"debug-result-drawer__collapse",onClick:j},[vue.createElementVNode("span",null,vue.toDisplayString(n.open?"收起":"展开"),1),vue.createElementVNode("i",{class:vue.normalizeClass(["bkflow-canvas-icon bkflow-canvas-arrows-down debug-result-drawer__collapse-icon",{"is-expanded":n.open}])},null,2)])]),vue.createElementVNode("div",_hoisted_2$4,[vue.createVNode(NodeList,{nodes:n.nodes,"model-value":n.activeNodeId,"onUpdate:modelValue":$},null,8,["nodes","model-value"]),vue.createVNode(ResultTabs,{"task-id":n.taskId,"active-node-id":n.activeNodeId,"active-node-version":n.activeNodeVersion,"active-node-type":r.value,"active-node-component":n.activeNodeComponent},null,8,["task-id","active-node-id","active-node-version","active-node-type","active-node-component"])])],2)],6))}}),DebugResultDrawer=_export_sfc(_sfc_main$4,[["__scopeId","data-v-c5b0c94f"]]),_hoisted_1$3={key:0,class:"operate-area"},_hoisted_2$3={class:"mock-debug-status"},_hoisted_3$3={class:"operate-btns"},_hoisted_4$2={class:"flow-mock-debug-content"},_hoisted_5$2={class:"gateway-select-dialog"},_hoisted_6$2={class:"gateway-select-dialog__field"},POLL_INTERVAL=3e3,_sfc_main$3=vue.defineComponent({__name:"mock",props:{flowId:{},taskId:{},apiConfig:{},bkflowSaasUrl:{},defaultZoom:{default:1},onBack:{}},emits:["back"],setup(e,{emit:t}){const n=e,r=t,i=provideFlowApiConfig(n.apiConfig);setContext({},n.bkflowSaasUrl);const C=vue.ref(),k=vue.shallowRef(null),y=vue.shallowRef(!0),B=vue.ref("RUNNING"),L=vue.ref(Date.now()),R=vue.ref(),z=vue.shallowRef({}),j=vue.ref(!0),$=vue.ref(),H=vue.ref(0),Q=vue.computed(()=>y.value),W=vue.computed(()=>z.value),te=vue.shallowRef([createExecutionStatusPlugin(W)]),ee=vue.computed(()=>{const Pe=k.value?.pipeline_tree;return Pe?mergeNodeStatesToPipelineTree(Pe,z.value):null}),q={ExclusiveGateway:"bkflow-canvas-icon bkflow-canvas-fenzhiwangguan",ParallelGateway:"bkflow-canvas-icon bkflow-canvas-bingxingwangguan",ConditionalParallelGateway:"bkflow-canvas-icon bkflow-canvas-tiaojianbingxingwangguan",ConvergeGateway:"bkflow-canvas-icon bkflow-canvas-huijuwangguan"},G=Pe=>{if(Pe.component?.code==="uniform_api"){const at=Pe.component?.api_meta?.category?.name??"";return composable.PLUGGIN_GROUP_FONT_CLASS_MAP[at]??composable.PLUGGIN_GROUP_FONT_CLASS_MAP.bkflow}return composable.PLUGGIN_GROUP_FONT_CLASS_MAP.bkflow},J=Pe=>{const at=new Map;Object.values(Pe.flows).forEach(ve=>{const ke=at.get(ve.source);ke?ke.push(ve.target):at.set(ve.source,[ve.target])});const _t=[],Oe=new Set,Be=Pe.start_event?.id;if(!Be)return _t;const Ee=[Be];for(Oe.add(Be);Ee.length>0;){const ve=Ee.shift();_t.push(ve);const ke=at.get(ve)??[];for(const je of ke)Oe.has(je)||(Oe.add(je),Ee.push(je))}return _t},Z=vue.computed(()=>{const Pe=k.value?.pipeline_tree;if(!Pe)return[];const at=new Map;Pe.start_event&&at.set(Pe.start_event.id,{id:Pe.start_event.id,name:Pe.start_event.name||"开始节点",typeName:"开始节点",status:z.value[Pe.start_event.id]?.status,iconClass:"bkflow-canvas-icon bkflow-canvas-kaishi",hasMockConfig:!1}),Object.values(Pe.activities).forEach(Be=>{at.set(Be.id,{id:Be.id,name:Be.name||Be.id,typeName:Be.component?.code||"任务节点",status:z.value[Be.id]?.status,iconClass:G(Be),hasMockConfig:!1})}),Object.values(Pe.gateways).forEach(Be=>{at.set(Be.id,{id:Be.id,name:Be.name||Be.id,typeName:"网关节点",status:z.value[Be.id]?.status,iconClass:q[Be.type]??"bkflow-canvas-icon bkflow-canvas-fenzhiwangguan",hasMockConfig:!1})}),Pe.end_event&&at.set(Pe.end_event.id,{id:Pe.end_event.id,name:Pe.end_event.name||"结束节点",typeName:"结束节点",status:z.value[Pe.end_event.id]?.status,iconClass:"bkflow-canvas-icon bkflow-canvas-stop",hasMockConfig:!1});const _t=J(Pe).filter(Be=>at.has(Be)),Oe=[...at.keys()].filter(Be=>!_t.includes(Be));return[..._t,...Oe].map(Be=>at.get(Be))}),ne=vue.computed(()=>Object.entries(z.value).filter(([,Pe])=>Pe.status==="FAILED").map(([Pe])=>Pe)),oe=vue.computed(()=>{const Pe=$.value;return Pe?z.value[Pe]?.version??"":""}),ae=vue.computed(()=>{const Pe=k.value?.pipeline_tree,at=$.value;if(!(!Pe||!at))return Pe.activities[at]?.component});vue.watch(Z,Pe=>{if($.value||Pe.length===0)return;const at=Pe.find(_t=>_t.typeName!=="开始节点"&&_t.typeName!=="结束节点"&&_t.typeName!=="网关节点");$.value=at?.id??Pe[0].id});const se=new Set(["CREATED","RUNNING","FINISHED","FAILED","SUSPENDED","REVOKED"]);let de;const ge=()=>{de&&(clearTimeout(de),de=void 0)},fe=Pe=>{if(!Pe)return;const at=String(Pe).toUpperCase();return se.has(at)?at:void 0},ie=Pe=>{const at=fe(Pe);return at==="FINISHED"?"FINISHED":at==="FAILED"||at==="SUSPENDED"||at==="REVOKED"?"FAILED":"RUNNING"},ce=Pe=>Pe&&typeof Pe=="object"&&!Array.isArray(Pe)?Pe:void 0,pe=Pe=>{const at=ce(Pe);return!at||!("data"in at)?Pe:at.data},le=Pe=>{const at={};return Object.entries(Pe).forEach(([_t,Oe])=>{const Be=ce(Oe),Ee=fe(Be?Be.status??Be.state:Oe);if(!Ee)return;const ve=String(Be?.id??Be?.node_id??_t);at[ve]={status:Ee,version:typeof Be?.version=="string"?Be.version:void 0,start_time:typeof Be?.start_time=="string"?Be.start_time:void 0,finish_time:typeof Be?.finish_time=="string"?Be.finish_time:void 0,elapsed_time:typeof Be?.elapsed_time=="number"?Be.elapsed_time:void 0}}),at},ue=Pe=>{const at={};return Pe.forEach(_t=>{const Oe=ce(_t);if(!Oe)return;const Be=Oe.id??Oe.node_id,Ee=fe(Oe.status??Oe.state);!Be||!Ee||(at[String(Be)]={status:Ee,version:typeof Oe.version=="string"?Oe.version:void 0,start_time:typeof Oe.start_time=="string"?Oe.start_time:void 0,finish_time:typeof Oe.finish_time=="string"?Oe.finish_time:void 0,elapsed_time:typeof Oe.elapsed_time=="number"?Oe.elapsed_time:void 0})}),at},he=Pe=>{const at=ce(pe(Pe));if(!at)return{};const _t={};return[at.node_states,at.states,at.children,at.nodes,at.activities,at.gateways].forEach(Be=>{if(Array.isArray(Be)){Object.assign(_t,ue(Be));return}const Ee=ce(Be);Ee&&Object.assign(_t,le(Ee))}),_t},ye=Pe=>{const at=ce(pe(Pe));return ie(at?.state??at?.status)},_e=Pe=>{const at=ce(pe(Pe));if(!at)return;const _t=at.elapsed_time;return typeof _t=="number"?_t:void 0};function Ne(){ge(),de=setTimeout(()=>{be()},POLL_INTERVAL)}async function be(){if(ge(),!(!n.taskId||!i.fetchTaskState))try{const Pe=await i.fetchTaskState({task_id:n.taskId}),at=ye(Pe),_t=he(Pe);if(B.value=at,at!=="RUNNING"){const Oe=_e(Pe);Oe!=null&&(R.value=Oe)}Object.keys(_t).length>0&&(z.value=_t)}catch(Pe){console.error(Pe)}finally{B.value==="RUNNING"&&Ne()}}const Ae=async()=>{y.value=!0;try{const[Pe,at]=await Promise.all([i.fetchFlowDetail(String(n.flowId)),i.getFlowTaskDetail?.({task_id:n.taskId})]);at?.pipeline_tree?k.value={...Pe,pipeline_tree:at.pipeline_tree}:k.value=Pe}catch(Pe){console.error(Pe)}finally{y.value=!1}};function Te(Pe){const at=C.value?.editor?.api?.value;at&&(at.scrollToNode(Pe,{offset:{y:-120}}),at.highlightNodes([Pe]),setTimeout(()=>at.clearHighlight(),1500))}const{actionPopover:Ze,closeActionPopover:lt,handlePopoverEnter:Ge,handlePopoverLeave:st,handleUiEvent:Ue}=useActionPopover({getNodeStates:()=>z.value,getPipelineTree:()=>ee.value,getNodeViewportRect:Pe=>C.value?.editor?.api?.value?.overlay?.getNodeViewportRect?.(Pe)}),De=vue.reactive({visible:!1,nodeId:"",isCondParallelGw:!1,branches:[],selectedBranch:null}),We={retry:{title:"确定重试当前节点?",content:"重新节点将重新执行当前节点(使用最新的参数值)"},skip:{title:"确定跳过当前节点?",content:"跳过节点将忽略当前失败节点继续往后执行"},forceFail:{title:"确定强制终止当前节点?",content:"强制终止将强行修改节点状态为失败,但不会中断已经发送到其它系统的请求"},resume:{title:"确定继续往后执行?"}};function Ye(Pe){if(lt(),Pe.action==="gatewaySkip"){Je(Pe.nodeId);return}const at=We[Pe.action];if(at){lib.InfoBox({title:at.title,content:at.content,confirmText:"确定",cancelText:"取消",width:400,onConfirm:()=>{wt(Pe)}});return}wt(Pe)}function Re(Pe){const _t=ee.value?.gateways?.[Pe];if(!_t)return[];const Oe=[],Be=_t.converge_gateway_id;if(_t.conditions&&Object.keys(_t.conditions).forEach(Ee=>{const ve=_t.conditions[Ee];Oe.push({id:Ee,node_id:Pe,name:ve.name||ve.evaluate||Ee,converge_gateway_id:Be})}),_t.default_condition){const Ee=_t.default_condition.flow_id;Ee&&Oe.unshift({id:Ee,node_id:Pe,name:_t.default_condition.name,converge_gateway_id:Be})}return Oe.length===0&&_t.type==="ParallelGateway"&&(Array.isArray(_t.outgoing)?_t.outgoing:_t.outgoing?[_t.outgoing]:[]).forEach((ve,ke)=>{Oe.push({id:ve,node_id:Pe,name:`并行${ke+1}`,converge_gateway_id:Be})}),Oe.filter(Ee=>Ee.id)}function Je(Pe){const _t=ee.value?.gateways?.[Pe];if(!_t)return;const Oe=Re(Pe);if(Oe.length===0)return;const Be=_t.type==="ConditionalParallelGateway";De.nodeId=Pe,De.isCondParallelGw=Be,De.branches=Oe,De.selectedBranch=Be?[Oe[0].id]:Oe[0].id,De.visible=!0}function Xe(){De.visible=!1,De.nodeId="",De.branches=[],De.selectedBranch=null}async function Me(){B.value="RUNNING",L.value=Date.now(),R.value=void 0,be(),Ne()}async function nt(){const{nodeId:Pe,branches:at,selectedBranch:_t,isCondParallelGw:Oe}=De;if(!Pe||!n.taskId||!i.operateTaskNode)return;const Be=Oe?Array.isArray(_t)?_t:[]:_t?[_t]:[],Ee=at.filter(je=>Be.includes(je.id));if(Ee.length===0)return;De.visible=!1;const ve=Oe?"skip_cpg":"skip_exg",ke={};Oe?(ke.flow_ids=Ee.map(je=>je.id),ke.converge_gateway_id=Ee[0].converge_gateway_id):ke.flow_id=Ee[0].id;try{await i.operateTaskNode({task_id:n.taskId,node_id:Pe,action:"gatewaySkip",operation:ve,data:ke}),await Me()}catch(je){console.error(je)}finally{Xe()}}function et(Pe){if(Pe==="resume")return{data:{}}}async function wt(Pe){if(!(!n.taskId||!i.operateTaskNode))try{await i.operateTaskNode({task_id:n.taskId,node_id:Pe.nodeId,action:Pe.action,data:et(Pe.action)}),await Me()}catch(at){console.error(at)}}const tt=()=>{n.onBack?n.onBack():r("back")},ot=Pe=>{$.value=Pe.nodeId},gt=Pe=>{Ue(Pe)},Et=()=>{tt()},Dt=()=>{!n.taskId||!i.revokeFlowTask||lib.InfoBox({title:"确定终止当前任务?",content:"终止任务将停止执行任务,但执行中节点将运行完成",confirmText:"确定",cancelText:"取消",onConfirm:async()=>{try{await i.revokeFlowTask({task_id:n.taskId,resource_type:"TASK",resource_id:n.taskId,permission_type:"OPERATE"}),be()}catch(Pe){console.error(Pe)}}})},Ft=()=>{const Pe=ne.value;if(Pe.length<1)return;const at=Pe[H.value%Pe.length];H.value+=1,$.value=at,Te(at)},Nt=Pe=>{$.value=Pe,Te(Pe)};return vue.onMounted(()=>{Ae(),be()}),vue.onBeforeUnmount(()=>{ge()}),(Pe,at)=>{const _t=vue.resolveComponent("bk-button"),Oe=vue.resolveComponent("bk-option"),Be=vue.resolveComponent("bk-select"),Ee=vue.resolveComponent("bk-dialog"),ve=vue.resolveDirective("bkloading");return vue.openBlock(),vue.createBlock(ContainerLayout,{title:"模拟调试",desc:k.value?.name,"show-back-icon":!0,onBack:tt},{header:vue.withCtx(()=>[vue.renderSlot(Pe.$slots,"header",{},void 0,!0)]),extend:vue.withCtx(()=>[k.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$3,[vue.createVNode(FlowInfoSliders,{"flow-data":k.value,editable:!1,"enable-simulate-debug":!1,"simulate-debug-only":!0},null,8,["flow-data"]),vue.createElementVNode("div",_hoisted_2$3,[vue.createVNode(LoadingDotsIcon,{class:"mock-debug-status__icon",size:14,width:20,"dot-size":4}),at[3]||(at[3]=vue.createElementVNode("span",{class:"mock-debug-status__label"},"调试中",-1))]),vue.createElementVNode("div",_hoisted_3$3,[vue.createVNode(_t,{onClick:Et},{default:vue.withCtx(()=>[...at[4]||(at[4]=[vue.createTextVNode("退出模拟调试",-1)])]),_:1})])])):vue.createCommentVNode("",!0),vue.renderSlot(Pe.$slots,"extend",{},void 0,!0)]),default:vue.withCtx(()=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_4$2,[!Q.value&&ee.value?(vue.openBlock(),vue.createBlock(BkFlowCanvas,{key:0,ref_key:"canvasRef",ref:C,"pipeline-tree":ee.value,mode:"view","default-zoom":n.defaultZoom,"additional-plugins":te.value,onNodeClick:ot,onUiEvent:gt},null,8,["pipeline-tree","default-zoom","additional-plugins"])):vue.createCommentVNode("",!0),vue.createVNode(ExecutionActionPopover,{visible:vue.unref(Ze).visible,"node-id":vue.unref(Ze).nodeId,actions:vue.unref(Ze).actions,position:vue.unref(Ze).position,onPopoverEnter:vue.unref(Ge),onPopoverLeave:vue.unref(st),onAction:Ye},null,8,["visible","node-id","actions","position","onPopoverEnter","onPopoverLeave"]),vue.createVNode(Ee,{isShow:De.visible,"onUpdate:isShow":at[1]||(at[1]=ke=>De.visible=ke),"dialog-type":"operation",width:600,"esc-close":!1,"quick-close":!1,"header-align":"left",title:"请选择执行分支",onConfirm:nt,onClosed:Xe},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_5$2,[vue.createElementVNode("div",_hoisted_6$2,[at[5]||(at[5]=vue.createElementVNode("label",{class:"gateway-select-dialog__label"},"可选执行分支",-1)),vue.createVNode(Be,{modelValue:De.selectedBranch,"onUpdate:modelValue":at[0]||(at[0]=ke=>De.selectedBranch=ke),class:"gateway-select-dialog__select",multiple:De.isCondParallelGw,"display-tag":De.isCondParallelGw,clearable:!1},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(De.branches,ke=>(vue.openBlock(),vue.createBlock(Oe,{key:ke.id,id:ke.id,name:ke.name},null,8,["id","name"]))),128))]),_:1},8,["modelValue","multiple","display-tag"])])])]),_:1},8,["isShow"]),!Q.value&&k.value?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createVNode(DebugStatusBar,{status:B.value,"started-at":L.value,elapsed:R.value,"failed-count":ne.value.length,onStop:Dt,onLocateFailed:Ft},null,8,["status","started-at","elapsed","failed-count"]),vue.createVNode(DebugResultDrawer,{open:j.value,"task-id":n.taskId,nodes:Z.value,"active-node-id":$.value,"active-node-version":oe.value,"active-node-component":ae.value,"onUpdate:open":at[2]||(at[2]=ke=>j.value=ke),"onUpdate:activeNodeId":Nt},null,8,["open","task-id","nodes","active-node-id","active-node-version","active-node-component"])],64)):vue.createCommentVNode("",!0)])),[[ve,{loading:Q.value,zIndex:100}]])]),_:3},8,["desc"])}}}),mock=_export_sfc(_sfc_main$3,[["__scopeId","data-v-7ab3f135"]]),mock$1=Object.freeze(Object.defineProperty({__proto__:null,default:mock},Symbol.toStringTag,{value:"Module"})),DEBUG_NODE_STATUS_MAP={running:"RUNNING",waiting:"SUSPENDED",paused:"SUSPENDED",finished:"FINISHED",failed:"FAILED",suspended:"SUSPENDED",skipped:"SKIP"},RUN_TYPE_LABEL={global:"全流程",step:"单节点"};function resolveDebugRunSnapshot(e){return e?e.status==="running"||e.status==="terminating"?{taskId:e.active_task_id,runType:e.active_run_type,nodeId:e.active_node_id,runStatus:e.status==="terminating"?"terminating":e.last_run_status,errorDetail:e.last_error_detail??null,hasRecord:!0}:{taskId:e.last_task_id,runType:e.last_run_type,nodeId:null,runStatus:e.last_run_status,errorDetail:e.last_error_detail??null,hasRecord:e.last_task_id!=null}:{taskId:null,runType:null,nodeId:null,runStatus:null,errorDetail:null,hasRecord:!1}}function resolveDebugTaskId(e,t){if(t){const n=e.nodes.find(r=>r.node_id===t)?.log_ref;if(n?.instance_id!=null)return n.instance_id}return e.active_task_id??e.last_task_id??null}function buildDebugCanvasState(e,t={}){const n={},r=new Set;let i=0,C=0;const k=e?.nodes??[];for(const $ of k){if($.execution_mode==="mock"&&r.add($.node_id),$.status==="not_run")continue;i+=1,$.status==="failed"&&(C+=1);const H=DEBUG_NODE_STATUS_MAP[$.status];H&&(n[$.node_id]={status:H})}const y=e?.status??"idle",B=resolveDebugRunSnapshot(e),L=t.runStatusOverride??B.runStatus,R=t.runTypeOverride??B.runType;let z;C>0?z="failed":y==="idle"&&t.resultStateOverride?z=t.resultStateOverride:i===0?z="none":L==="failed"||L==="revoked"?z="failed":z="success";const j={active:y!=="idle",status:y,operator:e?.locked_by??"",nodeCount:i,errorNodeCount:C,hasRecord:y!=="idle"||z!=="none",resultState:z,typeLabel:R?RUN_TYPE_LABEL[R]:void 0,runStatus:L,startedAt:void 0,durationMs:void 0};return{nodeStates:n,mockNodeIds:r,summary:j}}const DEFAULT_MESSAGE="调试请求失败";function isRecord(e){return Object.prototype.toString.call(e)==="[object Object]"}function normalizeDebugApiError(e){const t=isRecord(e)?e.response:void 0,n=isRecord(t)&&typeof t.status=="number"?t.status:void 0,r=isRecord(t)?t.data:void 0;let i="",C,k=[],y;if(isRecord(r)){r.code!==void 0&&r.code!==null&&(y=String(r.code));const{detail:B}=r;typeof B=="string"?i=B:isRecord(B)&&(typeof B.detail=="string"&&(i=B.detail),typeof B.node_id=="string"&&(C=B.node_id),Array.isArray(B.missing_vars)&&(k=B.missing_vars)),!i&&typeof r.message=="string"&&(i=r.message)}return!i&&isRecord(t)&&typeof t.statusText=="string"&&t.statusText&&(i=t.statusText),!i&&e instanceof Error&&e.message&&(i=e.message),i||(i=DEFAULT_MESSAGE),{status:n,code:y,message:i,nodeId:C,missingVars:k}}function isDebugLockError(e){return e.status===409?!0:/正在被|已被锁定|locked/i.test(e.message)}function isDebugIdempotentTerminate(e){return e.status===400?!0:/没有运行中|未在运行|not\s*running|no\s*running/i.test(e.message)}const DEFAULT_POLL_INTERVAL=2500,DEFAULT_RETRY_INTERVAL=5e3;function requireDebugApi(e,t){const n=e[t];if(typeof n!="function")throw new Error(`FlowDetail debug API "${String(t)}" is not configured`);return n}function useDebugContext(e){const t=e.pollInterval??DEFAULT_POLL_INTERVAL,n=e.retryInterval??DEFAULT_RETRY_INTERVAL,r=vue.shallowRef(null),i=vue.ref(null),C=vue.shallowRef(null),k=vue.computed(()=>buildDebugCanvasState(r.value,{resultStateOverride:i.value,runTypeOverride:C.value?.runType,runStatusOverride:C.value?.runStatus})),y=vue.ref(!1),B=vue.ref(!1),L=vue.ref(""),R=vue.ref(""),z=vue.ref(!1),j=vue.ref(!1),$=vue.computed(()=>B.value||!!L.value||!!R.value||z.value||j.value),H=vue.ref("");let Q=null,W=0,te=0;function ee(){Q!==null&&(clearTimeout(Q),Q=null)}function q(){ee(),W+=1,te+=1,r.value=null,H.value="",B.value=!1,L.value="",R.value="",z.value=!1,j.value=!1,i.value=null,C.value=null}function G(ye,_e){ee(),e.enabled()&&(ye==="running"||ye==="terminating")&&(Q=setTimeout(()=>{J()},_e?t:n))}async function J(){if(!e.enabled())return r.value;const ye=++W,_e=String(e.templateId());try{const be=await requireDebugApi(e.api,"fetchDebugContext")(e.templateId());return ye!==W||_e!==String(e.templateId())?r.value:(r.value=be,(be.status==="running"||be.status==="terminating")&&(i.value=null,C.value=null),H.value="",G(be.status,!0),be)}catch(Ne){return ye!==W||_e!==String(e.templateId())||(H.value=normalizeDebugApiError(Ne).message,G(r.value?.status??"idle",!1)),r.value}}async function Z(ye){const _e=normalizeDebugApiError(ye);if(isDebugLockError(_e))return e.onMessage?.("warning",_e.message),await J(),!1;throw e.onMessage?.("error",_e.message),ye}async function ne(){if(e.enabled()){y.value=!0;try{await J()}finally{y.value=!1}}}async function oe(){return e.enabled()?requireDebugApi(e.api,"fetchDebugInputSchema")(e.templateId()):{}}const ae=()=>({template_id:Number(e.templateId()),status:"idle",locked_by:"",active_task_id:null,active_run_type:null,active_node_id:null,last_task_id:null,last_run_type:null,last_run_status:null,last_error_detail:null,last_inputs:{},global_vars:{},nodes:[]}),se=(ye,_e)=>{const Ne=r.value??ae(),be=Ne.nodes.findIndex(Te=>Te.node_id===ye),Ae=[...Ne.nodes];be>=0?Ae[be]={...Ae[be],..._e}:Ae.push({node_id:ye,node_type:"",execution_mode:"real",status:"not_run",can_step:!0,missing_vars:[],..._e}),r.value={...Ne,nodes:Ae}},de=()=>({epoch:te,templateId:String(e.templateId())}),ge=ye=>ye.epoch===te&&ye.templateId===String(e.templateId());async function fe(ye){if(!e.enabled())return!1;const _e=de(),Ne=requireDebugApi(e.api,"runGlobalDebug");B.value=!0;try{const be=await Ne({templateId:e.templateId(),inputs:ye});if(!ge(_e))return!1;i.value=null,C.value=null;const Ae=r.value??ae();return r.value={...Ae,status:be.status==="terminating"?"terminating":"running",active_task_id:be.task_id,active_run_type:"global",active_node_id:null,last_task_id:be.task_id,last_run_type:"global",last_run_status:"running",last_inputs:{...ye}},G(r.value.status,!0),await J(),!0}catch(be){return ge(_e)?await Z(be):!1}finally{ge(_e)&&(B.value=!1)}}async function ie(ye){if(!e.enabled())return!1;const _e=de(),Ne=requireDebugApi(e.api,"runNodeDebugStep");L.value=ye.nodeId;try{const be=await Ne({templateId:e.templateId(),...ye});if(!ge(_e))return!1;if(i.value=null,se(ye.nodeId,{execution_mode:ye.mode,status:be.status,outputs:be.outputs,error_detail:be.error_detail,log_ref:be.log_ref,...ye.mode==="mock"?{mock_outputs:ye.mockOutputs,mock_error:ye.mockError??null}:{}}),r.value){const Ae=typeof be.task_id=="number"||typeof be.task_id=="string"?be.task_id:null;be.status==="running"?(r.value={...r.value,status:"running",active_task_id:Ae,active_run_type:"step",active_node_id:ye.nodeId,last_task_id:Ae??r.value.last_task_id,last_run_type:"step",last_run_status:"running",global_vars:be.updated_global_vars??r.value.global_vars},G("running",!0)):r.value={...r.value,status:"idle",active_task_id:null,active_run_type:null,active_node_id:null,last_run_type:"step",last_run_status:be.status==="failed"?"failed":"finished",global_vars:be.updated_global_vars??r.value.global_vars}}return await J(),ge(_e)&&ye.mode==="mock"?C.value={runType:"step",runStatus:be.status==="failed"?"failed":"finished"}:ge(_e)&&(C.value=null),!0}catch(be){return ge(_e)?await Z(be):!1}finally{ge(_e)&&(L.value="")}}async function ce(ye){if(!e.enabled())return!1;const _e=de(),Ne=requireDebugApi(e.api,"updateNodeDebugMock");R.value=ye.nodeId;try{const be=await Ne({templateId:e.templateId(),...ye});return ge(_e)?(se(ye.nodeId,{execution_mode:be.execution_mode,...ye.enable?{mock_result:ye.mockResult??"success",mock_outputs:ye.mockOutputs,mock_error:ye.mockError??null}:{mock_result:null,mock_outputs:null,mock_error:null}}),r.value&&be.updated_global_vars&&(r.value={...r.value,global_vars:be.updated_global_vars}),await J(),!0):!1}catch(be){return ge(_e)?await Z(be):!1}finally{ge(_e)&&(R.value="")}}async function pe(ye){if(!e.enabled()||!await ce({nodeId:ye.nodeId,enable:!0,mockResult:ye.mockResult,mockOutputs:ye.mockOutputs,mockError:ye.mockError}))return!1;try{const Ne=await ie({...ye,mode:"mock"});return Ne||e.onMessage?.("warning","Mock 输出已保存,但本次单步调试未执行"),Ne}catch(Ne){throw e.onMessage?.("warning","Mock 输出已保存,但本次单步调试失败,可在当前侧滑中重试"),Ne}}async function le(ye){return ce({nodeId:ye,enable:!1})}async function ue(ye){if(!e.enabled())return!1;const _e=de(),Ne=requireDebugApi(e.api,"terminateDebug");z.value=!0;try{return await Ne({templateId:e.templateId(),nodeId:ye}),ge(_e)?(r.value&&(r.value={...r.value,status:"terminating"},G("terminating",!0)),await J(),!0):!1}catch(be){if(!ge(_e))return!1;const Ae=normalizeDebugApiError(be);return isDebugIdempotentTerminate(Ae)?(await J(),!0):await Z(be)}finally{ge(_e)&&(z.value=!1)}}async function he(ye){if(!e.enabled())return null;const _e=de(),Ne=requireDebugApi(e.api,"resetDebugResult");j.value=!0;try{const be=await Ne({templateId:e.templateId(),nodeIds:ye});if(!ge(_e))return null;const Ae=new Set(be.reset_node_ids??ye??r.value?.nodes.map(Te=>Te.node_id)??[]);if(r.value&&Ae.size>0&&(r.value={...r.value,nodes:r.value.nodes.map(Te=>Ae.has(Te.node_id)?{...Te,status:"not_run",duration_ms:null,error_detail:null,outputs:null,log_ref:null}:Te)}),await J(),!ge(_e))return null;if(Ae.size>0){const Te=(r.value?.nodes??[]).some(Ze=>Ze.status!=="not_run");i.value=Te?"partial":"none",C.value=null}return be}catch(be){return ge(_e)&&await Z(be),null}finally{ge(_e)&&(j.value=!1)}}return vue.getCurrentScope()&&vue.onScopeDispose(q),{context:r,canvasState:k,initializing:y,globalRunPending:B,stepRunPendingNodeId:L,mockSavePendingNodeId:R,terminatePending:z,resetPending:j,actionPending:$,contextSyncError:H,initialize:ne,refresh:J,fetchInputSchema:oe,runGlobal:fe,runStep:ie,saveMock:ce,runMock:pe,cancelMock:le,terminate:ue,reset:he,resetState:q,stopPolling:ee}}const _hoisted_1$2={class:"debug-trigger"},_hoisted_2$2=["disabled","title"],_hoisted_3$2={class:"debug-trigger__label"},_hoisted_4$1={key:0,class:"debug-summary-card","data-test":"debug-summary"},_hoisted_5$1={class:"summary-row"},_hoisted_6$1={class:"summary-value"},_hoisted_7$1={key:0,class:"summary-row"},_hoisted_8$1={class:"summary-value","data-test":"debug-node-count"},_hoisted_9$1={key:1,class:"summary-row"},_hoisted_10$1={class:"summary-value is-failed","data-test":"failed-node-count"},_hoisted_11$1={class:"summary-action-row__main"},_hoisted_12$1={key:3,class:"summary-actions"},_sfc_main$2=vue.defineComponent({__name:"index",props:{context:{},summary:{},terminatePending:{type:Boolean,default:!1},initializing:{type:Boolean,default:!1},syncError:{default:""}},emits:["start","openResult","terminate"],setup(e,{emit:t}){const n=e,r=t,i=vue.computed(()=>n.context?.status??"idle"),C=vue.computed(()=>n.summary.hasRecord),k=vue.computed(()=>n.summary.resultState),y=vue.computed(()=>{const pe=n.context;return pe?i.value==="running"||i.value==="terminating"?pe.active_run_type==="global":pe.last_run_type==="global"||n.summary.typeLabel==="全流程":!1}),B=vue.computed(()=>k.value==="failed"),L=vue.computed(()=>i.value==="idle"&&k.value==="partial"),R=vue.computed(()=>i.value==="idle"&&k.value==="success"&&!n.syncError),z=vue.computed(()=>i.value==="idle"&&!C.value),j=vue.computed(()=>n.syncError||i.value!=="idle"||!C.value?null:B.value?{text:"失败",tone:"failed"}:L.value?{text:"部分",tone:"partial"}:{text:"成功",tone:"success"}),$=vue.computed(()=>n.initializing?"同步中":n.syncError?"同步失败":i.value==="running"?"调试中":i.value==="terminating"?"终止中":"调试"),H=vue.computed(()=>({"is-running":i.value==="running"||i.value==="terminating","is-success":R.value,"is-failed":i.value==="idle"&&B.value,"is-partial":L.value})),Q=vue.computed(()=>({"is-running":i.value==="running"||i.value==="terminating","is-success":R.value,"is-failed":i.value==="idle"&&B.value,"is-partial":L.value})),W=vue.computed(()=>n.syncError?"bkflow-canvas-circle-alert-filled":i.value==="running"||i.value==="terminating"?"bkflow-canvas-loading":"bkflow-canvas-debug"),te=vue.computed(()=>i.value==="running"||i.value==="terminating"?"bkflow-canvas-loading":B.value?"bkflow-canvas-dark-circle-close":R.value?"bkflow-canvas-circle-correct-filled":"bkflow-canvas-debug"),ee=vue.computed(()=>i.value==="running"?"调试中":i.value==="terminating"?"终止中":C.value?B.value?y.value?"全局调试失败":"调试失败":L.value?"部分调试结果":"调试成功":"调试"),q=vue.ref(!1),G=vue.computed(()=>q.value&&(n.summary.active||C.value)),J=vue.computed(()=>i.value==="running"||i.value==="terminating"),Z=vue.computed(()=>i.value==="terminating"||n.terminatePending),ne=vue.computed(()=>i.value==="idle"&&C.value),oe=vue.computed(()=>y.value?"重新调试":"全局调试"),ae=vue.computed(()=>y.value?"debug-restart":"debug-global-entry"),se=vue.computed(()=>C.value&&i.value==="idle"),de=vue.computed(()=>ge(n.summary.durationMs));function ge(pe){if(pe==null)return"--";const le=Math.max(0,Math.floor(pe/1e3)),ue=Math.floor(le/60),he=le%60;return`${ue}:${String(he).padStart(2,"0")}`}const fe=()=>{if(!n.initializing){if(z.value){r("start");return}q.value=!q.value,r("openResult")}},ie=()=>{Z.value||r("terminate")},ce=()=>{q.value=!1,r("start")};return(pe,le)=>{const ue=vue.resolveComponent("bk-button");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$2,[vue.createElementVNode("button",{type:"button","data-test":"debug-trigger",class:vue.normalizeClass(["debug-trigger__button",Q.value]),disabled:n.initializing,title:n.syncError||"",onClick:fe},[j.value?(vue.openBlock(),vue.createElementBlock("span",{key:0,"data-test":"debug-status-badge",class:vue.normalizeClass(["debug-trigger__badge",`is-${j.value.tone}`])},vue.toDisplayString(j.value.text),3)):(vue.openBlock(),vue.createElementBlock("i",{key:1,class:vue.normalizeClass(["bkflow-canvas-icon",W.value,"debug-trigger__icon"])},null,2)),vue.createElementVNode("span",_hoisted_3$2,vue.toDisplayString($.value),1)],10,_hoisted_2$2),G.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$1,[vue.createElementVNode("div",{class:vue.normalizeClass(["summary-title",H.value]),"data-test":"summary-title"},[vue.createElementVNode("i",{class:vue.normalizeClass(["bkflow-canvas-icon",te.value,"summary-title__icon"])},null,2),vue.createElementVNode("span",null,vue.toDisplayString(ee.value),1)],2),vue.createElementVNode("div",_hoisted_5$1,[le[0]||(le[0]=vue.createElementVNode("span",{class:"summary-label"},"调试用时",-1)),vue.createElementVNode("span",_hoisted_6$1,vue.toDisplayString(de.value),1)]),se.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_7$1,[le[1]||(le[1]=vue.createElementVNode("span",{class:"summary-label"},"调试节点",-1)),vue.createElementVNode("span",_hoisted_8$1,vue.toDisplayString(e.summary.nodeCount)+" 个",1)])):vue.createCommentVNode("",!0),B.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_9$1,[le[2]||(le[2]=vue.createElementVNode("span",{class:"summary-label"},"失败节点",-1)),vue.createElementVNode("span",_hoisted_10$1,vue.toDisplayString(e.summary.errorNodeCount)+" 个",1)])):vue.createCommentVNode("",!0),J.value?(vue.openBlock(),vue.createElementBlock("div",{key:2,class:vue.normalizeClass(["summary-action-row",{"is-disabled":Z.value}]),"data-test":"debug-terminate",onClick:ie},[vue.createElementVNode("span",_hoisted_11$1,[le[3]||(le[3]=vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-clock summary-action-row__icon"},null,-1)),vue.createElementVNode("span",null,vue.toDisplayString(i.value==="terminating"||e.terminatePending?"终止中...":"终止调试"),1)]),le[4]||(le[4]=vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-angle-up summary-action-row__arrow"},null,-1))],2)):vue.createCommentVNode("",!0),ne.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_12$1,[vue.createVNode(ue,{"data-test":ae.value,outline:"",theme:"primary",size:"small",onClick:ce},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(oe.value),1)]),_:1},8,["data-test"])])):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0)])}}}),DebugTrigger=_export_sfc(_sfc_main$2,[["__scopeId","data-v-2d3a5520"]]),_hoisted_1$1={class:"node-debug-config","data-test":"node-debug-config"},_hoisted_2$1={class:"node-debug-config__section"},_hoisted_3$1={class:"node-debug-config__params","data-test":"input-params"},_hoisted_4={key:0},_hoisted_5=["title"],_hoisted_6={class:"col-value"},_hoisted_7={key:0,class:"node-debug-config__missing-value","data-test":"missing-value"},_hoisted_8={key:2,class:"node-debug-config__value"},_hoisted_9={class:"node-debug-config__jump-candidates"},_hoisted_10=["onClick"],_hoisted_11={key:0,class:"node-debug-config__reason","data-test":"missing-reason"},_hoisted_12={class:"node-debug-config__actions"},REAL_DISABLED_REASON="当前输入参数不满足调试要求",_sfc_main$1=vue.defineComponent({__name:"index",props:{node:{},contextNode:{default:null},pendingAction:{default:""},hasResult:{type:Boolean,default:!1},nodeNameMap:{default:()=>({})}},emits:["runReal","runMock","cancelMock","viewResult","jumpToSourceNode"],setup(e,{emit:t}){const n=e,r=t,i=vue.computed(()=>n.contextNode?.missing_vars??[]),C=vue.computed(()=>n.contextNode?.can_step??!0),k=vue.computed(()=>n.contextNode?.execution_mode==="mock"),y=vue.computed(()=>!C.value||i.value.length>0),B=$=>$==null?"":typeof $=="object"?JSON.stringify($,null,2):String($),L=($,H)=>{if(!H)return!1;try{return JSON.stringify($??"").includes(H)}catch{return!1}},R=vue.computed(()=>{const $=n.node?.component?.data??{};return Object.entries($).map(([H,Q])=>{const W=Q?.value,te=i.value.filter(q=>L(W,q.key)),ee=lodash$1.uniqBy(te.filter(q=>!!q.source_node_id),"source_node_id");return{key:H,name:H,rawValue:W,display:B(W),isComplex:isComplexDebugValue(W),missing:te,jumpCandidates:ee}})}),z=$=>$?n.nodeNameMap[$]||$:"",j=$=>{$&&r("jumpToSourceNode",$)};return($,H)=>{const Q=vue.resolveComponent("bk-button"),W=vue.resolveComponent("bk-popover"),te=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1,[vue.createElementVNode("div",_hoisted_2$1,[H[9]||(H[9]=vue.createElementVNode("div",{class:"node-debug-config__section-title"},"输入参数",-1)),vue.createElementVNode("table",_hoisted_3$1,[H[8]||(H[8]=vue.createElementVNode("thead",null,[vue.createElementVNode("tr",null,[vue.createElementVNode("th",{class:"col-name"},"参数名"),vue.createElementVNode("th",{class:"col-value"},"参数值")])],-1)),vue.createElementVNode("tbody",null,[R.value.length===0?(vue.openBlock(),vue.createElementBlock("tr",_hoisted_4,[...H[4]||(H[4]=[vue.createElementVNode("td",{class:"node-debug-config__empty",colspan:"2"},"暂无输入参数",-1)])])):vue.createCommentVNode("",!0),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(R.value,ee=>(vue.openBlock(),vue.createElementBlock("tr",{key:ee.key,"data-test":"input-row"},[vue.createElementVNode("td",{class:"col-name",title:ee.key},vue.toDisplayString(ee.name),9,_hoisted_5),vue.createElementVNode("td",_hoisted_6,[ee.missing.length>0?(vue.openBlock(),vue.createElementBlock("div",_hoisted_7,[...H[5]||(H[5]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-circle-alert-filled"},null,-1),vue.createElementVNode("span",null,"暂无参数值",-1)])])):ee.isComplex?(vue.openBlock(),vue.createBlock(DebugJsonViewer,{key:1,value:ee.rawValue,"data-test":"json-viewer"},null,8,["value"])):(vue.openBlock(),vue.createElementBlock("pre",_hoisted_8,vue.toDisplayString(ee.display),1)),ee.jumpCandidates.length===1?(vue.openBlock(),vue.createBlock(Q,{key:3,text:"",theme:"primary",size:"small","data-test":"jump-source",onClick:q=>j(ee.jumpCandidates[0].source_node_id)},{default:vue.withCtx(()=>[...H[6]||(H[6]=[vue.createTextVNode(" 跳转至输出节点 ",-1)])]),_:1},8,["onClick"])):ee.jumpCandidates.length>1?(vue.openBlock(),vue.createBlock(W,{key:4,trigger:"click",theme:"light",placement:"bottom-start"},{content:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_9,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(ee.jumpCandidates,q=>(vue.openBlock(),vue.createElementBlock("div",{key:q.source_node_id,class:"node-debug-config__jump-candidate","data-test":"jump-candidate",onClick:G=>j(q.source_node_id)},vue.toDisplayString(z(q.source_node_id)),9,_hoisted_10))),128))])]),default:vue.withCtx(()=>[vue.createVNode(Q,{text:"",theme:"primary",size:"small","data-test":"jump-multi"},{default:vue.withCtx(()=>[...H[7]||(H[7]=[vue.createTextVNode("跳转至输出节点",-1)])]),_:1})]),_:2},1024)):vue.createCommentVNode("",!0)])]))),128))])])]),y.value&&i.value.length>0?(vue.openBlock(),vue.createElementBlock("div",_hoisted_11,vue.toDisplayString(REAL_DISABLED_REASON))):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_12,[vue.withDirectives((vue.openBlock(),vue.createBlock(Q,{theme:"primary","data-test":"run-real",disabled:y.value,loading:n.pendingAction==="real",onClick:H[0]||(H[0]=ee=>r("runReal"))},{default:vue.withCtx(()=>[...H[10]||(H[10]=[vue.createTextVNode(" 立即调试 ",-1)])]),_:1},8,["disabled","loading"])),[[te,{content:REAL_DISABLED_REASON,disabled:!y.value}]]),vue.createVNode(Q,{outline:"",theme:"primary","data-test":"open-mock",loading:n.pendingAction==="mock",onClick:H[1]||(H[1]=ee=>r("runMock"))},{default:vue.withCtx(()=>[...H[11]||(H[11]=[vue.createTextVNode(" Mock 输出 ",-1)])]),_:1},8,["loading"]),k.value?(vue.openBlock(),vue.createBlock(Q,{key:0,"data-test":"cancel-mock",loading:n.pendingAction==="cancel-mock",onClick:H[2]||(H[2]=ee=>r("cancelMock"))},{default:vue.withCtx(()=>[...H[12]||(H[12]=[vue.createTextVNode(" 取消 Mock ",-1)])]),_:1},8,["loading"])):vue.createCommentVNode("",!0),vue.createVNode(Q,{"data-test":"view-result",disabled:!n.hasResult,onClick:H[3]||(H[3]=ee=>r("viewResult"))},{default:vue.withCtx(()=>[...H[13]||(H[13]=[vue.createTextVNode(" 查看调试结果 ",-1)])]),_:1},8,["disabled"])])])}}}),NodeDebugConfig=_export_sfc(_sfc_main$1,[["__scopeId","data-v-61c94f13"]]);function resolveNodeResultLocator(e,t){const n=e.nodes.find(r=>r.node_id===t);return{taskId:resolveDebugTaskId(e,t),taskNodeId:n?.log_ref?.node_id??t,version:n?.log_ref?.version??""}}const getErrorMessage=e=>typeof e=="string"?e:e instanceof Error?e.message:"加载调试结果失败";function useDebugNodeResult(e){const t=vue.ref(!1),n=vue.ref(""),r=vue.ref(""),i=vue.ref(""),C=vue.shallowRef({status:"not_run"}),k=vue.shallowRef({}),y=vue.shallowRef({}),B=vue.shallowRef(void 0),L=new Map;let R=0;const z=H=>{k.value=H.inputs,y.value=H.outputs,B.value=H.logs,t.value=!1,n.value="",r.value="",i.value=""},j=()=>{C.value={status:"not_run"},k.value={},y.value={},B.value=void 0,t.value=!1,n.value="",r.value="",i.value=""},$=async()=>{const H=e.context(),Q=e.nodeId(),W=++R;if(!H||!Q){j();return}const te=H.nodes.find(ae=>ae.node_id===Q);if(C.value={status:te?.status??"not_run",durationMs:te?.duration_ms??void 0,errorDetail:te?.error_detail},!te?.log_ref){const ae=te?.mock_outputs??te?.outputs??{},se=te?.mock_error??(typeof te?.error_detail=="string"?te.error_detail:"");C.value={status:te?.status??"not_run",durationMs:te?.duration_ms??void 0,errorDetail:te?.error_detail},k.value={},y.value=ae,B.value=void 0,n.value=se,r.value="",i.value="",t.value=!1;return}const q=resolveNodeResultLocator(H,Q),G=`${H.template_id}_${q.taskId??""}_${q.taskNodeId}_${q.version}`,J=te?.status==="finished"||te?.status==="failed",Z=J?L.get(G):void 0;if(Z){z(Z);return}const ne=e.api.fetchTaskNodeDetail,oe=e.api.fetchTaskNodeLog;if(!ne||!oe){k.value={},y.value={},B.value=void 0,t.value=!1;const ae="节点结果接口未配置(fetchTaskNodeDetail / fetchTaskNodeLog)";n.value="",r.value=ae,i.value=ae;return}t.value=!0,n.value="",r.value="",i.value="";try{const[ae,se]=await Promise.allSettled([ne({task_id:q.taskId,node_id:q.taskNodeId}),oe({task_id:q.taskId,node_id:q.taskNodeId,version:q.version})]);if(W!==R)return;if(ae.status==="fulfilled"){const de=toPlainRecord(unwrapDebugResponseData(ae.value));k.value=toPlainRecord(de?.inputs)??{},y.value=toPlainRecord(de?.outputs)??{}}else k.value={},y.value={},r.value=`节点详情加载失败:${getErrorMessage(ae.reason)}`;se.status==="fulfilled"?B.value=se.value:(B.value=void 0,i.value=`调用日志加载失败:${getErrorMessage(se.reason)}`),J&&!r.value&&!i.value&&L.set(G,{inputs:k.value,outputs:y.value,logs:B.value})}catch(ae){if(W!==R)return;console.error(ae),n.value=getErrorMessage(ae)}finally{W===R&&(t.value=!1)}};return vue.watch(()=>[e.nodeId(),e.context()?.active_task_id,e.context()?.last_task_id,e.context()?.nodes],()=>{$()},{immediate:!0}),vue.computed(()=>({loading:t.value,error:n.value,detailError:r.value,logError:i.value,execution:C.value,inputs:k.value,outputs:y.value,logs:B.value}))}function useFlowDetailData(e){const{api:t}=e,n=vue.shallowRef(null),r=vue.shallowRef([]),i=vue.shallowRef([]),C=vue.ref(!1),k=vue.ref(!1),y=vue.ref(!1),B=vue.ref(!1),L=vue.computed(()=>k.value||y.value||B.value),R=()=>e.flowId(),z=()=>e.enableVersion?.()??!1,j=()=>e.flowVersion?.();let $=0;async function H(Z,ne,oe,ae){k.value=!0;try{let se=await t.fetchFlowDetail(ne);if(oe)if(ae){const de=await t.fetchFlowDetailByVersion(ne,ae);se={...se,name:de.name,pipeline_tree:de.pipeline_tree}}else{const de=await t.fetchFlowDraftDetail(ne);se={...se,pipeline_tree:de.pipeline_tree}}Z===$&&(n.value=se)}catch(se){console.error(se)}finally{Z===$&&(k.value=!1)}}async function Q(Z,ne){if(t.fetchSpaceFlowConfig){y.value=!0;try{await t.fetchSpaceFlowConfig(ne)}catch(oe){console.error(oe)}finally{Z===$&&(y.value=!1)}}}async function W(Z,ne){if(t.fetchSystemVariables)try{const oe=await t.fetchSystemVariables(ne);Z===$&&(r.value=oe)}catch(oe){console.error(oe)}}async function te(Z){if(!(!e.canEdit()||!t.fetchAllPluginGroups)){B.value=!0;try{const ne=await t.fetchAllPluginGroups();Z===$&&(i.value=ne)}catch(ne){console.error(ne)}finally{Z===$&&(B.value=!1)}}}async function ee(){const Z=++$,ne=R(),oe=z(),ae=j();await Promise.all([H(Z,ne,oe,ae),Q(Z,ne),W(Z,ne),te(Z)])}function q(){$+=1,n.value=null,r.value=[],i.value=[],C.value=!1,k.value=!1,y.value=!1,B.value=!1}function G(Z){n.value&&(n.value={...n.value,pipeline_tree:Z},C.value=!0)}async function J(Z={}){if(!n.value||!t.saveFlow)return!1;const ne=$,oe=R(),ae=n.value;if(Z.validate&&!validatePipelineTree(ae.pipeline_tree).valid)return!1;const{name:se,desc:de,notify_config:ge,pipeline_tree:fe,triggers:ie}=ae,ce={name:se,desc:de,notify_config:ge,pipeline_tree:fe,triggers:ie};try{return await t.saveFlow(oe,ce),ne!==$||oe!==R()?!1:(C.value=!1,Z.silent||(e.onSave?.(ae),e.onSaveSuccess?.()),!0)}catch(pe){return console.error(pe),!1}}return{flowDetail:n,systemVariables:r,pluginGroupList:i,loading:L,isFlowEdited:C,load:ee,reset:q,updatePipelineTree:G,save:J}}const _hoisted_1={key:0,class:"flow-detail-operate-area"},_hoisted_2={class:"flow-detail-operate-btns"},_hoisted_3={class:"flow-detail-canvas-wrapper"},_sfc_main=vue.defineComponent({__name:"index",props:{flowId:{},apiConfig:{},permissions:{},enableVersion:{type:Boolean,default:!1},flowVersion:{},defaultZoom:{default:1},bkflowSaasUrl:{},enableThirdPlugin:{type:Boolean,default:!0},quickAdd:{default:void 0},hideTrigger:{type:Boolean,default:!1},selectPanelConfig:{},memberSelectorConfig:{},onSave:{},onSaveSuccess:{},onBack:{}},emits:["save","saveSuccess","back","createVariable"],setup(e,{expose:t,emit:n}){const r=vue.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cr1IApLI.cjs"))),i=vue.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./index-j1ZMdQyf.cjs"))),C=vue.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./index-D2oS_A8g.cjs"))),k=e,y=n,B=vue.computed(()=>({canEdit:k.permissions?.canEdit??!1,canDebug:k.permissions?.canDebug??!1})),L="fetchFlowDetail"in k.apiConfig?k.apiConfig:{...k.apiConfig,enableThirdPlugin:k.enableThirdPlugin},R=provideFlowApiConfig(L);provideSelectPanelConfig(k.selectPanelConfig||{}),provideMemberSelectorConfig(k.memberSelectorConfig),setContext({},k.bkflowSaasUrl);const z=vue.ref(),j=vue.ref(),$=vue.shallowRef(!1);provideVariableInputCreateVariable(Ke=>{y("createVariable",Ke),z.value?.openGlobalVariableCreate(Ke)});const Q=useFlowDetailData({flowId:()=>String(k.flowId),enableVersion:()=>k.enableVersion,flowVersion:()=>k.flowVersion,canEdit:()=>B.value.canEdit,api:R,onSave:k.onSave,onSaveSuccess:k.onSaveSuccess}),W=Q.flowDetail,te=Q.systemVariables,ee=Q.pluginGroupList,q=useDebugContext({templateId:()=>String(k.flowId),enabled:()=>B.value.canDebug,api:R,onMessage:(Ke,Ct)=>BkMessage({theme:Ke,message:Ct,ellipsisLine:3})}),G=vue.ref(!1),J=vue.ref(!1),Z=vue.ref(!1),ne=vue.ref(null),oe=vue.computed(()=>Z.value?"流程已保存,但调试结果尚未完成同步,请在调试前重试":q.contextSyncError.value),ae=vue.computed(()=>B.value.canDebug&&["running","terminating"].includes(q.context.value?.status??"idle")),se=vue.computed(()=>B.value.canEdit&&!ae.value),de=vue.computed(()=>B.value.canDebug&&!q.initializing.value&&!q.actionPending.value&&!G.value&&!J.value&&(q.context.value?.status??"idle")==="idle"),ge=vue.computed(()=>q.canvasState.value.nodeStates),fe=createExecutionStatusPlugin(ge),ie=vue.computed(()=>B.value.canDebug?[fe]:[]),ce=vue.computed(()=>B.value.canDebug?{isMockNode:Ke=>q.canvasState.value.mockNodeIds.has(Ke),focusedNodeId:()=>ut.value,openNodeDebugPanel:Ke=>{j.value?.openNodeDebugPanel?.(Ke),bt(Ke)}}:void 0),pe=vue.computed(()=>{const Ke=W.value?.pipeline_tree;return!Ke||!B.value.canDebug?Ke:mergeNodeStatesToPipelineTree(Ke,ge.value)});let le=0;async function ue(Ke=!1){const Ct=++le;if(Ke&&(Q.reset(),it()),await Q.load(),Ct===le){if(!W.value){BkMessage({theme:"error",message:"加载流程详情失败,请刷新重试"});return}B.value.canDebug&&(await q.initialize(),Ct===le&&(q.contextSyncError.value&&BkMessage({theme:"warning",message:`调试状态同步失败:${q.contextSyncError.value}`,ellipsisLine:3}),q.context.value?.status!=="idle"&&$e()))}}vue.onMounted(()=>{ue()});const he=()=>{k.onBack?k.onBack():y("back")},ye=Ke=>{W.value=Ke,Q.isFlowEdited.value=!0},_e=Ke=>{W.value&&(W.value={...W.value,pipeline_tree:{...W.value.pipeline_tree,constants:Ke}}),Q.isFlowEdited.value=!0,j.value?.updateGlobalVariables(Ke)},Ne=Ke=>{j.value?.updateOutputs(Ke)},be=Ke=>{Q.updatePipelineTree(Ke)},Ae=Ke=>{BkMessage({theme:"error",message:Ke.message}),Ke.ids.length>0&&j.value?.locateNode?.(Ke.ids[0])},Te=async()=>{if(!B.value.canDebug||!R.fetchDebugResetImpact)return Z.value=!1,!0;if((q.context.value?.status??"idle")!=="idle")return!1;Z.value=!0;try{const Ke=await R.fetchDebugResetImpact(String(k.flowId));if(Ke?.reset_node_ids?.length){const Ct=await q.reset(Ke.reset_node_ids);if(!Ct)return!1;const Rt=Ct.reset_node_ids?.length??Ke.reset_node_ids.length;BkMessage({theme:"success",message:`已清理 ${Rt} 个失效节点的调试结果`})}return Z.value=!1,!0}catch(Ke){return console.error(Ke),BkMessage({theme:"warning",message:"流程已保存,但调试结果失效检查失败,请重试"}),!1}},Ze=async()=>{if(!se.value||!W.value)return;if(B.value.canDebug){if(await q.refresh(),q.contextSyncError.value){BkMessage({theme:"error",message:`调试状态同步失败,暂不能保存:${q.contextSyncError.value}`});return}if((q.context.value?.status??"idle")!=="idle"){BkMessage({theme:"warning",message:"流程正在调试中,暂不能保存"});return}}const Ke=validatePipelineTree(W.value.pipeline_tree);if(!Ke.valid){Ae(Ke);return}$.value=!0;try{await Q.save({validate:!1})&&(BkMessage({theme:"success",message:"保存成功"}),y("save",W.value),y("saveSuccess"),await Te())}finally{$.value=!1}},lt=vue.ref(!1),Ge=vue.shallowRef({}),st=vue.ref(!1),Ue=vue.computed(()=>{const Ke=q.context.value;return{...Ke?.last_inputs??Ke?.global_vars??{}}}),De=async()=>{if(!Q.isFlowEdited.value)return Z.value?await Te()?!0:(BkMessage({theme:"error",message:"调试结果未完成同步,已中止调试"}),!1):!0;if(!B.value.canEdit||!W.value)return BkMessage({theme:"warning",message:"当前流程存在未保存修改,且没有保存权限"}),!1;const Ke=validatePipelineTree(W.value.pipeline_tree);return Ke.valid?await Q.save({silent:!0,validate:!1})?await Te()?!0:(BkMessage({theme:"error",message:"调试结果未完成同步,已中止调试"}),!1):(BkMessage({theme:"error",message:"保存流程失败,已中止调试"}),!1):(Ae(Ke),!1)},We=async()=>!q.contextSyncError.value||(await q.refresh(),!q.contextSyncError.value)?!0:(BkMessage({theme:"error",message:`调试状态同步失败:${q.contextSyncError.value}`,ellipsisLine:3}),!1),Ye=async Ke=>{if(!de.value)return!1;G.value=!0;try{return await q.refresh(),!await We()||(q.context.value?.status??"idle")!=="idle"?!1:await Ke()}catch{return!1}finally{G.value=!1}},Re=async()=>{if(de.value){J.value=!0;try{if(!await We())return;Ge.value=await q.fetchInputSchema(),lt.value=!0}catch(Ke){console.error(Ke),BkMessage({theme:"error",message:"加载调试参数失败,请重试"})}finally{J.value=!1}}},Je=()=>{st.value=!0,$e()},Xe=async()=>{try{await q.terminate()}catch{}},Me=vue.ref(!1),nt=vue.shallowRef(null),et=async Ke=>{await Ye(async()=>await De()?(He.value=!1,ze.value="",q.runGlobal(Ke)):!1)&&(Me.value=!0,nt.value={...Ke},lt.value=!1,st.value=!0)},wt=vue.computed(()=>{if(Me.value)return!0;const Ke=q.context.value;return Ke?Ke.status==="running"||Ke.status==="terminating"?Ke.active_run_type==="global":Ke.last_run_type==="global":!1}),tt=vue.computed(()=>nt.value??Ue.value),ot=vue.computed(()=>new Set((q.context.value?.nodes??[]).filter(Ke=>Ke.status!=="not_run").map(Ke=>Ke.node_id))),gt=Ke=>q.context.value?.nodes.find(Ct=>Ct.node_id===Ke),Et=vue.computed(()=>{const Ke=W.value?.pipeline_tree?.activities??{},Ct={};return Object.values(Ke).forEach(Rt=>{Rt?.id&&(Ct[Rt.id]=Rt.name??Rt.id)}),Ct}),Dt=Ke=>ne.value?.nodeId===Ke?ne.value.action:"",Ft=Ke=>{bt(Ke)},Nt=async Ke=>{if(de.value){ne.value={nodeId:Ke.id,action:"real"};try{await Ye(async()=>{const Ct=Q.isFlowEdited.value;if(!await De())return!1;if(Ct){await q.refresh();const Rt=gt(Ke.id);if(!Rt?.can_step||(Rt.missing_vars?.length??0)>0)return BkMessage({theme:"warning",message:"当前输入参数不满足调试要求"}),!1}return q.runStep({nodeId:Ke.id,mode:"real"})})}finally{ne.value=null}}},Pe=async Ke=>{if(de.value){ne.value={nodeId:Ke.id,action:"cancel-mock"};try{await Ye(async()=>await De()?q.cancelMock(Ke.id):!1)}finally{ne.value=null}}},at=vue.ref(!1),_t=vue.shallowRef(null),Oe=new Map,Be=vue.computed(()=>{const Ke=_t.value?.id;return Ke?ne.value?.nodeId===Ke&&ne.value.action==="mock":!1}),Ee=vue.computed(()=>{const Ke=_t.value?.id,Ct=Ke?gt(Ke):void 0;if(Ct?.mock_outputs)return{outputs:Ct.mock_outputs??{}};const Rt=Ke?Oe.get(Ke):void 0;return Rt?{outputs:Rt.outputs}:{outputs:{}}}),ve=Ke=>{_t.value=Ke,at.value=!0},ke=async Ke=>{const Ct=_t.value;if(!Ct||!de.value)return;ne.value={nodeId:Ct.id,action:"mock"};const Rt=await Ye(async()=>await De()?q.runMock({nodeId:Ct.id,mockResult:"success",mockOutputs:Ke.outputs}):!1);ne.value=null,Rt&&(Oe.set(Ct.id,Ke),at.value=!1,st.value=!0,$e(Ct.id))},je=Ke=>{j.value?.updateNodeInputParams?.(Ke)},Se=()=>{z.value?.openGlobalVariables()},ze=vue.ref(""),He=vue.ref(!1),ut=vue.ref(""),bt=Ke=>{Ke&&(ut.value=Ke,j.value?.locateNode?.(Ke))},At=Ke=>{He.value=!0,ze.value=Ke},kt=useDebugNodeResult({api:R,context:()=>q.context.value,nodeId:()=>ze.value}),xe=vue.computed(()=>kt.value),Ie=vue.computed(()=>q.context.value?.nodes.find(Ke=>Ke.status==="running")?.node_id??""),$e=Ke=>{if(st.value=!0,Ke){He.value=!0,ze.value=Ke,bt(Ke);return}ze.value||(ze.value=Ie.value||[...ot.value][0]||"")},mt=(Ke,Ct)=>{$e(Ke),Ct?.()};vue.watch(ze,Ke=>{Ke&&bt(Ke)}),vue.watch(()=>q.context.value?.status??"idle",(Ke,Ct)=>{Ke!==Ct&&(Ke==="running"||Ke==="terminating")&&(st.value=!0,!He.value&&Ie.value&&(ze.value=Ie.value))}),vue.watch(Ie,Ke=>{Ke&&!He.value&&(ze.value=Ke)});function it(){q.resetState(),lt.value=!1,Ge.value={},st.value=!1,Me.value=!1,nt.value=null,at.value=!1,_t.value=null,Oe.clear(),ze.value="",He.value=!1,ut.value="",G.value=!1,J.value=!1,ne.value=null,Z.value=!1}vue.watch(()=>[String(k.flowId),k.flowVersion],([Ke,Ct],[Rt,Yt])=>{(Ke!==Rt||Ct!==Yt)&&ue(!0)}),vue.watch(()=>B.value.canDebug,(Ke,Ct)=>{Ke!==Ct&&(it(),Ke&&W.value&&q.initialize().then(()=>{q.contextSyncError.value&&BkMessage({theme:"warning",message:`调试状态同步失败:${q.contextSyncError.value}`,ellipsisLine:3}),q.context.value?.status!=="idle"&&$e()}))});const Tt=Ke=>{const Ct=W.value?.pipeline_tree?.activities?.[Ke];Ct&&ve(Ct)},Pt=Ke=>{const Ct=W.value?.pipeline_tree?.activities?.[Ke];Ct&&Nt(Ct)},Wt=Ke=>{const Ct=W.value?.pipeline_tree?.activities?.[Ke];Ct&&ve(Ct)},on={isFlowEdited:vue.computed(()=>Q.isFlowEdited.value),updateNodeInputParams:je,openGlobalVariables:Se,refreshDebugContext:async()=>{await q.refresh()},openDebugResult:$e,zoomToFit:Ke=>j.value?.zoomToFit?.(Ke),centerContent:()=>j.value?.centerContent?.(),getZoom:()=>j.value?.getZoom?.()??1};return t(on),(Ke,Ct)=>{const Rt=vue.resolveComponent("bk-button");return vue.openBlock(),vue.createBlock(ContainerLayout,{title:"流程详情",desc:vue.unref(W)?.name,"show-back-icon":!0,onBack:he},{header:vue.withCtx(()=>[vue.renderSlot(Ke.$slots,"header",{},void 0,!0)]),extend:vue.withCtx(()=>[vue.unref(W)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1,[vue.createVNode(FlowInfoSliders,{ref_key:"flowInfoSlidersRef",ref:z,"flow-data":vue.unref(W),editable:se.value,"system-variables":vue.unref(te),"hide-trigger":k.hideTrigger,onChange:ye,onUpdateConstants:_e,onUpdateOutputs:Ne},null,8,["flow-data","editable","system-variables","hide-trigger"]),B.value.canDebug?(vue.openBlock(),vue.createBlock(DebugTrigger,{key:0,context:vue.unref(q).context.value,summary:vue.unref(q).canvasState.value.summary,initializing:vue.unref(q).initializing.value||J.value||$.value||vue.unref(q).resetPending.value,"sync-error":oe.value,"terminate-pending":vue.unref(q).terminatePending.value,onStart:Re,onOpenResult:Je,onTerminate:Xe},null,8,["context","summary","initializing","sync-error","terminate-pending"])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_2,[B.value.canEdit?(vue.openBlock(),vue.createBlock(Rt,{key:0,"data-test":"save-flow",theme:"primary",disabled:!se.value,loading:$.value,onClick:Ze},{default:vue.withCtx(()=>[...Ct[3]||(Ct[3]=[vue.createTextVNode(" 保存 ",-1)])]),_:1},8,["disabled","loading"])):vue.createCommentVNode("",!0)])])):vue.createCommentVNode("",!0)]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_3,[vue.unref(W)?(vue.openBlock(),vue.createBlock(FlowCanvas,{key:0,ref_key:"flowCanvasRef",ref:j,mode:se.value?"edit":"view","flow-id":String(k.flowId),"pipeline-tree":pe.value,"plugin-group-list":vue.unref(ee),"system-variables":vue.unref(te),"default-zoom":k.defaultZoom,"quick-add":k.quickAdd,"enable-node-debug":B.value.canDebug,"additional-plugins":ie.value,"debug-context":ce.value,onChange:be},{inputParams:vue.withCtx(Yt=>[vue.renderSlot(Ke.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps({...Yt,updateNodeInputParams:je})),void 0,!0)]),nodeDebugConfig:vue.withCtx(({node:Yt,close:mn})=>[vue.createVNode(NodeDebugConfig,{node:Yt,"context-node":vue.unref(Q).isFlowEdited.value?null:gt(Yt.id),"pending-action":Dt(Yt.id),"has-result":ot.value.has(Yt.id),"node-name-map":Et.value,onRunReal:Bn=>Nt(Yt),onRunMock:Bn=>ve(Yt),onCancelMock:Bn=>Pe(Yt),onViewResult:Bn=>mt(Yt.id,mn),onJumpToSourceNode:Ft},null,8,["node","context-node","pending-action","has-result","node-name-map","onRunReal","onRunMock","onCancelMock","onViewResult"])]),_:3},8,["mode","flow-id","pipeline-tree","plugin-group-list","system-variables","default-zoom","quick-add","enable-node-debug","additional-plugins","debug-context"])):vue.createCommentVNode("",!0),B.value.canDebug?(vue.openBlock(),vue.createBlock(vue.unref(C),{key:1,open:st.value,"onUpdate:open":Ct[0]||(Ct[0]=Yt=>st.value=Yt),"model-value":ze.value,context:vue.unref(q).context.value,"pipeline-tree":vue.unref(W)?.pipeline_tree??null,"mock-node-ids":vue.unref(q).canvasState.value.mockNodeIds,result:xe.value,"has-global-run":wt.value,"global-inputs":tt.value,"onUpdate:modelValue":At,onReEditMock:Tt,onRunReal:Pt,onRunMock:Wt},null,8,["open","model-value","context","pipeline-tree","mock-node-ids","result","has-global-run","global-inputs"])):vue.createCommentVNode("",!0)]),B.value.canDebug?(vue.openBlock(),vue.createBlock(vue.unref(r),{key:0,show:lt.value,"onUpdate:show":Ct[1]||(Ct[1]=Yt=>lt.value=Yt),schema:Ge.value,"pipeline-constants":vue.unref(W)?.pipeline_tree?.constants??{},"initial-values":Ue.value,pending:vue.unref(q).globalRunPending.value,onConfirm:et},null,8,["show","schema","pipeline-constants","initial-values","pending"])):vue.createCommentVNode("",!0),B.value.canDebug&&_t.value?(vue.openBlock(),vue.createBlock(vue.unref(i),{key:1,show:at.value,"onUpdate:show":Ct[2]||(Ct[2]=Yt=>at.value=Yt),node:_t.value,outputs:Ee.value.outputs,pending:Be.value,onConfirm:ke},null,8,["show","node","outputs","pending"])):vue.createCommentVNode("",!0)]),_:3},8,["desc"])}}}),index$1=_export_sfc(_sfc_main,[["__scopeId","data-v-a653f933"]]),getUniformApiPluginFormValue=e=>"default"in e?e.default:"",index={FlowView:()=>Promise.resolve().then(()=>view$1),FlowEdit:()=>Promise.resolve().then(()=>edit$1),FlowCreateTask:()=>Promise.resolve().then(()=>createTask),FlowExecute:()=>Promise.resolve().then(()=>execute$1),FlowDebug:()=>Promise.resolve().then(()=>debug),FlowMockDebug:()=>Promise.resolve().then(()=>mock$1)};exports.BkFlowCanvas=BkFlowCanvas;exports.BkFlowModelAccessor=BkFlowModelAccessor;exports.BkFlowNodeAccessor=BkFlowNodeAccessor;exports.BuiltinVariableUsageForm=BuiltinVariableUsageForm;exports.CallLogsViewer=CallLogsViewer;exports.DebugJsonViewer=DebugJsonViewer;exports.DebugValueTable=DebugValueTable;exports.EmptyException=EmptyException;exports.FlowCreateTask=FlowCreateTask;exports.FlowDebug=FlowDebug;exports.LoadingStatusIcon=LoadingStatusIcon;exports.MockFieldRenderer=MockFieldRenderer;exports.RenderForm=RenderForm;exports.SegmentTabs=SegmentTabs;exports._export_sfc=_export_sfc;exports.bkflowConnectionValidator=bkflowConnectionValidator;exports.createBkflowPlugin=createBkflowPlugin;exports.createBkflowSchema=createBkflowSchema;exports.createExecutionStatusPlugin=createExecutionStatusPlugin;exports.edit=edit;exports.execute=execute;exports.exportToPipelineTree=exportToPipelineTree;exports.formatJsonFieldValue=formatJsonFieldValue;exports.getInputFormsFromConstants=getInputFormsFromConstants;exports.getUniformApiPluginFormValue=getUniformApiPluginFormValue;exports.getVariableDefaultConfig=getVariableDefaultConfig;exports.importFromPipelineTree=importFromPipelineTree;exports.index=index$1;exports.index$1=index;exports.isBuiltinUsageVariable=isBuiltinUsageVariable;exports.isMockableNode=isMockableNode;exports.mergeOutputs=mergeOutputs;exports.mock=mock;exports.normalizeLogText=normalizeLogText;exports.normalizePluginOutputItems=normalizePluginOutputItems;exports.parseJsonFieldValue=parseJsonFieldValue;exports.pluginDetailRequest=pluginDetailRequest;exports.provideFlowApiConfig=provideFlowApiConfig;exports.provideMemberSelectorConfig=provideMemberSelectorConfig;exports.provideSelectPanelConfig=provideSelectPanelConfig;exports.resolveExecutionActions=resolveExecutionActions;exports.resolveMockFormControl=resolveMockFormControl;exports.useFlowApiConfig=useFlowApiConfig;exports.useFlowEditApiConfig=useFlowEditApiConfig;exports.useFlowViewApiConfig=useFlowViewApiConfig;exports.useMemberSelectorConfig=useMemberSelectorConfig;exports.useSelectPanelConfig=useSelectPanelConfig;exports.validatePipelineTree=validatePipelineTree;exports.view=view;
70
+ `,placement:"top"}]])]),vue.createElementVNode("div",_hoisted_9$4,[vue.createElementVNode("span",_hoisted_10$4,"共 "+vue.toDisplayString(oe.count)+" 篇,",1),vue.createElementVNode("span",_hoisted_11$4,vue.toDisplayString($(oe.size)),1)]),vue.createVNode(J,{class:"kb-checkbox",style:{"pointer-events":"none"},"model-value":L.value.includes(oe.knowledgebase_id)},null,8,["model-value"])])]),vue.createElementVNode("div",_hoisted_12$3,vue.toDisplayString(oe.description||"--"),1)],8,_hoisted_4$i))),128)),z.value.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:0,title:y.value.length===0?"暂无知识库":"搜索结果为空"},null,8,["title"])):vue.createCommentVNode("",!0)]),z.value.length>0?(vue.openBlock(),vue.createElementBlock("div",_hoisted_13$1,[vue.withDirectives((vue.openBlock(),vue.createBlock(G,{theme:"primary",disabled:L.value.length===0,onClick:W},{default:vue.withCtx(()=>[...q[4]||(q[4]=[vue.createTextVNode(" 确定 ",-1)])]),_:1},8,["disabled"])),[[Z,{content:L.value.length===0?"请选择知识库":"",disabled:L.value.length>0}]]),vue.createVNode(G,{onClick:te},{default:vue.withCtx(()=>[...q[5]||(q[5]=[vue.createTextVNode("取消",-1)])]),_:1})])):vue.createCommentVNode("",!0)])),[[ne,{loading:R.value}]])}}}),KnowledgebasePluginGroup=_export_sfc(_sfc_main$x,[["__scopeId","data-v-67fc5ae8"]]),_hoisted_1$s={class:"plugin-group"},_sfc_main$w=vue.defineComponent({__name:"output-plugin-group",setup(e){return(t,n)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$s,[vue.createVNode(EmptyException,{title:"暂无结论输出插件"})]))}}),OutputPluginGroup=_export_sfc(_sfc_main$w,[["__scopeId","data-v-93c9733d"]]),pluginDefaultIcon="data:image/png;base64,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",_hoisted_1$r={class:"bkflow-plugin-group"},_hoisted_2$o={class:"plugin-content-wrapper"},_hoisted_3$l={class:"tags-list"},_hoisted_4$h=["onClick"],_hoisted_5$a={class:"plugins-list"},_hoisted_6$8={class:"plugin-icon-wrapper"},_hoisted_7$5=["src"],_hoisted_8$4={class:"plugin-info-wrapper"},_hoisted_9$3={class:"plugin-name"},_hoisted_10$3=["title"],_hoisted_11$3={class:"managers-text"},_sfc_main$v=vue.defineComponent({__name:"bkflow-plugin-group",props:{bkflowPluginTags:{},activeTag:{}},emits:["selectBkflowPlugin"],setup(e,{emit:t}){const n=useFlowApiConfig(),r=e,i=t,C=vue.ref([]),k=vue.ref(r.activeTag||0),y=vue.ref([]),B=vue.ref(!1),L=vue.ref(!1),R=vue.ref({}),z=[{id:"name",name:"插件名称"}],j=vue.computed(()=>L.value?r.bkflowPluginTags.filter(q=>(R.value[q.id]?.length||0)>0):r.bkflowPluginTags),$=vue.computed(()=>L.value?R.value[k.value]||[]:y.value);vue.onMounted(()=>{W()});const H=q=>{k.value=q,L.value||W()},Q=async q=>{const J=q.find(Z=>Z.id==="name")?.values?.[0]?.name||"";if(!J){L.value=!1,R.value={},W();return}L.value=!0,B.value=!0,R.value={};try{const ne=(await n.fetchBkFlowInnerPluginList()).filter(ae=>ae.name.toLowerCase().includes(J.toLowerCase())).map(ae=>({code:ae.code,name:ae.name,logo_url:pluginDefaultIcon,desc:ae.desc||"--",managers:["BkFlow"],version:ae.version,tag:0}));if(ne.length>0&&(R.value[0]=ne),n.enableThirdPlugin!==!1&&n.searchBkFlowThirdPartyPlugins&&(await n.searchBkFlowThirdPartyPlugins(J)).data.plugins.forEach(de=>{const ge={code:de.code,name:de.name,logo_url:de.logo_url,desc:de.introduction||"--",managers:de.managers,version:"1.0.0",tag:de.tag};R.value[de.tag]||(R.value[de.tag]=[]),R.value[de.tag].push(ge)}),!R.value[k.value]||R.value[k.value].length===0){const ae=Object.keys(R.value).map(Number)[0];ae!==void 0&&(k.value=ae)}}catch(Z){console.error("Search plugins failed:",Z)}finally{B.value=!1}},W=async()=>{if(B.value=!0,y.value=[],k.value===0){const q=await n.fetchBkFlowInnerPluginList();y.value=q.map(G=>({code:G.code,name:G.name,logo_url:pluginDefaultIcon,desc:G.desc||"--",managers:["BkFlow"],version:G.version}))}else{if(!(n.enableThirdPlugin!==!1)){y.value=[],B.value=!1;return}const G=await n.fetchBkFlowThirdPartyPluginList(k.value);y.value=G.data.plugins.map(J=>({code:J.code,name:J.name,logo_url:J.logo_url,desc:J.introduction||"--",managers:J.managers,version:"1.0.0"}))}B.value=!1},te=()=>{C.value=[],L.value=!1,R.value={},W()},ee=q=>{const J=(L.value?$.value:y.value).find(Z=>Z.code===q);if(J){const{code:Z,name:ne,version:oe}=J,ae=L.value?J.tag===0:k.value===0;i("selectBkflowPlugin",{code:ae?Z:"remote_plugin",name:ne,data:ae?{}:{plugin_code:{hook:!1,value:Z}},version:oe})}};return(q,G)=>{const J=vue.resolveComponent("bk-button"),Z=vue.resolveDirective("bk-loading");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$r,[vue.createVNode(_sfc_main$21,{modelValue:C.value,"onUpdate:modelValue":G[0]||(G[0]=ne=>C.value=ne),options:z,placeholder:"搜索插件名称",onChange:Q},null,8,["modelValue"]),vue.createElementVNode("div",_hoisted_2$o,[j.value.length>0?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createElementVNode("div",_hoisted_3$l,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(j.value,ne=>(vue.openBlock(),vue.createElementBlock("div",{key:ne.id,class:vue.normalizeClass(["tag-item",{actived:k.value===ne.id}]),onClick:oe=>H(ne.id)},vue.toDisplayString(ne.name),11,_hoisted_4$h))),128))]),vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_5$a,[$.value.length>0?(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,{key:0},vue.renderList($.value,ne=>(vue.openBlock(),vue.createElementBlock("div",{key:ne.code,class:"plugin-item"},[vue.createElementVNode("div",_hoisted_6$8,[vue.createElementVNode("img",{src:ne.logo_url||vue.unref(pluginDefaultIcon),alt:"plugin-icon"},null,8,_hoisted_7$5)]),vue.createElementVNode("div",_hoisted_8$4,[vue.createElementVNode("h4",_hoisted_9$3,vue.toDisplayString(ne.name),1),vue.createElementVNode("p",{class:"plugin-desc",title:ne.desc},vue.toDisplayString(ne.desc),9,_hoisted_10$3),vue.createElementVNode("div",_hoisted_11$3,vue.toDisplayString(ne.managers?ne.managers.join(","):"BkFlow")+" 提供",1)]),vue.createVNode(J,{theme:"primary",size:"small",onClick:oe=>ee(ne.code)},{default:vue.withCtx(()=>[...G[1]||(G[1]=[vue.createTextVNode("选择",-1)])]),_:1},8,["onClick"])]))),128)):!B.value&&$.value.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:1,title:"该分类暂无插件"})):vue.createCommentVNode("",!0)])),[[Z,{loading:B.value}]])],64)):L.value&&!B.value&&j.value.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:1,"is-search":!0,onClear:te})):vue.createCommentVNode("",!0)])])}}}),BkFlowPluginGroup=_export_sfc(_sfc_main$v,[["__scopeId","data-v-1f2d5307"]]),_hoisted_1$q={class:"plugin-select-slider"},_hoisted_2$n={key:0,class:"plugin-select-content"},_sfc_main$u=vue.defineComponent({__name:"index",props:{show:{type:Boolean,default:!1},flowId:{},active:{default:""},bkflowTag:{default:0},pluginGroupList:{default:()=>[]},inputData:{default:()=>({})},isBack:{type:Boolean,default:!1}},emits:["close","update:show","select","back"],setup(e,{emit:t}){const n={data:DataPluginGroup,agent:AgentPluginGroup,model:ModelPluginGroup,knowledgebase:KnowledgebasePluginGroup,bkflow:BkFlowPluginGroup,output:OutputPluginGroup},r=e,i=t,C=vue.ref(r.active),k=vue.shallowRef([]),y=vue.ref(!1),B=vue.computed(()=>n[C.value]||null),L=vue.computed(()=>r.pluginGroupList.find(ee=>ee.name===C.value)?.properties||{}),R=vue.computed(()=>r.pluginGroupList.find(ee=>ee.name==="bkflow")?.children||[]),z=vue.computed(()=>C.value==="knowledgebase"?{cancel:te}:{});vue.watch(()=>r.show,()=>{r.show&&(C.value=r.active,C.value!=="bkflow"&&j())});const j=()=>{const ee=r.pluginGroupList.find(q=>q.name===C.value);k.value=ee?ee.children:[]},$=ee=>{k.value=[],C.value=ee,ee!=="bkflow"&&j()},H=ee=>{if(typeof ee=="object"&&ee.pluginId){const q=k.value.find(G=>G.id===ee.pluginId);i("select","projectPlugin",q,ee.inputData)}else{const q=k.value.find(G=>G.id===ee);i("select","projectPlugin",q)}},Q=ee=>{i("select","bkflowPlugin",ee)},W=()=>r.isBack?(i("back"),!1):(te(),!0),te=()=>{k.value=[],i("close"),i("update:show",!1)};return(ee,q)=>{const G=vue.resolveComponent("bk-sideslider"),J=vue.resolveDirective("bk-loading");return vue.openBlock(),vue.createBlock(G,{title:"节点选择","is-show":r.show,width:1200,"esc-close":!1,"before-close":W},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$q,[vue.createVNode(PluginGroupsAside,{active:C.value,"onUpdate:active":q[0]||(q[0]=Z=>C.value=Z),groups:r.pluginGroupList,onChange:$},null,8,["active","groups"]),r.show?vue.withDirectives((vue.openBlock(),vue.createElementBlock("section",_hoisted_2$n,[B.value?(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(B.value),vue.mergeProps({key:C.value,plugins:k.value,loading:y.value,"bkflow-plugin-tags":R.value,"active-tag":r.bkflowTag,properties:L.value,"input-data":r.inputData},vue.toHandlers(z.value),{onSelect:H,onSelectBkflowPlugin:Q}),null,16,["plugins","loading","bkflow-plugin-tags","active-tag","properties","input-data"])):vue.createCommentVNode("",!0)])),[[J,{loading:y.value}]]):vue.createCommentVNode("",!0)])]),_:1},8,["is-show"])}}}),PluginSelectPanel=_export_sfc(_sfc_main$u,[["__scopeId","data-v-6f710058"]]),logicImg="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20class='design-iconfont'%3e%3cpath%20d='M13,1%20C14.1045695,1%2015,1.8954305%2015,3%20L15,13%20C15,14.1045695%2014.1045695,15%2013,15%20L3,15%20C1.8954305,15%201,14.1045695%201,13%20L1,3%20C1,1.8954305%201.8954305,1%203,1%20L13,1%20Z%20M13,3.5%20L10,3.5%20L10,4.5%20L11.3962161,4.50116386%20C9.643609,6.49502964%208.38728573,7.5%207.76574712,7.5%20L2.98331185,7.5%20L2.98331185,8.5%20L7.76574712,8.5%20C8.38739048,8.5%209.64403252,9.50530916%2011.3971023,11.4998444%20L10,11.5%20L10,12.5%20L13,12.5%20L13,9.5%20L12,9.5%20L11.9990374,10.6691668%20C10.8673578,9.39340572%209.92128001,8.50479286%209.13199729,8.00043657%20C9.92138242,7.4953138%2010.8676033,6.60639761%2011.9994779,5.33034326%20L12,6.5%20L13,6.5%20L13,3.5%20Z'%20fill='%236EC3D5'%20fill-rule='evenodd'/%3e%3c/svg%3e",_hoisted_1$p={class:"option-item"},_hoisted_2$m=["src"],_hoisted_3$k={class:"option-name"},_sfc_main$t=vue.defineComponent({__name:"option-item",props:{option:{}},setup(e){const t=e,n=r=>{const i=r.target;i.src!==composable.PLUGIN_GROUP_DEFAULT_ICON&&(i.src=composable.PLUGIN_GROUP_DEFAULT_ICON)};return(r,i)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$p,[vue.createElementVNode("img",{class:"option-img",src:t.option.iconUrl||vue.unref(composable.PLUGIN_GROUP_DEFAULT_ICON),onError:n},null,40,_hoisted_2$m),vue.createElementVNode("div",_hoisted_3$k,vue.toDisplayString(t.option.name),1),t.option.type==="group"?(vue.openBlock(),vue.createBlock(vue.unref(icon.AngleRight),{key:0,class:"angle-icon"})):vue.createCommentVNode("",!0),t.option.type==="link"?(vue.openBlock(),vue.createBlock(vue.unref(icon.ArrowsRight),{key:1,class:"arrow-icon"})):vue.createCommentVNode("",!0)]))}}),OptionItem=_export_sfc(_sfc_main$t,[["__scopeId","data-v-0a4661f8"]]),_hoisted_1$o={class:"quick-edit-popover"},_hoisted_2$l={class:"search-input"},_hoisted_3$j={class:"plugin-option-list"},_hoisted_4$g={key:0,class:"logic-node-list"},_hoisted_5$9=["onClick"],_hoisted_6$7={class:"logic-node-name"},_hoisted_7$4={key:1,class:"data-plugin-list"},_hoisted_8$3=["onClick"],_hoisted_9$2={class:"data-plugin-name"},_hoisted_10$2={key:2,class:"agent-plugin-list"},_hoisted_11$2={class:"list-wrapper"},_hoisted_12$2=["onClick"],_hoisted_13={class:"agent-name"},_hoisted_14={class:"agent-en-name"},_hoisted_15={key:3,class:"agent-plugin-list"},_hoisted_16={class:"list-wrapper"},_hoisted_17=["onClick"],_hoisted_18={class:"agent-name"},_hoisted_19={key:4,class:"bkflow-tag-list"},_hoisted_20=["onClick"],_hoisted_21=["onClick"],_sfc_main$s=vue.defineComponent({__name:"index",props:{pluginGroupList:{default:()=>[]}},emits:["addNode","addPlugin","openPluginSelect"],setup(e,{emit:t}){const n={branchgateway:DEFAULT_DND_NODE_TYPES.find(ee=>ee.type==="exclusive-gateway")?.icon??"bkflow-canvas-fenzhiwangguan",parallelgateway:DEFAULT_DND_NODE_TYPES.find(ee=>ee.type==="parallel-gateway")?.icon??"bkflow-canvas-bingxingwangguan",conditionalparallelgateway:DEFAULT_DND_NODE_TYPES.find(ee=>ee.type==="conditional-parallel-gateway")?.icon??"bkflow-canvas-tiaojianbingxingwangguan",convergegateway:DEFAULT_DND_NODE_TYPES.find(ee=>ee.type==="converge-gateway")?.icon??"bkflow-canvas-huijuwangguan"},r=[{id:"branchgateway",name:"分支网关",icon:n.branchgateway},{id:"parallelgateway",name:"并行网关",icon:n.parallelgateway},{id:"conditionalparallelgateway",name:"条件并行网关",icon:n.conditionalparallelgateway},{id:"convergegateway",name:"汇聚网关",icon:n.convergegateway}],i={alert_plugin:"incident-gaojing",query_promql_metric_plugin:"incident-zhibiao",trace_plugin:"incident-trace",事件:"incident-shijian",log_plugin:"incident-rizhi",profling:"incident-profling",图谱:"incident-tupu"},C=useSelectPanelConfig(),k=e,y=t,B=vue.shallowRef([]),L=vue.ref(""),R=vue.shallowRef([...B.value||[]]),z=vue.computed(()=>(k.pluginGroupList.find(ee=>ee.name==="agent")?.children.length||0)>10);vue.watch(()=>k.pluginGroupList,ee=>{const q=[{id:"logic",name:"逻辑",iconUrl:logicImg,type:"group",width:160,children:r}];ee.forEach(G=>{q.push({id:G.name,name:G.alias,iconUrl:G.iconUrl,type:G.name==="knowledgebase"?"link":"group",width:G.name==="data"?160:280,children:G.children.map(J=>{if(G.name==="data"){const{id:Z,name:ne,alias:oe}=J;return{id:Z,name:oe,icon:i[ne]}}else if(G.name==="agent"){const{id:Z,alias:ne,name:oe}=J;return{id:Z,name:ne,enName:oe}}else if(G.name==="bkflow"){const{id:Z,name:ne}=J;return{id:Z,name:ne}}return J})})}),B.value=q,R.value=[...B.value]},{immediate:!0});const j=ee=>{const q=ee.trim().toLowerCase();if(q===""){R.value=[...B.value];return}const G=[];B.value.forEach(J=>{if(J.name.toLowerCase().includes(q))G.push(J);else if(J.type==="group"){const Z=[];J.children?.forEach(ne=>{ne.name.toLowerCase().includes(q)&&Z.push(ne)}),Z.length>0&&G.push({...J,children:Z})}}),R.value=G},$=()=>{L.value="",R.value=[...B.value]},H=ee=>{y("addNode",ee)},Q=(ee,q)=>{q==="bkflow"?W("bkflow",ee):y("addPlugin",ee,q)},W=(ee,q=0)=>{y("openPluginSelect",ee,q)},te=ee=>{ee==="agent"&&!z.value?C?.agentApplyUrl&&window.open(C.agentApplyUrl,"_blank"):W(ee)};return(ee,q)=>{const G=vue.resolveComponent("bk-input"),J=vue.resolveComponent("bk-button"),Z=vue.resolveComponent("bk-popover");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$o,[vue.createElementVNode("div",_hoisted_2$l,[vue.createVNode(G,{modelValue:L.value,"onUpdate:modelValue":q[0]||(q[0]=ne=>L.value=ne),placeholder:"搜索节点",type:"search",clearable:!0,onClear:$,onInput:j},null,8,["modelValue"])]),vue.createElementVNode("div",_hoisted_3$j,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(R.value,ne=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:ne.id},[ne.type==="group"?(vue.openBlock(),vue.createBlock(Z,{key:0,theme:"light",placement:"right-start","ext-cls":"plugin-child-popover",boundary:"parent",arrow:!1,width:ne.width,"popover-delay":[0,100]},{content:vue.withCtx(()=>[ne.id==="logic"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$g,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(ne.children,oe=>(vue.openBlock(),vue.createElementBlock("div",{key:oe.id,class:"logic-node-item",onClick:ae=>H(oe.id)},[vue.createElementVNode("i",{class:vue.normalizeClass(["bkflow-canvas-icon",oe.icon])},null,2),vue.createElementVNode("span",_hoisted_6$7,vue.toDisplayString(oe.name),1)],8,_hoisted_5$9))),128))])):ne.id==="data"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_7$4,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(ne.children?.slice(0,10),oe=>(vue.openBlock(),vue.createElementBlock("div",{class:"data-plugin-item",key:oe.id,onClick:ae=>Q(oe.id,"data")},[vue.createElementVNode("div",_hoisted_9$2,vue.toDisplayString(oe.name),1)],8,_hoisted_8$3))),128))])):ne.id==="agent"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_10$2,[vue.createElementVNode("div",_hoisted_11$2,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(ne.children?.slice(0,10),oe=>(vue.openBlock(),vue.createElementBlock("div",{class:"agent-plugin-item",key:oe.id,onClick:ae=>Q(oe.id,"agent")},[vue.createElementVNode("span",_hoisted_13,vue.toDisplayString(oe.name),1),vue.createElementVNode("span",_hoisted_14,"("+vue.toDisplayString(oe.enName)+")",1)],8,_hoisted_12$2))),128))])])):ne.id==="model"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_15,[vue.createElementVNode("div",_hoisted_16,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(ne.children?.slice(0,10),oe=>(vue.openBlock(),vue.createElementBlock("div",{class:"agent-plugin-item",key:oe.id,onClick:ae=>Q(oe.id,"model")},[vue.createElementVNode("span",_hoisted_18,vue.toDisplayString(oe.alias||oe.enName),1)],8,_hoisted_17))),128))])])):ne.id==="bkflow"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_19,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(ne.children?.slice(0,10),oe=>(vue.openBlock(),vue.createElementBlock("div",{class:"bkflow-tag-item",key:oe.id,onClick:ae=>Q(oe.id,"bkflow")},vue.toDisplayString(oe.name),9,_hoisted_20))),128))])):vue.createCommentVNode("",!0),ne.children&&ne.children.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:5,class:"group-empty-exception",title:`暂无${ne.name}插件`},null,8,["title"])):vue.createCommentVNode("",!0),ne.id==="agent"||ne.children&&ne.children.length>10?(vue.openBlock(),vue.createElementBlock("div",{key:6,class:"list-footer",onClick:oe=>te(ne.id)},[vue.createVNode(J,{theme:"primary",text:"",size:"small"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(ne.id==="agent"&&!z.value?"申请更多权限":"更多"),1)]),_:2},1024),q[1]||(q[1]=vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-arrow2"},null,-1))],8,_hoisted_21)):vue.createCommentVNode("",!0)]),default:vue.withCtx(()=>[vue.createVNode(OptionItem,{option:ne},null,8,["option"])]),_:2},1032,["width"])):(vue.openBlock(),vue.createBlock(OptionItem,{key:1,option:ne,onClick:oe=>W(ne.id)},null,8,["option","onClick"]))],64))),128)),R.value.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:0,"is-search":L.value.length>0,onClear:$},null,8,["is-search"])):vue.createCommentVNode("",!0)])])}}}),QuickAddNodePopover=_export_sfc(_sfc_main$s,[["__scopeId","data-v-ee6dddbf"]]),_hoisted_1$n={class:"pipeline-editor-container"},_hoisted_2$k={class:"dnd-palette-items"},_hoisted_3$i=["data-dnd-type","title","onMouseenter"],_hoisted_4$f={class:"dnd-item-text"},_hoisted_5$8=["src"],QUICK_ADD_NODE_GAP=100,_sfc_main$r=vue.defineComponent({__name:"index",props:{mode:{},flowId:{},pipelineTree:{},systemVariables:{default:()=>[]},pluginGroupList:{default:()=>[]},dndNodeTypes:{default:()=>DEFAULT_DND_NODE_TYPES},thumbnail:{type:Boolean,default:!1},defaultZoom:{default:1},quickAdd:{default:void 0},additionalPlugins:{default:()=>[]},toolbarItems:{default:()=>[]},simulateDebugContext:{default:void 0},enableNodeDebug:{type:Boolean,default:!1},debugContext:{default:void 0}},emits:["change","format-position","mock-node-click","running-node-click"],setup(e,{expose:t,emit:n}){const r=e,i=n,C=vue.ref(),k=vue.ref(),y=vue.ref(),B=[],L=vue.ref({visible:!1,x:0,y:0,image:""});function R(Oe,Be){if(!Be.tipsImage)return;const Ee=Oe.currentTarget.getBoundingClientRect(),ve=y.value?.getBoundingClientRect().right??Ee.right+16;L.value={visible:!0,x:ve+8,y:Math.max(8,Math.min(window.innerHeight-208,Ee.top+Ee.height/2-100)),image:Be.tipsImage}}function z(){L.value.visible=!1}const j=vue.computed(()=>({showDelete:r.mode==="edit",showCopy:r.mode==="edit",showCopyInsert:r.mode==="edit",showDisconnect:r.mode==="edit",showDebug:r.enableNodeDebug})),$=vue.computed(()=>C.value?.editor?.api?.value??null);vue.watch([$,y],([Oe,Be])=>{if(B.forEach(ve=>ve()),B.length=0,!Oe||!Be)return;const Ee=Be.querySelectorAll("[data-dnd-type]");for(const ve of Ee){const ke=ve.dataset.dndType,je=Oe.registerDndSource(ve,()=>({id:`node${composable.generateId()}`,type:ke,position:{x:0,y:0},label:"",payload:{}}));B.push(je)}},{flush:"post"}),vue.onBeforeUnmount(()=>{B.forEach(Oe=>Oe()),ne&&(clearTimeout(ne),ne=null)});const H=vue.ref({show:!1,nodeId:"",edgeId:"",condition:null,hasDefaultBranch:!1,isDefault:!1}),Q=vue.ref({show:!1,node:null,constants:null}),W=vue.ref({show:!1,active:r.pluginGroupList[0]?.name||"",bkflowTag:0,node:null,constants:null,isBack:!1});vue.watch(()=>C.value?.editor?.flowModel.value,Oe=>{if(Oe){if(Q.value.show&&Q.value.node&&(Oe.nodes[Q.value.node.id]||(Q.value={show:!1,node:null,constants:null})),H.value.show){const{nodeId:Be,edgeId:Ee}=H.value;(!Oe.nodes[Be]||!Oe.edges[Ee])&&(H.value={...H.value,show:!1})}Z.value.show&&(Oe.nodes[Z.value.nodeId]||(Z.value={...Z.value,show:!1})),W.value.show&&W.value.node&&(Oe.nodes[W.value.node.id]||(W.value={...W.value,show:!1,node:null,constants:null,isBack:!1}))}});const te=vue.computed(()=>{const Oe=C.value?.editor;return Oe?new BkFlowModelAccessor(Oe.flowModel.value).globalVariables:r.pipelineTree.constants});function ee(){return C.value?.editor}function q(Oe){const Be=ee();Be&&Be.executeCommand(Oe)}function G(Oe){i("change",Oe)}function J(Oe){Oe.type==="node.action.debug"&&Nt(Oe.nodeId)}const Z=vue.ref({show:!1,nodeId:"",screenPosition:{x:0,y:0}});let ne=null;vue.watch(()=>r.mode,Oe=>{Oe!=="edit"&&(Q.value={show:!1,node:null,constants:null},H.value={...H.value,show:!1},W.value={...W.value,show:!1,node:null,constants:null,isBack:!1},Z.value={...Z.value,show:!1})});function oe(){ne=setTimeout(()=>{Z.value.show=!1,ne=null},150)}function ae(){ne&&(clearTimeout(ne),ne=null)}function se(Oe){return getNodeRenderSize(Oe,ee()?.schema)}function de(Oe){const Be=ee();if(!Be)return{x:0,y:0};const Ee=Be.api.value;if(!Ee)return{x:0,y:0};const ve=Ee.unsafeGetGraph(),ke=Be.flowModel.value.nodes[Oe];if(!ke)return{x:0,y:0};const je=PLACEHOLDER_SIZE.width,Se=PLACEHOLDER_SIZE.height;return ve.localToPage(ke.position.x+je,ke.position.y+Se/2)}function ge(Oe){if(r.thumbnail)return;const Be=ee();if(!Be)return;const Ee=Be.flowModel.value.nodes[Oe.nodeId];if(!Ee)return;if(r.mode==="execute"){i("running-node-click",Oe.nodeId);return}if(r.mode==="mock-config"){if(Ee.type!=="task")return;const Se=exportToPipelineTree(Be.flowModel.value).activities[Oe.nodeId];Se&&i("mock-node-click",lodash$1.cloneDeep(Se));return}if(r.mode!=="edit"&&r.mode!=="view")return;if(Ee.type==="placeholder"){const je=de(Oe.nodeId);Z.value={show:!0,nodeId:Oe.nodeId,screenPosition:{x:je.x+18,y:je.y-18}};return}if(Ee.type!=="task")return;const ke=exportToPipelineTree(Be.flowModel.value).activities[Oe.nodeId];ke&&(Q.value=createNodeConfigResumeState({node:lodash$1.cloneDeep(ke),constants:lodash$1.cloneDeep(te.value)}))}function fe(Oe){if(r.thumbnail||r.mode!=="edit")return;const Be=ee();if(!Be)return;const Ee=Be.flowModel.value,ve=Ee.edges[Oe.edgeId];if(!ve)return;const ke=Ee.nodes[ve.source.nodeId];if(!ke||!(ke.type==="exclusive-gateway"||ke.type==="conditional-parallel-gateway"))return;const Se=ke.payload??{},ze=Se.conditions??{},He=Se.defaultCondition,ut=!!He&&typeof He.flow_id=="string";H.value.hasDefaultBranch=ut,H.value.nodeId=ve.source.nodeId,H.value.edgeId=Oe.edgeId,He?.flow_id===Oe.edgeId?(H.value.condition=lodash$1.cloneDeep(He)??null,H.value.isDefault=!0):ze[Oe.edgeId]&&(H.value.condition=lodash$1.cloneDeep(ze[Oe.edgeId])??null,H.value.isDefault=!1),H.value.show=!0}function ie(Oe){const Be=ee();if(!Be)return{x:0,y:0};const Ee=Be.flowModel.value.nodes[Oe];return Ee?{...Ee.position}:{x:0,y:0}}function ce(Oe,Be,Ee){const ve=ee();if(!ve)return[];const ke=ve.flowModel.value,je=ke.nodes[Oe];if(!je)return[];const Se=je.type.includes("gateway"),ze=Object.values(ke.edges).filter(Ie=>Ie.source.nodeId===Oe);if(Se||ze.length===0)return[];const ut=se(Be).width+QUICK_ADD_NODE_GAP,bt=ze[0].target.nodeId,At=new Set,kt=[bt],xe=[];for(;kt.length>0;){const Ie=kt.shift();if(At.has(Ie)||Ie===Oe)continue;At.add(Ie);const $e=ke.nodes[Ie];if($e){xe.push({type:"node.move",nodeId:Ie,position:{x:$e.position.x+ut,y:$e.position.y}});for(const mt of Object.values(ke.edges))mt.source.nodeId===Ie&&!At.has(mt.target.nodeId)&&kt.push(mt.target.nodeId)}}return xe}function pe(Oe){const Be=ee();if(!Be)return 0;const Ee=Be.flowModel.value.nodes[Oe];if(!Ee)return 0;const ve=se(Ee.type);return Ee.position.x+ve.width+QUICK_ADD_NODE_GAP}function le(Oe,Be){const Ee=ee();if(!Ee)return 0;const ve=Ee.flowModel.value,ke=ve.nodes[Oe];if(!ke)return 0;const je=ke.position.y;if(ke.type.includes("gateway")){const bt=Object.values(ve.edges).filter(At=>At.source.nodeId===Oe);if(bt.length>0)return bt.reduce((kt,xe)=>{const Ie=ve.nodes[xe.target.nodeId];return Ie?Math.max(kt,Ie.position.y):kt},0)+QUICK_ADD_NODE_GAP}const Se=Ee.schema.nodeTypes[ke.type],ze=Ee.schema.nodeTypes[Be],He=Se?.getSize(ke)?.height??48,ut=ze?.getSize({id:"",type:Be,position:{x:0,y:0}})?.height??48;return je+(He-ut)/2}function ue(Oe,Be,Ee,ve={}){const ke={x:pe(Oe),y:le(Oe,Ee)};return[...ce(Oe,Ee),...he(Be,Ee,ke,ve),...ye(Oe,Be)]}function he(Oe,Be,Ee,ve={}){return[{type:"node.add",node:{id:Oe,type:Be,position:Ee,label:ve.name??"",payload:ve}}]}function ye(Oe,Be){const Ee=ee();if(!Ee)return[];const ve=Ee.flowModel.value,ke=[],je=Object.entries(ve.edges).filter(([,He])=>He.source.nodeId===Oe);if(ve.nodes[Oe]?.type.includes("gateway")&&je.length>0)ke.push({type:"edge.add",edge:{id:`line${composable.generateId()}`,source:{nodeId:Oe,portId:"bottom"},target:{nodeId:Be,portId:"left"}}});else if(je.length===0)ke.push({type:"edge.add",edge:{id:`line${composable.generateId()}`,source:{nodeId:Oe,portId:"right"},target:{nodeId:Be,portId:"left"}}});else{const[He,ut]=je[0],bt=ut.target.nodeId;ke.push({type:"edge.remove",edgeId:He},{type:"edge.add",edge:{id:`line${composable.generateId()}`,source:{nodeId:Oe,portId:"right"},target:{nodeId:Be,portId:"left"}}},{type:"edge.add",edge:{id:`line${composable.generateId()}`,source:{nodeId:Be,portId:"right"},target:{nodeId:bt,portId:"left"}}})}return ke}function _e(Oe,Be,Ee={}){const ve=ee();if(!ve)return;const ke=ve.flowModel.value.nodes[Oe];if(!ke)return;const je={id:"",type:Be,position:{x:0,y:0},label:Ee.name??"",payload:Ee};q({id:composable.generateId(),source:"user:panel",label:"替换占位节点",timestamp:Date.now(),commands:buildReplacePlaceholderCommands(ke,je,ve.schema)})}function Ne(Oe,Be,Ee){const ve=ee();if(!ve)return;const ke=ve.flowModel.value.edges[Oe],je=Be||"";if(ke?.labels?.length){q({id:composable.generateId(),source:"user:panel",label:"更新边标签",timestamp:Date.now(),commands:[{type:"edge.label.update",edgeId:Oe,labelId:ke.labels[0].id,patch:{text:je,...Ee!==void 0?{position:Ee}:{}}}]});return}q({id:composable.generateId(),source:"user:panel",label:"新增边标签",timestamp:Date.now(),commands:[{type:"edge.update",edgeId:Oe,patch:{labels:[{id:`label-${Oe}`,text:je,position:Ee??DEFAULT_BRANCH_LABEL_POSITION}]}}]})}function be(Oe,Be=Z.value.nodeId){const Ee=Ze[Oe]??Oe;Be&&(_e(Be,Ee),Z.value.show=!1)}function Ae(Oe,Be,Ee=Z.value.nodeId){const ke=r.pluginGroupList.find(ze=>ze.name===Be)?.children.find(ze=>ze.id===Oe);if(!ke)return;const je={name:ke.alias||ke.name,component:{code:"uniform_api",data:{},version:ke.version??"v2.0.0",api_meta:{id:ke.id,name:ke.name,alias:ke.alias||ke.name,meta_url:ke.meta_url,api_key:ke.api_key??"incident",category:{id:ke.category_id,name:Be}}}},Se=Ee;Se&&(_e(Se,"task",je),Z.value.show=!1,vue.nextTick(()=>{const ze=ee();if(!ze)return;const ut=exportToPipelineTree(ze.flowModel.value).activities[Se];ut&&(Q.value=createNodeConfigResumeState({node:lodash$1.cloneDeep(ut),constants:lodash$1.cloneDeep(te.value)}))}))}function Te(Oe,Be,Ee=Z.value.nodeId){const ve=Ee;ve&&(_e(ve,"task"),Z.value.show=!1,vue.nextTick(()=>{const ke=ee();if(!ke)return;const Se=exportToPipelineTree(ke.flowModel.value).activities[ve];Se&&(W.value={show:!0,active:Oe,bkflowTag:Be,node:lodash$1.cloneDeep(Se),constants:lodash$1.cloneDeep(te.value),isBack:!1})}))}const Ze={tasknode:"task",branchgateway:"exclusive-gateway",parallelgateway:"parallel-gateway",conditionalparallelgateway:"conditional-parallel-gateway",convergegateway:"converge-gateway"};function lt(Oe,Be){const Ee=Ze[Be]??Be,ve=`node${composable.generateId()}`,ke=ue(Oe,ve,Ee);q({id:composable.generateId(),source:"user:quick-add",label:"快捷添加节点",timestamp:Date.now(),commands:ke})}function Ge(Oe,Be,Ee){const ke=r.pluginGroupList.find(He=>He.name===Ee)?.children.find(He=>He.id===Be);if(!ke)return;const je=`node${composable.generateId()}`,Se={name:ke.alias||ke.name,component:{code:"uniform_api",data:{},version:ke.version??"v2.0.0",api_meta:{id:ke.id,name:ke.name,alias:ke.alias||ke.name,meta_url:ke.meta_url,api_key:ke.api_key??"incident",category:{id:ke.category_id,name:Ee}}}},ze=ue(Oe,je,"task",Se);q({id:composable.generateId(),source:"user:quick-add",label:"快捷添加插件节点",timestamp:Date.now(),commands:ze}),vue.nextTick(()=>{const He=ee();if(!He)return;const bt=exportToPipelineTree(He.flowModel.value).activities[je];bt&&(Q.value=createNodeConfigResumeState({node:lodash$1.cloneDeep(bt),constants:lodash$1.cloneDeep(te.value)}))})}function st(Oe,Be,Ee=0){const ve=`node${composable.generateId()}`,ke=ue(Oe,ve,"task");q({id:composable.generateId(),source:"user:quick-add",label:"快捷添加并选择插件",timestamp:Date.now(),commands:ke}),vue.nextTick(()=>{const je=ee();if(!je)return;const ze=exportToPipelineTree(je.flowModel.value).activities[ve];ze&&(W.value={show:!0,active:Be,bkflowTag:Ee,node:lodash$1.cloneDeep(ze),constants:lodash$1.cloneDeep(te.value),isBack:!1})})}function Ue(Oe){const Be=ee();if(!Be)return;const Ee=exportToPipelineTree(Be.flowModel.value),ve=`node${composable.generateId()}`,ke=ie(Oe),je=Be.flowModel.value.nodes[Oe];if(!je)return;let Se={};Ee.activities[Oe]&&(Se={...lodash$1.cloneDeep(Ee.activities[Oe]),id:ve,incoming:[],outgoing:""}),q({id:composable.generateId(),source:"user:toolbar",label:"复制节点",timestamp:Date.now(),commands:he(ve,je.type,{x:ke.x+200,y:ke.y},Se)})}function De(Oe){const Be=ee();if(!Be)return;const Ee=exportToPipelineTree(Be.flowModel.value),ve=`node${composable.generateId()}`,ke=ie(Oe),je=Be.flowModel.value.nodes[Oe];if(!je)return;let Se={};Ee.activities[Oe]&&(Se={...lodash$1.cloneDeep(Ee.activities[Oe]),id:ve,incoming:[],outgoing:""});const ze=le(Oe,je.type),He=[...he(ve,je.type,{x:ke.x+200,y:ze},Se),...ye(Oe,ve)];q({id:composable.generateId(),source:"user:toolbar",label:"复制并插入节点",timestamp:Date.now(),commands:He})}function We(Oe){const Be=ee();if(!Be)return;const Ee=Be.flowModel.value,ve=Object.entries(Ee.edges).filter(([,ke])=>ke.source.nodeId===Oe||ke.target.nodeId===Oe).map(([ke])=>ke);ve.length!==0&&q({id:composable.generateId(),source:"user:toolbar",label:"解除连线",timestamp:Date.now(),commands:ve.map(ke=>({type:"edge.remove",edgeId:ke}))})}function Ye(Oe){q({id:composable.generateId(),source:"user:toolbar",label:"删除节点",timestamp:Date.now(),commands:[{type:"node.remove",nodeId:Oe}]})}function Re(Oe,Be){const{nodeId:Ee,edgeId:ve,isDefault:ke}=H.value,je=ee();if(!je)return;const Se=je.flowModel.value,ze=[],{name:He,tag:ut,evaluate:bt="",loc:At}=Oe,kt={name:He,tag:ut,evaluate:bt.trim()};if(At&&(kt.loc=At),Be?(delete kt.evaluate,kt.flow_id=ve,ze.push({type:"node.set-payload",nodeId:Ee,path:["defaultCondition"],value:kt}),ke||ze.push({type:"node.set-payload",nodeId:Ee,path:["conditions",ve],value:void 0})):(ze.push({type:"node.set-payload",nodeId:Ee,path:["conditions",ve],value:kt}),ke&&ze.push({type:"node.set-payload",nodeId:Ee,path:["defaultCondition"],value:void 0})),ze.push({type:"edge.set-payload",edgeId:ve,path:["isDefault"],value:Be}),Be&&!ke){const $e=Se.nodes[Ee],mt=$e?.payload?.defaultCondition;if(mt?.flow_id&&mt.flow_id!==ve){const it=mt.flow_id;ze.push({type:"edge.set-payload",edgeId:it,path:["isDefault"],value:!1});const Tt=$e?.payload?.conditions?.[it],Pt=Se.edges[it];Pt?.labels?.length&&ze.push({type:"edge.label.update",edgeId:it,labelId:Pt.labels[0].id,patch:{text:Tt?.name??"",position:Pt.labels[0].position??DEFAULT_BRANCH_LABEL_POSITION}})}}const xe=Be?kt.name||"默认":kt.name||"",Ie=Se.edges[ve];Ie?.labels?.length?ze.push({type:"edge.label.update",edgeId:ve,labelId:Ie.labels[0].id,patch:{text:xe,position:Ie.labels[0].position??DEFAULT_BRANCH_LABEL_POSITION}}):ze.push({type:"edge.update",edgeId:ve,patch:{labels:[{id:`label-${ve}`,text:xe,position:DEFAULT_BRANCH_LABEL_POSITION}]}}),q({id:composable.generateId(),source:"user:panel",label:"编辑分支条件",timestamp:Date.now(),commands:ze})}function Je(Oe,Be){W.value=createPluginSelectDraftState({node:lodash$1.cloneDeep(Oe),constants:lodash$1.cloneDeep(Be),defaultGroup:r.pluginGroupList[0]?.name??""}),Q.value={show:!1,node:null,constants:null}}function Xe(){W.value.node&&(Q.value=createNodeConfigResumeState({node:lodash$1.cloneDeep(W.value.node),constants:lodash$1.cloneDeep(W.value.constants??te.value)}),W.value={...W.value,show:!1,node:null,constants:null,isBack:!1})}function Me(Oe,Be,Ee){if(!W.value.node)return;const ve=lodash$1.cloneDeep(W.value.node);if(Oe==="projectPlugin"){const{id:ke,name:je,alias:Se,meta_url:ze,api_key:He="incident",version:ut="v2.0.0",category:bt,category_id:At}=Be;ve.component={code:"uniform_api",data:Ee||{},version:ut,api_meta:{id:ke,name:je,alias:Se||je,meta_url:ze,api_key:He,category:{id:At,name:bt}}},ve.name=Se}else{const{code:ke,data:je,version:Se,name:ze}=Be;ve.component={code:ke,data:je,version:Se},ve.name=ze}Q.value=createNodeConfigResumeState({node:ve,constants:lodash$1.cloneDeep(W.value.constants??te.value)}),W.value={...W.value,show:!1,node:null,constants:null,isBack:!1}}function nt(Oe,Be){const Ee=[{type:"node.update",nodeId:Oe.id,patch:{label:Oe.name}},{type:"node.set-payload",nodeId:Oe.id,path:[],value:{name:Oe.name,stageName:Oe.stage_name??"",component:Oe.component,errorIgnorable:Oe.error_ignorable,retryable:Oe.retryable,skippable:Oe.skippable,autoRetry:Oe.auto_retry,timeoutConfig:Oe.timeout_config}},{type:"model.set-meta",path:["variables"],value:Be}];q({id:composable.generateId(),source:"user:panel",label:"保存节点配置",timestamp:Date.now(),commands:Ee}),Q.value={show:!1,node:null,constants:null}}function et(Oe){q({id:composable.generateId(),source:"user:panel",label:"更新全局变量",timestamp:Date.now(),commands:[{type:"model.set-meta",path:["variables"],value:Oe}],skipHistory:!0}),k.value&&Q.value.show&&k.value.updateConstants?.(Oe)}function wt(Oe){q({id:composable.generateId(),source:"user:panel",label:"更新输出变量",timestamp:Date.now(),commands:[{type:"model.set-meta",path:["outputs"],value:Oe}],skipHistory:!0})}const tt=Oe=>{k.value&&Q.value.show&&k.value.updateNodeInputParams?.(Oe)},ot={addEmptyNode:lt,addPlugin:Ge,addNodeAndSelectPlugin:st,updateEdgeLabel:Ne,copyNode:Ue,copyNodeAndInsert:De,detachEdges:We,deleteNode:Ye};vue.provide("bkflow-node-operations",ot);const gt=vue.ref(!1);function Et(){return C.value?.$el?.offsetWidth??document.documentElement.offsetWidth-200}function Dt(Oe){gt.value=Oe}function Ft(Oe){const Be=$.value;Be&&(Be.scrollToNode(Oe),Be.highlightNodes([Oe]),setTimeout(()=>Be.clearHighlight(),1500))}function Nt(Oe){if(r.thumbnail)return;const Be=ee();if(!Be)return;const Ee=Be.flowModel.value.nodes[Oe];if(!Ee||Ee.type!=="task")return;const ke=exportToPipelineTree(Be.flowModel.value).activities[Oe];ke&&(Q.value=createNodeConfigResumeState({node:lodash$1.cloneDeep(ke),constants:lodash$1.cloneDeep(te.value),initialTab:"debug"}))}function Pe(Oe){$.value?.zoomToFit(Oe)}function at(){$.value?.centerContent()}function _t(){return $.value?.getZoom()??1}return t({updateNodeInputParams:tt,updateGlobalVariables:et,updateOutputs:wt,bkflowCanvasRef:C,getCanvasWidth:Et,setFormatLoading:Dt,formatLoading:gt,locateNode:Ft,openNodeDebugPanel:Nt,zoomToFit:Pe,centerContent:at,getZoom:_t,updatePipelineTree:Oe=>C.value?.updatePipelineTree?.(Oe),...ot}),(Oe,Be)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$n,[vue.createVNode(BkFlowCanvas,{ref_key:"bkflowCanvasRef",ref:C,"pipeline-tree":r.pipelineTree,mode:r.mode,thumbnail:r.thumbnail,"default-zoom":r.defaultZoom,"node-actions":j.value,"quick-add":r.quickAdd,"additional-plugins":r.additionalPlugins,"toolbar-items":r.toolbarItems,"simulate-debug-context":r.simulateDebugContext,"debug-context":r.debugContext,onChange:G,onNodeClick:ge,onEdgeLabelClick:fe,onUiEvent:J,onFormatPosition:Be[0]||(Be[0]=Ee=>i("format-position"))},{"node-palette":vue.withCtx(()=>[vue.renderSlot(Oe.$slots,"node-palette",{},()=>[r.mode==="edit"&&!r.thumbnail?(vue.openBlock(),vue.createElementBlock("div",{key:0,ref_key:"dndPaletteRef",ref:y,class:"dnd-node-palette"},[vue.createElementVNode("div",_hoisted_2$k,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(r.dndNodeTypes,Ee=>(vue.openBlock(),vue.createElementBlock("div",{key:Ee.type,"data-dnd-type":Ee.disabled?void 0:Ee.type,class:vue.normalizeClass(["dnd-palette-item",{"is-disabled":Ee.disabled}]),title:Ee.disabled?Ee.disabledTip:Ee.tipsImage?void 0:Ee.label,onMouseenter:ve=>R(ve,Ee),onMouseleave:z},[vue.createElementVNode("i",{class:vue.normalizeClass(["bkflow-canvas-icon",Ee.icon])},null,2),vue.createElementVNode("span",_hoisted_4$f,vue.toDisplayString(Ee.label),1)],42,_hoisted_3$i))),128))]),(vue.openBlock(),vue.createBlock(vue.Teleport,{to:"body"},[L.value.visible?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:"dnd-gateway-tip",style:vue.normalizeStyle({left:`${L.value.x}px`,top:`${L.value.y}px`})},[vue.createElementVNode("img",{src:L.value.image},null,8,_hoisted_5$8)],4)):vue.createCommentVNode("",!0)]))],512)):vue.createCommentVNode("",!0)],!0)]),"quick-add-panel":vue.withCtx(({node:Ee,closePopover:ve})=>[vue.createVNode(QuickAddNodePopover,{"plugin-group-list":r.pluginGroupList,onAddNode:ke=>{lt(Ee.id,ke),ve()},onAddPlugin:(ke,je)=>{Ge(Ee.id,ke,je),ve()},onOpenPluginSelect:(ke,je)=>{st(Ee.id,ke,je),ve()}},null,8,["plugin-group-list","onAddNode","onAddPlugin","onOpenPluginSelect"])]),_:3},8,["pipeline-tree","mode","thumbnail","default-zoom","node-actions","quick-add","additional-plugins","toolbar-items","simulate-debug-context","debug-context"]),(vue.openBlock(),vue.createBlock(vue.Teleport,{to:"body"},[Z.value.show?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:"placeholder-popover-mask",onClick:Be[1]||(Be[1]=vue.withModifiers(Ee=>Z.value.show=!1,["self"]))},[vue.createElementVNode("div",{class:"placeholder-popover",style:vue.normalizeStyle({left:`${Z.value.screenPosition.x}px`,top:`${Z.value.screenPosition.y}px`}),onMouseleave:oe,onMouseenter:ae},[vue.createVNode(QuickAddNodePopover,{"plugin-group-list":r.pluginGroupList,onAddNode:be,onAddPlugin:Ae,onOpenPluginSelect:Te},null,8,["plugin-group-list"])],36)])):vue.createCommentVNode("",!0)])),!r.thumbnail&&H.value.condition?(vue.openBlock(),vue.createBlock(BranchConditionPanel,{key:0,show:H.value.show,"onUpdate:show":Be[2]||(Be[2]=Ee=>H.value.show=Ee),condition:H.value.condition,"has-default-branch":H.value.hasDefaultBranch,"is-default":H.value.isDefault,editable:r.mode==="edit",onConfirm:Re},null,8,["show","condition","has-default-branch","is-default","editable"])):vue.createCommentVNode("",!0),!r.thumbnail&&Q.value.node?(vue.openBlock(),vue.createBlock(NodeConfigPanel,{key:1,ref_key:"nodeConfigPanelRef",ref:k,show:Q.value.show,"onUpdate:show":Be[3]||(Be[3]=Ee=>Q.value.show=Ee),node:Q.value.node,editable:r.mode==="edit","enable-debug":r.enableNodeDebug,"initial-tab":Q.value.initialTab??"config","system-variables":r.systemVariables,constants:Q.value.constants??te.value,onSelectPlugin:Je,onConfirm:nt},{inputParams:vue.withCtx(Ee=>[vue.renderSlot(Oe.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps(Ee)),void 0,!0)]),debugConfig:vue.withCtx(Ee=>[vue.renderSlot(Oe.$slots,"nodeDebugConfig",vue.normalizeProps(vue.guardReactiveProps(Ee)),void 0,!0)]),_:3},8,["show","node","editable","enable-debug","initial-tab","system-variables","constants"])):vue.createCommentVNode("",!0),r.thumbnail?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(PluginSelectPanel,{key:2,show:W.value.show,"onUpdate:show":Be[4]||(Be[4]=Ee=>W.value.show=Ee),"flow-id":r.flowId,active:W.value.active,"bkflow-tag":W.value.bkflowTag,"plugin-group-list":r.pluginGroupList,"input-data":W.value.node?.component?.data||{},"is-back":W.value.isBack,onBack:Xe,onSelect:Me},null,8,["show","flow-id","active","bkflow-tag","plugin-group-list","input-data","is-back"]))]))}}),FlowCanvas=_export_sfc(_sfc_main$r,[["__scopeId","data-v-e85b2a0e"]]);function serializeCreateTaskDraft(e){return JSON.stringify({name:e.name,variables:e.variables,customFormData:e.customFormData,additionalTaskParams:e.additionalTaskParams})}function shouldConfirmBeforeClose(e){return e.editable?e.lastSavedSnapshot!==serializeCreateTaskDraft(e.currentDraft):!1}const _hoisted_1$m={class:"execute-flow-slider"},_hoisted_2$j={class:"flow-name-wrapper"},_hoisted_3$h={class:"form-params-wrapper"},_hoisted_4$e={key:0,class:"sideslider-footer-buttons"},_sfc_main$q=vue.defineComponent({__name:"create-task",props:{flowId:{},show:{type:Boolean},editable:{type:Boolean,default:!0},showFlowEntry:{type:Boolean,default:!1},apiConfig:{},onExecuteSuccess:{},bkflowSaasUrl:{},memberSelectorConfig:{}},emits:["confirm","close","update:show","before-close","view-flow"],setup(e,{emit:t}){const n=vue.useSlots(),r=e,i=t,C=provideFlowApiConfig(r.apiConfig);provideMemberSelectorConfig(r.memberSelectorConfig),setContext({},r.bkflowSaasUrl);const k={name:[{required:!0,message:"请输入任务名称",trigger:"blur"}]},y=vue.shallowRef(null),B=vue.shallowRef(!0),L=vue.shallowRef([]),R=vue.ref({}),z=vue.shallowRef([]),j=vue.ref({}),$=vue.ref({}),H=vue.ref(),Q=vue.ref(),W=vue.ref(),te=vue.ref({name:""}),ee=vue.shallowRef(!1),q=vue.computed(()=>z.value.filter(ce=>isBuiltinUsageVariable(ce)));let G="";const J=()=>{G=serializeCreateTaskDraft({name:te.value.name,variables:R.value,customFormData:j.value,additionalTaskParams:$.value})};vue.watch(()=>r.show,ce=>{ce&&Z()});const Z=async()=>{B.value=!0,j.value={},$.value={};const ce=await C.fetchFlowDetail(r.flowId);y.value=ce,te.value.name=`${ce.name}_${dayjs().format("YYYYMMDDHHmmss")}`;const pe=[],le={};Object.values(ce.pipeline_tree.constants).forEach(ue=>{if(typeof ue!="object"||ue===null)return;const he=ue;!["system","space"].includes(he.source_type)&&he.show_type==="show"&&pe.push(he),"value"in he&&(le[he.key]=he.value)}),z.value=pe,R.value=le,await ne(),B.value=!1,setTimeout(J)},ne=async()=>{const ce=y.value?.pipeline_tree?.constants;if(!ce){L.value=[];return}const pe=Object.fromEntries(Object.entries(ce).filter(([,le])=>{if(typeof le!="object"||le===null)return!1;const ue=le;return ue.source_type==="custom"&&ue.show_type==="show"&&!isBuiltinUsageVariable(ue)}));if(Object.keys(pe).length<1){L.value=[];return}if(!("fetchBkFlowInnerPluginDetail"in C)||typeof C.fetchBkFlowInnerPluginDetail!="function"){console.warn("fetchBkFlowInnerPluginDetail API is not available"),L.value=[];return}try{const le=await getInputFormsFromConstants(C,pe);L.value=le}catch(le){console.error("Failed to get input forms from constants:",le),L.value=[]}},oe=()=>{i("view-flow")},ae=ce=>{R.value={...R.value,...lodash$1.cloneDeep(ce)}},se=ce=>{j.value={...j.value,...ce}},de=ce=>{$.value={...$.value,...ce}},ge=async()=>{if(!C.createFlowTask||!C.executeFlowTask){console.warn("createFlowTask or executeFlowTask is not provided in api");return}const[ce,pe,le]=await Promise.all([H.value?.validate(),Promise.resolve(W.value&&typeof W.value.validate=="function"?W.value.validate():!0),Promise.resolve(Q.value&&typeof Q.value.validate=="function"?Q.value.validate():!0)]);if(!(!ce||!pe||!le))try{ee.value=!0;const ue=await C.createFlowTask({...$.value,template_id:r.flowId,creator:"admin",name:te.value.name,constants:R.value});if(ue.data.id){const he=await C.executeFlowTask({task_id:ue.data.id,resource_type:"TASK",resource_id:ue.data.id,permission_type:"OPERATE"});BkMessage({theme:"success",message:"执行成功"}),J();const ye={createResult:ue,executeResult:he};i("confirm",ye),ie(),r.onExecuteSuccess&&r.onExecuteSuccess(ye)}}catch(ue){console.error(ue)}finally{ee.value=!1}},fe=()=>shouldConfirmBeforeClose({editable:!!r.editable,lastSavedSnapshot:G,currentDraft:{name:te.value.name,variables:R.value,customFormData:j.value,additionalTaskParams:$.value}})?new Promise(pe=>{lib.InfoBox({title:"确认离开?",content:"离开将会导致未保存信息丢失",confirmText:"离开",cancelText:"取消",width:320,onConfirm:()=>{ie(),pe(!0)},onCancel:()=>{pe(!1)}})}):(ie(),!0),ie=()=>{i("before-close"),z.value=[],R.value={},j.value={},$.value={},i("close"),i("update:show",!1)};return(ce,pe)=>{const le=vue.resolveComponent("bk-input"),ue=vue.resolveComponent("bk-form-item"),he=vue.resolveComponent("bk-form"),ye=vue.resolveComponent("bk-button"),_e=vue.resolveComponent("bk-sideslider"),Ne=vue.resolveDirective("bk-tooltips"),be=vue.resolveDirective("bkloading");return vue.openBlock(),vue.createBlock(_e,{title:"执行流程","is-show":r.show,width:700,"quick-close":!0,"esc-close":!1,"before-close":fe},{footer:vue.withCtx(()=>[B.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$e,[vue.createVNode(ye,{theme:"primary",loading:ee.value,onClick:ge},{default:vue.withCtx(()=>[...pe[2]||(pe[2]=[vue.createTextVNode("确定",-1)])]),_:1},8,["loading"]),vue.createVNode(ye,{onClick:ie},{default:vue.withCtx(()=>[...pe[3]||(pe[3]=[vue.createTextVNode("取消",-1)])]),_:1})]))]),default:vue.withCtx(()=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_1$m,[vue.createVNode(he,{ref_key:"formRef",ref:H,"form-type":"vertical",model:te.value,rules:k,"label-width":100},{default:vue.withCtx(()=>[e.showFlowEntry?(vue.openBlock(),vue.createBlock(ue,{key:0,label:"排障流程",required:""},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$j,[vue.createVNode(le,{readonly:"","model-value":y.value?.name},null,8,["model-value"]),vue.withDirectives(vue.createVNode(vue.unref(icon.Share),{class:"link-icon",onClick:oe},null,512),[[Ne,"查看排障流程",void 0,{top:!0}]])])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(ue,{label:"任务名称",property:"name",required:""},{default:vue.withCtx(()=>[vue.createVNode(le,{modelValue:te.value.name,"onUpdate:modelValue":pe[0]||(pe[0]=Ae=>te.value.name=Ae),placeholder:"请输入任务名称","show-word-limit":"",maxlength:100},null,8,["modelValue"])]),_:1}),n.customFormContent?vue.renderSlot(ce.$slots,"customFormContent",{customFormData:j.value,additionalTaskParams:$.value,updateCustomFormData:se,updateAdditionalTaskParams:de},void 0,!0,1):vue.createCommentVNode("",!0),vue.createVNode(ue,{label:"请求参数",property:"inputParams",description:"流程的入参"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_3$h,[q.value.length>0?(vue.openBlock(),vue.createBlock(vue.unref(BuiltinVariableUsageForm),{key:0,ref_key:"builtinVariableFormRef",ref:W,modelValue:R.value,"onUpdate:modelValue":pe[1]||(pe[1]=Ae=>R.value=Ae),variables:q.value,editable:r.editable},null,8,["modelValue","variables","editable"])):vue.createCommentVNode("",!0),L.value.length>0?(vue.openBlock(),vue.createBlock(RenderForm,{key:1,ref_key:"renderFormRef",ref:Q,scheme:L.value,editable:r.editable,"form-option":{showRequired:!0,showGroup:!0,showLabel:!1,showHook:!1,showDesc:!0,formEdit:r.editable},"form-data":R.value,onChange:ae},null,8,["scheme","editable","form-option","form-data"])):vue.createCommentVNode("",!0),q.value.length<1&&L.value.length<1?(vue.openBlock(),vue.createBlock(EmptyException,{key:2,title:"暂无参数"})):vue.createCommentVNode("",!0)])]),_:1})]),_:3},8,["model"])])),[[be,{loading:B.value}]])]),_:3},8,["is-show"])}}}),FlowCreateTask=_export_sfc(_sfc_main$q,[["__scopeId","data-v-aaca6c2f"]]),createTask=Object.freeze(Object.defineProperty({__proto__:null,default:FlowCreateTask},Symbol.toStringTag,{value:"Module"})),_hoisted_1$l={class:"execute-flow-slider"},_hoisted_2$i={class:"flow-name-wrapper"},_hoisted_3$g={class:"form-params-wrapper"},_hoisted_4$d={key:0,class:"sideslider-footer-buttons"},_sfc_main$p=vue.defineComponent({__name:"debug",props:{flowId:{},show:{type:Boolean},editable:{type:Boolean,default:!0},showFlowEntry:{type:Boolean,default:!1},apiConfig:{},onConfirm:{},useCustomConfirm:{type:Boolean,default:!1},mockData:{},onExecuteSuccess:{},bkflowSaasUrl:{},enableVersion:{type:Boolean,default:!1},flowVersion:{},memberSelectorConfig:{}},emits:["confirm","close","update:show","before-close"],setup(e,{emit:t}){const n=e,r=t,i=provideFlowApiConfig(n.apiConfig);provideMemberSelectorConfig(n.memberSelectorConfig),setContext({},n.bkflowSaasUrl);const C={name:[{required:!0,message:"请输入任务名称",trigger:"blur"}]},k=vue.shallowRef(null),y=vue.shallowRef(!0),B=vue.shallowRef([]),L=vue.ref({}),R=vue.shallowRef([]),z=vue.ref(),j=vue.ref(),$=vue.ref(),H=vue.ref({name:""}),Q=vue.shallowRef(!1),W=vue.computed(()=>R.value.filter(ge=>isBuiltinUsageVariable(ge)));let te="";const ee=()=>{te=JSON.stringify({name:H.value.name,variables:L.value})};vue.watch(()=>n.show,ge=>{ge&&q()});const q=async()=>{y.value=!0;let ge=await i.fetchFlowDetail(n.flowId);if(n.enableVersion)if(n.flowVersion){const ce=await i.fetchFlowDetailByVersion(n.flowId,n.flowVersion);ge={...ge,name:ce.name,pipeline_tree:ce.pipeline_tree}}else{const ce=await i.fetchFlowDraftDetail(n.flowId);ge={...ge,pipeline_tree:ce.pipeline_tree}}k.value=ge,H.value.name=`${ge.name}_${dayjs().format("YYYYMMDDHHmmss")}`;const fe=[],ie={};Object.values(ge.pipeline_tree.constants).forEach(ce=>{if(typeof ce!="object"||ce===null)return;const pe=ce;!["system","space"].includes(pe.source_type)&&pe.show_type==="show"&&fe.push(pe),"value"in pe&&(ie[pe.key]=pe.value)}),R.value=fe,L.value=ie,await G(),y.value=!1,setTimeout(ee)},G=async()=>{const ge=k.value?.pipeline_tree?.constants;if(!ge){B.value=[];return}const fe=Object.fromEntries(Object.entries(ge).filter(([,ie])=>{if(typeof ie!="object"||ie===null)return!1;const ce=ie;return ce.source_type==="custom"&&ce.show_type==="show"&&!isBuiltinUsageVariable(ce)}));if(Object.keys(fe).length<1){B.value=[];return}if(!("fetchBkFlowInnerPluginDetail"in i)||typeof i.fetchBkFlowInnerPluginDetail!="function"){console.warn("fetchBkFlowInnerPluginDetail API is not available"),B.value=[];return}try{const ie=await getInputFormsFromConstants(i,fe);B.value=ie}catch(ie){console.error("Failed to get input forms from constants:",ie),B.value=[]}},J=()=>{n.onExecuteSuccess},Z=ge=>{L.value={...L.value,...lodash$1.cloneDeep(ge)}},ne=ge=>{const fe=lodash$1.cloneDeep(k.value?.pipeline_tree);return Object.entries(ge).forEach(([ie,ce])=>{fe.constants[ie]&&(fe.constants[ie]={...fe.constants[ie],value:ce})}),fe},oe=async()=>{if(!i.createMockDebugTask||!i.executeFlowTask){console.warn("createMockDebugTask or executeFlowTask is not provided in api");return}try{Q.value=!0;const ge=await i.createMockDebugTask({template_id:n.flowId,name:H.value.name,pipeline_tree:ne(L.value),mock_data:n.mockData??{nodes:[],outputs:{}},creator:String(window.USERNAME??"")}),fe=ge.data.id;await i.executeFlowTask({task_id:fe,resource_type:"TASK",resource_id:fe,permission_type:"OPERATE"}),BkMessage({theme:"success",message:"执行成功"}),ee(),r("confirm",fe,ge.data.template_id),de(),n.onExecuteSuccess&&n.onExecuteSuccess(fe,ge.data.template_id)}catch(ge){console.error(ge)}finally{Q.value=!1}},ae=async()=>{const[ge,fe,ie]=await Promise.all([z.value?.validate(),Promise.resolve($.value&&typeof $.value.validate=="function"?$.value.validate():!0),Promise.resolve(j.value&&typeof j.value.validate=="function"?j.value.validate():!0)]);if(!ge||!fe||!ie)return;const ce={name:H.value.name,variablesValue:L.value};if(n.useCustomConfirm&&n.onConfirm)try{Q.value=!0,await n.onConfirm(ce),ee(),r("confirm"),de()}catch(pe){console.error(pe)}finally{Q.value=!1}else await oe(),n.onConfirm&&await n.onConfirm(ce)},se=()=>{const ge=JSON.stringify({name:H.value.name,variables:L.value}),fe=te!==ge;return!n.editable||!fe?(de(),!0):new Promise(ie=>{lib.InfoBox({title:"确认离开?",content:"离开将会导致未保存信息丢失",confirmText:"离开",cancelText:"取消",width:320,onConfirm:()=>{de(),ie(!0)},onCancel:()=>{ie(!1)}})})},de=()=>{r("before-close"),R.value=[],L.value={},r("close"),r("update:show",!1)};return(ge,fe)=>{const ie=vue.resolveComponent("bk-input"),ce=vue.resolveComponent("bk-form-item"),pe=vue.resolveComponent("bk-form"),le=vue.resolveComponent("bk-button"),ue=vue.resolveComponent("bk-sideslider"),he=vue.resolveDirective("bk-tooltips"),ye=vue.resolveDirective("bkloading");return vue.openBlock(),vue.createBlock(ue,{title:"调试流程","is-show":n.show,width:700,"quick-close":!0,"esc-close":!1,"before-close":se},{footer:vue.withCtx(()=>[y.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$d,[vue.createVNode(le,{theme:"primary",loading:Q.value,onClick:ae},{default:vue.withCtx(()=>[...fe[2]||(fe[2]=[vue.createTextVNode("确定",-1)])]),_:1},8,["loading"]),vue.createVNode(le,{onClick:de},{default:vue.withCtx(()=>[...fe[3]||(fe[3]=[vue.createTextVNode("取消",-1)])]),_:1})]))]),default:vue.withCtx(()=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_1$l,[vue.createVNode(pe,{ref_key:"formRef",ref:z,"form-type":"vertical",model:H.value,rules:C,"label-width":100},{default:vue.withCtx(()=>[n.showFlowEntry?(vue.openBlock(),vue.createBlock(ce,{key:0,label:"排障流程",required:""},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$i,[vue.createVNode(ie,{readonly:"","model-value":k.value?.name},null,8,["model-value"]),vue.withDirectives(vue.createVNode(vue.unref(icon.Share),{class:"link-icon",onClick:J},null,512),[[he,"查看排障流程",void 0,{top:!0}]])])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(ce,{label:"任务名称",property:"name",required:""},{default:vue.withCtx(()=>[vue.createVNode(ie,{modelValue:H.value.name,"onUpdate:modelValue":fe[0]||(fe[0]=_e=>H.value.name=_e),placeholder:"请输入任务名称","show-word-limit":"",maxlength:100},null,8,["modelValue"])]),_:1}),vue.createVNode(ce,{label:"请求参数",property:"inputParams",description:"流程的入参"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_3$g,[W.value.length>0?(vue.openBlock(),vue.createBlock(vue.unref(BuiltinVariableUsageForm),{key:0,ref_key:"builtinVariableFormRef",ref:$,modelValue:L.value,"onUpdate:modelValue":fe[1]||(fe[1]=_e=>L.value=_e),variables:W.value,editable:n.editable},null,8,["modelValue","variables","editable"])):vue.createCommentVNode("",!0),B.value.length>0?(vue.openBlock(),vue.createBlock(RenderForm,{key:1,ref_key:"renderFormRef",ref:j,scheme:B.value,editable:n.editable,"form-option":{showRequired:!0,showGroup:!0,showLabel:!1,showHook:!1,showDesc:!0,formEdit:n.editable},"form-data":L.value,onChange:Z},null,8,["scheme","editable","form-option","form-data"])):vue.createCommentVNode("",!0),W.value.length<1&&B.value.length<1?(vue.openBlock(),vue.createBlock(EmptyException,{key:2,title:"暂无参数"})):vue.createCommentVNode("",!0)])]),_:1}),vue.renderSlot(ge.$slots,"custom-form-content",{formData:H.value,variablesValue:L.value},void 0,!0)]),_:3},8,["model"])])),[[ye,{loading:y.value}]])]),_:3},8,["is-show"])}}}),FlowDebug=_export_sfc(_sfc_main$p,[["__scopeId","data-v-f7045432"]]),debug=Object.freeze(Object.defineProperty({__proto__:null,default:FlowDebug},Symbol.toStringTag,{value:"Module"})),_hoisted_1$k={class:"mock-field-renderer"},_hoisted_2$h={key:8,class:"mock-field-renderer__code-editor"},_hoisted_3$f={key:10,class:"mock-field-renderer__error"},_sfc_main$o=vue.defineComponent({__name:"mock-field-renderer",props:{field:{},modelValue:{},error:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,r=t,i=vue.computed(()=>resolveMockFormControl(n.field)),C=vue.computed(()=>(n.field.options??[]).map(normalizeOption)),k=vue.computed(()=>C.value.length>0?C.value:n.field.type==="boolean"?[{label:"true",value:!0},{label:"false",value:!1}]:C.value),y=vue.computed(()=>["json-editor","data-table"].includes(i.value)),B=vue.computed(()=>({language:"json",theme:"vs-dark",lineNumbers:"on",scrollBeyondLastLine:!1,tabSize:2,placeholder:"{}"})),L=vue.computed({get(){return typeof n.modelValue=="string"?n.modelValue:""},set(j){R(j)}}),R=j=>{r("update:modelValue",j)},z=j=>{if(j===""||j===void 0||j===null){r("update:modelValue",void 0);return}const $=Number(j);r("update:modelValue",Number.isNaN($)?j:$)};return(j,$)=>{const H=vue.resolveComponent("bk-option"),Q=vue.resolveComponent("bk-select"),W=vue.resolveComponent("bk-checkbox"),te=vue.resolveComponent("bk-checkbox-group"),ee=vue.resolveComponent("bk-radio"),q=vue.resolveComponent("bk-radio-group"),G=vue.resolveComponent("bk-switcher"),J=vue.resolveComponent("bk-date-picker"),Z=vue.resolveComponent("bk-input");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$k,[i.value==="bk-select"?(vue.openBlock(),vue.createBlock(Q,{key:0,"model-value":n.modelValue,clearable:"",onChange:R},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(C.value,ne=>(vue.openBlock(),vue.createBlock(H,{id:ne.value,key:String(ne.value),label:ne.label},null,8,["id","label"]))),128))]),_:1},8,["model-value"])):i.value==="bk-checkbox-group"?(vue.openBlock(),vue.createBlock(te,{key:1,"model-value":Array.isArray(n.modelValue)?n.modelValue:[],onChange:R},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(C.value,ne=>(vue.openBlock(),vue.createBlock(W,{key:String(ne.value),label:ne.value},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(ne.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["model-value"])):i.value==="bk-radio-group"?(vue.openBlock(),vue.createBlock(q,{key:2,"model-value":n.modelValue,onChange:R},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(k.value,ne=>(vue.openBlock(),vue.createBlock(ee,{key:String(ne.value),label:ne.value},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(ne.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["model-value"])):i.value==="bk-switcher"?(vue.openBlock(),vue.createBlock(G,{key:3,"model-value":!!n.modelValue,theme:"primary",onChange:R},null,8,["model-value"])):i.value==="bk-date-picker"?(vue.openBlock(),vue.createBlock(J,{key:4,"model-value":n.modelValue,type:"datetime",clearable:"",onChange:R},null,8,["model-value"])):i.value==="bk-date-range-picker"?(vue.openBlock(),vue.createBlock(J,{key:5,"model-value":Array.isArray(n.modelValue)?n.modelValue:[],type:"datetimerange",clearable:"",onChange:R},null,8,["model-value"])):i.value==="bk-input-number"?(vue.openBlock(),vue.createBlock(Z,{key:6,"model-value":n.modelValue,type:"number","onUpdate:modelValue":z},null,8,["model-value"])):i.value==="bk-textarea"?(vue.openBlock(),vue.createBlock(Z,{key:7,"model-value":n.modelValue,type:"textarea",rows:3,placeholder:"请输入","onUpdate:modelValue":R},null,8,["model-value"])):y.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$h,[vue.createVNode(CodeEditor,{modelValue:L.value,"onUpdate:modelValue":$[0]||($[0]=ne=>L.value=ne),options:B.value},null,8,["modelValue","options"])])):(vue.openBlock(),vue.createBlock(Z,{key:9,"model-value":n.modelValue,"onUpdate:modelValue":R},null,8,["model-value"])),n.error?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$f,vue.toDisplayString(n.error),1)):vue.createCommentVNode("",!0)])}}}),MockFieldRenderer=_export_sfc(_sfc_main$o,[["__scopeId","data-v-7dc32c6a"]]),_hoisted_1$j={key:0,class:"unchecked-fields-section"},_hoisted_2$g={key:0,class:"unchecked-fields-section__content"},_sfc_main$n=vue.defineComponent({__name:"unchecked-fields-section",props:{fields:{}},setup(e){const t=e,n=vue.ref(!1);return(r,i)=>{const C=vue.resolveComponent("bk-button");return t.fields.length>0?(vue.openBlock(),vue.createElementBlock("section",_hoisted_1$j,[vue.createVNode(C,{text:"",theme:"primary",class:"unchecked-fields-section__toggle",onClick:i[0]||(i[0]=k=>n.value=!n.value)},{default:vue.withCtx(()=>[vue.createElementVNode("i",{class:vue.normalizeClass(["bkflow-canvas-icon bkflow-canvas-angle-up unchecked-fields-section__toggle-icon",{"is-expanded":n.value}])},null,2),vue.createElementVNode("span",null,vue.toDisplayString(n.value?"收起未勾选的字段":"显示未勾选的字段"),1)]),_:1}),n.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$g,[vue.renderSlot(r.$slots,"default",{},void 0,!0)])):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0)}}}),UncheckedFieldsSection=_export_sfc(_sfc_main$n,[["__scopeId","data-v-768e1d59"]]),_hoisted_1$i={key:0,class:"mock-data-sideslider__title-sep"},_hoisted_2$f=["title"],_hoisted_3$e={class:"mock-data-sideslider"},_hoisted_4$c={class:"mock-data-sideslider__footer"},_sfc_main$m=vue.defineComponent({__name:"index",props:{show:{type:Boolean},node:{},constants:{default:()=>({})},config:{default:void 0}},emits:["save","cancel","update:show"],setup(e,{emit:t}){const n=e,r=t,i=useFlowApiConfig(),C=vue.ref(!1),k=vue.shallowRef([]),y=vue.ref({}),B=vue.ref({}),L=vue.ref(!1),R=vue.ref({}),z=vue.computed(()=>splitOutputFieldsByGlobalUsage(k.value,n.constants,n.node?.id??"")),j=vue.computed(()=>z.value.globalFields),$=vue.computed(()=>z.value.otherFields),H=vue.computed(()=>k.value.length>0),Q=Z=>{const ne=n.config?.outputs;return!ne||!Object.prototype.hasOwnProperty.call(ne,Z.key)?{exists:!1,value:void 0}:{exists:!0,value:ne[Z.key]}},W=async()=>{if(n.node){C.value=!0,L.value=!1,R.value={};try{const Z=await pluginDetailRequest(i,n.node.component);k.value=mergeOutputs(Z.outputs);const ne={};k.value.forEach(oe=>{const ae=Q(oe),se=ae.exists?ae.value:oe.type==="object"?{}:void 0,de=resolveMockFormControl(oe);ne[oe.key]=de==="json-editor"||de==="data-table"?formatJsonFieldValue(se):se}),y.value=ne,B.value=lodash$1.cloneDeep(ne),L.value=!0}catch(Z){console.error(Z),k.value=[],y.value={},B.value={},L.value=!0,bkuiVue.Message({theme:"error",message:"加载输出参数失败"})}finally{C.value=!1}}},te=()=>{const Z={},ne={};return k.value.forEach(oe=>{const ae=y.value[oe.key],se=resolveMockFormControl(oe);if(se==="json-editor"||se==="data-table"){const de=parseJsonFieldValue(ae);if(!de.valid){Z[oe.key]=de.message;return}de.value!==void 0&&(ne[oe.key]=de.value);return}ae!==void 0&&ae!==""&&(ne[oe.key]=ae)}),{errors:Z,outputs:ne}},ee=()=>!L.value||C.value?!1:!lodash$1.isEqual(y.value,B.value),q=()=>{if(!n.node)return;const{errors:Z,outputs:ne}=te();R.value=Z,!(Object.keys(Z).length>0)&&(r("save",{nodeId:n.node.id,outputs:ne,fieldSnapshots:Object.fromEntries(k.value.map(oe=>[oe.key,oe]))}),r("update:show",!1))},G=()=>{r("cancel"),r("update:show",!1)},J=()=>ee()?new Promise(Z=>{lib.InfoBox({title:"确认离开?",content:"离开将会导致未保存信息丢失",confirmText:"离开",cancelText:"取消",width:320,onConfirm:()=>{G(),Z(!0)},onCancel:()=>{Z(!1)}})}):(G(),!0);return vue.watch(()=>[n.show,n.node?.id],([Z])=>{Z&&n.node&&W()},{immediate:!0}),(Z,ne)=>{const oe=vue.resolveComponent("bk-exception"),ae=vue.resolveComponent("bk-form-item"),se=vue.resolveComponent("bk-form"),de=vue.resolveComponent("bk-button"),ge=vue.resolveComponent("bk-sideslider"),fe=vue.resolveDirective("bkloading");return vue.openBlock(),vue.createBlock(ge,{"is-show":n.show,width:640,"quick-close":"","esc-close":!1,"before-close":J},{header:vue.withCtx(()=>[ne[0]||(ne[0]=vue.createElementVNode("span",{class:"mock-data-sideslider__title"},"设置 Mock 数据",-1)),n.node?.name?(vue.openBlock(),vue.createElementBlock("span",_hoisted_1$i,"-")):vue.createCommentVNode("",!0),n.node?.name?(vue.openBlock(),vue.createElementBlock("span",{key:1,class:"mock-data-sideslider__title-node",title:n.node.name},vue.toDisplayString(n.node.name),9,_hoisted_2$f)):vue.createCommentVNode("",!0)]),footer:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_4$c,[H.value?(vue.openBlock(),vue.createBlock(de,{key:0,theme:"primary",onClick:q},{default:vue.withCtx(()=>[...ne[1]||(ne[1]=[vue.createTextVNode("保存",-1)])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(de,{onClick:J},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(H.value?"取消":"关闭"),1)]),_:1})])]),default:vue.withCtx(()=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_3$e,[n.node?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[k.value.length>0?(vue.openBlock(),vue.createBlock(se,{key:0,"form-type":"vertical","label-width":120},{default:vue.withCtx(()=>[j.value.length===0?(vue.openBlock(),vue.createBlock(oe,{key:0,class:"mock-data-sideslider__exception",scene:"part",type:"empty",title:"暂无已勾选的全局变量字段"})):vue.createCommentVNode("",!0),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(j.value,ie=>(vue.openBlock(),vue.createBlock(ae,{key:ie.key,label:ie.name||ie.key,description:ie.description},{default:vue.withCtx(()=>[vue.createVNode(MockFieldRenderer,{modelValue:y.value[ie.key],"onUpdate:modelValue":ce=>y.value[ie.key]=ce,field:ie,error:R.value[ie.key]},null,8,["modelValue","onUpdate:modelValue","field","error"])]),_:2},1032,["label","description"]))),128)),vue.createVNode(UncheckedFieldsSection,{fields:$.value},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList($.value,ie=>(vue.openBlock(),vue.createBlock(ae,{key:ie.key,label:ie.name||ie.key,description:ie.description},{default:vue.withCtx(()=>[vue.createVNode(MockFieldRenderer,{modelValue:y.value[ie.key],"onUpdate:modelValue":ce=>y.value[ie.key]=ce,field:ie,error:R.value[ie.key]},null,8,["modelValue","onUpdate:modelValue","field","error"])]),_:2},1032,["label","description"]))),128))]),_:1},8,["fields"])]),_:1})):C.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(oe,{key:1,class:"mock-data-sideslider__exception",scene:"part",type:"empty",title:"暂无输出参数"}))],64)):vue.createCommentVNode("",!0)])),[[fe,{loading:C.value}]])]),_:1},8,["is-show"])}}}),MockDataSideslider=_export_sfc(_sfc_main$m,[["__scopeId","data-v-5db17099"]]),_hoisted_1$h={class:"mock-select-all-toolbar"},_sfc_main$l=vue.defineComponent({__name:"mock-select-all-toolbar",setup(e){const t=useBkflowCanvasContext(),n=vue.computed(()=>!!t.simulateDebug?.isAllMockNodesSelected?.());return(r,i)=>(vue.openBlock(),vue.createElementBlock("span",_hoisted_1$h,[vue.createElementVNode("i",{class:vue.normalizeClass(["mock-select-all-toolbar__icon","bkflow-canvas-icon","bkflow-canvas-batch-checked",{"is-checked":n.value}]),"aria-hidden":"true"},null,2)]))}}),MockSelectAllToolbar=_export_sfc(_sfc_main$l,[["__scopeId","data-v-4f66d077"]]),_hoisted_1$g={key:0,class:"operate-area"},_hoisted_2$e={key:0,class:"operate-btns"},_hoisted_3$d={class:"flow-view-page-content"},_hoisted_4$b={key:1,class:"flow-view-thumbnail"},_sfc_main$k=vue.defineComponent({__name:"view",props:{flowId:{},apiConfig:{},permissions:{default:()=>({canEdit:!0,canExecute:!0})},onEdit:{},onBack:{},thumbnail:{type:Boolean,default:!1},enableVersion:{type:Boolean,default:!1},flowVersion:{},showHeaderActions:{type:Boolean,default:!0},defaultZoom:{default:1},bkflowSaasUrl:{},onExecuteSuccess:{},memberSelectorConfig:{},enableDebug:{type:Boolean,default:!1},onMockDebugCreated:{},hideTrigger:{type:Boolean,default:!1}},emits:["edit","back","mockDebugCreated"],setup(e,{expose:t,emit:n}){const r=vue.useSlots(),i=e,C=vue.computed(()=>({canEdit:!0,canExecute:!0,...i.permissions})),k=provideFlowApiConfig(i.apiConfig);provideMemberSelectorConfig(i.memberSelectorConfig);const y=n;setContext({},i.bkflowSaasUrl);const B=vue.shallowRef(!1),L=vue.shallowRef(null),R=vue.shallowRef(!0),z=vue.shallowRef({}),j=vue.shallowRef(!0),$=vue.shallowRef([]),H=vue.shallowRef(!1),Q=vue.ref(),W=vue.ref(!1),te=useSimulateDebug(),ee=vue.computed(()=>te.stage.value!=="edit"),q=vue.computed(()=>te.stage.value==="mock-config"?"mock-config":"view"),G={stage:te.stage,isMockSelected:te.isMockSelected,toggleMockSelected:te.toggleMockSelected,hasMockConfig:te.hasMockConfig,isAllMockNodesSelected:()=>Z.value},J=vue.computed(()=>getMockableNodeIds(L.value?.pipeline_tree??null)),Z=vue.computed(()=>te.isAllMockNodesSelected(J.value)),ne=vue.computed(()=>{const{mockData:Ye}=te.buildRunnableSelection(J.value);return Object.keys(Ye).length>0}),oe=vue.computed(()=>{if(ne.value)return"";const{selectedIds:Ye}=te.buildRunnableSelection(J.value);return Ye.length===0?"请先勾选需要模拟调试的节点":"请先为已勾选节点设置 Mock 数据"}),ae=vue.computed(()=>[{id:"mock-select-all",type:"custom",component:MockSelectAllToolbar,description:"全选",group:"tools",order:19,visible:()=>te.stage.value==="mock-config",active:()=>Z.value,onClick:()=>te.toggleSelectAllMockNodes(J.value)}]),se=vue.computed(()=>{const Ye=te.activeConfigNodeId.value;return Ye?L.value?.pipeline_tree.activities[Ye]??null:null}),de=vue.computed(()=>{const Ye=te.activeConfigNodeId.value;return Ye?te.mockConfigs.value[Ye]:void 0});vue.onMounted(()=>{ge(),fe(),ie()}),vue.watch(()=>[i.flowId,i.flowVersion],([Ye,Re],[Je,Xe])=>{(Ye!==Je||Re!==Xe)&&(te.reset(),W.value=!1,ge(),fe(),ie())});const ge=async()=>{R.value=!0;try{let Ye=await k.fetchFlowDetail(String(i.flowId));if(i.enableVersion)if(i.flowVersion){const Re=await k.fetchFlowDetailByVersion(String(i.flowId),i.flowVersion);Ye={...Ye,name:Re.name,pipeline_tree:Re.pipeline_tree}}else{const Re=await k.fetchFlowDraftDetail(String(i.flowId));Ye={...Ye,pipeline_tree:Re.pipeline_tree}}L.value=Ye}catch(Ye){console.error(Ye)}finally{R.value=!1}},fe=async()=>{j.value=!0;try{const Ye=await k.fetchSpaceFlowConfig(String(i.flowId));z.value=Ye}catch(Ye){console.error(Ye)}finally{j.value=!1}},ie=async()=>{H.value=!0;try{const Ye=await k.fetchSystemVariables(String(i.flowId));$.value=Ye}catch(Ye){console.error(Ye)}finally{H.value=!1}},ce=()=>{typeof i.onBack=="function"?i.onBack():y("back")},pe=()=>{C.value.canEdit&&(typeof i.onEdit=="function"?i.onEdit():y("edit"))},le=()=>{C.value.canExecute&&(B.value=!0)},ue=Ye=>{typeof i.onExecuteSuccess=="function"&&i.onExecuteSuccess(Ye)};t({zoomToFit:Ye=>{Q.value?.zoomToFit?.(Ye)},centerContent:()=>{Q.value?.centerContent?.()},getZoom:()=>Q.value?.getZoom?.()??1});const Ne=()=>String(window.USERNAME??""),be=(Ye,Re)=>{const Je={taskId:Ye,templateId:Re};i.onMockDebugCreated&&i.onMockDebugCreated(Je),y("mockDebugCreated",Je)},Ae=Ye=>{bkuiVue.Message({theme:"error",message:Ye.message}),Ye.ids.length>0&&Q.value?.locateNode?.(Ye.ids[0])},Te=()=>{if(!L.value)return;const Ye=validatePipelineTree(L.value.pipeline_tree),Re=getUnconfiguredActivityIds(L.value.pipeline_tree);if(!Ye.valid||Re.length>0){Ae(Ye.valid?{message:"流程中存在未配置节点,请配置后再模拟调试",ids:Re}:Ye);return}te.enterConfig(J.value)},Ze=()=>{ne.value&&(W.value=!0)},lt=()=>{W.value=!1},Ge=Ye=>{te.openConfigNode(Ye.id)},st=Ye=>{te.saveMockConfig(Ye),te.closeConfigNode()},Ue=Ye=>{Ye||te.closeConfigNode()},De=()=>{W.value=!1,te.reset()},We=async Ye=>{if(!L.value)return;const{selectedIds:Re,mockNodeIds:Je,mockData:Xe}=te.buildRunnableSelection(J.value);if(Re.length<1){bkuiVue.Message({theme:"warning",message:"请至少选择一个可模拟调试节点"});return}if(!k.createMockDebugTask||!k.executeFlowTask){bkuiVue.Message({theme:"warning",message:"模拟调试接口未配置"});return}try{const Me=buildMockDebugPipelineTree(L.value.pipeline_tree,Re,Ye.variablesValue),nt=await k.createMockDebugTask({template_id:L.value.id,name:Ye.name,pipeline_tree:Me,mock_data:{nodes:Je,outputs:Xe,mock_data_ids:{}},creator:Ne()}),et=nt.data.id,wt=nt.data.template_id;await k.executeFlowTask({task_id:et,resource_type:"TASK",resource_id:et,permission_type:"OPERATE"}),te.reset(),be(et,wt)}catch(Me){throw console.error(Me),bkuiVue.Message({theme:"error",message:"创建或启动模拟调试任务失败"}),Me}};return(Ye,Re)=>{const Je=vue.resolveComponent("bk-button"),Xe=vue.resolveDirective("bk-tooltips"),Me=vue.resolveDirective("bkloading");return i.thumbnail?vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_4$b,[L.value?(vue.openBlock(),vue.createBlock(FlowCanvas,{key:0,mode:"view","flow-id":e.flowId,"pipeline-tree":L.value.pipeline_tree,"system-variables":$.value,thumbnail:!0,"default-zoom":i.defaultZoom},{inputParams:vue.withCtx(nt=>[vue.renderSlot(Ye.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps(nt)),void 0,!0)]),_:3},8,["flow-id","pipeline-tree","system-variables","default-zoom"])):vue.createCommentVNode("",!0)])),[[Me,{loading:R.value||j.value,zIndex:100}]]):(vue.openBlock(),vue.createBlock(ContainerLayout,{key:0,title:"查看流程",desc:L.value?.name,"show-back-icon":!0,onBack:ce},vue.createSlots({extend:vue.withCtx(()=>[L.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$g,[vue.createVNode(FlowInfoSliders,{editable:!1,"flow-data":L.value,"system-variables":$.value,"fetch-user-api":vue.unref(k).fetchUserApi,"enable-simulate-debug":i.enableDebug,"simulate-debug-active":ee.value,"simulate-debug-only":ee.value,"hide-trigger":i.hideTrigger,onSimulateDebug:Te},null,8,["flow-data","system-variables","fetch-user-api","enable-simulate-debug","simulate-debug-active","simulate-debug-only","hide-trigger"]),e.showHeaderActions?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$e,[ee.value?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.withDirectives((vue.openBlock(),vue.createBlock(Je,{theme:"primary",disabled:!ne.value,onClick:Ze},{default:vue.withCtx(()=>[...Re[2]||(Re[2]=[vue.createTextVNode(" 执行 ",-1)])]),_:1},8,["disabled"])),[[Xe,{content:oe.value,disabled:!oe.value}]]),vue.createVNode(Je,{onClick:De},{default:vue.withCtx(()=>[...Re[3]||(Re[3]=[vue.createTextVNode("退出模拟调试",-1)])]),_:1})],64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createVNode(Je,{theme:"primary",disabled:!C.value.canEdit,onClick:pe},{default:vue.withCtx(()=>[...Re[4]||(Re[4]=[vue.createTextVNode("编辑",-1)])]),_:1},8,["disabled"]),vue.createVNode(Je,{disabled:!C.value.canExecute,onClick:le},{default:vue.withCtx(()=>[...Re[5]||(Re[5]=[vue.createTextVNode("执行流程",-1)])]),_:1},8,["disabled"])],64))])):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0)]),default:vue.withCtx(()=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_3$d,[L.value?(vue.openBlock(),vue.createBlock(FlowCanvas,{key:0,ref_key:"flowCanvasRef",ref:Q,mode:q.value,"flow-id":e.flowId,"pipeline-tree":L.value.pipeline_tree,"system-variables":$.value,thumbnail:i.thumbnail,"default-zoom":i.defaultZoom,"toolbar-items":ae.value,"simulate-debug-context":G,onMockNodeClick:Ge},{inputParams:vue.withCtx(nt=>[vue.renderSlot(Ye.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps(nt)),void 0,!0)]),_:3},8,["mode","flow-id","pipeline-tree","system-variables","thumbnail","default-zoom","toolbar-items"])):vue.createCommentVNode("",!0)])),[[Me,{loading:R.value||j.value,zIndex:100}]]),L.value?(vue.openBlock(),vue.createBlock(FlowCreateTask,{key:0,"flow-id":e.flowId,show:B.value,"api-config":i.apiConfig,"bkflow-saas-url":i.bkflowSaasUrl,"member-selector-config":i.memberSelectorConfig,onClose:Re[0]||(Re[0]=nt=>B.value=!1),onConfirm:ue},vue.createSlots({_:2},[vue.unref(r).customFormContent?{name:"customFormContent",fn:vue.withCtx(nt=>[vue.renderSlot(Ye.$slots,"customFormContent",vue.normalizeProps(vue.guardReactiveProps(nt)),void 0,!0)]),key:"0"}:void 0]),1032,["flow-id","show","api-config","bkflow-saas-url","member-selector-config"])):vue.createCommentVNode("",!0),L.value?(vue.openBlock(),vue.createBlock(FlowDebug,{key:1,"flow-id":e.flowId,show:W.value,"api-config":i.apiConfig,"bkflow-saas-url":i.bkflowSaasUrl,"enable-version":!1,"flow-version":i.flowVersion,"on-confirm":We,"use-custom-confirm":!0,onClose:lt,"onUpdate:show":Re[1]||(Re[1]=nt=>W.value=nt)},{"custom-form-content":vue.withCtx(nt=>[vue.renderSlot(Ye.$slots,"debugCustomFormContent",vue.normalizeProps(vue.guardReactiveProps(nt)),void 0,!0)]),_:3},8,["flow-id","show","api-config","bkflow-saas-url","flow-version"])):vue.createCommentVNode("",!0),L.value?(vue.openBlock(),vue.createBlock(MockDataSideslider,{key:2,show:!!se.value,node:se.value,constants:L.value.pipeline_tree.constants,config:de.value,onSave:st,onCancel:vue.unref(te).closeConfigNode,"onUpdate:show":Ue},null,8,["show","node","constants","config","onCancel"])):vue.createCommentVNode("",!0)]),_:2},[vue.unref(r).header?{name:"header",fn:vue.withCtx(()=>[vue.renderSlot(Ye.$slots,"header",{},void 0,!0)]),key:"0"}:void 0]),1032,["desc"]))}}}),view=_export_sfc(_sfc_main$k,[["__scopeId","data-v-82600d34"]]),view$1=Object.freeze(Object.defineProperty({__proto__:null,default:view},Symbol.toStringTag,{value:"Module"})),_hoisted_1$f={key:0,class:"operate-area"},_hoisted_2$d={class:"flow-actions"},_hoisted_3$c={class:"operate-btns"},_hoisted_4$a={class:"flow-edit-page-content"},_sfc_main$j=vue.defineComponent({__name:"edit",props:{flowId:{},apiConfig:{},permissions:{default:()=>({canSave:!0})},enableDebug:{type:Boolean,default:!1},onDebugConfirm:{},useCustomDebugConfirm:{type:Boolean,default:!1},selectPanelConfig:{},memberSelectorConfig:{},onSave:{},onSaveSuccess:{},onBack:{},onExitEdit:{},onBeforeLeave:{},onMockDebugCreated:{},enableVersion:{type:Boolean,default:!1},flowVersion:{},defaultZoom:{default:1},bkflowSaasUrl:{},enableThirdPlugin:{type:Boolean,default:!0},quickAdd:{default:void 0},hideTrigger:{type:Boolean,default:!1}},emits:["save","saveSuccess","back","exitEdit","debugBeforeClose","mockDebugCreated","createVariable"],setup(e,{expose:t,emit:n}){const r=e,i={...r.apiConfig,enableThirdPlugin:r.enableThirdPlugin},C=provideFlowApiConfig(i);provideSelectPanelConfig(r.selectPanelConfig||{}),provideMemberSelectorConfig(r.memberSelectorConfig);const k=n;setContext({},r.bkflowSaasUrl);const y=vue.shallowRef(null),B=vue.shallowRef(!0),L=vue.ref(),R=vue.ref(),z=vue.shallowRef(!0),j=vue.shallowRef({}),$=vue.shallowRef(!1),H=vue.shallowRef([]),Q=vue.shallowRef(!1),W=vue.shallowRef([]),te=vue.shallowRef(!1),ee=vue.shallowRef(!1),q=vue.ref(!1),G=vue.ref(!1),J=useSimulateDebug(),Z=vue.computed(()=>String(r.flowId));provideVariableInputCreateVariable(Ee=>{k("createVariable",Ee),L.value?.openGlobalVariableCreate(Ee)});const oe=vue.computed(()=>B.value||Q.value||z.value),ae=vue.computed(()=>J.stage.value==="mock-config"?"mock-config":"edit"),se={stage:J.stage,isMockSelected:J.isMockSelected,toggleMockSelected:J.toggleMockSelected,hasMockConfig:J.hasMockConfig,isAllMockNodesSelected:()=>ge.value},de=vue.computed(()=>getMockableNodeIds(y.value?.pipeline_tree??null)),ge=vue.computed(()=>J.isAllMockNodesSelected(de.value)),fe=vue.computed(()=>{const{mockData:Ee}=J.buildRunnableSelection(de.value);return Object.keys(Ee).length>0}),ie=vue.computed(()=>{if(fe.value)return"";const{selectedIds:Ee}=J.buildRunnableSelection(de.value);return Ee.length===0?"请先勾选需要模拟调试的节点":"请先为已勾选节点设置 Mock 数据"}),ce=vue.computed(()=>[{id:"mock-select-all",type:"custom",component:MockSelectAllToolbar,description:"全选",group:"tools",order:19,visible:()=>J.stage.value==="mock-config",active:()=>ge.value,onClick:()=>J.toggleSelectAllMockNodes(de.value)}]),pe=vue.computed(()=>y.value?.pipeline_tree),le=vue.computed(()=>{const Ee=J.activeConfigNodeId.value;return Ee?y.value?.pipeline_tree.activities[Ee]??null:null}),ue=vue.computed(()=>{const Ee=J.activeConfigNodeId.value;return Ee?J.mockConfigs.value[Ee]:void 0}),he=()=>String(window.USERNAME??""),ye=(Ee,ve)=>{const ke={taskId:Ee,templateId:ve};r.onMockDebugCreated&&r.onMockDebugCreated(ke),k("mockDebugCreated",ke)};vue.onMounted(()=>{_e(),Ne(),be(),Ae()}),vue.watch(()=>[r.flowId,r.flowVersion],([Ee,ve],[ke,je])=>{(Ee!==ke||ve!==je)&&(ee.value=!1,J.reset(),_e(),Ne(),be(),Ae())});const _e=async()=>{B.value=!0;try{let Ee=await C.fetchFlowDetail(Z.value);if(r.enableVersion)if(r.flowVersion){const ve=await C.fetchFlowDetailByVersion(Z.value,r.flowVersion);Ee={...Ee,name:ve.name,pipeline_tree:ve.pipeline_tree}}else{const ve=await C.fetchFlowDraftDetail(Z.value);Ee={...Ee,pipeline_tree:ve.pipeline_tree}}y.value=Ee}catch(Ee){console.error(Ee)}finally{B.value=!1}},Ne=async()=>{z.value=!0;try{const Ee=await C.fetchSpaceFlowConfig(Z.value);j.value=Ee}catch(Ee){console.error(Ee)}finally{z.value=!1}},be=async()=>{te.value=!0;try{const Ee=await C.fetchSystemVariables(Z.value);W.value=Ee}catch(Ee){console.error(Ee)}finally{te.value=!1}},Ae=async()=>{Q.value=!0;try{const Ee=await C.fetchAllPluginGroups();H.value=Ee}catch(Ee){console.error(Ee)}finally{Q.value=!1}},Te=()=>{r.onBack?r.onBack():k("back")},Ze=()=>{r.onExitEdit?r.onExitEdit():k("exitEdit")},lt=()=>{L.value?.openBasicSetting()},Ge=Ee=>{y.value=Ee,ee.value=!0},st=Ee=>{y.value&&(y.value={...y.value,pipeline_tree:{...y.value.pipeline_tree,constants:Ee}}),ee.value=!0,R.value?.updateGlobalVariables(Ee)},Ue=Ee=>{R.value?.updateOutputs(Ee)},De=Ee=>{y.value={...y.value,pipeline_tree:Ee},ee.value=!0},We=async()=>{if(!y.value||!C.drawPipeline)return;const Ee=y.value.pipeline_tree,ve=validatePipelineTree(Ee);if(!ve.valid){bkuiVue.Message({theme:"warning",message:ve.message});return}const ke=R.value?.getCanvasWidth?.()??document.documentElement.offsetWidth-200;try{R.value?.setFormatLoading?.(!0);const je=await C.drawPipeline({pipeline_tree:Ee,canvas_width:ke,activity_size:[240,48],event_size:[88,40],gateway_size:[64,64],start:[20,150]}),Se=R.value?.updatePipelineTree?.(je.pipeline_tree);y.value={...y.value,pipeline_tree:Se??je.pipeline_tree},ee.value=!0,bkuiVue.Message({theme:"success",message:"排版完成"})}catch(je){console.error(je)}finally{R.value?.setFormatLoading?.(!1)}},Ye=Ee=>{R.value&&R.value.updateNodeInputParams?.(Ee)},Re=Ee=>{bkuiVue.Message({theme:"error",message:Ee.message}),Ee.ids.length>0&&R.value?.locateNode?.(Ee.ids[0])},Je=async()=>{if(!y.value)return;const Ee=validatePipelineTree(y.value.pipeline_tree),ve=getUnconfiguredActivityIds(y.value.pipeline_tree);if(!Ee.valid||ve.length>0){Re(Ee.valid?{message:"流程中存在未配置节点,请配置后再模拟调试",ids:ve}:Ee);return}if(ee.value){if(!r.permissions.canSave){bkuiVue.Message({theme:"warning",message:"您没有保存权限,无法在未保存的情况下进行模拟调试"});return}return new Promise(ke=>{lib.InfoBox({title:"确认进入模拟调试?",content:"流程已修改,进入模拟调试前需要先保存流程。是否保存并继续?",confirmText:"保存并继续",cancelText:"取消",width:400,headerAlign:"center",footerAlign:"center",onConfirm:async()=>{try{await Nt({throwOnError:!0,silent:!0})&&J.enterConfig(de.value)}catch(je){console.error("保存失败:",je),bkuiVue.Message({theme:"error",message:"保存失败,请重试"})}finally{ke()}},onCancel:()=>{ke()}})})}J.enterConfig(de.value)},Xe=()=>{fe.value&&(G.value=!0)},Me=async Ee=>{if(!y.value)return;const{selectedIds:ve,mockNodeIds:ke,mockData:je}=J.buildRunnableSelection(de.value);if(ve.length<1){bkuiVue.Message({theme:"warning",message:"请至少选择一个可模拟调试节点"});return}if(!C.createMockDebugTask||!C.executeFlowTask){bkuiVue.Message({theme:"warning",message:"模拟调试接口未配置"});return}try{const Se=buildMockDebugPipelineTree(y.value.pipeline_tree,ve,Ee.variablesValue),ze=await C.createMockDebugTask({template_id:y.value.id,name:Ee.name,pipeline_tree:Se,mock_data:{nodes:ke,outputs:je,mock_data_ids:{}},creator:he()}),He=ze.data.id,ut=ze.data.template_id;await C.executeFlowTask({task_id:He,resource_type:"TASK",resource_id:He,permission_type:"OPERATE"}),J.reset(),ye(He,ut)}catch(Se){throw console.error(Se),bkuiVue.Message({theme:"error",message:"创建或启动模拟调试任务失败"}),Se}},nt=(Ee,ve)=>{ye(Ee,ve)},et=()=>{G.value=!1},wt=Ee=>{J.openConfigNode(Ee.id)},tt=Ee=>{J.saveMockConfig(Ee),J.closeConfigNode()},ot=Ee=>{Ee||J.closeConfigNode()},gt=()=>{G.value=!1,J.reset()},Et=()=>{k("debugBeforeClose")},Dt=()=>{q.value=!1},Ft=()=>{if(!r.permissions.canSave)return;const Ee=validatePipelineTree(y.value?.pipeline_tree);Ee.valid?Nt():Re(Ee)},Nt=async(Ee={})=>{const{name:ve,desc:ke,notify_config:je,pipeline_tree:Se,triggers:ze}=y.value,He={name:ve,desc:ke,notify_config:je,pipeline_tree:Se,triggers:ze};try{return $.value=!0,await C.saveFlow(Z.value,He),ee.value=!1,bkuiVue.Message({theme:"success",message:"保存成功"}),Ee.silent||(r.onSave&&r.onSave(y.value),r.onSaveSuccess&&r.onSaveSuccess(),k("save",y.value),k("saveSuccess")),!0}catch(ut){if(console.error(ut),Ee.throwOnError)throw ut;return!1}finally{$.value=!1}},Pe=()=>{L.value?.openGlobalVariables()},at=Ee=>{R.value?.zoomToFit?.(Ee)},_t=()=>{R.value?.centerContent?.()},Oe=()=>R.value?.getZoom?.()??1,Be={isFlowEdited:vue.computed(()=>ee.value),updateNodeInputParams:Ye,openGlobalVariables:Pe,zoomToFit:at,centerContent:_t,getZoom:Oe};return t(Be),(Ee,ve)=>{const ke=vue.resolveComponent("bk-button"),je=vue.resolveDirective("bk-tooltips"),Se=vue.resolveDirective("bkloading");return vue.openBlock(),vue.createBlock(ContainerLayout,{title:"编辑流程",desc:y.value?.name,"show-back-icon":!0,"show-edit-icon":!0,onBack:Te,onEdit:lt},{header:vue.withCtx(()=>[vue.renderSlot(Ee.$slots,"header",{},void 0,!0)]),extend:vue.withCtx(()=>[y.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$f,[vue.createElementVNode("div",_hoisted_2$d,[vue.createVNode(FlowInfoSliders,{ref_key:"flowInfoSlidersRef",ref:L,"flow-data":y.value,"system-variables":W.value,"fetch-user-api":vue.unref(C).fetchUserApi,"enable-simulate-debug":r.enableDebug,"simulate-debug-active":vue.unref(J).stage.value!=="edit","simulate-debug-only":vue.unref(J).stage.value!=="edit","hide-trigger":r.hideTrigger,onChange:Ge,onUpdateConstants:st,onUpdateOutputs:Ue,onSimulateDebug:Je},null,8,["flow-data","system-variables","fetch-user-api","enable-simulate-debug","simulate-debug-active","simulate-debug-only","hide-trigger"]),vue.createElementVNode("div",_hoisted_3$c,[vue.unref(J).stage.value==="edit"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(ke,{theme:"primary",disabled:!e.permissions.canSave,loading:$.value,onClick:Ft},{default:vue.withCtx(()=>[...ve[2]||(ve[2]=[vue.createTextVNode(" 保存 ",-1)])]),_:1},8,["disabled","loading"]),vue.createVNode(ke,{onClick:Ze},{default:vue.withCtx(()=>[...ve[3]||(ve[3]=[vue.createTextVNode("退出编辑",-1)])]),_:1})],64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.withDirectives((vue.openBlock(),vue.createBlock(ke,{theme:"primary",disabled:!fe.value,onClick:Xe},{default:vue.withCtx(()=>[...ve[4]||(ve[4]=[vue.createTextVNode(" 执行 ",-1)])]),_:1},8,["disabled"])),[[je,{content:ie.value,disabled:!ie.value}]]),vue.createVNode(ke,{onClick:gt},{default:vue.withCtx(()=>[...ve[5]||(ve[5]=[vue.createTextVNode("退出模拟调试",-1)])]),_:1})],64))])])])):vue.createCommentVNode("",!0)]),default:vue.withCtx(()=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_4$a,[!oe.value&&y.value?(vue.openBlock(),vue.createBlock(FlowCanvas,{key:0,ref_key:"flowCanvasRef",ref:R,mode:ae.value,"flow-id":Z.value,"pipeline-tree":pe.value,"plugin-group-list":H.value,"system-variables":W.value,"default-zoom":r.defaultZoom,"quick-add":r.quickAdd,"toolbar-items":ce.value,"simulate-debug-context":se,onChange:De,onMockNodeClick:wt,onFormatPosition:We},{inputParams:vue.withCtx(ze=>[vue.renderSlot(Ee.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps({...ze,updateNodeInputParams:Ye})),void 0,!0)]),_:3},8,["mode","flow-id","pipeline-tree","plugin-group-list","system-variables","default-zoom","quick-add","toolbar-items"])):vue.createCommentVNode("",!0)])),[[Se,{loading:oe.value,zIndex:100}]]),y.value?(vue.openBlock(),vue.createBlock(FlowDebug,{key:0,"flow-id":Z.value,show:q.value,"api-config":r.apiConfig,"bkflow-saas-url":r.bkflowSaasUrl,"enable-version":r.enableVersion,"flow-version":r.flowVersion,"on-confirm":r.onDebugConfirm,"use-custom-confirm":r.useCustomDebugConfirm,"on-execute-success":nt,onClose:Dt,"onUpdate:show":ve[0]||(ve[0]=ze=>q.value=ze),onBeforeClose:Et},{"custom-form-content":vue.withCtx(ze=>[vue.renderSlot(Ee.$slots,"debugCustomFormContent",vue.normalizeProps(vue.guardReactiveProps(ze)),void 0,!0)]),_:3},8,["flow-id","show","api-config","bkflow-saas-url","enable-version","flow-version","on-confirm","use-custom-confirm"])):vue.createCommentVNode("",!0),y.value?(vue.openBlock(),vue.createBlock(FlowDebug,{key:1,"flow-id":Z.value,show:G.value,"api-config":r.apiConfig,"bkflow-saas-url":r.bkflowSaasUrl,"enable-version":!1,"flow-version":r.flowVersion,"on-confirm":Me,"use-custom-confirm":!0,onClose:et,"onUpdate:show":ve[1]||(ve[1]=ze=>G.value=ze)},{"custom-form-content":vue.withCtx(ze=>[vue.renderSlot(Ee.$slots,"debugCustomFormContent",vue.normalizeProps(vue.guardReactiveProps(ze)),void 0,!0)]),_:3},8,["flow-id","show","api-config","bkflow-saas-url","flow-version"])):vue.createCommentVNode("",!0),y.value?(vue.openBlock(),vue.createBlock(MockDataSideslider,{key:2,show:!!le.value,node:le.value,constants:y.value.pipeline_tree.constants,config:ue.value,onSave:tt,onCancel:vue.unref(J).closeConfigNode,"onUpdate:show":ot},null,8,["show","node","constants","config","onCancel"])):vue.createCommentVNode("",!0)]),_:3},8,["desc"])}}}),edit=_export_sfc(_sfc_main$j,[["__scopeId","data-v-454a169d"]]),edit$1=Object.freeze(Object.defineProperty({__proto__:null,default:edit},Symbol.toStringTag,{value:"Module"})),EXECUTED_EDGE_COLOR="#48A397",FAILED_EDGE_GRADIENT_START=.82,FAILED_EDGE_GRADIENT_END=.94,EXECUTION_END_STATUS_COLORS={FAILED:"#FA4E41",SUSPENDED:"#F59500",REVOKED:"#979BA5",SKIP:"#C4C6CC"};function createExecutionStatusPlugin(e){return{name:"execution-status",priority:100,decorateEdge(t){const n=e.value;if(!n)return;const r=n[t.source.nodeId];if(!r)return;const i=n[t.target.nodeId];if(!i)return;const C=i.status in EXECUTION_END_STATUS_COLORS?EXECUTION_END_STATUS_COLORS[i.status]:void 0;if(r.status==="FINISHED")return C?{strokeColor:{type:"linearGradient",stops:[{offset:0,color:EXECUTED_EDGE_COLOR},{offset:FAILED_EDGE_GRADIENT_START,color:EXECUTED_EDGE_COLOR},{offset:FAILED_EDGE_GRADIENT_END,color:C},{offset:1,color:C}]},targetMarkerColor:C}:{strokeColor:EXECUTED_EDGE_COLOR}}}}const GATEWAY_TYPE_TO_SCHEMA={ExclusiveGateway:"exclusive-gateway",ParallelGateway:"parallel-gateway",ConditionalParallelGateway:"conditional-parallel-gateway",ConvergeGateway:"converge-gateway"};function mergeNodeStatesToPipelineTree(e,t){if(!t||Object.keys(t).length===0)return e;const n={...e.activities};for(const[k,y]of Object.entries(t)){const B=n[k];if(!B)continue;const L={...B,status:y.status};y.retry!==void 0&&(L.retry=y.retry),y.skip!==void 0&&(L.skip=y.skip),(y.errorIgnored??y.error_ignored)!==void 0&&(L.error_ignored=y.errorIgnored??y.error_ignored),y.loop!==void 0&&(L.loop=y.loop),y.phase!==void 0&&(L.phase=y.phase),n[k]=L}const r={...e.gateways};for(const[k,y]of Object.entries(t))r[k]&&(r[k]={...r[k],status:y.status});const i=e.start_event&&t[e.start_event.id]?{...e.start_event,status:t[e.start_event.id].status}:e.start_event,C=e.end_event&&t[e.end_event.id]?{...e.end_event,status:t[e.end_event.id].status}:e.end_event;return{...e,activities:n,gateways:r,start_event:i,end_event:C}}function getSchemaNodeType(e,t){if(!e)return"";if(e.activities?.[t])return"task";const n=e.gateways?.[t];return n?GATEWAY_TYPE_TO_SCHEMA[n.type]??"":e.start_event?.id===t?"start-event":e.end_event?.id===t?"end-event":""}function buildResolverState(e,t,n){const r=e?.[n];if(!r)return;const i=t?.activities?.[n];return i?{...r,taskState:r.taskState??r.task_state,retryable:r.retryable??i.retryable,skippable:r.skippable??i.skippable,errorIgnorable:r.errorIgnorable??r.error_ignorable??i.error_ignorable,hasAdminPerm:r.hasAdminPerm??r.has_admin_perm,errorIgnored:r.errorIgnored??r.error_ignored,nodeCode:r.nodeCode??r.code??i.component?.code,actions:r.actions??r.action_list}:{...r,taskState:r.taskState??r.task_state,nodeCode:r.nodeCode??r.code,errorIgnorable:r.errorIgnorable??r.error_ignorable,hasAdminPerm:r.hasAdminPerm??r.has_admin_perm,errorIgnored:r.errorIgnored??r.error_ignored,actions:r.actions??r.action_list}}function resolveExecutionActions(e,t){if(!e)return[];const n=normalizeExecutionState(e);return n.taskState==="REVOKED"||n.status==="REVOKED"?[]:n.actions&&n.actions.length>0?n.actions:t==="task"?resolveTaskActions(n):isSkippableGatewayType(t)?resolveGatewayActions(n):[]}function resolveTaskActions(e){const t=[];if(e.status==="FAILED")return(e.retryable||e.errorIgnorable)&&t.push("retry"),(e.skippable||e.errorIgnorable)&&t.push("skip"),t;if(e.status==="RUNNING"){const n=e.nodeCode;return n==="pause_node"?(t.push("resume"),t):n==="bk_approve"?(t.push("approve"),t):(t.push("forceFail"),t)}return t}function resolveGatewayActions(e){return e.status==="FAILED"?["gatewaySkip"]:[]}function isSkippableGatewayType(e){return e==="exclusive-gateway"||e==="parallel-gateway"||e==="conditional-parallel-gateway"}function normalizeExecutionState(e){return{...e,taskState:e.taskState??e.task_state,nodeCode:e.nodeCode??e.code,errorIgnorable:e.errorIgnorable??e.error_ignorable,hasAdminPerm:e.hasAdminPerm??e.has_admin_perm,errorIgnored:e.errorIgnored??e.error_ignored,actions:e.actions??e.action_list}}const HOVER_LEAVE_GRACE=150;function useActionPopover(e){const t=vue.reactive({visible:!1,nodeId:"",actions:[],position:{x:0,y:0}});let n=null;function r(){n&&(clearTimeout(n),n=null)}function i(){r(),n=setTimeout(()=>{t.visible=!1,n=null},HOVER_LEAVE_GRACE)}function C(){r(),t.visible=!1}function k(R){const z=e.getPipelineTree(),j=buildResolverState(e.getNodeStates(),z,R);if(!j){C();return}const $=getSchemaNodeType(z,R),H=resolveExecutionActions(j,$);if(H.length===0){C();return}const Q=e.getNodeViewportRect(R);if(!Q){C();return}r(),t.nodeId=R,t.actions=H,t.position={x:Q.x+Q.width,y:Q.y+Q.height},t.visible=!0}function y(){r()}function B(){i()}function L(R){if(R.type==="node.mouseenter"){k(R.nodeId);return}if(R.type==="node.mouseleave"){R.nodeId===t.nodeId&&i();return}R.type==="blank.click"&&C()}return vue.onBeforeUnmount(()=>{r()}),{actionPopover:t,openActionPopover:k,closeActionPopover:C,handlePopoverEnter:y,handlePopoverLeave:B,handleUiEvent:L}}const _hoisted_1$e={class:"execution-action-popover__actions"},_hoisted_2$c={key:0,class:"execution-action-popover__divider","aria-hidden":"true"},_hoisted_3$b=["title","onClick","onKeydown"],_hoisted_4$9={class:"execution-action-popover__label"},_sfc_main$i=vue.defineComponent({__name:"index",props:{visible:{type:Boolean},nodeId:{},actions:{},position:{}},emits:["popover-enter","popover-leave","action"],setup(e,{emit:t}){const n={retry:{label:"重试",icon:"bkflow-canvas-icon bkflow-canvas-retry"},skip:{label:"跳过",icon:"bkflow-canvas-icon bkflow-canvas-skip"},resume:{label:"继续",icon:"bkflow-canvas-icon bkflow-canvas-play"},approve:{label:"审批",icon:"bkflow-canvas-icon bkflow-canvas-circulation"},forceFail:{label:"强制终止",icon:"bkflow-canvas-icon bkflow-canvas-mandatory-failure"},gatewaySkip:{label:"跳过",icon:"bkflow-canvas-icon bkflow-canvas-skip"}},r=e,i=t,C=vue.computed(()=>r.actions.map(R=>({key:R,...n[R]??{label:R,icon:""}}))),k=vue.computed(()=>({left:`${r.position.x}px`,top:`${r.position.y+4}px`})),y=R=>{i("action",{nodeId:r.nodeId,action:R})},B=()=>{i("popover-enter")},L=()=>{i("popover-leave")};return(R,z)=>(vue.openBlock(),vue.createBlock(vue.Teleport,{to:"body"},[e.visible?(vue.openBlock(),vue.createElementBlock("div",{key:0,ref:"popoverRef",class:"execution-action-popover",style:vue.normalizeStyle(k.value),onMouseenter:B,onMouseleave:L,onClick:z[0]||(z[0]=vue.withModifiers(()=>{},["stop"]))},[vue.createElementVNode("div",_hoisted_1$e,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(C.value,(j,$)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:j.key},[$>0?(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$c)):vue.createCommentVNode("",!0),vue.createElementVNode("span",{class:"execution-action-popover__item",title:j.label,role:"button",tabindex:"0",onClick:H=>y(j.key),onKeydown:[vue.withKeys(vue.withModifiers(H=>y(j.key),["prevent"]),["enter"]),vue.withKeys(vue.withModifiers(H=>y(j.key),["prevent"]),["space"])]},[vue.createElementVNode("i",{class:vue.normalizeClass(["execution-action-popover__icon",j.icon])},null,2),vue.createElementVNode("span",_hoisted_4$9,vue.toDisplayString(j.label),1)],40,_hoisted_3$b)],64))),128))])],36)):vue.createCommentVNode("",!0)]))}}),ExecutionActionPopover=_export_sfc(_sfc_main$i,[["__scopeId","data-v-868d8e66"]]),_hoisted_1$d={class:"flow-execute-page-content"},_sfc_main$h=vue.defineComponent({__name:"execute",props:{pipelineTree:{},nodeStates:{default:()=>({})},defaultZoom:{default:1},apiConfig:{},bkflowSaasUrl:{},showHeader:{type:Boolean,default:!0},onBack:{}},emits:["back","node-click","ui-event","execution-action","retry","skip","gatewaySkip","resume","approve","forceFail"],setup(e,{emit:t}){const n=vue.useSlots(),r=e,i=t;provideFlowApiConfig(r.apiConfig),setContext({},r.bkflowSaasUrl);const C=vue.ref(),k=vue.computed(()=>r.nodeStates??{}),y=vue.shallowRef([createExecutionStatusPlugin(k)]),B=vue.computed(()=>r.pipelineTree?mergeNodeStatesToPipelineTree(r.pipelineTree,r.nodeStates):null),{actionPopover:L,closeActionPopover:R,handlePopoverEnter:z,handlePopoverLeave:j,handleUiEvent:$}=useActionPopover({getNodeStates:()=>r.nodeStates,getPipelineTree:()=>B.value,getNodeViewportRect:ee=>C.value?.editor?.api?.value?.overlay?.getNodeViewportRect?.(ee)});function H(ee){i("execution-action",ee),i(ee.action,ee.nodeId),R()}const Q=()=>{typeof r.onBack=="function"?r.onBack():i("back")},W=ee=>{i("node-click",ee)},te=ee=>{i("ui-event",ee),$(ee)};return(ee,q)=>{const G=vue.resolveDirective("bkloading");return vue.openBlock(),vue.createBlock(ContainerLayout,{title:"任务执行","show-back-icon":!0,"show-header":r.showHeader,onBack:Q},vue.createSlots({extend:vue.withCtx(()=>[vue.renderSlot(ee.$slots,"extend",{},void 0,!0)]),default:vue.withCtx(()=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_1$d,[B.value?(vue.openBlock(),vue.createBlock(BkFlowCanvas,{key:0,ref_key:"canvasRef",ref:C,mode:"view","pipeline-tree":B.value,"default-zoom":r.defaultZoom,"additional-plugins":y.value,onNodeClick:W,onUiEvent:te},null,8,["pipeline-tree","default-zoom","additional-plugins"])):vue.createCommentVNode("",!0)])),[[G,{loading:!r.pipelineTree}]]),vue.createVNode(ExecutionActionPopover,{visible:vue.unref(L).visible,"node-id":vue.unref(L).nodeId,actions:vue.unref(L).actions,position:vue.unref(L).position,onPopoverEnter:vue.unref(z),onPopoverLeave:vue.unref(j),onAction:H},null,8,["visible","node-id","actions","position","onPopoverEnter","onPopoverLeave"])]),_:2},[vue.unref(n).header?{name:"header",fn:vue.withCtx(()=>[vue.renderSlot(ee.$slots,"header",{},void 0,!0)]),key:"0"}:void 0]),1032,["show-header"])}}}),execute=_export_sfc(_sfc_main$h,[["__scopeId","data-v-d2ccd1b2"]]),execute$1=Object.freeze(Object.defineProperty({__proto__:null,default:execute},Symbol.toStringTag,{value:"Module"})),DOT_COUNT=3,_sfc_main$g=vue.defineComponent({__name:"index",props:{size:{default:20},width:{default:""},dotSize:{default:4},color:{default:""}},setup(e){const t=e,n=i=>typeof i=="number"?`${i}px`:i,r=vue.computed(()=>({"--bkflow-loading-dots-icon-width":t.width?n(t.width):n(t.size),"--bkflow-loading-dots-icon-size":n(t.size),"--bkflow-loading-dots-icon-dot-size":n(t.dotSize),color:t.color||void 0}));return(i,C)=>(vue.openBlock(),vue.createElementBlock("span",{class:"bkflow-loading-dots-icon",style:vue.normalizeStyle(r.value),"aria-hidden":"true"},[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(DOT_COUNT,k=>vue.createElementVNode("span",{key:k,class:"bkflow-loading-dots-icon__dot"})),64))],4))}}),LoadingDotsIcon=_export_sfc(_sfc_main$g,[["__scopeId","data-v-dd36d9ac"]]),_hoisted_1$c={class:"debug-status-bar__label"},_hoisted_2$b={class:"debug-status-bar__elapsed"},_hoisted_3$a={class:"debug-status-bar__failed-count"},_sfc_main$f=vue.defineComponent({__name:"index",props:{status:{default:"RUNNING"},startedAt:{default:void 0},elapsed:{default:void 0},failedCount:{default:0}},emits:["stop","locate-failed"],setup(e,{emit:t}){const n=e,r=t,i=vue.ref(Date.now());let C;const k=vue.computed(()=>n.status??"RUNNING"),y=vue.computed(()=>({RUNNING:"正在调试",FINISHED:"调试成功",FAILED:"调试失败"})[k.value]),B=vue.computed(()=>({RUNNING:"",FINISHED:"bkflow-canvas-dark-circle-checkbox",FAILED:"bkflow-canvas-dark-circle-close"})[k.value]),L=vue.computed(()=>k.value!=="RUNNING"&&n.elapsed!=null?n.elapsed:n.startedAt?Math.max(0,Math.floor((i.value-n.startedAt)/1e3)):0),R=vue.computed(()=>{const $=L.value,H=Math.floor($/3600),Q=Math.floor($%3600/60),W=$%60,te=String(Q).padStart(2,"0"),ee=String(W).padStart(2,"0");return H>0?`${String(H).padStart(2,"0")}:${te}:${ee}`:`${te}:${ee}`}),z=()=>{j(),C=setInterval(()=>{i.value=Date.now()},1e3)},j=()=>{C&&(clearInterval(C),C=void 0)};return vue.watch(k,$=>{$==="RUNNING"?z():j()},{immediate:!0}),vue.onBeforeUnmount(()=>{j()}),($,H)=>{const Q=vue.resolveComponent("bk-button"),W=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["debug-status-bar",`is-${k.value.toLowerCase()}`])},[k.value==="RUNNING"?(vue.openBlock(),vue.createBlock(LoadingStatusIcon,{key:0,class:"debug-status-bar__icon",size:14})):(vue.openBlock(),vue.createElementBlock("i",{key:1,class:vue.normalizeClass(["debug-status-bar__icon bkflow-canvas-icon",B.value])},null,2)),vue.createElementVNode("span",_hoisted_1$c,vue.toDisplayString(y.value),1),H[4]||(H[4]=vue.createElementVNode("span",{class:"debug-status-bar__divider"},null,-1)),vue.createElementVNode("span",_hoisted_2$b,vue.toDisplayString(R.value),1),k.value==="RUNNING"?(vue.openBlock(),vue.createBlock(Q,{key:2,text:"",class:"debug-status-bar__action debug-status-bar__action--stop",onClick:H[0]||(H[0]=te=>r("stop"))},{default:vue.withCtx(()=>[...H[2]||(H[2]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-zhongzhi debug-status-bar__action-icon"},null,-1),vue.createTextVNode(" 终止调试 ",-1)])]),_:1})):vue.createCommentVNode("",!0),k.value==="FAILED"&&n.failedCount>0?(vue.openBlock(),vue.createBlock(Q,{key:3,text:"",class:"debug-status-bar__action debug-status-bar__action--locate",onClick:H[1]||(H[1]=te=>r("locate-failed"))},{default:vue.withCtx(()=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("span",_hoisted_3$a,[vue.createTextVNode(vue.toDisplayString(n.failedCount),1)])),[[W,"定位错误"]]),H[3]||(H[3]=vue.createTextVNode(" 个节点错误 ",-1))]),_:1})):vue.createCommentVNode("",!0)],2)}}}),DebugStatusBar=_export_sfc(_sfc_main$f,[["__scopeId","data-v-dfddc841"]]),_hoisted_1$b={key:0,class:"bkflow-segment-tabs__divider"},_hoisted_2$a=["onClick"],_hoisted_3$9={key:2,class:"bkflow-segment-tabs__label"},_hoisted_4$8={key:3,class:"bkflow-segment-tabs__count"},SCROLL_STEP=120,_sfc_main$e=vue.defineComponent({__name:"index",props:{modelValue:{},items:{},size:{default:"default"}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,r=t,i=vue.ref(),C=vue.ref(!1),k=vue.ref(!1),y=()=>{const R=i.value;R&&(C.value=R.scrollLeft>1,k.value=R.scrollLeft+R.clientWidth<R.scrollWidth-1)},B=R=>{i.value?.scrollBy({left:R,behavior:"smooth"})};let L;return vue.onMounted(()=>{vue.nextTick(y),i.value&&(L=new ResizeObserver(y),L.observe(i.value))}),vue.onBeforeUnmount(()=>{L?.disconnect()}),vue.watch(()=>n.items,()=>vue.nextTick(y)),(R,z)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["bkflow-segment-tabs",{"is-small":n.size==="small"}])},[C.value?(vue.openBlock(),vue.createElementBlock("span",{key:0,class:"bkflow-segment-tabs__arrow is-left",onClick:z[0]||(z[0]=j=>B(-SCROLL_STEP))})):vue.createCommentVNode("",!0),vue.createElementVNode("div",{ref_key:"trackRef",ref:i,class:"bkflow-segment-tabs__track",onScroll:y},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(n.items,(j,$)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:j.value},[$>0?(vue.openBlock(),vue.createElementBlock("span",_hoisted_1$b)):vue.createCommentVNode("",!0),vue.createElementVNode("button",{class:vue.normalizeClass(["bkflow-segment-tabs__item",{"is-active":j.value===n.modelValue}]),type:"button",onClick:H=>r("update:modelValue",j.value)},[j.iconComponent?(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(j.iconComponent),{key:0,class:"bkflow-segment-tabs__icon",style:vue.normalizeStyle(j.iconColor?{color:j.iconColor}:void 0)},null,8,["style"])):j.icon?(vue.openBlock(),vue.createElementBlock("i",{key:1,class:vue.normalizeClass(["bkflow-segment-tabs__icon bkflow-canvas-icon",j.icon]),style:vue.normalizeStyle(j.iconColor?{color:j.iconColor}:void 0)},null,6)):vue.createCommentVNode("",!0),j.label?(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$9,vue.toDisplayString(j.label),1)):vue.createCommentVNode("",!0),j.count!=null?(vue.openBlock(),vue.createElementBlock("span",_hoisted_4$8,vue.toDisplayString(j.count),1)):vue.createCommentVNode("",!0)],10,_hoisted_2$a)],64))),128))],544),k.value?(vue.openBlock(),vue.createElementBlock("span",{key:1,class:"bkflow-segment-tabs__arrow is-right",onClick:z[1]||(z[1]=j=>B(SCROLL_STEP))})):vue.createCommentVNode("",!0)],2))}}),SegmentTabs=_export_sfc(_sfc_main$e,[["__scopeId","data-v-2cd0beb6"]]),_hoisted_1$a={class:"debug-node-list"},_hoisted_2$9={key:0,class:"debug-node-list__items",role:"listbox"},_hoisted_3$8=["aria-selected","onClick","onKeydown"],_hoisted_4$7=["title"],_hoisted_5$7={key:0,class:"debug-node-list__mock"},_hoisted_6$6={key:1,class:"debug-node-list__empty"},_sfc_main$d=vue.defineComponent({__name:"node-list",props:{nodes:{},modelValue:{default:""}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,r=t,i=vue.ref(""),C=vue.ref("ALL"),k=[{value:"ALL",label:"全部",icon:"",iconColor:""},{value:"FINISHED",icon:"bkflow-canvas-dark-circle-checkbox",iconColor:"#2dcb56"},{value:"FAILED",icon:"bkflow-canvas-circle-alert-filled",iconColor:"#ea3636"},{value:"RUNNING",iconComponent:LoadingStatusIcon,iconColor:"#3a84ff"},{value:"CREATED",icon:"bkflow-canvas-weizhixing",iconColor:"#c4c6cc"},{value:"SUSPENDED",icon:"bkflow-canvas-guaqi",iconColor:"#ff9c01"},{value:"REVOKED",icon:"bkflow-canvas-tiaoguo",iconColor:"#6e89af"}],y=vue.computed(()=>{const j=i.value.trim().toLowerCase();return n.nodes.filter($=>C.value==="ALL"||($.status||"CREATED")===C.value?j?$.name.toLowerCase().includes(j)||$.id.toLowerCase().includes(j):!0:!1)}),B={FINISHED:"成功",FAILED:"失败",RUNNING:"执行中",SUSPENDED:"暂停",CREATED:"未执行",REVOKED:"已撤销"},L=vue.computed(()=>i.value.trim()?"搜索结果为空":C.value!=="ALL"?`暂无${B[C.value]}状态节点`:"暂无节点"),R=()=>{i.value="",C.value="ALL"},z=vue.computed(()=>k.map(j=>({...j,count:j.value==="ALL"?n.nodes.length:n.nodes.filter($=>($.status||"CREATED")===j.value).length})));return(j,$)=>{const H=vue.resolveComponent("bk-input");return vue.openBlock(),vue.createElementBlock("aside",_hoisted_1$a,[vue.createVNode(H,{modelValue:i.value,"onUpdate:modelValue":$[0]||($[0]=Q=>i.value=Q),class:"debug-node-list__search",placeholder:"搜索节点名称",type:"search",clearable:""},null,8,["modelValue"]),vue.createVNode(SegmentTabs,{modelValue:C.value,"onUpdate:modelValue":$[1]||($[1]=Q=>C.value=Q),class:"debug-node-list__stats",items:z.value},null,8,["modelValue","items"]),y.value.length>0?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$9,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(y.value,Q=>(vue.openBlock(),vue.createElementBlock("div",{key:Q.id,class:vue.normalizeClass(["debug-node-list__item",{"is-active":Q.id===n.modelValue}]),role:"option",tabindex:"0","aria-selected":Q.id===n.modelValue,onClick:W=>r("update:modelValue",Q.id),onKeydown:vue.withKeys(vue.withModifiers(W=>r("update:modelValue",Q.id),["prevent"]),["enter","space"])},[vue.createElementVNode("span",{class:vue.normalizeClass(["debug-node-list__status",`is-${(Q.status||"CREATED").toLowerCase()}`])},[Q.status==="RUNNING"?(vue.openBlock(),vue.createBlock(LoadingStatusIcon,{key:0,size:12})):Q.iconClass?(vue.openBlock(),vue.createElementBlock("i",{key:1,class:vue.normalizeClass(Q.iconClass)},null,2)):vue.createCommentVNode("",!0)],2),vue.createElementVNode("span",{class:"debug-node-list__name",title:`${Q.name} ${Q.typeName||""}`},vue.toDisplayString(Q.name),9,_hoisted_4$7),Q.hasMockConfig?(vue.openBlock(),vue.createElementBlock("span",_hoisted_5$7,"MOCK")):vue.createCommentVNode("",!0)],42,_hoisted_3$8))),128))])):(vue.openBlock(),vue.createElementBlock("div",_hoisted_6$6,[vue.createVNode(EmptyException,{"is-search":!1,title:L.value,onClear:R},null,8,["title"])]))])}}}),NodeList=_export_sfc(_sfc_main$d,[["__scopeId","data-v-8864ef7f"]]),toPlainRecord=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:void 0,unwrapDebugResponseData=e=>{const t=toPlainRecord(e);return!t||!("data"in t)?e:t.data},isComplexDebugValue=e=>!!(e&&typeof e=="object"),formatDebugResultData=e=>{if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}},formatDebugValue=e=>e==null||e===""?"--":typeof e=="boolean"?e?"true":"false":typeof e=="number"?String(e):typeof e=="string"?e:Array.isArray(e)?"[ ... ]":"{ ... }",getDebugValueSummary=e=>{if(Array.isArray(e))return e.length>0?"[ ... ]":"[]";const t=toPlainRecord(e);return t?Object.keys(t).length>0?"{ ... }":"{}":formatDebugValue(e)},toDebugInputValueRows=(e,t={})=>{const n=toPlainRecord(e);return n?Object.entries(n).map(([r,i])=>({name:t[r]||r,key:r,value:i})):[]},toDebugOutputValueRows=(e,t={})=>{if(Array.isArray(e))return e.map((r,i)=>{const C=toPlainRecord(r),k=String(C?.key??C?.id??i);return{name:t[k]||String(C?.name??C?.label??k),key:k,value:C&&"value"in C?C.value:r}});const n=toPlainRecord(e);return n?Object.entries(n).map(([r,i])=>({name:t[r]||r,key:r,value:toPlainRecord(i)&&"value"in i?i.value:i})):[]},normalizeLogText=e=>{const t=unwrapDebugResponseData(e);return typeof t=="string"?t:formatDebugResultData(t)},formatElapsedTime=e=>{if(typeof e!="number")return"--";if(e<1)return"小于 1 秒";if(e<60)return`${e} 秒`;const t=Math.floor(e/60),n=e%60;return n>0?`${t} 分 ${n} 秒`:`${t} 分`},SHARED_NODE_DETAIL_KEY=Symbol("shared-node-detail"),getErrorMessage$3=e=>typeof e=="string"?e:e instanceof Error?e.message:"加载失败",buildCacheKey=(e,t)=>`${e??""}_${t??""}`;function useSharedNodeDetail(e){const t=useFlowApiConfig(),n=vue.ref(!1),r=vue.ref(""),i=vue.shallowRef(),C=new Map;let k=0;const y=async()=>{const L=e.taskId(),R=e.nodeId(),z=++k;if(!L||!R){n.value=!1,r.value="",i.value=void 0;return}const j=buildCacheKey(L,R),$=C.get(j);if($){n.value=!1,r.value="",i.value=$;return}if(!t.fetchTaskNodeDetail){n.value=!1,r.value="节点执行详情接口未配置",i.value=void 0;return}n.value=!0,r.value="";try{const H=await t.fetchTaskNodeDetail({task_id:L,node_id:R});if(z!==k)return;const Q=toPlainRecord(unwrapDebugResponseData(H));Q&&C.set(j,Q),i.value=Q}catch(H){if(z!==k)return;console.error(H),r.value=getErrorMessage$3(H),i.value=void 0}finally{z===k&&(n.value=!1)}};vue.watch(()=>[e.taskId(),e.nodeId()],()=>{y()},{immediate:!0});const B={loading:n,error:r,detail:i};return vue.provide(SHARED_NODE_DETAIL_KEY,B),B}function useInjectedNodeDetail(){const e=vue.inject(SHARED_NODE_DETAIL_KEY);if(!e)throw new Error("useInjectedNodeDetail: shared node detail is not provided");return e}const _hoisted_1$9={class:"execution-info-tab"},_hoisted_2$8={key:0,class:"execution-info-tab__state is-error"},_hoisted_3$7={class:"execution-info-tab__section"},_hoisted_4$6={class:"execution-info-tab__section"},_hoisted_5$6={class:"execution-info-tab__table"},_sfc_main$c=vue.defineComponent({__name:"execution-info",setup(e){const{loading:t,error:n,detail:r}=useInjectedNodeDetail(),i=vue.computed(()=>String(r.value?.ex_data??"")),C=vue.computed(()=>[{label:"开始时间",value:formatDebugValue(r.value?.start_time)},{label:"结束时间",value:formatDebugValue(r.value?.finish_time)},{label:"耗时",value:formatElapsedTime(r.value?.elapsed_time)}]);return(k,y)=>{const B=vue.resolveDirective("bkloading");return vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_1$9,[vue.unref(n)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$8,vue.toDisplayString(vue.unref(n)),1)):vue.unref(r)?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createElementVNode("section",_hoisted_3$7,[y[0]||(y[0]=vue.createElementVNode("h3",null,"异常信息",-1)),vue.createElementVNode("div",{class:vue.normalizeClass(["execution-info-tab__exception",{"is-empty":!i.value}])},vue.toDisplayString(i.value||"暂无异常"),3)]),vue.createElementVNode("section",_hoisted_4$6,[y[1]||(y[1]=vue.createElementVNode("h3",null,"执行信息",-1)),vue.createElementVNode("table",_hoisted_5$6,[vue.createElementVNode("tbody",null,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(C.value,L=>(vue.openBlock(),vue.createElementBlock("tr",{key:L.label},[vue.createElementVNode("th",null,vue.toDisplayString(L.label),1),vue.createElementVNode("td",null,vue.toDisplayString(L.value),1)]))),128))])])])],64)):vue.unref(t)?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(EmptyException,{key:2,title:"暂无执行信息"}))])),[[B,{loading:vue.unref(t)}]])}}}),ExecutionInfo=_export_sfc(_sfc_main$c,[["__scopeId","data-v-43618193"]]),_hoisted_1$8={class:"debug-json-viewer"},_hoisted_2$7={class:"debug-json-viewer__line"},_hoisted_3$6={key:1,class:"debug-json-viewer__key"},_hoisted_4$5={class:"debug-json-viewer__summary"},_hoisted_5$5={key:0,class:"debug-json-viewer__children"},_hoisted_6$5={key:1,class:"debug-json-viewer__line"},_hoisted_7$3={key:0,class:"debug-json-viewer__key"},_sfc_main$b=vue.defineComponent({name:"DebugJsonViewer",__name:"debug-json-viewer",props:{label:{default:""},value:{},level:{default:0},defaultExpanded:{type:Boolean,default:!1}},setup(e){const t=e,n=vue.ref(t.defaultExpanded),r=vue.computed(()=>isComplexDebugValue(t.value)),i=vue.computed(()=>getDebugValueSummary(t.value)),C=vue.computed(()=>t.value===null?"null":typeof t.value),k=vue.computed(()=>formatDebugResultData(t.value)),y=vue.computed(()=>{if(Array.isArray(t.value))return t.value.map((R,z)=>({key:String(z),value:R}));const L=toPlainRecord(t.value);return L?Object.entries(L).map(([R,z])=>({key:R,value:z})):[]}),B=async L=>{const R=formatDebugResultData(L);try{await navigator.clipboard?.writeText(R)}catch{const j=document.createElement("textarea");j.value=R,j.style.position="fixed",j.style.opacity="0",document.body.appendChild(j),j.select(),document.execCommand("copy"),document.body.removeChild(j)}BkMessage({theme:"success",message:"复制成功"})};return(L,R)=>{const z=vue.resolveComponent("DebugJsonViewer",!0);return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$8,[r.value?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createElementVNode("div",_hoisted_2$7,[y.value.length>0?(vue.openBlock(),vue.createElementBlock("span",{key:0,class:"debug-json-viewer__toggle",onClick:R[0]||(R[0]=j=>n.value=!n.value)},vue.toDisplayString(n.value?"▼":"▶"),1)):vue.createCommentVNode("",!0),t.label?(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$6,vue.toDisplayString(t.label)+":",1)):vue.createCommentVNode("",!0),vue.createElementVNode("span",_hoisted_4$5,vue.toDisplayString(i.value),1),y.value.length>0?(vue.openBlock(),vue.createElementBlock("i",{key:2,class:"bkflow-canvas-icon bkflow-canvas-bkflow-copy debug-json-viewer__copy",title:"复制",onClick:R[1]||(R[1]=j=>B(t.value))})):vue.createCommentVNode("",!0)]),n.value&&y.value.length>0?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$5,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(y.value,j=>(vue.openBlock(),vue.createBlock(z,{key:j.key,label:j.key,value:j.value,level:t.level+1},null,8,["label","value","level"]))),128))])):vue.createCommentVNode("",!0)],64)):(vue.openBlock(),vue.createElementBlock("div",_hoisted_6$5,[t.label?(vue.openBlock(),vue.createElementBlock("span",_hoisted_7$3,vue.toDisplayString(t.label)+":",1)):vue.createCommentVNode("",!0),vue.createElementVNode("span",{class:vue.normalizeClass(["debug-json-viewer__primitive",`is-${C.value}`])},vue.toDisplayString(k.value),3)]))])}}}),DebugJsonViewer=_export_sfc(_sfc_main$b,[["__scopeId","data-v-32f8c36e"]]),_hoisted_1$7={class:"debug-value-table"},_hoisted_2$6={key:0,class:"debug-value-table__state is-error"},_hoisted_3$5={class:"debug-value-table__toolbar"},_hoisted_4$4={key:0,class:"debug-value-table__table"},_hoisted_5$4=["title"],_hoisted_6$4={class:"debug-value-table__value"},_hoisted_7$2={key:1},_hoisted_8$2={key:1,class:"debug-value-table__json-mode"},_sfc_main$a=vue.defineComponent({__name:"debug-value-table",props:{rows:{},loading:{type:Boolean,default:!1},error:{default:""},emptyText:{default:"暂无数据"}},setup(e){const t=e,n=vue.ref("kv"),r=[{value:"kv",label:"KV"},{value:"json",label:"JSON"}],i=vue.computed(()=>Object.fromEntries(t.rows.map(C=>[C.key||C.name,C.value])));return(C,k)=>{const y=vue.resolveDirective("bkloading");return vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_1$7,[t.error?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$6,vue.toDisplayString(t.error),1)):!t.loading&&t.rows.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:1,title:t.emptyText},null,8,["title"])):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:2},[vue.createElementVNode("div",_hoisted_3$5,[vue.createVNode(SegmentTabs,{modelValue:n.value,"onUpdate:modelValue":k[0]||(k[0]=B=>n.value=B),items:r},null,8,["modelValue"])]),n.value==="kv"?(vue.openBlock(),vue.createElementBlock("table",_hoisted_4$4,[k[1]||(k[1]=vue.createElementVNode("thead",null,[vue.createElementVNode("tr",null,[vue.createElementVNode("th",null,"参数名"),vue.createElementVNode("th",null,"参数值")])],-1)),vue.createElementVNode("tbody",null,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(t.rows,B=>(vue.openBlock(),vue.createElementBlock("tr",{key:B.key},[vue.createElementVNode("td",{class:"debug-value-table__name",title:B.name},vue.toDisplayString(B.name),9,_hoisted_5$4),vue.createElementVNode("td",_hoisted_6$4,[vue.unref(isComplexDebugValue)(B.value)?(vue.openBlock(),vue.createBlock(DebugJsonViewer,{key:0,value:B.value},null,8,["value"])):(vue.openBlock(),vue.createElementBlock("span",_hoisted_7$2,vue.toDisplayString(vue.unref(formatDebugValue)(B.value)),1))])]))),128))])])):(vue.openBlock(),vue.createElementBlock("div",_hoisted_8$2,[vue.createVNode(DebugJsonViewer,{value:i.value,"default-expanded":""},null,8,["value"])]))],64))])),[[y,{loading:t.loading}]])}}}),DebugValueTable=_export_sfc(_sfc_main$a,[["__scopeId","data-v-1399d4df"]]),PLUGIN_PARAM_NAMES_KEY=Symbol("plugin-param-names"),getErrorMessage$2=e=>typeof e=="string"?e:e instanceof Error?e.message:"加载失败",buildPluginCacheKey=e=>{if(!e?.code)return"";const t=e.data?.plugin_code?.value,n=e.data?.plugin_version?.value;return[e.code,e.version??"",e.api_meta?.id??"",typeof t=="string"?t:String(t??""),typeof n=="string"?n:String(n??"")].join("|")},buildInputNameMap=e=>{const t={},{inputs:n,inputParamsFormType:r}=e;if(r==="uniformApiForm")return n.forEach(i=>{i.key&&(t[i.key]=i.name||i.key)}),t;if(r==="jsonschemaform"){const C=n?.properties??{};return Object.entries(C).forEach(([k,y])=>{const B=toPlainRecord(y),L=typeof B?.title=="string"?B.title:"";t[k]=L||k}),t}return n.forEach(i=>{i.tag_code&&(t[i.tag_code]=i.name||i.tag_code)}),t},buildOutputNameMap=e=>{const t={};return e.forEach(n=>{n.key&&(t[n.key]=n.name||n.key)}),t};function usePluginParamNames(e){const t=useFlowApiConfig(),n=vue.ref(!1),r=vue.shallowRef({}),i=vue.shallowRef({}),C=new Map;let k=0;const y=async()=>{const L=e.component(),R=++k;if(!L?.code){n.value=!1,r.value={},i.value={};return}const z=buildPluginCacheKey(L),j=C.get(z);if(j){n.value=!1,r.value=j.inputNameMap,i.value=j.outputNameMap;return}n.value=!0;try{const $=await pluginDetailRequest(t,L);if(R!==k)return;const H=buildInputNameMap($),Q=buildOutputNameMap($.outputs);C.set(z,{inputNameMap:H,outputNameMap:Q}),r.value=H,i.value=Q}catch($){if(R!==k)return;console.error("Failed to fetch plugin param names:",getErrorMessage$2($)),r.value={},i.value={}}finally{R===k&&(n.value=!1)}};vue.watch(()=>buildPluginCacheKey(e.component()),()=>{y()},{immediate:!0});const B={loading:n,inputNameMap:r,outputNameMap:i};return vue.provide(PLUGIN_PARAM_NAMES_KEY,B),B}function useInjectedPluginParamNames(){const e=vue.inject(PLUGIN_PARAM_NAMES_KEY);if(!e)throw new Error("useInjectedPluginParamNames: plugin param names is not provided");return e}const _sfc_main$9=vue.defineComponent({__name:"input-params",setup(e){const{loading:t,error:n,detail:r}=useInjectedNodeDetail(),{loading:i,inputNameMap:C}=useInjectedPluginParamNames(),k=vue.computed(()=>t.value||i.value),y=vue.computed(()=>{const B=toDebugInputValueRows(r.value?.inputs,C.value),L=C.value;return Object.keys(L).length===0?B:B.filter(R=>R.key in L)});return(B,L)=>(vue.openBlock(),vue.createBlock(DebugValueTable,{loading:k.value,error:vue.unref(n),rows:y.value,"empty-text":"暂无输入参数"},null,8,["loading","error","rows"]))}}),_sfc_main$8=vue.defineComponent({__name:"output-params",setup(e){const{loading:t,error:n,detail:r}=useInjectedNodeDetail(),{loading:i,outputNameMap:C}=useInjectedPluginParamNames(),k=vue.computed(()=>t.value||i.value),y=vue.computed(()=>toDebugOutputValueRows(r.value?.outputs,C.value));return(B,L)=>(vue.openBlock(),vue.createBlock(DebugValueTable,{loading:k.value,error:vue.unref(n),rows:y.value,"empty-text":"暂无输出参数"},null,8,["loading","error","rows"]))}}),getErrorMessage$1=e=>typeof e=="string"?e:e instanceof Error?e.message:"加载失败";function useNodeResultData(e){const t=vue.ref(!1),n=vue.ref(""),r=vue.shallowRef();let i=0;const C=async()=>{const k=++i;if(!e.isReady()){t.value=!1,n.value="",r.value=void 0;return}t.value=!0,n.value="";try{const y=await e.load();k===i&&(r.value=y)}catch(y){k===i&&(console.error(y),n.value=getErrorMessage$1(y),r.value=void 0)}finally{k===i&&(t.value=!1)}};return vue.watch(e.dependencies,()=>{C()},{immediate:!0}),{loading:t,error:n,data:r,fetchData:C}}const _hoisted_1$6={class:"call-logs-viewer"},_hoisted_2$5={key:0,class:"call-logs-viewer__state is-error","data-test":"log-error"},_hoisted_3$4={key:2,class:"call-logs-viewer__viewer"},_hoisted_4$3={class:"call-logs-viewer__empty-body"},_hoisted_5$3={class:"call-logs-viewer__sub-tabs"},_hoisted_6$3=["onClick"],_sfc_main$7=vue.defineComponent({__name:"call-logs-viewer",props:{logText:{default:""},loading:{type:Boolean,default:!1},error:{default:""}},setup(e){const t=e,n=vue.ref("platform"),r=[{value:"platform",label:"平台日志"},{value:"thirdParty",label:"第三方插件日志"}],i={readOnly:!0,lineNumbers:"on",domReadOnly:!0},C=vue.computed(()=>(t.logText||"").replace(/\[bk-mark\]|\[\/bk-mark\]/g,""));return(k,y)=>{const B=vue.resolveDirective("bkloading");return vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_1$6,[t.error?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$5,vue.toDisplayString(t.error),1)):!t.loading&&!t.logText?(vue.openBlock(),vue.createBlock(EmptyException,{key:1,title:"暂无调用日志","data-test":"log-empty"})):t.logText?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$4,[n.value==="platform"?(vue.openBlock(),vue.createBlock(CodeEditor,{key:0,"model-value":C.value,options:i,"data-test":"log-editor"},null,8,["model-value"])):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[y[0]||(y[0]=vue.createElementVNode("div",{class:"call-logs-viewer__empty-header"},null,-1)),vue.createElementVNode("div",_hoisted_4$3,[vue.createVNode(EmptyException,{title:"暂无第三方插件日志"})])],64)),vue.createElementVNode("div",_hoisted_5$3,[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(r,L=>vue.createElementVNode("span",{key:L.value,class:vue.normalizeClass(["call-logs-viewer__sub-tab",{"is-active":n.value===L.value}]),"data-test":"log-sub-tab",onClick:R=>n.value=L.value},vue.toDisplayString(L.label),11,_hoisted_6$3)),64))])])):vue.createCommentVNode("",!0)])),[[B,{loading:t.loading}]])}}}),CallLogsViewer=_export_sfc(_sfc_main$7,[["__scopeId","data-v-21fe43ae"]]),_sfc_main$6=vue.defineComponent({__name:"call-logs",props:{taskId:{},nodeId:{},version:{}},setup(e){const t=e,n=useFlowApiConfig(),{loading:r,error:i,data:C}=useNodeResultData({dependencies:()=>[t.taskId,t.nodeId,t.version],isReady:()=>!!(t.taskId&&t.nodeId&&t.version),load:async()=>{if(!n.fetchTaskNodeLog)throw new Error("节点调用日志接口未配置");return await n.fetchTaskNodeLog({task_id:t.taskId,node_id:t.nodeId,version:t.version})}}),k=vue.computed(()=>normalizeLogText(C.value));return(y,B)=>(vue.openBlock(),vue.createBlock(CallLogsViewer,{"log-text":k.value,loading:vue.unref(r),error:vue.unref(i)},null,8,["log-text","loading","error"]))}}),_hoisted_1$5={class:"debug-result-tabs"},_sfc_main$5=vue.defineComponent({__name:"result-tabs",props:{taskId:{},activeNodeId:{},activeNodeVersion:{},activeNodeType:{default:""},activeNodeComponent:{default:void 0}},setup(e){const t=new Set(["开始节点","结束节点","网关节点"]),n=e,r=vue.ref("execution"),i=vue.computed(()=>t.has(n.activeNodeType));return useSharedNodeDetail({taskId:()=>n.taskId,nodeId:()=>n.activeNodeId}),usePluginParamNames({component:()=>n.activeNodeComponent}),(C,k)=>{const y=vue.resolveComponent("bk-tab-panel"),B=vue.resolveComponent("bk-tab");return vue.openBlock(),vue.createElementBlock("section",_hoisted_1$5,[vue.createVNode(B,{active:r.value,"onUpdate:active":k[0]||(k[0]=L=>r.value=L),type:"card-grid"},{default:vue.withCtx(()=>[vue.createVNode(y,{name:"execution",label:"执行信息"},{default:vue.withCtx(()=>[r.value==="execution"?(vue.openBlock(),vue.createBlock(ExecutionInfo,{key:0})):vue.createCommentVNode("",!0)]),_:1}),vue.createVNode(y,{name:"inputs",label:"输入参数"},{default:vue.withCtx(()=>[i.value?(vue.openBlock(),vue.createBlock(EmptyException,{key:0,title:"暂无输入参数"})):r.value==="inputs"?(vue.openBlock(),vue.createBlock(_sfc_main$9,{key:1})):vue.createCommentVNode("",!0)]),_:1}),vue.createVNode(y,{name:"outputs",label:"输出参数"},{default:vue.withCtx(()=>[i.value?(vue.openBlock(),vue.createBlock(EmptyException,{key:0,title:"暂无输出参数"})):r.value==="outputs"?(vue.openBlock(),vue.createBlock(_sfc_main$8,{key:1})):vue.createCommentVNode("",!0)]),_:1}),vue.createVNode(y,{name:"logs",label:"调用日志"},{default:vue.withCtx(()=>[r.value==="logs"?(vue.openBlock(),vue.createBlock(_sfc_main$6,{key:0,"task-id":n.taskId,"node-id":n.activeNodeId,version:n.activeNodeVersion},null,8,["task-id","node-id","version"])):vue.createCommentVNode("",!0)]),_:1})]),_:1},8,["active"])])}}}),ResultTabs=_export_sfc(_sfc_main$5,[["__scopeId","data-v-9b3059c0"]]),_hoisted_1$4={class:"debug-result-drawer__header"},_hoisted_2$4={class:"debug-result-drawer__body"},HEADER_HEIGHT=44,_sfc_main$4=vue.defineComponent({__name:"index",props:{open:{type:Boolean},taskId:{default:void 0},nodes:{},activeNodeId:{default:""},activeNodeVersion:{default:""},activeNodeComponent:{default:void 0}},emits:["update:open","update:activeNodeId"],setup(e,{emit:t}){const n=e,r=vue.computed(()=>n.nodes.find(ee=>ee.id===n.activeNodeId)?.typeName??""),i=t,C=vue.ref(420),k=vue.ref(!1);let y=0,B=0,L="",R="";const z=vue.computed(()=>({height:`${n.open?C.value:HEADER_HEIGHT}px`})),j=()=>{i("update:open",!n.open)},$=te=>{i("update:activeNodeId",te)},H=te=>{const ee=B-(te.clientY-y);C.value=Math.max(200,Math.min(window.innerHeight*.8,ee))},Q=()=>{document.removeEventListener("mousemove",H),document.removeEventListener("mouseup",Q),document.body.style.cursor=L,document.body.style.userSelect=R,k.value=!1},W=te=>{te.preventDefault(),k.value=!0,y=te.clientY,B=C.value,L=document.body.style.cursor,R=document.body.style.userSelect,document.body.style.cursor="ns-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",H),document.addEventListener("mouseup",Q)};return vue.onBeforeUnmount(Q),(te,ee)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["debug-result-drawer-wrapper",{"is-resizing":k.value}]),style:vue.normalizeStyle(z.value)},[n.open?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:"debug-result-drawer__resize",onMousedown:W},null,32)):vue.createCommentVNode("",!0),vue.createElementVNode("section",{class:vue.normalizeClass(["debug-result-drawer",{"is-collapsed":!n.open}])},[vue.createElementVNode("header",_hoisted_1$4,[ee[0]||(ee[0]=vue.createElementVNode("div",{class:"debug-result-drawer__title"},"调试结果",-1)),vue.createElementVNode("span",{class:"debug-result-drawer__collapse",onClick:j},[vue.createElementVNode("span",null,vue.toDisplayString(n.open?"收起":"展开"),1),vue.createElementVNode("i",{class:vue.normalizeClass(["bkflow-canvas-icon bkflow-canvas-arrows-down debug-result-drawer__collapse-icon",{"is-expanded":n.open}])},null,2)])]),vue.createElementVNode("div",_hoisted_2$4,[vue.createVNode(NodeList,{nodes:n.nodes,"model-value":n.activeNodeId,"onUpdate:modelValue":$},null,8,["nodes","model-value"]),vue.createVNode(ResultTabs,{"task-id":n.taskId,"active-node-id":n.activeNodeId,"active-node-version":n.activeNodeVersion,"active-node-type":r.value,"active-node-component":n.activeNodeComponent},null,8,["task-id","active-node-id","active-node-version","active-node-type","active-node-component"])])],2)],6))}}),DebugResultDrawer=_export_sfc(_sfc_main$4,[["__scopeId","data-v-c5b0c94f"]]),_hoisted_1$3={key:0,class:"operate-area"},_hoisted_2$3={class:"mock-debug-status"},_hoisted_3$3={class:"operate-btns"},_hoisted_4$2={class:"flow-mock-debug-content"},_hoisted_5$2={class:"gateway-select-dialog"},_hoisted_6$2={class:"gateway-select-dialog__field"},POLL_INTERVAL=3e3,_sfc_main$3=vue.defineComponent({__name:"mock",props:{flowId:{},taskId:{},apiConfig:{},bkflowSaasUrl:{},defaultZoom:{default:1},onBack:{}},emits:["back"],setup(e,{emit:t}){const n=e,r=t,i=provideFlowApiConfig(n.apiConfig);setContext({},n.bkflowSaasUrl);const C=vue.ref(),k=vue.shallowRef(null),y=vue.shallowRef(!0),B=vue.ref("RUNNING"),L=vue.ref(Date.now()),R=vue.ref(),z=vue.shallowRef({}),j=vue.ref(!0),$=vue.ref(),H=vue.ref(0),Q=vue.computed(()=>y.value),W=vue.computed(()=>z.value),te=vue.shallowRef([createExecutionStatusPlugin(W)]),ee=vue.computed(()=>{const Pe=k.value?.pipeline_tree;return Pe?mergeNodeStatesToPipelineTree(Pe,z.value):null}),q={ExclusiveGateway:"bkflow-canvas-icon bkflow-canvas-fenzhiwangguan",ParallelGateway:"bkflow-canvas-icon bkflow-canvas-bingxingwangguan",ConditionalParallelGateway:"bkflow-canvas-icon bkflow-canvas-tiaojianbingxingwangguan",ConvergeGateway:"bkflow-canvas-icon bkflow-canvas-huijuwangguan"},G=Pe=>{if(Pe.component?.code==="uniform_api"){const at=Pe.component?.api_meta?.category?.name??"";return composable.PLUGGIN_GROUP_FONT_CLASS_MAP[at]??composable.PLUGGIN_GROUP_FONT_CLASS_MAP.bkflow}return composable.PLUGGIN_GROUP_FONT_CLASS_MAP.bkflow},J=Pe=>{const at=new Map;Object.values(Pe.flows).forEach(ve=>{const ke=at.get(ve.source);ke?ke.push(ve.target):at.set(ve.source,[ve.target])});const _t=[],Oe=new Set,Be=Pe.start_event?.id;if(!Be)return _t;const Ee=[Be];for(Oe.add(Be);Ee.length>0;){const ve=Ee.shift();_t.push(ve);const ke=at.get(ve)??[];for(const je of ke)Oe.has(je)||(Oe.add(je),Ee.push(je))}return _t},Z=vue.computed(()=>{const Pe=k.value?.pipeline_tree;if(!Pe)return[];const at=new Map;Pe.start_event&&at.set(Pe.start_event.id,{id:Pe.start_event.id,name:Pe.start_event.name||"开始节点",typeName:"开始节点",status:z.value[Pe.start_event.id]?.status,iconClass:"bkflow-canvas-icon bkflow-canvas-kaishi",hasMockConfig:!1}),Object.values(Pe.activities).forEach(Be=>{at.set(Be.id,{id:Be.id,name:Be.name||Be.id,typeName:Be.component?.code||"任务节点",status:z.value[Be.id]?.status,iconClass:G(Be),hasMockConfig:!1})}),Object.values(Pe.gateways).forEach(Be=>{at.set(Be.id,{id:Be.id,name:Be.name||Be.id,typeName:"网关节点",status:z.value[Be.id]?.status,iconClass:q[Be.type]??"bkflow-canvas-icon bkflow-canvas-fenzhiwangguan",hasMockConfig:!1})}),Pe.end_event&&at.set(Pe.end_event.id,{id:Pe.end_event.id,name:Pe.end_event.name||"结束节点",typeName:"结束节点",status:z.value[Pe.end_event.id]?.status,iconClass:"bkflow-canvas-icon bkflow-canvas-stop",hasMockConfig:!1});const _t=J(Pe).filter(Be=>at.has(Be)),Oe=[...at.keys()].filter(Be=>!_t.includes(Be));return[..._t,...Oe].map(Be=>at.get(Be))}),ne=vue.computed(()=>Object.entries(z.value).filter(([,Pe])=>Pe.status==="FAILED").map(([Pe])=>Pe)),oe=vue.computed(()=>{const Pe=$.value;return Pe?z.value[Pe]?.version??"":""}),ae=vue.computed(()=>{const Pe=k.value?.pipeline_tree,at=$.value;if(!(!Pe||!at))return Pe.activities[at]?.component});vue.watch(Z,Pe=>{if($.value||Pe.length===0)return;const at=Pe.find(_t=>_t.typeName!=="开始节点"&&_t.typeName!=="结束节点"&&_t.typeName!=="网关节点");$.value=at?.id??Pe[0].id});const se=new Set(["CREATED","RUNNING","FINISHED","FAILED","SUSPENDED","REVOKED"]);let de;const ge=()=>{de&&(clearTimeout(de),de=void 0)},fe=Pe=>{if(!Pe)return;const at=String(Pe).toUpperCase();return se.has(at)?at:void 0},ie=Pe=>{const at=fe(Pe);return at==="FINISHED"?"FINISHED":at==="FAILED"||at==="SUSPENDED"||at==="REVOKED"?"FAILED":"RUNNING"},ce=Pe=>Pe&&typeof Pe=="object"&&!Array.isArray(Pe)?Pe:void 0,pe=Pe=>{const at=ce(Pe);return!at||!("data"in at)?Pe:at.data},le=Pe=>{const at={};return Object.entries(Pe).forEach(([_t,Oe])=>{const Be=ce(Oe),Ee=fe(Be?Be.status??Be.state:Oe);if(!Ee)return;const ve=String(Be?.id??Be?.node_id??_t);at[ve]={status:Ee,version:typeof Be?.version=="string"?Be.version:void 0,start_time:typeof Be?.start_time=="string"?Be.start_time:void 0,finish_time:typeof Be?.finish_time=="string"?Be.finish_time:void 0,elapsed_time:typeof Be?.elapsed_time=="number"?Be.elapsed_time:void 0}}),at},ue=Pe=>{const at={};return Pe.forEach(_t=>{const Oe=ce(_t);if(!Oe)return;const Be=Oe.id??Oe.node_id,Ee=fe(Oe.status??Oe.state);!Be||!Ee||(at[String(Be)]={status:Ee,version:typeof Oe.version=="string"?Oe.version:void 0,start_time:typeof Oe.start_time=="string"?Oe.start_time:void 0,finish_time:typeof Oe.finish_time=="string"?Oe.finish_time:void 0,elapsed_time:typeof Oe.elapsed_time=="number"?Oe.elapsed_time:void 0})}),at},he=Pe=>{const at=ce(pe(Pe));if(!at)return{};const _t={};return[at.node_states,at.states,at.children,at.nodes,at.activities,at.gateways].forEach(Be=>{if(Array.isArray(Be)){Object.assign(_t,ue(Be));return}const Ee=ce(Be);Ee&&Object.assign(_t,le(Ee))}),_t},ye=Pe=>{const at=ce(pe(Pe));return ie(at?.state??at?.status)},_e=Pe=>{const at=ce(pe(Pe));if(!at)return;const _t=at.elapsed_time;return typeof _t=="number"?_t:void 0};function Ne(){ge(),de=setTimeout(()=>{be()},POLL_INTERVAL)}async function be(){if(ge(),!(!n.taskId||!i.fetchTaskState))try{const Pe=await i.fetchTaskState({task_id:n.taskId}),at=ye(Pe),_t=he(Pe);if(B.value=at,at!=="RUNNING"){const Oe=_e(Pe);Oe!=null&&(R.value=Oe)}Object.keys(_t).length>0&&(z.value=_t)}catch(Pe){console.error(Pe)}finally{B.value==="RUNNING"&&Ne()}}const Ae=async()=>{y.value=!0;try{const[Pe,at]=await Promise.all([i.fetchFlowDetail(String(n.flowId)),i.getFlowTaskDetail?.({task_id:n.taskId})]);at?.pipeline_tree?k.value={...Pe,pipeline_tree:at.pipeline_tree}:k.value=Pe}catch(Pe){console.error(Pe)}finally{y.value=!1}};function Te(Pe){const at=C.value?.editor?.api?.value;at&&(at.scrollToNode(Pe,{offset:{y:-120}}),at.highlightNodes([Pe]),setTimeout(()=>at.clearHighlight(),1500))}const{actionPopover:Ze,closeActionPopover:lt,handlePopoverEnter:Ge,handlePopoverLeave:st,handleUiEvent:Ue}=useActionPopover({getNodeStates:()=>z.value,getPipelineTree:()=>ee.value,getNodeViewportRect:Pe=>C.value?.editor?.api?.value?.overlay?.getNodeViewportRect?.(Pe)}),De=vue.reactive({visible:!1,nodeId:"",isCondParallelGw:!1,branches:[],selectedBranch:null}),We={retry:{title:"确定重试当前节点?",content:"重新节点将重新执行当前节点(使用最新的参数值)"},skip:{title:"确定跳过当前节点?",content:"跳过节点将忽略当前失败节点继续往后执行"},forceFail:{title:"确定强制终止当前节点?",content:"强制终止将强行修改节点状态为失败,但不会中断已经发送到其它系统的请求"},resume:{title:"确定继续往后执行?"}};function Ye(Pe){if(lt(),Pe.action==="gatewaySkip"){Je(Pe.nodeId);return}const at=We[Pe.action];if(at){lib.InfoBox({title:at.title,content:at.content,confirmText:"确定",cancelText:"取消",width:400,onConfirm:()=>{wt(Pe)}});return}wt(Pe)}function Re(Pe){const _t=ee.value?.gateways?.[Pe];if(!_t)return[];const Oe=[],Be=_t.converge_gateway_id;if(_t.conditions&&Object.keys(_t.conditions).forEach(Ee=>{const ve=_t.conditions[Ee];Oe.push({id:Ee,node_id:Pe,name:ve.name||ve.evaluate||Ee,converge_gateway_id:Be})}),_t.default_condition){const Ee=_t.default_condition.flow_id;Ee&&Oe.unshift({id:Ee,node_id:Pe,name:_t.default_condition.name,converge_gateway_id:Be})}return Oe.length===0&&_t.type==="ParallelGateway"&&(Array.isArray(_t.outgoing)?_t.outgoing:_t.outgoing?[_t.outgoing]:[]).forEach((ve,ke)=>{Oe.push({id:ve,node_id:Pe,name:`并行${ke+1}`,converge_gateway_id:Be})}),Oe.filter(Ee=>Ee.id)}function Je(Pe){const _t=ee.value?.gateways?.[Pe];if(!_t)return;const Oe=Re(Pe);if(Oe.length===0)return;const Be=_t.type==="ConditionalParallelGateway";De.nodeId=Pe,De.isCondParallelGw=Be,De.branches=Oe,De.selectedBranch=Be?[Oe[0].id]:Oe[0].id,De.visible=!0}function Xe(){De.visible=!1,De.nodeId="",De.branches=[],De.selectedBranch=null}async function Me(){B.value="RUNNING",L.value=Date.now(),R.value=void 0,be(),Ne()}async function nt(){const{nodeId:Pe,branches:at,selectedBranch:_t,isCondParallelGw:Oe}=De;if(!Pe||!n.taskId||!i.operateTaskNode)return;const Be=Oe?Array.isArray(_t)?_t:[]:_t?[_t]:[],Ee=at.filter(je=>Be.includes(je.id));if(Ee.length===0)return;De.visible=!1;const ve=Oe?"skip_cpg":"skip_exg",ke={};Oe?(ke.flow_ids=Ee.map(je=>je.id),ke.converge_gateway_id=Ee[0].converge_gateway_id):ke.flow_id=Ee[0].id;try{await i.operateTaskNode({task_id:n.taskId,node_id:Pe,action:"gatewaySkip",operation:ve,data:ke}),await Me()}catch(je){console.error(je)}finally{Xe()}}function et(Pe){if(Pe==="resume")return{data:{}}}async function wt(Pe){if(!(!n.taskId||!i.operateTaskNode))try{await i.operateTaskNode({task_id:n.taskId,node_id:Pe.nodeId,action:Pe.action,data:et(Pe.action)}),await Me()}catch(at){console.error(at)}}const tt=()=>{n.onBack?n.onBack():r("back")},ot=Pe=>{$.value=Pe.nodeId},gt=Pe=>{Ue(Pe)},Et=()=>{tt()},Dt=()=>{!n.taskId||!i.revokeFlowTask||lib.InfoBox({title:"确定终止当前任务?",content:"终止任务将停止执行任务,但执行中节点将运行完成",confirmText:"确定",cancelText:"取消",onConfirm:async()=>{try{await i.revokeFlowTask({task_id:n.taskId,resource_type:"TASK",resource_id:n.taskId,permission_type:"OPERATE"}),be()}catch(Pe){console.error(Pe)}}})},Ft=()=>{const Pe=ne.value;if(Pe.length<1)return;const at=Pe[H.value%Pe.length];H.value+=1,$.value=at,Te(at)},Nt=Pe=>{$.value=Pe,Te(Pe)};return vue.onMounted(()=>{Ae(),be()}),vue.onBeforeUnmount(()=>{ge()}),(Pe,at)=>{const _t=vue.resolveComponent("bk-button"),Oe=vue.resolveComponent("bk-option"),Be=vue.resolveComponent("bk-select"),Ee=vue.resolveComponent("bk-dialog"),ve=vue.resolveDirective("bkloading");return vue.openBlock(),vue.createBlock(ContainerLayout,{title:"模拟调试",desc:k.value?.name,"show-back-icon":!0,onBack:tt},{header:vue.withCtx(()=>[vue.renderSlot(Pe.$slots,"header",{},void 0,!0)]),extend:vue.withCtx(()=>[k.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$3,[vue.createVNode(FlowInfoSliders,{"flow-data":k.value,editable:!1,"enable-simulate-debug":!1,"simulate-debug-only":!0},null,8,["flow-data"]),vue.createElementVNode("div",_hoisted_2$3,[vue.createVNode(LoadingDotsIcon,{class:"mock-debug-status__icon",size:14,width:20,"dot-size":4}),at[3]||(at[3]=vue.createElementVNode("span",{class:"mock-debug-status__label"},"调试中",-1))]),vue.createElementVNode("div",_hoisted_3$3,[vue.createVNode(_t,{onClick:Et},{default:vue.withCtx(()=>[...at[4]||(at[4]=[vue.createTextVNode("退出模拟调试",-1)])]),_:1})])])):vue.createCommentVNode("",!0),vue.renderSlot(Pe.$slots,"extend",{},void 0,!0)]),default:vue.withCtx(()=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_4$2,[!Q.value&&ee.value?(vue.openBlock(),vue.createBlock(BkFlowCanvas,{key:0,ref_key:"canvasRef",ref:C,"pipeline-tree":ee.value,mode:"view","default-zoom":n.defaultZoom,"additional-plugins":te.value,onNodeClick:ot,onUiEvent:gt},null,8,["pipeline-tree","default-zoom","additional-plugins"])):vue.createCommentVNode("",!0),vue.createVNode(ExecutionActionPopover,{visible:vue.unref(Ze).visible,"node-id":vue.unref(Ze).nodeId,actions:vue.unref(Ze).actions,position:vue.unref(Ze).position,onPopoverEnter:vue.unref(Ge),onPopoverLeave:vue.unref(st),onAction:Ye},null,8,["visible","node-id","actions","position","onPopoverEnter","onPopoverLeave"]),vue.createVNode(Ee,{isShow:De.visible,"onUpdate:isShow":at[1]||(at[1]=ke=>De.visible=ke),"dialog-type":"operation",width:600,"esc-close":!1,"quick-close":!1,"header-align":"left",title:"请选择执行分支",onConfirm:nt,onClosed:Xe},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_5$2,[vue.createElementVNode("div",_hoisted_6$2,[at[5]||(at[5]=vue.createElementVNode("label",{class:"gateway-select-dialog__label"},"可选执行分支",-1)),vue.createVNode(Be,{modelValue:De.selectedBranch,"onUpdate:modelValue":at[0]||(at[0]=ke=>De.selectedBranch=ke),class:"gateway-select-dialog__select",multiple:De.isCondParallelGw,"display-tag":De.isCondParallelGw,clearable:!1},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(De.branches,ke=>(vue.openBlock(),vue.createBlock(Oe,{key:ke.id,id:ke.id,name:ke.name},null,8,["id","name"]))),128))]),_:1},8,["modelValue","multiple","display-tag"])])])]),_:1},8,["isShow"]),!Q.value&&k.value?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createVNode(DebugStatusBar,{status:B.value,"started-at":L.value,elapsed:R.value,"failed-count":ne.value.length,onStop:Dt,onLocateFailed:Ft},null,8,["status","started-at","elapsed","failed-count"]),vue.createVNode(DebugResultDrawer,{open:j.value,"task-id":n.taskId,nodes:Z.value,"active-node-id":$.value,"active-node-version":oe.value,"active-node-component":ae.value,"onUpdate:open":at[2]||(at[2]=ke=>j.value=ke),"onUpdate:activeNodeId":Nt},null,8,["open","task-id","nodes","active-node-id","active-node-version","active-node-component"])],64)):vue.createCommentVNode("",!0)])),[[ve,{loading:Q.value,zIndex:100}]])]),_:3},8,["desc"])}}}),mock=_export_sfc(_sfc_main$3,[["__scopeId","data-v-7ab3f135"]]),mock$1=Object.freeze(Object.defineProperty({__proto__:null,default:mock},Symbol.toStringTag,{value:"Module"})),DEBUG_NODE_STATUS_MAP={running:"RUNNING",waiting:"SUSPENDED",paused:"SUSPENDED",finished:"FINISHED",failed:"FAILED",suspended:"SUSPENDED",skipped:"SKIP"},RUN_TYPE_LABEL={global:"全流程",step:"单节点"};function resolveDebugRunSnapshot(e){return e?e.status==="running"||e.status==="terminating"?{taskId:e.active_task_id,runType:e.active_run_type,nodeId:e.active_node_id,runStatus:e.status==="terminating"?"terminating":e.last_run_status,errorDetail:e.last_error_detail??null,hasRecord:!0}:{taskId:e.last_task_id,runType:e.last_run_type,nodeId:null,runStatus:e.last_run_status,errorDetail:e.last_error_detail??null,hasRecord:e.last_task_id!=null}:{taskId:null,runType:null,nodeId:null,runStatus:null,errorDetail:null,hasRecord:!1}}function resolveDebugTaskId(e,t){if(t){const n=e.nodes.find(r=>r.node_id===t)?.log_ref;if(n?.instance_id!=null)return n.instance_id}return e.active_task_id??e.last_task_id??null}function buildDebugCanvasState(e,t={}){const n={},r=new Set;let i=0,C=0;const k=e?.nodes??[];for(const $ of k){if($.execution_mode==="mock"&&r.add($.node_id),$.status==="not_run")continue;i+=1,$.status==="failed"&&(C+=1);const H=DEBUG_NODE_STATUS_MAP[$.status];H&&(n[$.node_id]={status:H})}const y=e?.status??"idle",B=resolveDebugRunSnapshot(e),L=t.runStatusOverride??B.runStatus,R=t.runTypeOverride??B.runType;let z;C>0?z="failed":y==="idle"&&t.resultStateOverride?z=t.resultStateOverride:i===0?z="none":L==="failed"||L==="revoked"?z="failed":z="success";const j={active:y!=="idle",status:y,operator:e?.locked_by??"",nodeCount:i,errorNodeCount:C,hasRecord:y!=="idle"||z!=="none",resultState:z,typeLabel:R?RUN_TYPE_LABEL[R]:void 0,runStatus:L,startedAt:void 0,durationMs:void 0};return{nodeStates:n,mockNodeIds:r,summary:j}}const DEFAULT_MESSAGE="调试请求失败";function isRecord(e){return Object.prototype.toString.call(e)==="[object Object]"}function normalizeDebugApiError(e){const t=isRecord(e)?e.response:void 0,n=isRecord(t)&&typeof t.status=="number"?t.status:void 0,r=isRecord(t)?t.data:void 0;let i="",C,k=[],y;if(isRecord(r)){r.code!==void 0&&r.code!==null&&(y=String(r.code));const{detail:B}=r;typeof B=="string"?i=B:isRecord(B)&&(typeof B.detail=="string"&&(i=B.detail),typeof B.node_id=="string"&&(C=B.node_id),Array.isArray(B.missing_vars)&&(k=B.missing_vars)),!i&&typeof r.message=="string"&&(i=r.message)}return!i&&isRecord(t)&&typeof t.statusText=="string"&&t.statusText&&(i=t.statusText),!i&&e instanceof Error&&e.message&&(i=e.message),i||(i=DEFAULT_MESSAGE),{status:n,code:y,message:i,nodeId:C,missingVars:k}}function isDebugLockError(e){return e.status===409?!0:/正在被|已被锁定|locked/i.test(e.message)}function isDebugIdempotentTerminate(e){return e.status===400?!0:/没有运行中|未在运行|not\s*running|no\s*running/i.test(e.message)}const DEFAULT_POLL_INTERVAL=2500,DEFAULT_RETRY_INTERVAL=5e3;function requireDebugApi(e,t){const n=e[t];if(typeof n!="function")throw new Error(`FlowDetail debug API "${String(t)}" is not configured`);return n}function useDebugContext(e){const t=e.pollInterval??DEFAULT_POLL_INTERVAL,n=e.retryInterval??DEFAULT_RETRY_INTERVAL,r=vue.shallowRef(null),i=vue.ref(null),C=vue.shallowRef(null),k=vue.computed(()=>buildDebugCanvasState(r.value,{resultStateOverride:i.value,runTypeOverride:C.value?.runType,runStatusOverride:C.value?.runStatus})),y=vue.ref(!1),B=vue.ref(!1),L=vue.ref(""),R=vue.ref(""),z=vue.ref(!1),j=vue.ref(!1),$=vue.computed(()=>B.value||!!L.value||!!R.value||z.value||j.value),H=vue.ref("");let Q=null,W=0,te=0;function ee(){Q!==null&&(clearTimeout(Q),Q=null)}function q(){ee(),W+=1,te+=1,r.value=null,H.value="",B.value=!1,L.value="",R.value="",z.value=!1,j.value=!1,i.value=null,C.value=null}function G(ye,_e){ee(),e.enabled()&&(ye==="running"||ye==="terminating")&&(Q=setTimeout(()=>{J()},_e?t:n))}async function J(){if(!e.enabled())return r.value;const ye=++W,_e=String(e.templateId());try{const be=await requireDebugApi(e.api,"fetchDebugContext")(e.templateId());return ye!==W||_e!==String(e.templateId())?r.value:(r.value=be,(be.status==="running"||be.status==="terminating")&&(i.value=null,C.value=null),H.value="",G(be.status,!0),be)}catch(Ne){return ye!==W||_e!==String(e.templateId())||(H.value=normalizeDebugApiError(Ne).message,G(r.value?.status??"idle",!1)),r.value}}async function Z(ye){const _e=normalizeDebugApiError(ye);if(isDebugLockError(_e))return e.onMessage?.("warning",_e.message),await J(),!1;throw e.onMessage?.("error",_e.message),ye}async function ne(){if(e.enabled()){y.value=!0;try{await J()}finally{y.value=!1}}}async function oe(){return e.enabled()?requireDebugApi(e.api,"fetchDebugInputSchema")(e.templateId()):{}}const ae=()=>({template_id:Number(e.templateId()),status:"idle",locked_by:"",active_task_id:null,active_run_type:null,active_node_id:null,last_task_id:null,last_run_type:null,last_run_status:null,last_error_detail:null,last_inputs:{},global_vars:{},nodes:[]}),se=(ye,_e)=>{const Ne=r.value??ae(),be=Ne.nodes.findIndex(Te=>Te.node_id===ye),Ae=[...Ne.nodes];be>=0?Ae[be]={...Ae[be],..._e}:Ae.push({node_id:ye,node_type:"",execution_mode:"real",status:"not_run",can_step:!0,missing_vars:[],..._e}),r.value={...Ne,nodes:Ae}},de=()=>({epoch:te,templateId:String(e.templateId())}),ge=ye=>ye.epoch===te&&ye.templateId===String(e.templateId());async function fe(ye){if(!e.enabled())return!1;const _e=de(),Ne=requireDebugApi(e.api,"runGlobalDebug");B.value=!0;try{const be=await Ne({templateId:e.templateId(),inputs:ye});if(!ge(_e))return!1;i.value=null,C.value=null;const Ae=r.value??ae();return r.value={...Ae,status:be.status==="terminating"?"terminating":"running",active_task_id:be.task_id,active_run_type:"global",active_node_id:null,last_task_id:be.task_id,last_run_type:"global",last_run_status:"running",last_inputs:{...ye}},G(r.value.status,!0),await J(),!0}catch(be){return ge(_e)?await Z(be):!1}finally{ge(_e)&&(B.value=!1)}}async function ie(ye){if(!e.enabled())return!1;const _e=de(),Ne=requireDebugApi(e.api,"runNodeDebugStep");L.value=ye.nodeId;try{const be=await Ne({templateId:e.templateId(),...ye});if(!ge(_e))return!1;if(i.value=null,se(ye.nodeId,{execution_mode:ye.mode,status:be.status,outputs:be.outputs,error_detail:be.error_detail,log_ref:be.log_ref,...ye.mode==="mock"?{mock_outputs:ye.mockOutputs,mock_error:ye.mockError??null}:{}}),r.value){const Ae=typeof be.task_id=="number"||typeof be.task_id=="string"?be.task_id:null;be.status==="running"?(r.value={...r.value,status:"running",active_task_id:Ae,active_run_type:"step",active_node_id:ye.nodeId,last_task_id:Ae??r.value.last_task_id,last_run_type:"step",last_run_status:"running",global_vars:be.updated_global_vars??r.value.global_vars},G("running",!0)):r.value={...r.value,status:"idle",active_task_id:null,active_run_type:null,active_node_id:null,last_run_type:"step",last_run_status:be.status==="failed"?"failed":"finished",global_vars:be.updated_global_vars??r.value.global_vars}}return await J(),ge(_e)&&ye.mode==="mock"?C.value={runType:"step",runStatus:be.status==="failed"?"failed":"finished"}:ge(_e)&&(C.value=null),!0}catch(be){return ge(_e)?await Z(be):!1}finally{ge(_e)&&(L.value="")}}async function ce(ye){if(!e.enabled())return!1;const _e=de(),Ne=requireDebugApi(e.api,"updateNodeDebugMock");R.value=ye.nodeId;try{const be=await Ne({templateId:e.templateId(),...ye});return ge(_e)?(se(ye.nodeId,{execution_mode:be.execution_mode,...ye.enable?{mock_result:ye.mockResult??"success",mock_outputs:ye.mockOutputs,mock_error:ye.mockError??null}:{mock_result:null,mock_outputs:null,mock_error:null}}),r.value&&be.updated_global_vars&&(r.value={...r.value,global_vars:be.updated_global_vars}),await J(),!0):!1}catch(be){return ge(_e)?await Z(be):!1}finally{ge(_e)&&(R.value="")}}async function pe(ye){if(!e.enabled()||!await ce({nodeId:ye.nodeId,enable:!0,mockResult:ye.mockResult,mockOutputs:ye.mockOutputs,mockError:ye.mockError}))return!1;try{const Ne=await ie({...ye,mode:"mock"});return Ne||e.onMessage?.("warning","Mock 输出已保存,但本次单步调试未执行"),Ne}catch(Ne){throw e.onMessage?.("warning","Mock 输出已保存,但本次单步调试失败,可在当前侧滑中重试"),Ne}}async function le(ye){return ce({nodeId:ye,enable:!1})}async function ue(ye){if(!e.enabled())return!1;const _e=de(),Ne=requireDebugApi(e.api,"terminateDebug");z.value=!0;try{return await Ne({templateId:e.templateId(),nodeId:ye}),ge(_e)?(r.value&&(r.value={...r.value,status:"terminating"},G("terminating",!0)),await J(),!0):!1}catch(be){if(!ge(_e))return!1;const Ae=normalizeDebugApiError(be);return isDebugIdempotentTerminate(Ae)?(await J(),!0):await Z(be)}finally{ge(_e)&&(z.value=!1)}}async function he(ye){if(!e.enabled())return null;const _e=de(),Ne=requireDebugApi(e.api,"resetDebugResult");j.value=!0;try{const be=await Ne({templateId:e.templateId(),nodeIds:ye});if(!ge(_e))return null;const Ae=new Set(be.reset_node_ids??ye??r.value?.nodes.map(Te=>Te.node_id)??[]);if(r.value&&Ae.size>0&&(r.value={...r.value,nodes:r.value.nodes.map(Te=>Ae.has(Te.node_id)?{...Te,status:"not_run",duration_ms:null,error_detail:null,outputs:null,log_ref:null}:Te)}),await J(),!ge(_e))return null;if(Ae.size>0){const Te=(r.value?.nodes??[]).some(Ze=>Ze.status!=="not_run");i.value=Te?"partial":"none",C.value=null}return be}catch(be){return ge(_e)&&await Z(be),null}finally{ge(_e)&&(j.value=!1)}}return vue.getCurrentScope()&&vue.onScopeDispose(q),{context:r,canvasState:k,initializing:y,globalRunPending:B,stepRunPendingNodeId:L,mockSavePendingNodeId:R,terminatePending:z,resetPending:j,actionPending:$,contextSyncError:H,initialize:ne,refresh:J,fetchInputSchema:oe,runGlobal:fe,runStep:ie,saveMock:ce,runMock:pe,cancelMock:le,terminate:ue,reset:he,resetState:q,stopPolling:ee}}const _hoisted_1$2={class:"debug-trigger"},_hoisted_2$2=["disabled","title"],_hoisted_3$2={class:"debug-trigger__label"},_hoisted_4$1={key:0,class:"debug-summary-card","data-test":"debug-summary"},_hoisted_5$1={class:"summary-row"},_hoisted_6$1={class:"summary-value"},_hoisted_7$1={key:0,class:"summary-row"},_hoisted_8$1={class:"summary-value","data-test":"debug-node-count"},_hoisted_9$1={key:1,class:"summary-row"},_hoisted_10$1={class:"summary-value is-failed","data-test":"failed-node-count"},_hoisted_11$1={class:"summary-action-row__main"},_hoisted_12$1={key:3,class:"summary-actions"},_sfc_main$2=vue.defineComponent({__name:"index",props:{context:{},summary:{},terminatePending:{type:Boolean,default:!1},initializing:{type:Boolean,default:!1},syncError:{default:""}},emits:["start","openResult","terminate"],setup(e,{emit:t}){const n=e,r=t,i=vue.computed(()=>n.context?.status??"idle"),C=vue.computed(()=>n.summary.hasRecord),k=vue.computed(()=>n.summary.resultState),y=vue.computed(()=>{const pe=n.context;return pe?i.value==="running"||i.value==="terminating"?pe.active_run_type==="global":pe.last_run_type==="global"||n.summary.typeLabel==="全流程":!1}),B=vue.computed(()=>k.value==="failed"),L=vue.computed(()=>i.value==="idle"&&k.value==="partial"),R=vue.computed(()=>i.value==="idle"&&k.value==="success"&&!n.syncError),z=vue.computed(()=>i.value==="idle"&&!C.value),j=vue.computed(()=>n.syncError||i.value!=="idle"||!C.value?null:B.value?{text:"失败",tone:"failed"}:L.value?{text:"部分",tone:"partial"}:{text:"成功",tone:"success"}),$=vue.computed(()=>n.initializing?"同步中":n.syncError?"同步失败":i.value==="running"?"调试中":i.value==="terminating"?"终止中":"调试"),H=vue.computed(()=>({"is-running":i.value==="running"||i.value==="terminating","is-success":R.value,"is-failed":i.value==="idle"&&B.value,"is-partial":L.value})),Q=vue.computed(()=>({"is-running":i.value==="running"||i.value==="terminating","is-success":R.value,"is-failed":i.value==="idle"&&B.value,"is-partial":L.value})),W=vue.computed(()=>n.syncError?"bkflow-canvas-circle-alert-filled":i.value==="running"||i.value==="terminating"?"bkflow-canvas-loading":"bkflow-canvas-debug"),te=vue.computed(()=>i.value==="running"||i.value==="terminating"?"bkflow-canvas-loading":B.value?"bkflow-canvas-dark-circle-close":R.value?"bkflow-canvas-circle-correct-filled":"bkflow-canvas-debug"),ee=vue.computed(()=>i.value==="running"?"调试中":i.value==="terminating"?"终止中":C.value?B.value?y.value?"全局调试失败":"调试失败":L.value?"部分调试结果":"调试成功":"调试"),q=vue.ref(!1),G=vue.computed(()=>q.value&&(n.summary.active||C.value)),J=vue.computed(()=>i.value==="running"||i.value==="terminating"),Z=vue.computed(()=>i.value==="terminating"||n.terminatePending),ne=vue.computed(()=>i.value==="idle"&&C.value),oe=vue.computed(()=>y.value?"重新调试":"全局调试"),ae=vue.computed(()=>y.value?"debug-restart":"debug-global-entry"),se=vue.computed(()=>C.value&&i.value==="idle"),de=vue.computed(()=>ge(n.summary.durationMs));function ge(pe){if(pe==null)return"--";const le=Math.max(0,Math.floor(pe/1e3)),ue=Math.floor(le/60),he=le%60;return`${ue}:${String(he).padStart(2,"0")}`}const fe=()=>{if(!n.initializing){if(z.value){r("start");return}q.value=!q.value,r("openResult")}},ie=()=>{Z.value||r("terminate")},ce=()=>{q.value=!1,r("start")};return(pe,le)=>{const ue=vue.resolveComponent("bk-button");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$2,[vue.createElementVNode("button",{type:"button","data-test":"debug-trigger",class:vue.normalizeClass(["debug-trigger__button",Q.value]),disabled:n.initializing,title:n.syncError||"",onClick:fe},[j.value?(vue.openBlock(),vue.createElementBlock("span",{key:0,"data-test":"debug-status-badge",class:vue.normalizeClass(["debug-trigger__badge",`is-${j.value.tone}`])},vue.toDisplayString(j.value.text),3)):(vue.openBlock(),vue.createElementBlock("i",{key:1,class:vue.normalizeClass(["bkflow-canvas-icon",W.value,"debug-trigger__icon"])},null,2)),vue.createElementVNode("span",_hoisted_3$2,vue.toDisplayString($.value),1)],10,_hoisted_2$2),G.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$1,[vue.createElementVNode("div",{class:vue.normalizeClass(["summary-title",H.value]),"data-test":"summary-title"},[vue.createElementVNode("i",{class:vue.normalizeClass(["bkflow-canvas-icon",te.value,"summary-title__icon"])},null,2),vue.createElementVNode("span",null,vue.toDisplayString(ee.value),1)],2),vue.createElementVNode("div",_hoisted_5$1,[le[0]||(le[0]=vue.createElementVNode("span",{class:"summary-label"},"调试用时",-1)),vue.createElementVNode("span",_hoisted_6$1,vue.toDisplayString(de.value),1)]),se.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_7$1,[le[1]||(le[1]=vue.createElementVNode("span",{class:"summary-label"},"调试节点",-1)),vue.createElementVNode("span",_hoisted_8$1,vue.toDisplayString(e.summary.nodeCount)+" 个",1)])):vue.createCommentVNode("",!0),B.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_9$1,[le[2]||(le[2]=vue.createElementVNode("span",{class:"summary-label"},"失败节点",-1)),vue.createElementVNode("span",_hoisted_10$1,vue.toDisplayString(e.summary.errorNodeCount)+" 个",1)])):vue.createCommentVNode("",!0),J.value?(vue.openBlock(),vue.createElementBlock("div",{key:2,class:vue.normalizeClass(["summary-action-row",{"is-disabled":Z.value}]),"data-test":"debug-terminate",onClick:ie},[vue.createElementVNode("span",_hoisted_11$1,[le[3]||(le[3]=vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-clock summary-action-row__icon"},null,-1)),vue.createElementVNode("span",null,vue.toDisplayString(i.value==="terminating"||e.terminatePending?"终止中...":"终止调试"),1)]),le[4]||(le[4]=vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-angle-up summary-action-row__arrow"},null,-1))],2)):vue.createCommentVNode("",!0),ne.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_12$1,[vue.createVNode(ue,{"data-test":ae.value,outline:"",theme:"primary",size:"small",onClick:ce},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(oe.value),1)]),_:1},8,["data-test"])])):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0)])}}}),DebugTrigger=_export_sfc(_sfc_main$2,[["__scopeId","data-v-2d3a5520"]]),_hoisted_1$1={class:"node-debug-config","data-test":"node-debug-config"},_hoisted_2$1={class:"node-debug-config__section"},_hoisted_3$1={class:"node-debug-config__params","data-test":"input-params"},_hoisted_4={key:0},_hoisted_5=["title"],_hoisted_6={class:"col-value"},_hoisted_7={key:0,class:"node-debug-config__missing-value","data-test":"missing-value"},_hoisted_8={key:2,class:"node-debug-config__value"},_hoisted_9={class:"node-debug-config__jump-candidates"},_hoisted_10=["onClick"],_hoisted_11={key:0,class:"node-debug-config__reason","data-test":"missing-reason"},_hoisted_12={class:"node-debug-config__actions"},REAL_DISABLED_REASON="当前输入参数不满足调试要求",_sfc_main$1=vue.defineComponent({__name:"index",props:{node:{},contextNode:{default:null},pendingAction:{default:""},hasResult:{type:Boolean,default:!1},nodeNameMap:{default:()=>({})}},emits:["runReal","runMock","cancelMock","viewResult","jumpToSourceNode"],setup(e,{emit:t}){const n=e,r=t,i=vue.computed(()=>n.contextNode?.missing_vars??[]),C=vue.computed(()=>n.contextNode?.can_step??!0),k=vue.computed(()=>n.contextNode?.execution_mode==="mock"),y=vue.computed(()=>!C.value||i.value.length>0),B=$=>$==null?"":typeof $=="object"?JSON.stringify($,null,2):String($),L=($,H)=>{if(!H)return!1;try{return JSON.stringify($??"").includes(H)}catch{return!1}},R=vue.computed(()=>{const $=n.node?.component?.data??{};return Object.entries($).map(([H,Q])=>{const W=Q?.value,te=i.value.filter(q=>L(W,q.key)),ee=lodash$1.uniqBy(te.filter(q=>!!q.source_node_id),"source_node_id");return{key:H,name:H,rawValue:W,display:B(W),isComplex:isComplexDebugValue(W),missing:te,jumpCandidates:ee}})}),z=$=>$?n.nodeNameMap[$]||$:"",j=$=>{$&&r("jumpToSourceNode",$)};return($,H)=>{const Q=vue.resolveComponent("bk-button"),W=vue.resolveComponent("bk-popover"),te=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1,[vue.createElementVNode("div",_hoisted_2$1,[H[9]||(H[9]=vue.createElementVNode("div",{class:"node-debug-config__section-title"},"输入参数",-1)),vue.createElementVNode("table",_hoisted_3$1,[H[8]||(H[8]=vue.createElementVNode("thead",null,[vue.createElementVNode("tr",null,[vue.createElementVNode("th",{class:"col-name"},"参数名"),vue.createElementVNode("th",{class:"col-value"},"参数值")])],-1)),vue.createElementVNode("tbody",null,[R.value.length===0?(vue.openBlock(),vue.createElementBlock("tr",_hoisted_4,[...H[4]||(H[4]=[vue.createElementVNode("td",{class:"node-debug-config__empty",colspan:"2"},"暂无输入参数",-1)])])):vue.createCommentVNode("",!0),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(R.value,ee=>(vue.openBlock(),vue.createElementBlock("tr",{key:ee.key,"data-test":"input-row"},[vue.createElementVNode("td",{class:"col-name",title:ee.key},vue.toDisplayString(ee.name),9,_hoisted_5),vue.createElementVNode("td",_hoisted_6,[ee.missing.length>0?(vue.openBlock(),vue.createElementBlock("div",_hoisted_7,[...H[5]||(H[5]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-circle-alert-filled"},null,-1),vue.createElementVNode("span",null,"暂无参数值",-1)])])):ee.isComplex?(vue.openBlock(),vue.createBlock(DebugJsonViewer,{key:1,value:ee.rawValue,"data-test":"json-viewer"},null,8,["value"])):(vue.openBlock(),vue.createElementBlock("pre",_hoisted_8,vue.toDisplayString(ee.display),1)),ee.jumpCandidates.length===1?(vue.openBlock(),vue.createBlock(Q,{key:3,text:"",theme:"primary",size:"small","data-test":"jump-source",onClick:q=>j(ee.jumpCandidates[0].source_node_id)},{default:vue.withCtx(()=>[...H[6]||(H[6]=[vue.createTextVNode(" 跳转至输出节点 ",-1)])]),_:1},8,["onClick"])):ee.jumpCandidates.length>1?(vue.openBlock(),vue.createBlock(W,{key:4,trigger:"click",theme:"light",placement:"bottom-start"},{content:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_9,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(ee.jumpCandidates,q=>(vue.openBlock(),vue.createElementBlock("div",{key:q.source_node_id,class:"node-debug-config__jump-candidate","data-test":"jump-candidate",onClick:G=>j(q.source_node_id)},vue.toDisplayString(z(q.source_node_id)),9,_hoisted_10))),128))])]),default:vue.withCtx(()=>[vue.createVNode(Q,{text:"",theme:"primary",size:"small","data-test":"jump-multi"},{default:vue.withCtx(()=>[...H[7]||(H[7]=[vue.createTextVNode("跳转至输出节点",-1)])]),_:1})]),_:2},1024)):vue.createCommentVNode("",!0)])]))),128))])])]),y.value&&i.value.length>0?(vue.openBlock(),vue.createElementBlock("div",_hoisted_11,vue.toDisplayString(REAL_DISABLED_REASON))):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_12,[vue.withDirectives((vue.openBlock(),vue.createBlock(Q,{theme:"primary","data-test":"run-real",disabled:y.value,loading:n.pendingAction==="real",onClick:H[0]||(H[0]=ee=>r("runReal"))},{default:vue.withCtx(()=>[...H[10]||(H[10]=[vue.createTextVNode(" 立即调试 ",-1)])]),_:1},8,["disabled","loading"])),[[te,{content:REAL_DISABLED_REASON,disabled:!y.value}]]),vue.createVNode(Q,{outline:"",theme:"primary","data-test":"open-mock",loading:n.pendingAction==="mock",onClick:H[1]||(H[1]=ee=>r("runMock"))},{default:vue.withCtx(()=>[...H[11]||(H[11]=[vue.createTextVNode(" Mock输出 ",-1)])]),_:1},8,["loading"]),k.value?(vue.openBlock(),vue.createBlock(Q,{key:0,"data-test":"cancel-mock",loading:n.pendingAction==="cancel-mock",onClick:H[2]||(H[2]=ee=>r("cancelMock"))},{default:vue.withCtx(()=>[...H[12]||(H[12]=[vue.createTextVNode(" 取消Mock ",-1)])]),_:1},8,["loading"])):vue.createCommentVNode("",!0),vue.createVNode(Q,{"data-test":"view-result",disabled:!n.hasResult,onClick:H[3]||(H[3]=ee=>r("viewResult"))},{default:vue.withCtx(()=>[...H[13]||(H[13]=[vue.createTextVNode(" 查看调试结果 ",-1)])]),_:1},8,["disabled"])])])}}}),NodeDebugConfig=_export_sfc(_sfc_main$1,[["__scopeId","data-v-d8f7e14d"]]);function resolveNodeResultLocator(e,t){const n=e.nodes.find(r=>r.node_id===t);return{taskId:resolveDebugTaskId(e,t),taskNodeId:n?.log_ref?.node_id??t,version:n?.log_ref?.version??""}}const getErrorMessage=e=>typeof e=="string"?e:e instanceof Error?e.message:"加载调试结果失败";function useDebugNodeResult(e){const t=vue.ref(!1),n=vue.ref(""),r=vue.ref(""),i=vue.ref(""),C=vue.shallowRef({status:"not_run"}),k=vue.shallowRef({}),y=vue.shallowRef({}),B=vue.shallowRef(void 0),L=new Map;let R=0;const z=H=>{k.value=H.inputs,y.value=H.outputs,B.value=H.logs,t.value=!1,n.value="",r.value="",i.value=""},j=()=>{C.value={status:"not_run"},k.value={},y.value={},B.value=void 0,t.value=!1,n.value="",r.value="",i.value=""},$=async()=>{const H=e.context(),Q=e.nodeId(),W=++R;if(!H||!Q){j();return}const te=H.nodes.find(ae=>ae.node_id===Q);if(C.value={status:te?.status??"not_run",durationMs:te?.duration_ms??void 0,errorDetail:te?.error_detail},!te?.log_ref){const ae=te?.mock_outputs??te?.outputs??{},se=te?.mock_error??(typeof te?.error_detail=="string"?te.error_detail:"");C.value={status:te?.status??"not_run",durationMs:te?.duration_ms??void 0,errorDetail:te?.error_detail},k.value={},y.value=ae,B.value=void 0,n.value=se,r.value="",i.value="",t.value=!1;return}const q=resolveNodeResultLocator(H,Q),G=`${H.template_id}_${q.taskId??""}_${q.taskNodeId}_${q.version}`,J=te?.status==="finished"||te?.status==="failed",Z=J?L.get(G):void 0;if(Z){z(Z);return}const ne=e.api.fetchTaskNodeDetail,oe=e.api.fetchTaskNodeLog;if(!ne||!oe){k.value={},y.value={},B.value=void 0,t.value=!1;const ae="节点结果接口未配置(fetchTaskNodeDetail / fetchTaskNodeLog)";n.value="",r.value=ae,i.value=ae;return}t.value=!0,n.value="",r.value="",i.value="";try{const[ae,se]=await Promise.allSettled([ne({task_id:q.taskId,node_id:q.taskNodeId}),oe({task_id:q.taskId,node_id:q.taskNodeId,version:q.version})]);if(W!==R)return;if(ae.status==="fulfilled"){const de=toPlainRecord(unwrapDebugResponseData(ae.value));k.value=toPlainRecord(de?.inputs)??{},y.value=toPlainRecord(de?.outputs)??{}}else k.value={},y.value={},r.value=`节点详情加载失败:${getErrorMessage(ae.reason)}`;se.status==="fulfilled"?B.value=se.value:(B.value=void 0,i.value=`调用日志加载失败:${getErrorMessage(se.reason)}`),J&&!r.value&&!i.value&&L.set(G,{inputs:k.value,outputs:y.value,logs:B.value})}catch(ae){if(W!==R)return;console.error(ae),n.value=getErrorMessage(ae)}finally{W===R&&(t.value=!1)}};return vue.watch(()=>[e.nodeId(),e.context()?.active_task_id,e.context()?.last_task_id,e.context()?.nodes],()=>{$()},{immediate:!0}),vue.computed(()=>({loading:t.value,error:n.value,detailError:r.value,logError:i.value,execution:C.value,inputs:k.value,outputs:y.value,logs:B.value}))}function useFlowDetailData(e){const{api:t}=e,n=vue.shallowRef(null),r=vue.shallowRef([]),i=vue.shallowRef([]),C=vue.ref(!1),k=vue.ref(!1),y=vue.ref(!1),B=vue.ref(!1),L=vue.computed(()=>k.value||y.value||B.value),R=()=>e.flowId(),z=()=>e.enableVersion?.()??!1,j=()=>e.flowVersion?.();let $=0;async function H(Z,ne,oe,ae){k.value=!0;try{let se=await t.fetchFlowDetail(ne);if(oe)if(ae){const de=await t.fetchFlowDetailByVersion(ne,ae);se={...se,name:de.name,pipeline_tree:de.pipeline_tree}}else{const de=await t.fetchFlowDraftDetail(ne);se={...se,pipeline_tree:de.pipeline_tree}}Z===$&&(n.value=se)}catch(se){console.error(se)}finally{Z===$&&(k.value=!1)}}async function Q(Z,ne){if(t.fetchSpaceFlowConfig){y.value=!0;try{await t.fetchSpaceFlowConfig(ne)}catch(oe){console.error(oe)}finally{Z===$&&(y.value=!1)}}}async function W(Z,ne){if(t.fetchSystemVariables)try{const oe=await t.fetchSystemVariables(ne);Z===$&&(r.value=oe)}catch(oe){console.error(oe)}}async function te(Z){if(!(!e.canEdit()||!t.fetchAllPluginGroups)){B.value=!0;try{const ne=await t.fetchAllPluginGroups();Z===$&&(i.value=ne)}catch(ne){console.error(ne)}finally{Z===$&&(B.value=!1)}}}async function ee(){const Z=++$,ne=R(),oe=z(),ae=j();await Promise.all([H(Z,ne,oe,ae),Q(Z,ne),W(Z,ne),te(Z)])}function q(){$+=1,n.value=null,r.value=[],i.value=[],C.value=!1,k.value=!1,y.value=!1,B.value=!1}function G(Z){n.value&&(n.value={...n.value,pipeline_tree:Z},C.value=!0)}async function J(Z={}){if(!n.value||!t.saveFlow)return!1;const ne=$,oe=R(),ae=n.value;if(Z.validate&&!validatePipelineTree(ae.pipeline_tree).valid)return!1;const{name:se,desc:de,notify_config:ge,pipeline_tree:fe,triggers:ie}=ae,ce={name:se,desc:de,notify_config:ge,pipeline_tree:fe,triggers:ie};try{return await t.saveFlow(oe,ce),ne!==$||oe!==R()?!1:(C.value=!1,Z.silent||(e.onSave?.(ae),e.onSaveSuccess?.()),!0)}catch(pe){return console.error(pe),!1}}return{flowDetail:n,systemVariables:r,pluginGroupList:i,loading:L,isFlowEdited:C,load:ee,reset:q,updatePipelineTree:G,save:J}}const _hoisted_1={key:0,class:"flow-detail-operate-area"},_hoisted_2={class:"flow-detail-operate-btns"},_hoisted_3={class:"flow-detail-canvas-wrapper"},_sfc_main=vue.defineComponent({__name:"index",props:{flowId:{},apiConfig:{},permissions:{},enableVersion:{type:Boolean,default:!1},flowVersion:{},defaultZoom:{default:1},bkflowSaasUrl:{},enableThirdPlugin:{type:Boolean,default:!0},quickAdd:{default:void 0},hideTrigger:{type:Boolean,default:!1},selectPanelConfig:{},memberSelectorConfig:{},onSave:{},onSaveSuccess:{},onBack:{}},emits:["save","saveSuccess","back","createVariable"],setup(e,{expose:t,emit:n}){const r=vue.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./index-BUMqEAp_.cjs"))),i=vue.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./index-jvfjimMJ.cjs"))),C=vue.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./index-CHDpGBhL.cjs"))),k=e,y=n,B=vue.computed(()=>({canEdit:k.permissions?.canEdit??!1,canDebug:k.permissions?.canDebug??!1})),L="fetchFlowDetail"in k.apiConfig?k.apiConfig:{...k.apiConfig,enableThirdPlugin:k.enableThirdPlugin},R=provideFlowApiConfig(L);provideSelectPanelConfig(k.selectPanelConfig||{}),provideMemberSelectorConfig(k.memberSelectorConfig),setContext({},k.bkflowSaasUrl);const z=vue.ref(),j=vue.ref(),$=vue.shallowRef(!1);provideVariableInputCreateVariable(Ke=>{y("createVariable",Ke),z.value?.openGlobalVariableCreate(Ke)});const Q=useFlowDetailData({flowId:()=>String(k.flowId),enableVersion:()=>k.enableVersion,flowVersion:()=>k.flowVersion,canEdit:()=>B.value.canEdit,api:R,onSave:k.onSave,onSaveSuccess:k.onSaveSuccess}),W=Q.flowDetail,te=Q.systemVariables,ee=Q.pluginGroupList,q=useDebugContext({templateId:()=>String(k.flowId),enabled:()=>B.value.canDebug,api:R,onMessage:(Ke,Ct)=>BkMessage({theme:Ke,message:Ct,ellipsisLine:3})}),G=vue.ref(!1),J=vue.ref(!1),Z=vue.ref(!1),ne=vue.ref(null),oe=vue.computed(()=>Z.value?"流程已保存,但调试结果尚未完成同步,请在调试前重试":q.contextSyncError.value),ae=vue.computed(()=>B.value.canDebug&&["running","terminating"].includes(q.context.value?.status??"idle")),se=vue.computed(()=>B.value.canEdit&&!ae.value),de=vue.computed(()=>B.value.canDebug&&!q.initializing.value&&!q.actionPending.value&&!G.value&&!J.value&&(q.context.value?.status??"idle")==="idle"),ge=vue.computed(()=>q.canvasState.value.nodeStates),fe=createExecutionStatusPlugin(ge),ie=vue.computed(()=>B.value.canDebug?[fe]:[]),ce=vue.computed(()=>B.value.canDebug?{isMockNode:Ke=>q.canvasState.value.mockNodeIds.has(Ke),focusedNodeId:()=>ut.value,openNodeDebugPanel:Ke=>{j.value?.openNodeDebugPanel?.(Ke),bt(Ke)}}:void 0),pe=vue.computed(()=>{const Ke=W.value?.pipeline_tree;return!Ke||!B.value.canDebug?Ke:mergeNodeStatesToPipelineTree(Ke,ge.value)});let le=0;async function ue(Ke=!1){const Ct=++le;if(Ke&&(Q.reset(),it()),await Q.load(),Ct===le){if(!W.value){BkMessage({theme:"error",message:"加载流程详情失败,请刷新重试"});return}B.value.canDebug&&(await q.initialize(),Ct===le&&(q.contextSyncError.value&&BkMessage({theme:"warning",message:`调试状态同步失败:${q.contextSyncError.value}`,ellipsisLine:3}),q.context.value?.status!=="idle"&&$e()))}}vue.onMounted(()=>{ue()});const he=()=>{k.onBack?k.onBack():y("back")},ye=Ke=>{W.value=Ke,Q.isFlowEdited.value=!0},_e=Ke=>{W.value&&(W.value={...W.value,pipeline_tree:{...W.value.pipeline_tree,constants:Ke}}),Q.isFlowEdited.value=!0,j.value?.updateGlobalVariables(Ke)},Ne=Ke=>{j.value?.updateOutputs(Ke)},be=Ke=>{Q.updatePipelineTree(Ke)},Ae=Ke=>{BkMessage({theme:"error",message:Ke.message}),Ke.ids.length>0&&j.value?.locateNode?.(Ke.ids[0])},Te=async()=>{if(!B.value.canDebug||!R.fetchDebugResetImpact)return Z.value=!1,!0;if((q.context.value?.status??"idle")!=="idle")return!1;Z.value=!0;try{const Ke=await R.fetchDebugResetImpact(String(k.flowId));if(Ke?.reset_node_ids?.length){const Ct=await q.reset(Ke.reset_node_ids);if(!Ct)return!1;const Rt=Ct.reset_node_ids?.length??Ke.reset_node_ids.length;BkMessage({theme:"success",message:`已清理 ${Rt} 个失效节点的调试结果`})}return Z.value=!1,!0}catch(Ke){return console.error(Ke),BkMessage({theme:"warning",message:"流程已保存,但调试结果失效检查失败,请重试"}),!1}},Ze=async()=>{if(!se.value||!W.value)return;if(B.value.canDebug){if(await q.refresh(),q.contextSyncError.value){BkMessage({theme:"error",message:`调试状态同步失败,暂不能保存:${q.contextSyncError.value}`});return}if((q.context.value?.status??"idle")!=="idle"){BkMessage({theme:"warning",message:"流程正在调试中,暂不能保存"});return}}const Ke=validatePipelineTree(W.value.pipeline_tree);if(!Ke.valid){Ae(Ke);return}$.value=!0;try{await Q.save({validate:!1})&&(BkMessage({theme:"success",message:"保存成功"}),y("save",W.value),y("saveSuccess"),await Te())}finally{$.value=!1}},lt=vue.ref(!1),Ge=vue.shallowRef({}),st=vue.ref(!1),Ue=vue.computed(()=>{const Ke=q.context.value;return{...Ke?.last_inputs??Ke?.global_vars??{}}}),De=async()=>{if(!Q.isFlowEdited.value)return Z.value?await Te()?!0:(BkMessage({theme:"error",message:"调试结果未完成同步,已中止调试"}),!1):!0;if(!B.value.canEdit||!W.value)return BkMessage({theme:"warning",message:"当前流程存在未保存修改,且没有保存权限"}),!1;const Ke=validatePipelineTree(W.value.pipeline_tree);return Ke.valid?await Q.save({silent:!0,validate:!1})?await Te()?!0:(BkMessage({theme:"error",message:"调试结果未完成同步,已中止调试"}),!1):(BkMessage({theme:"error",message:"保存流程失败,已中止调试"}),!1):(Ae(Ke),!1)},We=async()=>!q.contextSyncError.value||(await q.refresh(),!q.contextSyncError.value)?!0:(BkMessage({theme:"error",message:`调试状态同步失败:${q.contextSyncError.value}`,ellipsisLine:3}),!1),Ye=async Ke=>{if(!de.value)return!1;G.value=!0;try{return await q.refresh(),!await We()||(q.context.value?.status??"idle")!=="idle"?!1:await Ke()}catch{return!1}finally{G.value=!1}},Re=async()=>{if(de.value){J.value=!0;try{if(!await We())return;Ge.value=await q.fetchInputSchema(),lt.value=!0}catch(Ke){console.error(Ke),BkMessage({theme:"error",message:"加载调试参数失败,请重试"})}finally{J.value=!1}}},Je=()=>{st.value=!0,$e()},Xe=async()=>{try{await q.terminate()}catch{}},Me=vue.ref(!1),nt=vue.shallowRef(null),et=async Ke=>{await Ye(async()=>await De()?(He.value=!1,ze.value="",q.runGlobal(Ke)):!1)&&(Me.value=!0,nt.value={...Ke},lt.value=!1,st.value=!0)},wt=vue.computed(()=>{if(Me.value)return!0;const Ke=q.context.value;return Ke?Ke.status==="running"||Ke.status==="terminating"?Ke.active_run_type==="global":Ke.last_run_type==="global":!1}),tt=vue.computed(()=>nt.value??Ue.value),ot=vue.computed(()=>new Set((q.context.value?.nodes??[]).filter(Ke=>Ke.status!=="not_run").map(Ke=>Ke.node_id))),gt=Ke=>q.context.value?.nodes.find(Ct=>Ct.node_id===Ke),Et=vue.computed(()=>{const Ke=W.value?.pipeline_tree?.activities??{},Ct={};return Object.values(Ke).forEach(Rt=>{Rt?.id&&(Ct[Rt.id]=Rt.name??Rt.id)}),Ct}),Dt=Ke=>ne.value?.nodeId===Ke?ne.value.action:"",Ft=Ke=>{bt(Ke)},Nt=async Ke=>{if(de.value){ne.value={nodeId:Ke.id,action:"real"};try{await Ye(async()=>{const Ct=Q.isFlowEdited.value;if(!await De())return!1;if(Ct){await q.refresh();const Rt=gt(Ke.id);if(!Rt?.can_step||(Rt.missing_vars?.length??0)>0)return BkMessage({theme:"warning",message:"当前输入参数不满足调试要求"}),!1}return q.runStep({nodeId:Ke.id,mode:"real"})})}finally{ne.value=null}}},Pe=async Ke=>{if(de.value){ne.value={nodeId:Ke.id,action:"cancel-mock"};try{await Ye(async()=>await De()?q.cancelMock(Ke.id):!1)}finally{ne.value=null}}},at=vue.ref(!1),_t=vue.shallowRef(null),Oe=new Map,Be=vue.computed(()=>{const Ke=_t.value?.id;return Ke?ne.value?.nodeId===Ke&&ne.value.action==="mock":!1}),Ee=vue.computed(()=>{const Ke=_t.value?.id,Ct=Ke?gt(Ke):void 0;if(Ct?.mock_outputs)return{outputs:Ct.mock_outputs??{}};const Rt=Ke?Oe.get(Ke):void 0;return Rt?{outputs:Rt.outputs}:{outputs:{}}}),ve=Ke=>{_t.value=Ke,at.value=!0},ke=async Ke=>{const Ct=_t.value;if(!Ct||!de.value)return;ne.value={nodeId:Ct.id,action:"mock"};const Rt=await Ye(async()=>await De()?q.runMock({nodeId:Ct.id,mockResult:"success",mockOutputs:Ke.outputs}):!1);ne.value=null,Rt&&(Oe.set(Ct.id,Ke),at.value=!1,st.value=!0,$e(Ct.id))},je=Ke=>{j.value?.updateNodeInputParams?.(Ke)},Se=()=>{z.value?.openGlobalVariables()},ze=vue.ref(""),He=vue.ref(!1),ut=vue.ref(""),bt=Ke=>{Ke&&(ut.value=Ke,j.value?.locateNode?.(Ke))},At=Ke=>{He.value=!0,ze.value=Ke},kt=useDebugNodeResult({api:R,context:()=>q.context.value,nodeId:()=>ze.value}),xe=vue.computed(()=>kt.value),Ie=vue.computed(()=>q.context.value?.nodes.find(Ke=>Ke.status==="running")?.node_id??""),$e=Ke=>{if(st.value=!0,Ke){He.value=!0,ze.value=Ke,bt(Ke);return}ze.value||(ze.value=Ie.value||[...ot.value][0]||"")},mt=(Ke,Ct)=>{$e(Ke),Ct?.()};vue.watch(ze,Ke=>{Ke&&bt(Ke)}),vue.watch(()=>q.context.value?.status??"idle",(Ke,Ct)=>{Ke!==Ct&&(Ke==="running"||Ke==="terminating")&&(st.value=!0,!He.value&&Ie.value&&(ze.value=Ie.value))}),vue.watch(Ie,Ke=>{Ke&&!He.value&&(ze.value=Ke)});function it(){q.resetState(),lt.value=!1,Ge.value={},st.value=!1,Me.value=!1,nt.value=null,at.value=!1,_t.value=null,Oe.clear(),ze.value="",He.value=!1,ut.value="",G.value=!1,J.value=!1,ne.value=null,Z.value=!1}vue.watch(()=>[String(k.flowId),k.flowVersion],([Ke,Ct],[Rt,Yt])=>{(Ke!==Rt||Ct!==Yt)&&ue(!0)}),vue.watch(()=>B.value.canDebug,(Ke,Ct)=>{Ke!==Ct&&(it(),Ke&&W.value&&q.initialize().then(()=>{q.contextSyncError.value&&BkMessage({theme:"warning",message:`调试状态同步失败:${q.contextSyncError.value}`,ellipsisLine:3}),q.context.value?.status!=="idle"&&$e()}))});const Tt=Ke=>{const Ct=W.value?.pipeline_tree?.activities?.[Ke];Ct&&ve(Ct)},Pt=Ke=>{const Ct=W.value?.pipeline_tree?.activities?.[Ke];Ct&&Nt(Ct)},Wt=Ke=>{const Ct=W.value?.pipeline_tree?.activities?.[Ke];Ct&&ve(Ct)},on={isFlowEdited:vue.computed(()=>Q.isFlowEdited.value),updateNodeInputParams:je,openGlobalVariables:Se,refreshDebugContext:async()=>{await q.refresh()},openDebugResult:$e,zoomToFit:Ke=>j.value?.zoomToFit?.(Ke),centerContent:()=>j.value?.centerContent?.(),getZoom:()=>j.value?.getZoom?.()??1};return t(on),(Ke,Ct)=>{const Rt=vue.resolveComponent("bk-button");return vue.openBlock(),vue.createBlock(ContainerLayout,{title:"流程详情",desc:vue.unref(W)?.name,"show-back-icon":!0,onBack:he},{header:vue.withCtx(()=>[vue.renderSlot(Ke.$slots,"header",{},void 0,!0)]),extend:vue.withCtx(()=>[vue.unref(W)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1,[vue.createVNode(FlowInfoSliders,{ref_key:"flowInfoSlidersRef",ref:z,"flow-data":vue.unref(W),editable:se.value,"system-variables":vue.unref(te),"hide-trigger":k.hideTrigger,onChange:ye,onUpdateConstants:_e,onUpdateOutputs:Ne},null,8,["flow-data","editable","system-variables","hide-trigger"]),B.value.canDebug?(vue.openBlock(),vue.createBlock(DebugTrigger,{key:0,context:vue.unref(q).context.value,summary:vue.unref(q).canvasState.value.summary,initializing:vue.unref(q).initializing.value||J.value||$.value||vue.unref(q).resetPending.value,"sync-error":oe.value,"terminate-pending":vue.unref(q).terminatePending.value,onStart:Re,onOpenResult:Je,onTerminate:Xe},null,8,["context","summary","initializing","sync-error","terminate-pending"])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_2,[B.value.canEdit?(vue.openBlock(),vue.createBlock(Rt,{key:0,"data-test":"save-flow",theme:"primary",disabled:!se.value,loading:$.value,onClick:Ze},{default:vue.withCtx(()=>[...Ct[3]||(Ct[3]=[vue.createTextVNode(" 保存 ",-1)])]),_:1},8,["disabled","loading"])):vue.createCommentVNode("",!0)])])):vue.createCommentVNode("",!0)]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_3,[vue.unref(W)?(vue.openBlock(),vue.createBlock(FlowCanvas,{key:0,ref_key:"flowCanvasRef",ref:j,mode:se.value?"edit":"view","flow-id":String(k.flowId),"pipeline-tree":pe.value,"plugin-group-list":vue.unref(ee),"system-variables":vue.unref(te),"default-zoom":k.defaultZoom,"quick-add":k.quickAdd,"enable-node-debug":B.value.canDebug,"additional-plugins":ie.value,"debug-context":ce.value,onChange:be},{inputParams:vue.withCtx(Yt=>[vue.renderSlot(Ke.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps({...Yt,updateNodeInputParams:je})),void 0,!0)]),nodeDebugConfig:vue.withCtx(({node:Yt,close:mn})=>[vue.createVNode(NodeDebugConfig,{node:Yt,"context-node":vue.unref(Q).isFlowEdited.value?null:gt(Yt.id),"pending-action":Dt(Yt.id),"has-result":ot.value.has(Yt.id),"node-name-map":Et.value,onRunReal:Bn=>Nt(Yt),onRunMock:Bn=>ve(Yt),onCancelMock:Bn=>Pe(Yt),onViewResult:Bn=>mt(Yt.id,mn),onJumpToSourceNode:Ft},null,8,["node","context-node","pending-action","has-result","node-name-map","onRunReal","onRunMock","onCancelMock","onViewResult"])]),_:3},8,["mode","flow-id","pipeline-tree","plugin-group-list","system-variables","default-zoom","quick-add","enable-node-debug","additional-plugins","debug-context"])):vue.createCommentVNode("",!0),B.value.canDebug?(vue.openBlock(),vue.createBlock(vue.unref(C),{key:1,open:st.value,"onUpdate:open":Ct[0]||(Ct[0]=Yt=>st.value=Yt),"model-value":ze.value,context:vue.unref(q).context.value,"pipeline-tree":vue.unref(W)?.pipeline_tree??null,"mock-node-ids":vue.unref(q).canvasState.value.mockNodeIds,result:xe.value,"has-global-run":wt.value,"global-inputs":tt.value,"onUpdate:modelValue":At,onReEditMock:Tt,onRunReal:Pt,onRunMock:Wt},null,8,["open","model-value","context","pipeline-tree","mock-node-ids","result","has-global-run","global-inputs"])):vue.createCommentVNode("",!0)]),B.value.canDebug?(vue.openBlock(),vue.createBlock(vue.unref(r),{key:0,show:lt.value,"onUpdate:show":Ct[1]||(Ct[1]=Yt=>lt.value=Yt),schema:Ge.value,"pipeline-constants":vue.unref(W)?.pipeline_tree?.constants??{},"initial-values":Ue.value,pending:vue.unref(q).globalRunPending.value,onConfirm:et},null,8,["show","schema","pipeline-constants","initial-values","pending"])):vue.createCommentVNode("",!0),B.value.canDebug&&_t.value?(vue.openBlock(),vue.createBlock(vue.unref(i),{key:1,show:at.value,"onUpdate:show":Ct[2]||(Ct[2]=Yt=>at.value=Yt),node:_t.value,outputs:Ee.value.outputs,pending:Be.value,onConfirm:ke},null,8,["show","node","outputs","pending"])):vue.createCommentVNode("",!0)]),_:3},8,["desc"])}}}),index$1=_export_sfc(_sfc_main,[["__scopeId","data-v-a653f933"]]),getUniformApiPluginFormValue=e=>"default"in e?e.default:"",index={FlowView:()=>Promise.resolve().then(()=>view$1),FlowEdit:()=>Promise.resolve().then(()=>edit$1),FlowCreateTask:()=>Promise.resolve().then(()=>createTask),FlowExecute:()=>Promise.resolve().then(()=>execute$1),FlowDebug:()=>Promise.resolve().then(()=>debug),FlowMockDebug:()=>Promise.resolve().then(()=>mock$1)};exports.BkFlowCanvas=BkFlowCanvas;exports.BkFlowModelAccessor=BkFlowModelAccessor;exports.BkFlowNodeAccessor=BkFlowNodeAccessor;exports.BuiltinVariableUsageForm=BuiltinVariableUsageForm;exports.CallLogsViewer=CallLogsViewer;exports.DebugJsonViewer=DebugJsonViewer;exports.DebugValueTable=DebugValueTable;exports.EmptyException=EmptyException;exports.FlowCreateTask=FlowCreateTask;exports.FlowDebug=FlowDebug;exports.LoadingStatusIcon=LoadingStatusIcon;exports.MockFieldRenderer=MockFieldRenderer;exports.RenderForm=RenderForm;exports.SegmentTabs=SegmentTabs;exports._export_sfc=_export_sfc;exports.bkflowConnectionValidator=bkflowConnectionValidator;exports.createBkflowPlugin=createBkflowPlugin;exports.createBkflowSchema=createBkflowSchema;exports.createExecutionStatusPlugin=createExecutionStatusPlugin;exports.edit=edit;exports.execute=execute;exports.exportToPipelineTree=exportToPipelineTree;exports.formatJsonFieldValue=formatJsonFieldValue;exports.getInputFormsFromConstants=getInputFormsFromConstants;exports.getUniformApiPluginFormValue=getUniformApiPluginFormValue;exports.getVariableDefaultConfig=getVariableDefaultConfig;exports.importFromPipelineTree=importFromPipelineTree;exports.index=index$1;exports.index$1=index;exports.isBuiltinUsageVariable=isBuiltinUsageVariable;exports.isMockableNode=isMockableNode;exports.mergeOutputs=mergeOutputs;exports.mock=mock;exports.normalizeLogText=normalizeLogText;exports.normalizePluginOutputItems=normalizePluginOutputItems;exports.parseJsonFieldValue=parseJsonFieldValue;exports.pluginDetailRequest=pluginDetailRequest;exports.provideFlowApiConfig=provideFlowApiConfig;exports.provideMemberSelectorConfig=provideMemberSelectorConfig;exports.provideSelectPanelConfig=provideSelectPanelConfig;exports.resolveExecutionActions=resolveExecutionActions;exports.resolveMockFormControl=resolveMockFormControl;exports.useFlowApiConfig=useFlowApiConfig;exports.useFlowEditApiConfig=useFlowEditApiConfig;exports.useFlowViewApiConfig=useFlowViewApiConfig;exports.useMemberSelectorConfig=useMemberSelectorConfig;exports.useSelectPanelConfig=useSelectPanelConfig;exports.validatePipelineTree=validatePipelineTree;exports.view=view;