@blueking/bkflow-canvas-editor 1.1.0-beta.8 → 1.2.0-beta.0
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 +14 -8
- package/dist/advanced.cjs.js +1 -1
- package/dist/advanced.d.ts +64 -35
- package/dist/advanced.esm.js +5 -3
- package/dist/context-B9wWQx6k.cjs +1 -0
- package/dist/{composable-Cf47ka9M.js → context-CVSZiSc9.js} +402 -350
- package/dist/index-Ac8oJo2D.js +512 -0
- package/dist/index-B0bs5G6n.cjs +1 -0
- package/dist/index-BUBxGOMp.cjs +74 -0
- package/dist/index-C5XXJX1_.cjs +1 -0
- package/dist/index-D_PNC9EL.cjs +1 -0
- package/dist/index-Ddt7hVPG.js +162 -0
- package/dist/index-FsDBMpW4.js +50941 -0
- package/dist/index-GVGs8lwh.js +234 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.d.ts +258 -55
- package/dist/index.esm.js +28 -28
- package/dist/style.css +1 -1
- package/package.json +2 -3
- package/dist/composable-YlUVct40.cjs +0 -1
- package/dist/index-BL3fS0Jt.js +0 -159
- package/dist/index-CC5gBhZo.cjs +0 -70
- package/dist/index-Cr1IApLI.cjs +0 -1
- package/dist/index-D2oS_A8g.cjs +0 -1
- package/dist/index-DhEdmFv2.js +0 -46969
- package/dist/index-Z3twZd2j.js +0 -502
- package/dist/index-aTwexVNR.js +0 -178
- package/dist/index-j1ZMdQyf.cjs +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),M=require("bkui-vue/lib"),N=require("bkui-vue/lib/message"),s=require("./index-BUBxGOMp.cjs"),O={key:0,class:"mock-data-sideslider__title-sep"},F=["title"],S={class:"mock-data-sideslider"},D={class:"mock-data-sideslider__footer"},j="当前节点的输出不支持mock,是否需要在调试时跳过当前节点?",q="跳过调试",Y=e.defineComponent({__name:"index",props:{show:{type:Boolean},node:{default:null},outputs:{default:()=>({})},pending:{type:Boolean,default:!1}},emits:["confirm","close","update:show"],setup(f,{emit:y}){const o=f,p=y,h=s.useFlowApiConfig(),k=e.ref(!1),u=e.shallowRef([]),d=e.ref({}),_=e.ref({}),m=e.ref(!1),b=e.computed(()=>m.value?j:"暂无输出结果"),C=e.computed(()=>m.value?q:"确定"),w=async()=>{if(o.node){k.value=!0,_.value={},m.value=!1;try{const t=await s.pluginDetailRequest(h,o.node.component);u.value=s.mergeOutputs(t.outputs??[]),m.value=s.hasOnlySystemOutputs(t.outputs);const n=o.outputs??{},a={};u.value.forEach(l=>{const c=Object.prototype.hasOwnProperty.call(n,l.key)?n[l.key]:l.type==="object"?{}:void 0,r=s.resolveMockFormControl(l);a[l.key]=r==="json-editor"||r==="data-table"?s.formatJsonFieldValue(c):c}),d.value=a}catch(t){console.error(t),u.value=[],d.value={},m.value=!1,N({theme:"error",message:"加载输出结果失败"})}finally{k.value=!1}}},g=()=>{const t={},n={};return u.value.forEach(a=>{const l=d.value[a.key],c=s.resolveMockFormControl(a);if(c==="json-editor"||c==="data-table"){const r=s.parseJsonFieldValue(l);if(!r.valid){t[a.key]=r.message;return}r.value!==void 0&&(n[a.key]=r.value);return}l!==void 0&&l!==""&&(n[a.key]=l)}),{errors:t,outputs:n}},x=t=>{M.InfoBox({title:"确认 Mock 输出?",content:"Mock 输出将覆盖当前输出结果,执行时跳过该节点并以 Mock 值替代实际输出",confirmText:"确定",cancelText:"取消",width:400,onConfirm:()=>{t()}})},V=()=>{if(m.value){p("confirm",{outputs:{}});return}const{errors:t,outputs:n}=g();_.value=t,!(Object.keys(t).length>0)&&x(()=>p("confirm",{outputs:n}))},v=()=>{p("close"),p("update:show",!1)};return e.watch(()=>[o.show,o.node?.id],([t])=>{t&&o.node&&(d.value=s.cloneDeep(o.outputs??{}),w())},{immediate:!0}),(t,n)=>{const a=e.resolveComponent("bk-form-item"),l=e.resolveComponent("bk-form"),c=e.resolveComponent("bk-exception"),r=e.resolveComponent("bk-button"),B=e.resolveComponent("bk-sideslider"),E=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(B,{"is-show":o.show,width:960,"quick-close":"","esc-close":!1,onClosed:v},{header:e.withCtx(()=>[n[0]||(n[0]=e.createElementVNode("span",{class:"mock-data-sideslider__title"},"Mock输出",-1)),o.node?.name?(e.openBlock(),e.createElementBlock("span",O,"-")):e.createCommentVNode("",!0),o.node?.name?(e.openBlock(),e.createElementBlock("span",{key:1,class:"mock-data-sideslider__title-node",title:o.node.name},e.toDisplayString(o.node.name),9,F)):e.createCommentVNode("",!0)]),footer:e.withCtx(()=>[e.createElementVNode("div",D,[e.createVNode(r,{theme:"primary","data-test":"mock-confirm",loading:o.pending,onClick:V},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(C.value),1)]),_:1},8,["loading"]),e.createVNode(r,{disabled:o.pending,onClick:v},{default:e.withCtx(()=>[...n[1]||(n[1]=[e.createTextVNode("取消",-1)])]),_:1},8,["disabled"])])]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",S,[u.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(u.value,i=>(e.openBlock(),e.createBlock(a,{key:i.key,label:i.name||i.key},{default:e.withCtx(()=>[e.createVNode(s.MockFieldRenderer,{modelValue:d.value[i.key],"onUpdate:modelValue":T=>d.value[i.key]=T,field:i,error:_.value[i.key]},null,8,["modelValue","onUpdate:modelValue","field","error"])]),_:2},1032,["label"]))),128))]),_:1})):k.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(c,{key:1,class:"mock-data-sideslider__exception",scene:"part",type:"empty",title:b.value},null,8,["title"]))])),[[E,{loading:k.value}]])]),_:1},8,["is-show"])}}}),I=s._export_sfc(Y,[["__scopeId","data-v-c4e2476a"]]);exports.default=I;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),s=require("./index-BUBxGOMp.cjs");require("bkui-vue/lib/message");require("bkui-vue/lib/icon");require("monaco-editor");const N={string:"input",text:"input",textarea:"textarea",int:"input",integer:"input",number:"input",float:"input",json:"json",object:"json",array:"array",list:"array",select:"select",time:"timepicker",datetime:"timepicker"},h=l=>l.replace(/^\$\{(.+)\}$/,"$1"),g=l=>`\${${h(l)}}`;function F(l,c){const a=g(l.key),n=c?s.cloneDeep(c):{},d=l.custom_type??n.custom_type??N[l.type]??"input";return{...n,key:a,name:l.name??n.name??h(l.key),custom_type:d,desc:n.desc??"",index:n.index??0,show_type:"show",source_info:n.source_info??{},source_tag:n.source_tag??"",source_type:n.source_type??"custom",validation:n.validation??"",value:l.default??n.value,meta:{...n.meta??{},required:l.required??n.meta?.required??!1}}}function D(l,c={}){if(!l)return{};const a=l.constants;return a&&Object.keys(a).length>0?{...a}:Array.isArray(l.fields)&&l.fields.length>0?l.fields.reduce((n,d)=>{const r=g(d.key);return n[r]=F(d,c[r]),n},{}):{}}const j={class:"global-debug-input"},q={key:0,class:"global-debug-input__params","data-test":"input-params"},R={key:0},L=["title"],O={class:"col-value"},T={key:1,class:"global-debug-input__value"},I={key:1,class:"form-params-wrapper"},P={class:"sideslider-footer-buttons"},$=e.defineComponent({__name:"index",props:{show:{type:Boolean},schema:{},pipelineConstants:{default:()=>({})},initialValues:{default:()=>({})},pending:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1}},emits:["confirm","close","update:show"],setup(l,{emit:c}){const a=l,n=c,d=s.useFlowApiConfig(),r=e.ref({}),p=e.shallowRef([]),m=e.shallowRef([]),f=e.shallowRef(!1),y=e.ref(),v=e.ref(),k=e.computed(()=>p.value.filter(t=>s.isBuiltinUsageVariable(t))),V=e.computed(()=>k.value.length>0||m.value.length>0),b=e.computed(()=>[...p.value].sort((t,o)=>(t.index??0)-(o.index??0)).map(t=>{const o=Object.prototype.hasOwnProperty.call(r.value,t.key)?r.value[t.key]:t.value;return{key:t.key,name:t.name||t.key,value:o,display:s.formatDebugValue(o),isComplex:s.isComplexDebugValue(o)}}));e.watch(()=>a.show,t=>{t&&(r.value=s.cloneDeep(a.initialValues??{}),w())});const w=async()=>{const t=D(a.schema,a.pipelineConstants),o=Object.values(t).filter(i=>typeof i=="object"&&i!==null&&i.show_type==="show");if(p.value=o,a.readonly||Object.keys(t).length<1){m.value=[];return}f.value=!0;try{m.value=await s.getInputFormsFromConstants(d,t)}catch(i){console.error("Failed to build debug input forms from schema:",i),m.value=[]}finally{f.value=!1}},B=t=>{r.value={...r.value,...s.cloneDeep(t)}},C=async()=>{const[t,o]=await Promise.all([Promise.resolve(typeof v.value?.validate=="function"?v.value.validate():!0),Promise.resolve(typeof y.value?.validate=="function"?y.value.validate():!0)]);!t||!o||n("confirm",s.cloneDeep(r.value))},_=()=>{n("close"),n("update:show",!1)};return(t,o)=>{const i=e.resolveComponent("bk-button"),x=e.resolveComponent("bk-sideslider"),E=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(x,{title:"调试参数","is-show":a.show,width:960,"quick-close":!0,"esc-close":!1,onClosed:_},e.createSlots({default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",j,[a.readonly?(e.openBlock(),e.createElementBlock("table",q,[o[2]||(o[2]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",{class:"col-name"},"参数名"),e.createElementVNode("th",{class:"col-value"},"参数值")])],-1)),e.createElementVNode("tbody",null,[b.value.length===0?(e.openBlock(),e.createElementBlock("tr",R,[...o[1]||(o[1]=[e.createElementVNode("td",{class:"global-debug-input__empty",colspan:"2"},"暂无参数",-1)])])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,u=>(e.openBlock(),e.createElementBlock("tr",{key:u.key,"data-test":"input-row"},[e.createElementVNode("td",{class:"col-name",title:u.key},e.toDisplayString(u.name),9,L),e.createElementVNode("td",O,[u.isComplex?(e.openBlock(),e.createBlock(s.DebugJsonViewer,{key:0,value:u.value,"data-test":"json-viewer"},null,8,["value"])):(e.openBlock(),e.createElementBlock("pre",T,e.toDisplayString(u.display),1))])]))),128))])])):(e.openBlock(),e.createElementBlock("div",I,[k.value.length>0?(e.openBlock(),e.createBlock(e.unref(s.BuiltinVariableUsageForm),{key:0,ref_key:"builtinVariableFormRef",ref:v,modelValue:r.value,"onUpdate:modelValue":o[0]||(o[0]=u=>r.value=u),variables:k.value},null,8,["modelValue","variables"])):e.createCommentVNode("",!0),m.value.length>0?(e.openBlock(),e.createBlock(s.RenderForm,{key:1,ref_key:"renderFormRef",ref:y,scheme:m.value,editable:"","form-option":{showRequired:!0,showGroup:!0,showLabel:!1,showHook:!1,showDesc:!0,formEdit:!0},"form-data":r.value,onChange:B},null,8,["scheme","form-data"])):e.createCommentVNode("",!0),V.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(s.EmptyException,{key:2,title:"暂无参数"}))]))])),[[E,{loading:f.value}]])]),_:2},[a.readonly?void 0:{name:"footer",fn:e.withCtx(()=>[e.createElementVNode("div",P,[e.createVNode(i,{theme:"primary","data-test":"save-and-run",loading:a.pending,onClick:C},{default:e.withCtx(()=>[...o[3]||(o[3]=[e.createTextVNode(" 保存并执行 ",-1)])]),_:1},8,["loading"]),e.createVNode(i,{disabled:a.pending,onClick:_},{default:e.withCtx(()=>[...o[4]||(o[4]=[e.createTextVNode("取消",-1)])]),_:1},8,["disabled"])])]),key:"0"}]),1032,["is-show"])}}}),S=s._export_sfc($,[["__scopeId","data-v-01a33593"]]);exports.default=S;
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { defineComponent as q, ref as f, shallowRef as J, computed as x, watch as P, resolveComponent as p, resolveDirective as U, openBlock as l, createBlock as v, withCtx as i, withDirectives as z, createElementBlock as y, Fragment as A, renderList as W, createVNode as b, createCommentVNode as g, createElementVNode as V, createTextVNode as C, toDisplayString as M } from "vue";
|
|
2
|
+
import { InfoBox as X } from "bkui-vue/lib";
|
|
3
|
+
import G from "bkui-vue/lib/message";
|
|
4
|
+
import { u as H, c as K, M as Q, p as Z, m as $, h as ee, r as T, f as te, a as oe, _ as se } from "./index-FsDBMpW4.js";
|
|
5
|
+
const ae = {
|
|
6
|
+
key: 0,
|
|
7
|
+
class: "mock-data-sideslider__title-sep"
|
|
8
|
+
}, ne = ["title"], le = { class: "mock-data-sideslider" }, re = { class: "mock-data-sideslider__footer" }, ce = "当前节点的输出不支持mock,是否需要在调试时跳过当前节点?", ie = "跳过调试", ue = /* @__PURE__ */ q({
|
|
9
|
+
__name: "index",
|
|
10
|
+
props: {
|
|
11
|
+
show: { type: Boolean },
|
|
12
|
+
node: { default: null },
|
|
13
|
+
outputs: { default: () => ({}) },
|
|
14
|
+
pending: { type: Boolean, default: !1 }
|
|
15
|
+
},
|
|
16
|
+
emits: ["confirm", "close", "update:show"],
|
|
17
|
+
setup(O, { emit: E }) {
|
|
18
|
+
const t = O, _ = E, F = H(), k = f(!1), u = J([]), d = f({}), h = f({}), m = f(!1), B = x(() => m.value ? ce : "暂无输出结果"), N = x(() => m.value ? ie : "确定"), D = async () => {
|
|
19
|
+
if (t.node) {
|
|
20
|
+
k.value = !0, h.value = {}, m.value = !1;
|
|
21
|
+
try {
|
|
22
|
+
const e = await Z(F, t.node.component);
|
|
23
|
+
u.value = $(e.outputs ?? []), m.value = ee(e.outputs);
|
|
24
|
+
const o = t.outputs ?? {}, a = {};
|
|
25
|
+
u.value.forEach((s) => {
|
|
26
|
+
const r = Object.prototype.hasOwnProperty.call(o, s.key) ? o[s.key] : s.type === "object" ? {} : void 0, n = T(s);
|
|
27
|
+
a[s.key] = n === "json-editor" || n === "data-table" ? te(r) : r;
|
|
28
|
+
}), d.value = a;
|
|
29
|
+
} catch (e) {
|
|
30
|
+
console.error(e), u.value = [], d.value = {}, m.value = !1, G({ theme: "error", message: "加载输出结果失败" });
|
|
31
|
+
} finally {
|
|
32
|
+
k.value = !1;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}, S = () => {
|
|
36
|
+
const e = {}, o = {};
|
|
37
|
+
return u.value.forEach((a) => {
|
|
38
|
+
const s = d.value[a.key], r = T(a);
|
|
39
|
+
if (r === "json-editor" || r === "data-table") {
|
|
40
|
+
const n = oe(s);
|
|
41
|
+
if (!n.valid) {
|
|
42
|
+
e[a.key] = n.message;
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
n.value !== void 0 && (o[a.key] = n.value);
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
s !== void 0 && s !== "" && (o[a.key] = s);
|
|
49
|
+
}), { errors: e, outputs: o };
|
|
50
|
+
}, j = (e) => {
|
|
51
|
+
X({
|
|
52
|
+
title: "确认 Mock 输出?",
|
|
53
|
+
content: "Mock 输出将覆盖当前输出结果,执行时跳过该节点并以 Mock 值替代实际输出",
|
|
54
|
+
confirmText: "确定",
|
|
55
|
+
cancelText: "取消",
|
|
56
|
+
width: 400,
|
|
57
|
+
onConfirm: () => {
|
|
58
|
+
e();
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}, Y = () => {
|
|
62
|
+
if (m.value) {
|
|
63
|
+
_("confirm", { outputs: {} });
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
const { errors: e, outputs: o } = S();
|
|
67
|
+
h.value = e, !(Object.keys(e).length > 0) && j(() => _("confirm", { outputs: o }));
|
|
68
|
+
}, w = () => {
|
|
69
|
+
_("close"), _("update:show", !1);
|
|
70
|
+
};
|
|
71
|
+
return P(
|
|
72
|
+
() => [t.show, t.node?.id],
|
|
73
|
+
([e]) => {
|
|
74
|
+
e && t.node && (d.value = K(t.outputs ?? {}), D());
|
|
75
|
+
},
|
|
76
|
+
{ immediate: !0 }
|
|
77
|
+
), (e, o) => {
|
|
78
|
+
const a = p("bk-form-item"), s = p("bk-form"), r = p("bk-exception"), n = p("bk-button"), I = p("bk-sideslider"), L = U("bkloading");
|
|
79
|
+
return l(), v(I, {
|
|
80
|
+
"is-show": t.show,
|
|
81
|
+
width: 960,
|
|
82
|
+
"quick-close": "",
|
|
83
|
+
"esc-close": !1,
|
|
84
|
+
onClosed: w
|
|
85
|
+
}, {
|
|
86
|
+
header: i(() => [
|
|
87
|
+
o[0] || (o[0] = V("span", { class: "mock-data-sideslider__title" }, "Mock输出", -1)),
|
|
88
|
+
t.node?.name ? (l(), y("span", ae, "-")) : g("", !0),
|
|
89
|
+
t.node?.name ? (l(), y("span", {
|
|
90
|
+
key: 1,
|
|
91
|
+
class: "mock-data-sideslider__title-node",
|
|
92
|
+
title: t.node.name
|
|
93
|
+
}, M(t.node.name), 9, ne)) : g("", !0)
|
|
94
|
+
]),
|
|
95
|
+
footer: i(() => [
|
|
96
|
+
V("div", re, [
|
|
97
|
+
b(n, {
|
|
98
|
+
theme: "primary",
|
|
99
|
+
"data-test": "mock-confirm",
|
|
100
|
+
loading: t.pending,
|
|
101
|
+
onClick: Y
|
|
102
|
+
}, {
|
|
103
|
+
default: i(() => [
|
|
104
|
+
C(M(N.value), 1)
|
|
105
|
+
]),
|
|
106
|
+
_: 1
|
|
107
|
+
}, 8, ["loading"]),
|
|
108
|
+
b(n, {
|
|
109
|
+
disabled: t.pending,
|
|
110
|
+
onClick: w
|
|
111
|
+
}, {
|
|
112
|
+
default: i(() => [...o[1] || (o[1] = [
|
|
113
|
+
C("取消", -1)
|
|
114
|
+
])]),
|
|
115
|
+
_: 1
|
|
116
|
+
}, 8, ["disabled"])
|
|
117
|
+
])
|
|
118
|
+
]),
|
|
119
|
+
default: i(() => [
|
|
120
|
+
z((l(), y("div", le, [
|
|
121
|
+
u.value.length > 0 ? (l(), v(s, {
|
|
122
|
+
key: 0,
|
|
123
|
+
"form-type": "vertical",
|
|
124
|
+
"label-width": 120,
|
|
125
|
+
"data-test": "mock-outputs-form"
|
|
126
|
+
}, {
|
|
127
|
+
default: i(() => [
|
|
128
|
+
(l(!0), y(A, null, W(u.value, (c) => (l(), v(a, {
|
|
129
|
+
key: c.key,
|
|
130
|
+
label: c.name || c.key
|
|
131
|
+
}, {
|
|
132
|
+
default: i(() => [
|
|
133
|
+
b(Q, {
|
|
134
|
+
modelValue: d.value[c.key],
|
|
135
|
+
"onUpdate:modelValue": (R) => d.value[c.key] = R,
|
|
136
|
+
field: c,
|
|
137
|
+
error: h.value[c.key]
|
|
138
|
+
}, null, 8, ["modelValue", "onUpdate:modelValue", "field", "error"])
|
|
139
|
+
]),
|
|
140
|
+
_: 2
|
|
141
|
+
}, 1032, ["label"]))), 128))
|
|
142
|
+
]),
|
|
143
|
+
_: 1
|
|
144
|
+
})) : k.value ? g("", !0) : (l(), v(r, {
|
|
145
|
+
key: 1,
|
|
146
|
+
class: "mock-data-sideslider__exception",
|
|
147
|
+
scene: "part",
|
|
148
|
+
type: "empty",
|
|
149
|
+
title: B.value
|
|
150
|
+
}, null, 8, ["title"]))
|
|
151
|
+
])), [
|
|
152
|
+
[L, { loading: k.value }]
|
|
153
|
+
])
|
|
154
|
+
]),
|
|
155
|
+
_: 1
|
|
156
|
+
}, 8, ["is-show"]);
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
}), ke = /* @__PURE__ */ se(ue, [["__scopeId", "data-v-c4e2476a"]]);
|
|
160
|
+
export {
|
|
161
|
+
ke as default
|
|
162
|
+
};
|