@blueking/bkflow-canvas-editor 1.1.0-beta.11 → 1.1.0-beta.13

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.
@@ -1,8 +1,8 @@
1
- import { defineComponent as T, ref as y, shallowRef as q, watch as I, resolveComponent as m, resolveDirective as J, openBlock as l, createBlock as k, withCtx as i, withDirectives as U, createElementBlock as _, Fragment as z, renderList as A, createVNode as b, createCommentVNode as h, createElementVNode as w, createTextVNode as V, toDisplayString as L } from "vue";
1
+ import { defineComponent as T, ref as y, shallowRef as q, watch as I, resolveComponent as m, resolveDirective as J, openBlock as l, createBlock as k, withCtx as c, withDirectives as U, createElementBlock as _, Fragment as z, renderList as A, createVNode as b, createCommentVNode as h, createElementVNode as w, createTextVNode as V, toDisplayString as L } from "vue";
2
2
  import { InfoBox as P } from "bkui-vue/lib";
3
3
  import S from "bkui-vue/lib/message";
4
4
  import { cloneDeep as W } from "lodash";
5
- import { u as G, M as H, p as K, m as Q, r as x, f as X, a as Y, _ as Z } from "./index-CCwVVpg5.js";
5
+ import { u as G, M as H, p as K, m as Q, r as x, f as X, a as Y, _ as Z } from "./index-TlWjZWTn.js";
6
6
  const $ = {
7
7
  key: 0,
8
8
  class: "mock-data-sideslider__title-sep"
@@ -28,7 +28,7 @@ const $ = {
28
28
  a[s.key] = n === "json-editor" || n === "data-table" ? X(r) : r;
29
29
  }), u.value = a;
30
30
  } catch (t) {
31
- console.error(t), d.value = [], u.value = {}, S({ theme: "error", message: "加载输出参数失败" });
31
+ console.error(t), d.value = [], u.value = {}, S({ theme: "error", message: "加载输出结果失败" });
32
32
  } finally {
33
33
  p.value = !1;
34
34
  }
