@blueking/bkflow-canvas-editor 1.1.0-beta.44 → 1.1.0-beta.46
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.
- package/README.md +41 -1
- package/dist/advanced.cjs.js +1 -1
- package/dist/advanced.d.ts +22 -1
- package/dist/advanced.esm.js +1 -1
- package/dist/bkflow-canvas-editor_false-B70uLuHL.cjs +1 -0
- package/dist/bkflow-canvas-editor_false-BlC281Zg.cjs +1 -0
- package/dist/bkflow-canvas-editor_false-Casww7p4.js +5 -0
- package/dist/bkflow-canvas-editor_false-i9G8sqQi.js +5 -0
- package/dist/context-Bu4mmo1Q.js +1593 -0
- package/dist/context-bUpcrt8M.cjs +6 -0
- package/dist/index-6CPWCz1N.js +73 -0
- package/dist/index-B4WlyPEO.js +137 -0
- package/dist/index-BXZHH8Ln.cjs +1 -0
- package/dist/index-C00vjLvy.cjs +1 -0
- package/dist/index-C3SSol-o.cjs +1 -0
- package/dist/{index-DEh6TdMZ.js → index-C6GvYaaZ.js} +28954 -29516
- package/dist/index-CLDSwZdp.cjs +1 -0
- package/dist/index-Ccgesfqb.cjs +1 -0
- package/dist/index-CtWdE3YX.js +168 -0
- package/dist/index-DHbrXUGr.cjs +82 -0
- package/dist/index-DMdSXWeW.js +647 -0
- package/dist/index-D_66gxri.js +127 -0
- package/dist/index-DaSKNurc.cjs +2 -0
- package/dist/index-IVfkTKAV.js +236 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.d.ts +47 -2
- package/dist/index.esm.js +42 -33
- package/dist/style.css +1 -1
- package/package.json +2 -2
- package/dist/context-CGIQsuRc.cjs +0 -1
- package/dist/context-Ce_Xpx5d.js +0 -724
- package/dist/index-B1K53ttM.cjs +0 -1
- package/dist/index-B5-BwbW-.js +0 -607
- package/dist/index-B7cHQkaD.cjs +0 -2
- package/dist/index-BhOE6_v7.cjs +0 -1
- package/dist/index-BiOM182-.js +0 -135
- package/dist/index-Bit4HgBF.cjs +0 -82
- package/dist/index-CLiOiJR2.js +0 -125
- package/dist/index-CbEGVZdT.cjs +0 -1
- package/dist/index-DVeWB2dR.js +0 -73
- package/dist/index-DjIpWxVu.cjs +0 -1
- package/dist/index-Dmx7sjvz.cjs +0 -1
- package/dist/index-DubPNExB.js +0 -234
- package/dist/index-sEixnRd3.js +0 -162
- package/dist/index.es.min-BpHMrg2Y.cjs +0 -2
- package/dist/index.es.min-DYp0DL9J.js +0 -3543
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),d=require("bkui-vue/lib/icon");require("./context-bUpcrt8M.cjs");const t=require("@blueking/flow-canvas"),p=require("./index-DHbrXUGr.cjs"),u={class:"rollback-dialog-body"},f={class:"rollback-icon-wrap"},_={class:"rollback-title"},m={class:"rollback-desc"},h={class:"rollback-footer"},g=e.defineComponent({__name:"index",props:{show:{type:Boolean},version:{default:""},pending:{type:Boolean,default:!1}},emits:["update:show","confirm"],setup(r,{emit:l}){const o=r,n=l,a=()=>{o.pending||!o.version||n("confirm",o.version)},s=()=>{o.pending||n("update:show",!1)};return(k,v)=>{const i=e.resolveComponent("bk-button"),c=e.resolveComponent("bk-dialog");return e.openBlock(),e.createBlock(c,{"is-show":o.show,"dialog-type":"show",width:440,"esc-close":!1,"quick-close":!1,class:"flow-rollback-confirm-dialog",onClosed:s},{default:e.withCtx(()=>[e.createElementVNode("div",u,[e.createElementVNode("div",f,[e.createVNode(e.unref(d.ExclamationCircleShape),{class:"rollback-icon"})]),e.createElementVNode("h3",_,e.toDisplayString(e.unref(t.t)("确认加载至草稿?")),1),e.createElementVNode("p",m,[e.createTextVNode(e.toDisplayString(e.unref(t.t)("将版本 {version} 的内容加载至草稿,",{version:o.version||"--"})),1),e.createElementVNode("strong",null,e.toDisplayString(e.unref(t.t)("当前草稿中未发布的改动将被覆盖")),1),e.createTextVNode(e.toDisplayString(e.unref(t.t)(",该操作不可撤销。")),1)]),e.createElementVNode("div",h,[e.createVNode(i,{theme:"primary","data-test":"rollback-confirm",loading:o.pending,onClick:a},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(t.t)("确认恢复")),1)]),_:1},8,["loading"]),e.createVNode(i,{disabled:o.pending,onClick:s},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(t.t)("取消")),1)]),_:1},8,["disabled"])])])]),_:1},8,["is-show"])}}}),b=p._export_sfc(g,[["__scopeId","data-v-fc586d38"]]);exports.default=b;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue");require("./context-bUpcrt8M.cjs");const m=require("./index-DHbrXUGr.cjs"),o=require("@blueking/flow-canvas"),C={finished:{icon:"bkflow-canvas-dark-circle-checkbox",color:"#5fb8ac"},failed:{icon:"bkflow-canvas-dark-circle-close",color:"#fa4e41"},revoked:{icon:"bkflow-canvas-stop-fill",color:"#fa4e41"},running:{color:"#3a84ff",loading:!0},not_run:{icon:"bkflow-canvas-weizhixing2",color:"#b8bbc4"},skipped:{icon:"bkflow-canvas-tiaoguo2",color:"#6e89af"},suspended:{icon:"bkflow-canvas-zanting",color:"#f59500"},invalid:{icon:"bkflow-canvas-yishixiao",color:"#ff802b"}};function R(a){switch(a){case"all":return o.t("全部");case"finished":return o.t("成功");case"failed":return o.t("失败");case"revoked":return o.t("终止");case"running":return o.t("执行中");case"not_run":return o.t("待执行");case"skipped":return o.t("跳过");case"suspended":return o.t("挂起");case"invalid":return o.t("已失效")}}const O=[["all","finished","failed","revoked","running"],["not_run","skipped","suspended","invalid"]];function L(a){return a.isInvalid?"invalid":a.status}function A(a,p){return p==="all"?a.length:a.filter(t=>L(t)===p).length}const F={class:"debug-status-filter-tabs"},H=["data-status","disabled","aria-pressed","onClick"],U={key:0,class:"debug-status-filter-tabs__label"},G={class:"debug-status-filter-tabs__label"},q=e.defineComponent({__name:"status-filter-tabs",props:{modelValue:{},nodes:{}},emits:["update:modelValue"],setup(a,{emit:p}){const t=a,r=p,s=u=>A(t.nodes,u),c=u=>u!=="all"&&s(u)===0,_=u=>{c(u)||r("update:modelValue",u)};return(u,b)=>(e.openBlock(),e.createElementBlock("div",F,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(O),(v,y)=>(e.openBlock(),e.createElementBlock("div",{key:y,class:"debug-status-filter-tabs__row","data-test":"status-filter-row"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v,l=>(e.openBlock(),e.createElementBlock("button",{key:l,class:e.normalizeClass(["debug-status-filter-tabs__item",`is-${l}`,{"is-active":l===t.modelValue}]),type:"button","data-test":"status-filter-item","data-status":l,disabled:c(l),"aria-pressed":l===t.modelValue,onClick:d=>_(l)},[l==="all"?(e.openBlock(),e.createElementBlock("span",U,e.toDisplayString(e.unref(R)(l)),1)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.unref(C)[l].loading?(e.openBlock(),e.createBlock(m.LoadingStatusIcon,{key:0,class:"debug-status-filter-tabs__icon",style:e.normalizeStyle({color:e.unref(C)[l].color}),size:14},null,8,["style"])):(e.openBlock(),e.createElementBlock("i",{key:1,class:e.normalizeClass(["debug-status-filter-tabs__icon bkflow-canvas-icon",e.unref(C)[l].icon]),style:e.normalizeStyle({color:e.unref(C)[l].color})},null,6)),e.createElementVNode("span",G,e.toDisplayString(e.unref(R)(l))+" ("+e.toDisplayString(s(l))+") ",1)],64))],10,H))),128))]))),128))]))}}),K=m._export_sfc(q,[["__scopeId","data-v-7de7925b"]]),j={class:"debug-result-node-list"},Y=["data-node-id","aria-selected","onClick","onKeydown"],J=["title"],W={key:0,class:"debug-result-node-list__mock","data-test":"node-mock-flag"},Q={key:1,class:"debug-result-node-list__empty"},X=e.defineComponent({__name:"node-list",props:{nodes:{},modelValue:{default:""}},emits:["update:modelValue"],setup(a,{emit:p}){const t=a,r=p,s=e.ref(""),c=e.ref("all"),_=e.ref(null),u=e.computed(()=>{const l=s.value.trim().toLowerCase();return t.nodes.filter(d=>c.value!=="all"&&L(d)!==c.value?!1:l?d.name.toLowerCase().includes(l)||d.type.toLowerCase().includes(l)||(d.typeName??"").toLowerCase().includes(l):!0)}),b=e.computed(()=>s.value.trim()?o.t("搜索结果为空"):c.value!=="all"?o.t("暂无{status}状态节点",{status:R(c.value)}):o.t("暂无节点")),v=()=>{s.value="",c.value="all"},y=l=>{const d=_.value,f=d?.querySelector(`[data-node-id="${CSS.escape(l)}"]`);if(!d||!f)return;const n=d.getBoundingClientRect(),V=f.getBoundingClientRect();V.top<n.top?d.scrollTop-=n.top-V.top:V.bottom>n.bottom&&(d.scrollTop+=V.bottom-n.bottom)};return e.watch(()=>t.modelValue,async l=>{if(!l)return;!u.value.some(f=>f.id===l)&&t.nodes.some(f=>f.id===l)&&(s.value="",c.value="all"),await e.nextTick(),y(l)},{flush:"post"}),(l,d)=>{const f=e.resolveComponent("bk-input");return e.openBlock(),e.createElementBlock("aside",j,[e.createVNode(f,{modelValue:s.value,"onUpdate:modelValue":d[0]||(d[0]=n=>s.value=n),class:"debug-result-node-list__search",placeholder:e.unref(o.t)("搜索 节点名称、节点类型"),type:"search",clearable:"","data-test":"node-search"},null,8,["modelValue","placeholder"]),e.createVNode(K,{modelValue:c.value,"onUpdate:modelValue":d[1]||(d[1]=n=>c.value=n),class:"debug-result-node-list__filters","data-test":"status-filters",nodes:t.nodes},null,8,["modelValue","nodes"]),u.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"itemsRef",ref:_,class:"debug-result-node-list__items",role:"listbox"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,n=>(e.openBlock(),e.createElementBlock("div",{key:n.id,class:e.normalizeClass(["debug-result-node-list__item",`is-${n.status}`,{"is-active":n.id===t.modelValue,"is-unconfigured":!n.isConfigured}]),role:"option","data-test":"node-item","data-node-id":n.id,"aria-selected":n.id===t.modelValue,tabindex:"0",onClick:V=>r("update:modelValue",n.id),onKeydown:e.withKeys(e.withModifiers(V=>r("update:modelValue",n.id),["prevent"]),["enter","space"])},[e.createElementVNode("span",{class:e.normalizeClass(["debug-result-node-list__status",`is-${e.unref(L)(n)}`,{"is-placeholder":!n.isConfigured}])},[n.icon?(e.openBlock(),e.createElementBlock("i",{key:0,class:e.normalizeClass(n.icon),"data-test":"node-icon"},null,2)):e.createCommentVNode("",!0)],2),e.createElementVNode("span",{class:"debug-result-node-list__name",title:n.isConfigured?`${n.name} ${n.typeName||n.type}`:n.name},e.toDisplayString(n.name),9,J),n.isMock?(e.openBlock(),e.createElementBlock("span",W,"MOCK")):e.createCommentVNode("",!0)],42,Y))),128))],512)):(e.openBlock(),e.createElementBlock("div",Q,[e.createVNode(m.EmptyException,{"is-search":!1,title:b.value,onClear:v},null,8,["title"])]))])}}}),Z=m._export_sfc(X,[["__scopeId","data-v-3d90cfb1"]]);function ee(a){if(a==null)return"";if(typeof a=="string")return a;if(typeof a=="object"){const p=a,t=p.message;if(typeof t=="string"&&t){const r=p.type;return typeof r=="string"&&r?`${r}: ${t}`:t}try{return JSON.stringify(a)}catch{return String(a)}}return String(a)}const te={class:"execution-record","data-test":"execution-record"},oe={class:"execution-record__table"},le={key:0},ne=e.defineComponent({__name:"execution-record",props:{result:{},isDeleted:{type:Boolean,default:!1}},setup(a){const p=a,t=c=>c||"--",r=e.computed(()=>{const{executor:c,startTime:_,finishTime:u,elapsedSeconds:b,durationMs:v}=p.result.execution,y=b??(typeof v=="number"?Math.floor(v/1e3):void 0);return[{label:o.t("执行人"),value:t(c)},{label:o.t("开始时间"),value:t(_)},{label:o.t("结束时间"),value:t(u)},{label:o.t("耗时"),value:m.formatElapsedTime(y)}]}),s=e.computed(()=>{const{status:c,configChanged:_,errorDetail:u}=p.result.execution;if(p.isDeleted||_){const{icon:d,color:f}=C.invalid;return{prefix:o.t("已失效:"),text:p.isDeleted?o.t("该节点已被删除,调试结果无效"):o.t("该节点配置已修改,需要重新调试"),icon:d,color:f}}const{icon:b,color:v}=C[c],y=R(c),l=c==="failed"?ee(u||p.result.error):"";return{prefix:"",text:l?o.t("{status}:{error}",{status:y,error:l}):y,icon:b,color:v}});return(c,_)=>{const u=e.resolveDirective("bkloading");return e.withDirectives((e.openBlock(),e.createElementBlock("div",te,[e.createElementVNode("table",oe,[e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,b=>(e.openBlock(),e.createElementBlock("tr",{key:b.label},[e.createElementVNode("th",null,e.toDisplayString(b.label),1),e.createElementVNode("td",null,e.toDisplayString(b.value),1)]))),128)),e.createElementVNode("tr",null,[e.createElementVNode("th",null,e.toDisplayString(e.unref(o.t)("调试结果")),1),e.createElementVNode("td",null,[e.createElementVNode("span",{class:"execution-record__status",style:e.normalizeStyle({color:s.value.color})},[s.value.icon?(e.openBlock(),e.createElementBlock("i",{key:0,class:e.normalizeClass(["bkflow-canvas-icon",s.value.icon]),"aria-hidden":"true"},null,2)):e.createCommentVNode("",!0),e.createElementVNode("span",null,[s.value.prefix?(e.openBlock(),e.createElementBlock("strong",le,e.toDisplayString(s.value.prefix),1)):e.createCommentVNode("",!0),e.createTextVNode(e.toDisplayString(s.value.text),1)])],4)])])])])])),[[u,{loading:p.result.loading}]])}}}),se=m._export_sfc(ne,[["__scopeId","data-v-5cfcb28b"]]),ae={class:"debug-result-tabs"},re={class:"debug-result-tabs__failed-actions","data-test":"output-error-actions"},ie={class:"debug-result-tabs__label"},ce={class:"debug-result-tabs__label"},ue={class:"debug-result-tabs__label"},de={class:"debug-result-tabs__mock-hint","data-test":"mock-banner"},me={class:"debug-result-tabs__label"},pe={class:"debug-result-tabs__logs","data-test":"tab-logs"},fe=e.defineComponent({__name:"result-tabs",props:{result:{},component:{},isMock:{type:Boolean,default:!1},isDeleted:{type:Boolean,default:!1},canRunNodeDebug:{type:Boolean,default:!1}},emits:["reEditMock","runReal","runMock","logsTabActive"],setup(a,{emit:p}){const t=a,r=p,s=e.ref("execution");e.watch(s,w=>r("logsTabActive",w==="logs"),{immediate:!0});const c=e.computed(()=>t.result.execution.status==="revoked"),_=e.computed(()=>m.isDebugAbnormalStatus(t.result.execution.status)),u=e.computed(()=>c.value?o.t("该节点调试已终止,可"):o.t("该节点执行失败,可")),{loading:b,error:v,visibleInputs:y,visibleOutputs:l,outputNameMap:d}=m.usePluginParamMeta({component:()=>t.component}),f=e.computed(()=>t.result.loading||b.value),n=e.computed(()=>t.result.detailError||v.value),V=e.computed(()=>{const{inputs:w}=t.result;return t.component?y.value.filter(({key:i})=>Object.prototype.hasOwnProperty.call(w,i)).map(({key:i,name:E})=>({key:i,name:E,value:w[i]})):m.toDebugValueRows(w)}),D=e.computed(()=>m.orderDebugRowsByDeclaredKeys(m.toDebugOutputValueRows(t.result.outputs,d.value),l.value.map(w=>w.key))),S=e.computed(()=>t.canRunNodeDebug&&!t.isDeleted&&m.shouldShowMockReEditHint(t.isMock,l.value)),h=e.computed(()=>t.result.logs==null?"":m.normalizeLogText(t.result.logs));return(w,i)=>{const E=e.resolveComponent("bk-button"),N=e.resolveComponent("bk-tab-panel"),T=e.resolveComponent("bk-tab");return e.openBlock(),e.createElementBlock("div",ae,[e.createVNode(T,{active:s.value,"onUpdate:active":i[3]||(i[3]=x=>s.value=x),type:"card-grid"},e.createSlots({default:e.withCtx(()=>[e.createVNode(N,{name:"execution",label:e.unref(o.t)("执行记录")},{label:e.withCtx(()=>[e.createElementVNode("span",ie,[i[5]||(i[5]=e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-xiangqing","aria-hidden":"true"},null,-1)),e.createTextVNode(e.toDisplayString(e.unref(o.t)("执行记录")),1)])]),default:e.withCtx(()=>[e.createVNode(se,{result:t.result,"is-deleted":t.isDeleted},null,8,["result","is-deleted"])]),_:1},8,["label"]),e.createVNode(N,{name:"inputs",label:e.unref(o.t)("输入参数")},{label:e.withCtx(()=>[e.createElementVNode("span",ce,[i[6]||(i[6]=e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-daoru","aria-hidden":"true"},null,-1)),e.createTextVNode(e.toDisplayString(e.unref(o.t)("输入参数")),1)])]),default:e.withCtx(()=>[e.createVNode(m.DebugValueTable,{rows:V.value,loading:f.value,error:n.value,"empty-text":e.unref(o.t)("暂无输入参数")},null,8,["rows","loading","error","empty-text"])]),_:1},8,["label"]),e.createVNode(N,{name:"outputs",label:e.unref(o.t)("输出结果")},{label:e.withCtx(()=>[e.createElementVNode("span",ue,[i[7]||(i[7]=e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-daochu","aria-hidden":"true"},null,-1)),e.createTextVNode(e.toDisplayString(e.unref(o.t)("输出结果")),1)])]),default:e.withCtx(()=>[e.createVNode(m.DebugValueTable,{rows:D.value,loading:f.value,error:n.value,"empty-text":e.unref(o.t)("暂无输出结果")},e.createSlots({_:2},[S.value?{name:"toolbar",fn:e.withCtx(()=>[e.createElementVNode("div",de,[i[8]||(i[8]=e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-info debug-result-tabs__mock-info","aria-hidden":"true"},null,-1)),e.createElementVNode("span",null,e.toDisplayString(e.unref(o.t)("当前为 Mock 数据")),1),e.createVNode(E,{text:"",theme:"primary",size:"small","data-test":"re-edit-mock",onClick:i[2]||(i[2]=x=>r("reEditMock"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o.t)("重新编辑")),1)]),_:1})])]),key:"0"}:void 0]),1032,["rows","loading","error","empty-text"])]),_:1},8,["label"]),e.createVNode(N,{name:"logs",label:e.unref(o.t)("调用日志")},{label:e.withCtx(()=>[e.createElementVNode("span",me,[i[9]||(i[9]=e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-rizhi","aria-hidden":"true"},null,-1)),e.createTextVNode(e.toDisplayString(e.unref(o.t)("调用日志")),1)])]),default:e.withCtx(()=>[e.createElementVNode("div",pe,[e.createVNode(m.CallLogsViewer,{"log-text":h.value,loading:t.result.logLoading,error:t.result.logError},null,8,["log-text","loading","error"])])]),_:1},8,["label"])]),_:2},[_.value&&t.canRunNodeDebug?{name:"setting",fn:e.withCtx(()=>[e.createElementVNode("div",re,[i[4]||(i[4]=e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-alert"},null,-1)),e.createElementVNode("span",null,e.toDisplayString(u.value),1),e.createVNode(E,{text:"",theme:"primary","data-test":"rerun-real",onClick:i[0]||(i[0]=x=>r("runReal"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o.t)("重新调试")),1)]),_:1}),e.createElementVNode("span",null,e.toDisplayString(e.unref(o.t)("或直接")),1),e.createVNode(E,{text:"",theme:"primary","data-test":"run-mock",onClick:i[1]||(i[1]=x=>r("runMock"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o.t)("Mock 输出")),1)]),_:1})])]),key:"0"}:void 0]),1032,["active"])])}}}),be=m._export_sfc(fe,[["__scopeId","data-v-0e5cd69b"]]),_e={class:"debug-result-drawer__header"},ve={class:"debug-result-drawer__header-left"},ge={class:"debug-result-drawer__title"},ke={class:"debug-result-drawer__body"},ye={class:"debug-result-drawer__content"},Ve={class:"debug-result-drawer__result"},we={key:1,class:"debug-result-drawer__unselected","data-test":"node-unselected"},B=44,M=420,Ee=e.defineComponent({__name:"index",props:{open:{type:Boolean},context:{},pipelineTree:{},modelValue:{default:""},result:{},hasGlobalRun:{type:Boolean,default:!1},viewParamsPending:{type:Boolean,default:!1},offsetLeft:{default:0}},emits:["update:open","update:modelValue","reEditMock","runReal","runMock","viewParams","logsTabActive"],setup(a,{emit:p}){const t=a,r=p,s=e.ref(M),c=e.ref(!1);let _=0,u=0,b="",v="";const y=e.computed(()=>({left:`${t.offsetLeft}px`,height:`${t.open?s.value:B}px`})),l=()=>{t.open||(s.value=M),r("update:open",!t.open)},d=g=>{const k=g>B;k!==t.open&&r("update:open",k)},f=g=>{const k=u-(g.clientY-_);s.value=Math.max(B,Math.min(window.innerHeight*.8,k)),d(s.value)},n=()=>{document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",n),document.body.style.cursor=b,document.body.style.userSelect=v,c.value=!1,s.value<=B&&(s.value=M,r("update:open",!1))},V=g=>{g.preventDefault(),c.value=!0,_=g.clientY,t.open?u=s.value:(r("update:open",!0),s.value=B,u=B),b=document.body.style.cursor,v=document.body.style.userSelect,document.body.style.cursor="ns-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",f),document.addEventListener("mouseup",n)};e.onBeforeUnmount(n);const D=e.computed({get:()=>t.modelValue,set:g=>r("update:modelValue",g)});e.watch(()=>t.modelValue,g=>{g||r("logsTabActive",!1)},{immediate:!0});const S=e.computed(()=>m.buildDebugResultNodeItems(t.pipelineTree,t.context?.debug_snapshot?.nodes)),h=e.computed(()=>S.value.find(g=>g.id===t.modelValue)),w=e.computed(()=>h.value?.isMock??!1),i=e.computed(()=>m.resolveDebugResultComponent(t.result.component,t.pipelineTree?.activities?.[t.modelValue]?.component,h.value)),E=e.computed(()=>m.canRunDebugNodeAction(h.value)),N=()=>{!t.hasGlobalRun||t.viewParamsPending||r("viewParams")},T=()=>{t.modelValue&&r("reEditMock",t.modelValue)},x=()=>{t.modelValue&&r("runReal",t.modelValue)},z=()=>{t.modelValue&&r("runMock",t.modelValue)};return(g,k)=>{const I=e.resolveComponent("bk-button"),P=e.resolveDirective("bk-tooltips");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["debug-result-drawer-wrapper",{"is-resizing":c.value}]),style:e.normalizeStyle(y.value)},[e.createElementVNode("div",{class:"debug-result-drawer__resize",onMousedown:V},null,32),e.createElementVNode("section",{class:e.normalizeClass(["debug-result-drawer",{"is-collapsed":!t.open}])},[e.createElementVNode("header",_e,[e.createElementVNode("div",ve,[e.createElementVNode("span",ge,e.toDisplayString(e.unref(o.t)("调试结果")),1),k[3]||(k[3]=e.createElementVNode("span",{class:"debug-result-drawer__divider"},null,-1)),e.withDirectives((e.openBlock(),e.createBlock(I,{text:"",theme:"primary",disabled:!t.hasGlobalRun,loading:t.viewParamsPending,onClick:N},{default:e.withCtx(()=>[k[2]||(k[2]=e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-audit view-params-icon"},null,-1)),e.createTextVNode(" "+e.toDisplayString(e.unref(o.t)("查看参数")),1)]),_:1},8,["disabled","loading"])),[[P,{content:e.unref(o.t)("请先进行调试"),disabled:t.hasGlobalRun}]])]),e.createElementVNode("span",{class:"debug-result-drawer__collapse",onClick:l},[e.createElementVNode("span",null,e.toDisplayString(t.open?e.unref(o.t)("收起"):e.unref(o.t)("展开")),1),e.createElementVNode("i",{class:e.normalizeClass(["bkflow-canvas-icon bkflow-canvas-arrows-down debug-result-drawer__collapse-icon",{"is-expanded":t.open}])},null,2)])]),e.createElementVNode("div",ke,[e.createElementVNode("div",ye,[e.createVNode(Z,{modelValue:D.value,"onUpdate:modelValue":k[0]||(k[0]=$=>D.value=$),nodes:S.value},null,8,["modelValue","nodes"]),e.createElementVNode("div",Ve,[t.modelValue?(e.openBlock(),e.createBlock(be,{key:0,result:t.result,component:i.value,"is-mock":w.value,"is-deleted":h.value?.isDeleted,"can-run-node-debug":E.value,onReEditMock:T,onRunReal:x,onRunMock:z,onLogsTabActive:k[1]||(k[1]=$=>r("logsTabActive",$))},null,8,["result","component","is-mock","is-deleted","can-run-node-debug"])):(e.openBlock(),e.createElementBlock("div",we,e.toDisplayString(e.unref(o.t)("请先选择节点查看调试详情")),1))])])])],2)],6)}}}),he=m._export_sfc(Ee,[["__scopeId","data-v-bbef416a"]]);exports.default=he;
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { defineComponent as A, ref as v, shallowRef as L, computed as C, watch as P, resolveComponent as _, resolveDirective as W, openBlock as r, createBlock as y, withCtx as u, withDirectives as G, createElementBlock as h, Fragment as H, renderList as K, createVNode as w, createCommentVNode as x, createElementVNode as F, createTextVNode as M, toDisplayString as b, unref as O } from "vue";
|
|
2
|
+
import "./context-Bu4mmo1Q.js";
|
|
3
|
+
import { InfoBox as Q } from "bkui-vue/lib";
|
|
4
|
+
import X from "bkui-vue/lib/message";
|
|
5
|
+
import { u as Y, c as Z, M as $, p as ee, m as te, h as oe, r as B, f as se, a as ae, _ as ne } from "./index-C6GvYaaZ.js";
|
|
6
|
+
import { t as s } from "@blueking/flow-canvas";
|
|
7
|
+
const le = { class: "mock-data-sideslider__title" }, re = {
|
|
8
|
+
key: 0,
|
|
9
|
+
class: "mock-data-sideslider__title-sep"
|
|
10
|
+
}, ce = ["title"], ie = { class: "mock-data-sideslider" }, ue = { class: "mock-data-sideslider__footer" }, de = /* @__PURE__ */ A({
|
|
11
|
+
__name: "index",
|
|
12
|
+
props: {
|
|
13
|
+
show: { type: Boolean },
|
|
14
|
+
node: { default: null },
|
|
15
|
+
outputs: { default: () => ({}) },
|
|
16
|
+
pending: { type: Boolean, default: !1 }
|
|
17
|
+
},
|
|
18
|
+
emits: ["confirm", "close", "update:show"],
|
|
19
|
+
setup(D, { emit: j }) {
|
|
20
|
+
const t = D, k = j, E = Y(), f = v(!1), d = L([]), m = v({}), g = v({}), p = v(!1), T = C(
|
|
21
|
+
() => p.value ? s("当前节点的输出不支持mock,是否需要在调试时跳过当前节点?") : s("暂无输出结果")
|
|
22
|
+
), N = C(
|
|
23
|
+
() => p.value ? s("跳过调试") : s("确定")
|
|
24
|
+
), R = async () => {
|
|
25
|
+
if (t.node) {
|
|
26
|
+
f.value = !0, g.value = {}, p.value = !1;
|
|
27
|
+
try {
|
|
28
|
+
const e = await ee(E, t.node.component);
|
|
29
|
+
d.value = te(e.outputs ?? []), p.value = oe(e.outputs);
|
|
30
|
+
const l = t.outputs ?? {}, a = {};
|
|
31
|
+
d.value.forEach((o) => {
|
|
32
|
+
const c = Object.prototype.hasOwnProperty.call(l, o.key) ? l[o.key] : o.type === "object" ? {} : void 0, n = B(o);
|
|
33
|
+
a[o.key] = n === "json-editor" || n === "data-table" ? se(c) : c;
|
|
34
|
+
}), m.value = a;
|
|
35
|
+
} catch (e) {
|
|
36
|
+
console.error(e), d.value = [], m.value = {}, p.value = !1, X({ theme: "error", message: s("加载输出结果失败") });
|
|
37
|
+
} finally {
|
|
38
|
+
f.value = !1;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}, q = () => {
|
|
42
|
+
const e = {}, l = {};
|
|
43
|
+
return d.value.forEach((a) => {
|
|
44
|
+
const o = m.value[a.key], c = B(a);
|
|
45
|
+
if (c === "json-editor" || c === "data-table") {
|
|
46
|
+
const n = ae(o);
|
|
47
|
+
if (!n.valid) {
|
|
48
|
+
e[a.key] = n.message;
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
n.value !== void 0 && (l[a.key] = n.value);
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
o !== void 0 && o !== "" && (l[a.key] = o);
|
|
55
|
+
}), { errors: e, outputs: l };
|
|
56
|
+
}, I = (e) => {
|
|
57
|
+
Q({
|
|
58
|
+
title: s("确认 Mock 输出?"),
|
|
59
|
+
content: s("Mock 输出将覆盖当前输出结果,执行时跳过该节点并以 Mock 值替代实际输出"),
|
|
60
|
+
confirmText: s("确定"),
|
|
61
|
+
cancelText: s("取消"),
|
|
62
|
+
width: 400,
|
|
63
|
+
onConfirm: () => {
|
|
64
|
+
e();
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}, J = () => {
|
|
68
|
+
if (p.value) {
|
|
69
|
+
k("confirm", { outputs: {} });
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
const { errors: e, outputs: l } = q();
|
|
73
|
+
g.value = e, !(Object.keys(e).length > 0) && I(() => k("confirm", { outputs: l }));
|
|
74
|
+
}, V = () => {
|
|
75
|
+
k("close"), k("update:show", !1);
|
|
76
|
+
};
|
|
77
|
+
return P(
|
|
78
|
+
() => [t.show, t.node?.id],
|
|
79
|
+
([e]) => {
|
|
80
|
+
e && t.node && (m.value = Z(t.outputs ?? {}), R());
|
|
81
|
+
},
|
|
82
|
+
{ immediate: !0 }
|
|
83
|
+
), (e, l) => {
|
|
84
|
+
const a = _("bk-form-item"), o = _("bk-form"), c = _("bk-exception"), n = _("bk-button"), S = _("bk-sideslider"), U = W("bkloading");
|
|
85
|
+
return r(), y(S, {
|
|
86
|
+
"is-show": t.show,
|
|
87
|
+
width: 960,
|
|
88
|
+
"quick-close": "",
|
|
89
|
+
"esc-close": !1,
|
|
90
|
+
onClosed: V
|
|
91
|
+
}, {
|
|
92
|
+
header: u(() => [
|
|
93
|
+
F("span", le, b(O(s)("Mock输出")), 1),
|
|
94
|
+
t.node?.name ? (r(), h("span", re, "-")) : x("", !0),
|
|
95
|
+
t.node?.name ? (r(), h("span", {
|
|
96
|
+
key: 1,
|
|
97
|
+
class: "mock-data-sideslider__title-node",
|
|
98
|
+
title: t.node.name
|
|
99
|
+
}, b(t.node.name), 9, ce)) : x("", !0)
|
|
100
|
+
]),
|
|
101
|
+
footer: u(() => [
|
|
102
|
+
F("div", ue, [
|
|
103
|
+
w(n, {
|
|
104
|
+
theme: "primary",
|
|
105
|
+
"data-test": "mock-confirm",
|
|
106
|
+
loading: t.pending,
|
|
107
|
+
onClick: J
|
|
108
|
+
}, {
|
|
109
|
+
default: u(() => [
|
|
110
|
+
M(b(N.value), 1)
|
|
111
|
+
]),
|
|
112
|
+
_: 1
|
|
113
|
+
}, 8, ["loading"]),
|
|
114
|
+
w(n, {
|
|
115
|
+
disabled: t.pending,
|
|
116
|
+
onClick: V
|
|
117
|
+
}, {
|
|
118
|
+
default: u(() => [
|
|
119
|
+
M(b(O(s)("取消")), 1)
|
|
120
|
+
]),
|
|
121
|
+
_: 1
|
|
122
|
+
}, 8, ["disabled"])
|
|
123
|
+
])
|
|
124
|
+
]),
|
|
125
|
+
default: u(() => [
|
|
126
|
+
G((r(), h("div", ie, [
|
|
127
|
+
d.value.length > 0 ? (r(), y(o, {
|
|
128
|
+
key: 0,
|
|
129
|
+
"form-type": "vertical",
|
|
130
|
+
"label-width": 120,
|
|
131
|
+
"data-test": "mock-outputs-form"
|
|
132
|
+
}, {
|
|
133
|
+
default: u(() => [
|
|
134
|
+
(r(!0), h(H, null, K(d.value, (i) => (r(), y(a, {
|
|
135
|
+
key: i.key,
|
|
136
|
+
label: i.name || i.key
|
|
137
|
+
}, {
|
|
138
|
+
default: u(() => [
|
|
139
|
+
w($, {
|
|
140
|
+
modelValue: m.value[i.key],
|
|
141
|
+
"onUpdate:modelValue": (z) => m.value[i.key] = z,
|
|
142
|
+
field: i,
|
|
143
|
+
error: g.value[i.key]
|
|
144
|
+
}, null, 8, ["modelValue", "onUpdate:modelValue", "field", "error"])
|
|
145
|
+
]),
|
|
146
|
+
_: 2
|
|
147
|
+
}, 1032, ["label"]))), 128))
|
|
148
|
+
]),
|
|
149
|
+
_: 1
|
|
150
|
+
})) : f.value ? x("", !0) : (r(), y(c, {
|
|
151
|
+
key: 1,
|
|
152
|
+
class: "mock-data-sideslider__exception",
|
|
153
|
+
scene: "part",
|
|
154
|
+
type: "empty",
|
|
155
|
+
title: T.value
|
|
156
|
+
}, null, 8, ["title"]))
|
|
157
|
+
])), [
|
|
158
|
+
[U, { loading: f.value }]
|
|
159
|
+
])
|
|
160
|
+
]),
|
|
161
|
+
_: 1
|
|
162
|
+
}, 8, ["is-show"]);
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
}), ye = /* @__PURE__ */ ne(de, [["__scopeId", "data-v-402876f9"]]);
|
|
166
|
+
export {
|
|
167
|
+
ye as default
|
|
168
|
+
};
|