@@ -51,7 +51,7 @@ const $ = {
51
51
  }, j = (t) => {
52
52
  P({
53
53
  title: "确认 Mock 输出?",
54
- content: "Mock 输出将覆盖当前输出参数,执行时跳过该节点并以 Mock 值替代实际输出",
54
+ content: "Mock 输出将覆盖当前输出结果,执行时跳过该节点并以 Mock 值替代实际输出",
55
55
  confirmText: "确定",
56
56
  cancelText: "取消",
57
57
  width: 400,
@@ -75,12 +75,12 @@ const $ = {
75
75
  const a = m("bk-form-item"), s = m("bk-form"), r = m("bk-exception"), n = m("bk-button"), N = m("bk-sideslider"), O = J("bkloading");
76
76
  return l(), k(N, {
77
77
  "is-show": o.show,
78
- width: 640,
78
+ width: 960,
79
79
  "quick-close": "",
80
80
  "esc-close": !1,
81
81
  onClosed: g
82
82
  }, {
83
- header: i(() => [
83
+ header: c(() => [
84
84
  e[0] || (e[0] = w("span", { class: "mock-data-sideslider__title" }, "Mock输出", -1)),
85
85
  o.node?.name ? (l(), _("span", $, "-")) : h("", !0),
86
86
  o.node?.name ? (l(), _("span", {
@@ -89,7 +89,7 @@ const $ = {
89
89
  title: o.node.name
90
90
  }, L(o.node.name), 9, ee)) : h("", !0)
91
91
  ]),
92
- footer: i(() => [
92
+ footer: c(() => [
93
93
  w("div", te, [
94
94
  b(n, {
95
95
  theme: "primary",
@@ -97,7 +97,7 @@ const $ = {
97
97
  loading: o.pending,
98
98
  onClick: E
99
99
  }, {
100
- default: i(() => [...e[1] || (e[1] = [
100
+ default: c(() => [...e[1] || (e[1] = [
101
101
  V(" 确定 ", -1)
102
102
  ])]),
103
103
  _: 1
@@ -106,14 +106,14 @@ const $ = {
106
106
  disabled: o.pending,
107
107
  onClick: g
108
108
  }, {
109
- default: i(() => [...e[2] || (e[2] = [
109
+ default: c(() => [...e[2] || (e[2] = [
110
110
  V("取消", -1)
111
111
  ])]),
112
112
  _: 1
113
113
  }, 8, ["disabled"])
114
114
  ])
115
115
  ]),
116
- default: i(() => [
116
+ default: c(() => [
117
117
  U((l(), _("div", oe, [
118
118
  d.value.length > 0 ? (l(), k(s, {
119
119
  key: 0,
@@ -121,17 +121,17 @@ const $ = {
121
121
  "label-width": 120,
122
122
  "data-test": "mock-outputs-form"
123
123
  }, {
124
- default: i(() => [
125
- (l(!0), _(z, null, A(d.value, (c) => (l(), k(a, {
126
- key: c.key,
127
- label: c.name || c.key
124
+ default: c(() => [
125
+ (l(!0), _(z, null, A(d.value, (i) => (l(), k(a, {
126
+ key: i.key,
127
+ label: i.name || i.key
128
128
  }, {
129
- default: i(() => [
129
+ default: c(() => [
130
130
  b(H, {
131
- modelValue: u.value[c.key],
132
- "onUpdate:modelValue": (R) => u.value[c.key] = R,
133
- field: c,
134
- error: v.value[c.key]
131
+ modelValue: u.value[i.key],
132
+ "onUpdate:modelValue": (R) => u.value[i.key] = R,
133
+ field: i,
134
+ error: v.value[i.key]
135
135
  }, null, 8, ["modelValue", "onUpdate:modelValue", "field", "error"])
136
136
  ]),
137
137
  _: 2
@@ -143,7 +143,7 @@ const $ = {
143
143
  class: "mock-data-sideslider__exception",
144
144
  scene: "part",
145
145
  type: "empty",
146
- title: "暂无输出参数"
146
+ title: "暂无输出结果"
147
147
  }))
148
148
  ])), [
149
149
  [O, { loading: p.value }]
@@ -153,7 +153,7 @@ const $ = {
153
153
  }, 8, ["is-show"]);
154
154
  };
155
155
  }
156
- }), ie = /* @__PURE__ */ Z(se, [["__scopeId", "data-v-bccecd7f"]]);
156
+ }), ce = /* @__PURE__ */ Z(se, [["__scopeId", "data-v-9ded0da5"]]);
157
157
  export {
158
- ie as default
158
+ ce as default
159
159
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),B=require("bkui-vue/lib"),N=require("bkui-vue/lib/message"),E=require("lodash"),r=require("./index-DcCa3dC3.cjs"),F={key:0,class:"mock-data-sideslider__title-sep"},M=["title"],q={class:"mock-data-sideslider"},j={class:"mock-data-sideslider__footer"},D=e.defineComponent({__name:"index",props:{show:{type:Boolean},node:{default:null},outputs:{default:()=>({})},pending:{type:Boolean,default:!1}},emits:["confirm","close","update:show"],setup(v,{emit:f}){const t=v,p=f,y=r.useFlowApiConfig(),m=e.ref(!1),d=e.shallowRef([]),u=e.ref({}),k=e.ref({}),h=async()=>{if(t.node){m.value=!0,k.value={};try{const n=await r.pluginDetailRequest(y,t.node.component);d.value=r.mergeOutputs(n.outputs??[]);const o=t.outputs??{},s={};d.value.forEach(l=>{const c=Object.prototype.hasOwnProperty.call(o,l.key)?o[l.key]:l.type==="object"?{}:void 0,a=r.resolveMockFormControl(l);s[l.key]=a==="json-editor"||a==="data-table"?r.formatJsonFieldValue(c):c}),u.value=s}catch(n){console.error(n),d.value=[],u.value={},N({theme:"error",message:"加载输出参数失败"})}finally{m.value=!1}}},b=()=>{const n={},o={};return d.value.forEach(s=>{const l=u.value[s.key],c=r.resolveMockFormControl(s);if(c==="json-editor"||c==="data-table"){const a=r.parseJsonFieldValue(l);if(!a.valid){n[s.key]=a.message;return}a.value!==void 0&&(o[s.key]=a.value);return}l!==void 0&&l!==""&&(o[s.key]=l)}),{errors:n,outputs:o}},w=n=>{B.InfoBox({title:"确认 Mock 输出?",content:"Mock 输出将覆盖当前输出参数,执行时跳过该节点并以 Mock 值替代实际输出",confirmText:"确定",cancelText:"取消",width:400,onConfirm:()=>{n()}})},C=()=>{const{errors:n,outputs:o}=b();k.value=n,!(Object.keys(n).length>0)&&w(()=>p("confirm",{outputs:o}))},_=()=>{p("close"),p("update:show",!1)};return e.watch(()=>[t.show,t.node?.id],([n])=>{n&&t.node&&(u.value=E.cloneDeep(t.outputs??{}),h())},{immediate:!0}),(n,o)=>{const s=e.resolveComponent("bk-form-item"),l=e.resolveComponent("bk-form"),c=e.resolveComponent("bk-exception"),a=e.resolveComponent("bk-button"),g=e.resolveComponent("bk-sideslider"),x=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(g,{"is-show":t.show,width:640,"quick-close":"","esc-close":!1,onClosed:_},{header:e.withCtx(()=>[o[0]||(o[0]=e.createElementVNode("span",{class:"mock-data-sideslider__title"},"Mock输出",-1)),t.node?.name?(e.openBlock(),e.createElementBlock("span",F,"-")):e.createCommentVNode("",!0),t.node?.name?(e.openBlock(),e.createElementBlock("span",{key:1,class:"mock-data-sideslider__title-node",title:t.node.name},e.toDisplayString(t.node.name),9,M)):e.createCommentVNode("",!0)]),footer:e.withCtx(()=>[e.createElementVNode("div",j,[e.createVNode(a,{theme:"primary","data-test":"mock-confirm",loading:t.pending,onClick:C},{default:e.withCtx(()=>[...o[1]||(o[1]=[e.createTextVNode(" 确定 ",-1)])]),_:1},8,["loading"]),e.createVNode(a,{disabled:t.pending,onClick:_},{default:e.withCtx(()=>[...o[2]||(o[2]=[e.createTextVNode("取消",-1)])]),_:1},8,["disabled"])])]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",q,[d.value.length>0?(e.openBlock(),e.createBlock(l,{key:0,"form-type":"vertical","label-width":120,"data-test":"mock-outputs-form"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,i=>(e.openBlock(),e.createBlock(s,{key:i.key,label:i.name||i.key},{default:e.withCtx(()=>[e.createVNode(r.MockFieldRenderer,{modelValue:u.value[i.key],"onUpdate:modelValue":V=>u.value[i.key]=V,field:i,error:k.value[i.key]},null,8,["modelValue","onUpdate:modelValue","field","error"])]),_:2},1032,["label"]))),128))]),_:1})):m.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(c,{key:1,class:"mock-data-sideslider__exception",scene:"part",type:"empty",title:"暂无输出参数"}))])),[[x,{loading:m.value}]])]),_:1},8,["is-show"])}}}),O=r._export_sfc(D,[["__scopeId","data-v-bccecd7f"]]);exports.default=O;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),B=require("bkui-vue/lib"),N=require("bkui-vue/lib/message"),E=require("lodash"),r=require("./index-BtDOlbGL.cjs"),F={key:0,class:"mock-data-sideslider__title-sep"},M=["title"],q={class:"mock-data-sideslider"},j={class:"mock-data-sideslider__footer"},D=e.defineComponent({__name:"index",props:{show:{type:Boolean},node:{default:null},outputs:{default:()=>({})},pending:{type:Boolean,default:!1}},emits:["confirm","close","update:show"],setup(v,{emit:f}){const t=v,p=f,y=r.useFlowApiConfig(),m=e.ref(!1),d=e.shallowRef([]),u=e.ref({}),k=e.ref({}),h=async()=>{if(t.node){m.value=!0,k.value={};try{const n=await r.pluginDetailRequest(y,t.node.component);d.value=r.mergeOutputs(n.outputs??[]);const o=t.outputs??{},s={};d.value.forEach(l=>{const c=Object.prototype.hasOwnProperty.call(o,l.key)?o[l.key]:l.type==="object"?{}:void 0,a=r.resolveMockFormControl(l);s[l.key]=a==="json-editor"||a==="data-table"?r.formatJsonFieldValue(c):c}),u.value=s}catch(n){console.error(n),d.value=[],u.value={},N({theme:"error",message:"加载输出结果失败"})}finally{m.value=!1}}},b=()=>{const n={},o={};return d.value.forEach(s=>{const l=u.value[s.key],c=r.resolveMockFormControl(s);if(c==="json-editor"||c==="data-table"){const a=r.parseJsonFieldValue(l);if(!a.valid){n[s.key]=a.message;return}a.value!==void 0&&(o[s.key]=a.value);return}l!==void 0&&l!==""&&(o[s.key]=l)}),{errors:n,outputs:o}},w=n=>{B.InfoBox({title:"确认 Mock 输出?",content:"Mock 输出将覆盖当前输出结果,执行时跳过该节点并以 Mock 值替代实际输出",confirmText:"确定",cancelText:"取消",width:400,onConfirm:()=>{n()}})},C=()=>{const{errors:n,outputs:o}=b();k.value=n,!(Object.keys(n).length>0)&&w(()=>p("confirm",{outputs:o}))},_=()=>{p("close"),p("update:show",!1)};return e.watch(()=>[t.show,t.node?.id],([n])=>{n&&t.node&&(u.value=E.cloneDeep(t.outputs??{}),h())},{immediate:!0}),(n,o)=>{const s=e.resolveComponent("bk-form-item"),l=e.resolveComponent("bk-form"),c=e.resolveComponent("bk-exception"),a=e.resolveComponent("bk-button"),g=e.resolveComponent("bk-sideslider"),x=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(g,{"is-show":t.show,width:960,"quick-close":"","esc-close":!1,onClosed:_},{header:e.withCtx(()=>[o[0]||(o[0]=e.createElementVNode("span",{class:"mock-data-sideslider__title"},"Mock输出",-1)),t.node?.name?(e.openBlock(),e.createElementBlock("span",F,"-")):e.createCommentVNode("",!0),t.node?.name?(e.openBlock(),e.createElementBlock("span",{key:1,class:"mock-data-sideslider__title-node",title:t.node.name},e.toDisplayString(t.node.name),9,M)):e.createCommentVNode("",!0)]),footer:e.withCtx(()=>[e.createElementVNode("div",j,[e.createVNode(a,{theme:"primary","data-test":"mock-confirm",loading:t.pending,onClick:C},{default:e.withCtx(()=>[...o[1]||(o[1]=[e.createTextVNode(" 确定 ",-1)])]),_:1},8,["loading"]),e.createVNode(a,{disabled:t.pending,onClick:_},{default:e.withCtx(()=>[...o[2]||(o[2]=[e.createTextVNode("取消",-1)])]),_:1},8,["disabled"])])]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",q,[d.value.length>0?(e.openBlock(),e.createBlock(l,{key:0,"form-type":"vertical","label-width":120,"data-test":"mock-outputs-form"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,i=>(e.openBlock(),e.createBlock(s,{key:i.key,label:i.name||i.key},{default:e.withCtx(()=>[e.createVNode(r.MockFieldRenderer,{modelValue:u.value[i.key],"onUpdate:modelValue":V=>u.value[i.key]=V,field:i,error:k.value[i.key]},null,8,["modelValue","onUpdate:modelValue","field","error"])]),_:2},1032,["label"]))),128))]),_:1})):m.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(c,{key:1,class:"mock-data-sideslider__exception",scene:"part",type:"empty",title:"暂无输出结果"}))])),[[x,{loading:m.value}]])]),_:1},8,["is-show"])}}}),O=r._export_sfc(D,[["__scopeId","data-v-9ded0da5"]]);exports.default=O;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),m=require("./index-BtDOlbGL.cjs"),B=require("./composable-DTQ9yfye.cjs"),L={class:"debug-result-node-list"},P=["data-node-id","aria-selected","onClick","onKeydown"],$=["title"],A={key:0,class:"debug-result-node-list__mock","data-test":"node-mock-flag"},D={key:1,class:"debug-result-node-list__empty"},G=e.defineComponent({__name:"node-list",props:{nodes:{},modelValue:{default:""}},emits:["update:modelValue"],setup(o,{emit:u}){const t=o,s=u,l=e.ref(""),i=e.ref("all"),b=e.ref(null),f=[{value:"all",label:"全部"},{value:"finished",icon:"bkflow-canvas-dark-circle-checkbox",iconColor:"#5fb8ac"},{value:"failed",icon:"bkflow-canvas-dark-circle-close",iconColor:"#fa4e41"},{value:"running",iconComponent:m.LoadingStatusIcon,iconColor:"#3a84ff"},{value:"not_run",icon:"bkflow-canvas-weizhixing2",iconColor:"#b8bbc4"},{value:"suspended",icon:"bkflow-canvas-zanting",iconColor:"#f59500"},{value:"skipped",icon:"bkflow-canvas-tiaoguo2",iconColor:"#6e89af"}],y=e.computed(()=>f.map(c=>({...c,count:c.value==="all"?t.nodes.length:t.nodes.filter(r=>r.status===c.value).length}))),k=e.computed(()=>{const c=l.value.trim().toLowerCase();return t.nodes.filter(r=>i.value!=="all"&&r.status!==i.value?!1:c?r.name.toLowerCase().includes(c)||r.type.toLowerCase().includes(c)||(r.typeName??"").toLowerCase().includes(c):!0)}),E={not_run:"未执行",finished:"成功",failed:"失败",running:"正在调试",suspended:"挂起",skipped:"跳过"},C=e.computed(()=>l.value.trim()?"搜索结果为空":i.value!=="all"?`暂无${E[i.value]}状态节点`:"暂无节点"),V=()=>{l.value="",i.value="all"},w=c=>{const r=b.value,v=r?.querySelector(`[data-node-id="${CSS.escape(c)}"]`);if(!r||!v)return;const a=r.getBoundingClientRect(),g=v.getBoundingClientRect();g.top<a.top?r.scrollTop-=a.top-g.top:g.bottom>a.bottom&&(r.scrollTop+=g.bottom-a.bottom)};return e.watch(()=>t.modelValue,async c=>{if(!c)return;!k.value.some(v=>v.id===c)&&t.nodes.some(v=>v.id===c)&&(l.value="",i.value="all"),await e.nextTick(),w(c)},{flush:"post"}),(c,r)=>{const v=e.resolveComponent("bk-input");return e.openBlock(),e.createElementBlock("aside",L,[e.createVNode(v,{modelValue:l.value,"onUpdate:modelValue":r[0]||(r[0]=a=>l.value=a),class:"debug-result-node-list__search",placeholder:"搜索节点名称 / 类型",type:"search",clearable:"","data-test":"node-search"},null,8,["modelValue"]),e.createVNode(m.SegmentTabs,{modelValue:i.value,"onUpdate:modelValue":r[1]||(r[1]=a=>i.value=a),class:"debug-result-node-list__filters","data-test":"status-filters",items:y.value},null,8,["modelValue","items"]),k.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"itemsRef",ref:b,class:"debug-result-node-list__items",role:"listbox"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,a=>(e.openBlock(),e.createElementBlock("div",{key:a.id,class:e.normalizeClass(["debug-result-node-list__item",`is-${a.status}`,{"is-active":a.id===t.modelValue,"is-unconfigured":!a.isConfigured}]),role:"option","data-test":"node-item","data-node-id":a.id,"aria-selected":a.id===t.modelValue,tabindex:"0",onClick:g=>s("update:modelValue",a.id),onKeydown:e.withKeys(e.withModifiers(g=>s("update:modelValue",a.id),["prevent"]),["enter","space"])},[e.createElementVNode("span",{class:e.normalizeClass(["debug-result-node-list__status",`is-${a.status}`,{"is-placeholder":!a.isConfigured}])},[a.icon?(e.openBlock(),e.createElementBlock("i",{key:0,class:e.normalizeClass(a.icon),"data-test":"node-icon"},null,2)):e.createCommentVNode("",!0)],2),e.createElementVNode("span",{class:"debug-result-node-list__name",title:a.isConfigured?`${a.name} ${a.typeName||a.type}`:a.name},e.toDisplayString(a.name),9,$),a.isMock?(e.openBlock(),e.createElementBlock("span",A,"MOCK")):e.createCommentVNode("",!0)],42,P))),128))],512)):(e.openBlock(),e.createElementBlock("div",D,[e.createVNode(m.EmptyException,{"is-search":!1,title:C.value,onClear:V},null,8,["title"])]))])}}}),z=m._export_sfc(G,[["__scopeId","data-v-7938cb14"]]);function U(o){if(o==null)return"";if(typeof o=="string")return o;if(typeof o=="object"){const u=o,t=u.message;if(typeof t=="string"&&t){const s=u.type;return typeof s=="string"&&s?`${s}: ${t}`:t}try{return JSON.stringify(o)}catch{return String(o)}}return String(o)}const O={class:"debug-result-tabs"},F={class:"debug-result-tabs__failed-actions","data-test":"output-error-actions"},I={class:"debug-result-tabs__execution","data-test":"tab-execution"},j={class:"debug-result-tabs__row"},H={class:"value"},Y={class:"debug-result-tabs__row"},q={class:"value"},K={key:0,class:"debug-result-tabs__row is-error"},J={class:"value"},W={class:"debug-result-tabs__mock-hint","data-test":"mock-banner"},Q={class:"debug-result-tabs__logs","data-test":"tab-logs"},X=e.defineComponent({__name:"result-tabs",props:{result:{},component:{},isMock:{type:Boolean,default:!1},canRunNodeDebug:{type:Boolean,default:!1}},emits:["reEditMock","runReal","runMock","logsTabActive"],setup(o,{emit:u}){const t=o,s=u,l=e.ref("execution");e.watch(l,_=>s("logsTabActive",_==="logs"),{immediate:!0});const i={not_run:"未调试",running:"正在调试",finished:"成功",failed:"失败",suspended:"挂起",skipped:"跳过"},b=e.computed(()=>i[t.result.execution.status]??t.result.execution.status),f=e.computed(()=>m.formatDebugDuration(t.result.execution.durationMs)),y=e.computed(()=>U(t.result.error||t.result.execution.errorDetail)),k=e.computed(()=>t.result.execution.status==="failed"),{loading:E,error:C,visibleInputs:V,outputNameMap:w}=m.usePluginParamMeta({component:()=>t.component}),c=e.computed(()=>t.result.loading||E.value),r=e.computed(()=>t.result.detailError||C.value),v=e.computed(()=>V.value.filter(({key:_})=>Object.prototype.hasOwnProperty.call(t.result.inputs,_)).map(({key:_,name:n})=>({key:_,name:n,value:t.result.inputs[_]}))),a=e.computed(()=>m.toDebugOutputValueRows(t.result.outputs,w.value)),g=e.computed(()=>t.result.logs==null?"":m.normalizeLogText(t.result.logs));return(_,n)=>{const x=e.resolveComponent("bk-button"),N=e.resolveComponent("bk-tab-panel"),h=e.resolveComponent("bk-tab");return e.openBlock(),e.createElementBlock("div",O,[e.createVNode(h,{active:l.value,"onUpdate:active":n[3]||(n[3]=d=>l.value=d),type:"card-grid"},e.createSlots({default:e.withCtx(()=>[e.createVNode(N,{name:"execution",label:"执行信息"},{default:e.withCtx(()=>[e.createElementVNode("div",I,[e.createElementVNode("div",j,[n[9]||(n[9]=e.createElementVNode("span",{class:"label"},"执行状态",-1)),e.createElementVNode("span",H,e.toDisplayString(b.value),1)]),e.createElementVNode("div",Y,[n[10]||(n[10]=e.createElementVNode("span",{class:"label"},"调试用时",-1)),e.createElementVNode("span",q,e.toDisplayString(f.value),1)]),y.value?(e.openBlock(),e.createElementBlock("div",K,[n[11]||(n[11]=e.createElementVNode("span",{class:"label"},"错误信息",-1)),e.createElementVNode("span",J,e.toDisplayString(y.value),1)])):e.createCommentVNode("",!0)])]),_:1}),e.createVNode(N,{name:"inputs",label:"输入参数"},{default:e.withCtx(()=>[e.createVNode(m.DebugValueTable,{rows:v.value,loading:c.value,error:r.value,"empty-text":"暂无输入参数"},null,8,["rows","loading","error"])]),_:1}),e.createVNode(N,{name:"outputs",label:"输出结果"},{default:e.withCtx(()=>[e.createVNode(m.DebugValueTable,{rows:a.value,loading:c.value,error:r.value,"empty-text":"暂无输出结果"},e.createSlots({_:2},[t.isMock?{name:"toolbar",fn:e.withCtx(()=>[e.createElementVNode("div",W,[n[13]||(n[13]=e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-info debug-result-tabs__mock-info","aria-hidden":"true"},null,-1)),n[14]||(n[14]=e.createElementVNode("span",null,"当前为 Mock 数据",-1)),e.createVNode(x,{text:"",theme:"primary",size:"small","data-test":"re-edit-mock",onClick:n[2]||(n[2]=d=>s("reEditMock"))},{default:e.withCtx(()=>[...n[12]||(n[12]=[e.createTextVNode(" 重新编辑 ",-1)])]),_:1})])]),key:"0"}:void 0]),1032,["rows","loading","error"])]),_:1}),e.createVNode(N,{name:"logs",label:"调用日志"},{default:e.withCtx(()=>[e.createElementVNode("div",Q,[e.createVNode(m.CallLogsViewer,{"log-text":g.value,loading:t.result.logLoading,error:t.result.logError},null,8,["log-text","loading","error"])])]),_:1})]),_:2},[k.value&&t.canRunNodeDebug?{name:"setting",fn:e.withCtx(()=>[e.createElementVNode("div",F,[n[6]||(n[6]=e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-alert"},null,-1)),n[7]||(n[7]=e.createElementVNode("span",null,"该节点执行失败,可",-1)),e.createVNode(x,{text:"",theme:"primary","data-test":"rerun-real",onClick:n[0]||(n[0]=d=>s("runReal"))},{default:e.withCtx(()=>[...n[4]||(n[4]=[e.createTextVNode("重新调试",-1)])]),_:1}),n[8]||(n[8]=e.createElementVNode("span",null,"或直接",-1)),e.createVNode(x,{text:"",theme:"primary","data-test":"run-mock",onClick:n[1]||(n[1]=d=>s("runMock"))},{default:e.withCtx(()=>[...n[5]||(n[5]=[e.createTextVNode("Mock 输出",-1)])]),_:1})])]),key:"0"}:void 0]),1032,["active"])])}}}),Z=m._export_sfc(X,[["__scopeId","data-v-08f04010"]]),ee={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"},T={ServiceActivity:"任务节点",EmptyStartEvent:"开始节点",EmptyEndEvent:"结束节点",ExclusiveGateway:"分支网关",ParallelGateway:"并行网关",ConditionalParallelGateway:"条件并行网关",ConvergeGateway:"汇聚网关"},te=o=>!o||o.includes("bkflow-canvas-icon")?o:`bkflow-canvas-icon ${o}`;function oe(o){if(!o.component?.code)return"";if(o.component.code==="uniform_api"){const u=o.component.api_meta?.category?.name??"";return B.PLUGGIN_GROUP_FONT_CLASS_MAP[u]??B.PLUGGIN_GROUP_FONT_CLASS_MAP.bkflow}return B.PLUGGIN_GROUP_FONT_CLASS_MAP.bkflow}function ne(o,u){const t=o?.location?.find(b=>b.id===u),s=te(t?.icon??""),l=o?.activities?.[u];if(l)return{name:!!l.component?.code?l.name||t?.name||u:"节点未配置",type:l.type||"ServiceActivity",typeName:T[l.type]??"任务节点",icon:oe(l)};const i=o?.gateways?.[u];return i?{name:i.name||t?.name||T[i.type]||u,type:i.type,typeName:T[i.type]??"网关",icon:s||ee[i.type]||""}:o?.start_event?.id===u?{name:o.start_event.name||"开始",type:"EmptyStartEvent",typeName:"开始节点",icon:s||"bkflow-canvas-icon bkflow-canvas-kaishi"}:o?.end_event?.id===u?{name:o.end_event.name||"结束",type:"EmptyEndEvent",typeName:"结束节点",icon:s||"bkflow-canvas-icon bkflow-canvas-stop"}:t?{name:t.name||u,type:t.type||"",typeName:"",icon:s}:{name:u,type:"",typeName:"",icon:""}}function ae(o,u,t=new Set){if(!o)return[];const s=new Map((u??[]).map(l=>[l.node_id,m.normalizeDebugNodeStatus(l.status)]));return m.sortPipelineNodeIds(o).map(l=>{const i=o.activities?.[l],b=i?!!i.component?.code:!0,f=ne(o,l);return{id:l,name:f.name,type:f.type||i?.type||"",typeName:f.typeName,icon:f.icon,status:s.get(l)??"not_run",isMock:!!(i&&t.has(l)),isConfigured:b}})}const le={class:"debug-result-drawer__header"},se={class:"debug-result-drawer__header-left"},ie={class:"debug-result-drawer__body"},re={class:"debug-result-drawer__content"},ue={class:"debug-result-drawer__result"},ce={key:1,class:"debug-result-drawer__unselected","data-test":"node-unselected"},de=44,me=e.defineComponent({__name:"index",props:{open:{type:Boolean},context:{},pipelineTree:{},mockNodeIds:{},modelValue:{default:""},result:{},hasGlobalRun:{type:Boolean,default:!1},viewParamsPending:{type:Boolean,default:!1}},emits:["update:open","update:modelValue","reEditMock","runReal","runMock","viewParams","logsTabActive"],setup(o,{emit:u}){const t=o,s=u,l=e.ref(420),i=e.ref(!1);let b=0,f=0,y="",k="";const E=e.computed(()=>({height:`${t.open?l.value:de}px`})),C=()=>{s("update:open",!t.open)},V=d=>{const p=f-(d.clientY-b);l.value=Math.max(200,Math.min(window.innerHeight*.8,p))},w=()=>{document.removeEventListener("mousemove",V),document.removeEventListener("mouseup",w),document.body.style.cursor=y,document.body.style.userSelect=k,i.value=!1},c=d=>{d.preventDefault(),i.value=!0,b=d.clientY,f=l.value,y=document.body.style.cursor,k=document.body.style.userSelect,document.body.style.cursor="ns-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",V),document.addEventListener("mouseup",w)};e.onBeforeUnmount(w);const r=e.computed({get:()=>t.modelValue,set:d=>s("update:modelValue",d)});e.watch(()=>t.modelValue,d=>{d||s("logsTabActive",!1)},{immediate:!0});const v=e.computed(()=>ae(t.pipelineTree,t.context?.nodes,t.mockNodeIds)),a=e.computed(()=>t.mockNodeIds.has(t.modelValue)),g=e.computed(()=>t.pipelineTree?.activities?.[t.modelValue]?.component),_=e.computed(()=>{const d=v.value.find(p=>p.id===t.modelValue);return d?.type==="ServiceActivity"&&d.isConfigured}),n=()=>{!t.hasGlobalRun||t.viewParamsPending||s("viewParams")},x=()=>{t.modelValue&&s("reEditMock",t.modelValue)},N=()=>{t.modelValue&&s("runReal",t.modelValue)},h=()=>{t.modelValue&&s("runMock",t.modelValue)};return(d,p)=>{const M=e.resolveComponent("bk-button"),R=e.resolveDirective("bk-tooltips");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["debug-result-drawer-wrapper",{"is-resizing":i.value}]),style:e.normalizeStyle(E.value)},[t.open?(e.openBlock(),e.createElementBlock("div",{key:0,class:"debug-result-drawer__resize",onMousedown:c},null,32)):e.createCommentVNode("",!0),e.createElementVNode("section",{class:e.normalizeClass(["debug-result-drawer",{"is-collapsed":!t.open}])},[e.createElementVNode("header",le,[e.createElementVNode("div",se,[p[3]||(p[3]=e.createElementVNode("span",{class:"debug-result-drawer__title"},"调试结果",-1)),p[4]||(p[4]=e.createElementVNode("span",{class:"debug-result-drawer__divider"},null,-1)),e.withDirectives((e.openBlock(),e.createBlock(M,{text:"",theme:"primary",disabled:!t.hasGlobalRun,loading:t.viewParamsPending,onClick:n},{default:e.withCtx(()=>[...p[2]||(p[2]=[e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-audit view-params-icon"},null,-1),e.createTextVNode(" 查看参数 ",-1)])]),_:1},8,["disabled","loading"])),[[R,{content:"请先进行调试",disabled:t.hasGlobalRun}]])]),e.createElementVNode("span",{class:"debug-result-drawer__collapse",onClick:C},[e.createElementVNode("span",null,e.toDisplayString(t.open?"收起":"展开"),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",ie,[e.createElementVNode("div",re,[e.createVNode(z,{modelValue:r.value,"onUpdate:modelValue":p[0]||(p[0]=S=>r.value=S),nodes:v.value},null,8,["modelValue","nodes"]),e.createElementVNode("div",ue,[t.modelValue?(e.openBlock(),e.createBlock(Z,{key:0,result:t.result,component:g.value,"is-mock":a.value,"can-run-node-debug":_.value,onReEditMock:x,onRunReal:N,onRunMock:h,onLogsTabActive:p[1]||(p[1]=S=>s("logsTabActive",S))},null,8,["result","component","is-mock","can-run-node-debug"])):(e.openBlock(),e.createElementBlock("div",ce," 请先选择节点查看调试详情 "))])])])],2)],6)}}}),pe=m._export_sfc(me,[["__scopeId","data-v-db53cea8"]]);exports.default=pe;