@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.
Files changed (46) hide show
  1. package/README.md +41 -1
  2. package/dist/advanced.cjs.js +1 -1
  3. package/dist/advanced.d.ts +22 -1
  4. package/dist/advanced.esm.js +1 -1
  5. package/dist/bkflow-canvas-editor_false-B70uLuHL.cjs +1 -0
  6. package/dist/bkflow-canvas-editor_false-BlC281Zg.cjs +1 -0
  7. package/dist/bkflow-canvas-editor_false-Casww7p4.js +5 -0
  8. package/dist/bkflow-canvas-editor_false-i9G8sqQi.js +5 -0
  9. package/dist/context-Bu4mmo1Q.js +1593 -0
  10. package/dist/context-bUpcrt8M.cjs +6 -0
  11. package/dist/index-6CPWCz1N.js +73 -0
  12. package/dist/index-B4WlyPEO.js +137 -0
  13. package/dist/index-BXZHH8Ln.cjs +1 -0
  14. package/dist/index-C00vjLvy.cjs +1 -0
  15. package/dist/index-C3SSol-o.cjs +1 -0
  16. package/dist/{index-DEh6TdMZ.js → index-C6GvYaaZ.js} +28954 -29516
  17. package/dist/index-CLDSwZdp.cjs +1 -0
  18. package/dist/index-Ccgesfqb.cjs +1 -0
  19. package/dist/index-CtWdE3YX.js +168 -0
  20. package/dist/index-DHbrXUGr.cjs +82 -0
  21. package/dist/index-DMdSXWeW.js +647 -0
  22. package/dist/index-D_66gxri.js +127 -0
  23. package/dist/index-DaSKNurc.cjs +2 -0
  24. package/dist/index-IVfkTKAV.js +236 -0
  25. package/dist/index.cjs.js +1 -1
  26. package/dist/index.d.ts +47 -2
  27. package/dist/index.esm.js +42 -33
  28. package/dist/style.css +1 -1
  29. package/package.json +2 -2
  30. package/dist/context-CGIQsuRc.cjs +0 -1
  31. package/dist/context-Ce_Xpx5d.js +0 -724
  32. package/dist/index-B1K53ttM.cjs +0 -1
  33. package/dist/index-B5-BwbW-.js +0 -607
  34. package/dist/index-B7cHQkaD.cjs +0 -2
  35. package/dist/index-BhOE6_v7.cjs +0 -1
  36. package/dist/index-BiOM182-.js +0 -135
  37. package/dist/index-Bit4HgBF.cjs +0 -82
  38. package/dist/index-CLiOiJR2.js +0 -125
  39. package/dist/index-CbEGVZdT.cjs +0 -1
  40. package/dist/index-DVeWB2dR.js +0 -73
  41. package/dist/index-DjIpWxVu.cjs +0 -1
  42. package/dist/index-Dmx7sjvz.cjs +0 -1
  43. package/dist/index-DubPNExB.js +0 -234
  44. package/dist/index-sEixnRd3.js +0 -162
  45. package/dist/index.es.min-BpHMrg2Y.cjs +0 -2
  46. package/dist/index.es.min-DYp0DL9J.js +0 -3543
@@ -0,0 +1,127 @@
1
+ import { defineComponent as x, reactive as M, ref as y, watch as v, resolveComponent as m, openBlock as g, createBlock as B, withCtx as p, createElementVNode as e, unref as t, toDisplayString as i, normalizeClass as D, createTextVNode as u, createVNode as d, createElementBlock as N, createCommentVNode as F } from "vue";
2
+ import "./context-Bu4mmo1Q.js";
3
+ import { t as l } from "@blueking/flow-canvas";
4
+ import { _ as H } from "./index-C6GvYaaZ.js";
5
+ const I = "data:image/svg+xml,%3csvg%20width='48'%20height='48'%20viewBox='0%200%2048%2048'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M47.3922%202.00779L47.193%200.806571L45.9918%200.607344C35.1926%20-1.7951%2023.3914%203.00979%2014.397%2013.604C9.79721%2013.4048%205.79512%2015.0044%201.99812%2018.403L0%2020.2019L10.4007%2026.9991C9.00031%2029.4015%209.80307%2032.9994%2012.3989%2035.601C15.0005%2038.0035%2018.5983%2038.9996%2021.0007%2037.5992L27.7978%2048L29.3975%2046.2011C32.9953%2042.199%2034.5949%2038.4019%2034.3957%2033.6029C44.9957%2024.4033%2049.7947%2012.602%2047.3922%202.00779ZM33.0832%2031.6927L31.5304%2033.0228V35.2436C31.753%2038.5719%2030.1358%2040.9391%2028.3603%2043.5994L21.7097%2033.6205L18.4635%2035.3022C17.5787%2035.7475%2015.5806%2035.3022%2014.0278%2033.7494C12.2524%2032.1966%2012.0297%2030.2043%2012.475%2029.5363L14.1685%2026.3018L4.41226%2019.6511C7.07251%2017.8757%209.73275%2016.6862%2012.8383%2016.6862H14.8364L16.3892%2014.9107C24.8153%204.93175%2035.9016%200.572186%2045.6637%202.12499C47.2165%2011.8871%2042.8394%2023.2665%2033.0832%2031.6927Z'%20fill='%23DCDEE5'/%3e%3cpath%20d='M41.6673%205.44539C35.3228%204.41268%2024.824%2010.6861%2019.3428%2017.3334L18.3346%2018.5145H17.0367C15.0204%2018.5145%2013.288%2019.3039%2011.5556%2020.4909L17.9001%2024.9244L16.7992%2027.0788C16.5095%2027.524%2016.6543%2028.8534%2017.8074%2029.8862C18.8155%2030.9189%2020.1134%2031.2156%2020.6928%2030.9189L22.8018%2029.7971L27.13%2036.4444C28.283%2034.6698%2029.3318%2033.0911%2029.1869%2030.8773V29.3995L30.1951%2028.5151C36.5454%2022.9005%2042.6813%2011.9503%2041.6673%205.44539Z'%20fill='%23A3C5FD'/%3e%3cpath%20d='M8.59356%2037.5135C7.21124%2038.9237%206.22222%2043.5556%206.22222%2043.5556C6.22222%2043.5556%2010.5658%2042.7472%2012.1448%2041.1364C13.3304%2039.9268%2013.5271%2038.1153%2012.7347%2037.1063C11.5548%2036.1033%209.77922%2036.3098%208.59356%2037.5135ZM32.7812%2013.8467C31.6129%2013.1622%2030.1785%2013.1622%2029.016%2013.8467C27.8476%2014.5311%2027.1305%2015.7997%2027.1305%2017.1745C27.1305%2018.5494%2027.8476%2019.818%2029.016%2020.5024C30.1785%2021.1869%2031.6186%2021.1869%2032.7812%2020.5024C33.9495%2019.818%2034.6667%2018.5494%2034.6667%2017.1745C34.6667%2015.8056%2033.9495%2014.537%2032.7812%2013.8467Z'%20fill='%23E1ECFF'/%3e%3c/svg%3e", Z = { class: "release-dialog-body" }, A = { class: "release-illustration" }, S = { class: "release-rocket-badge" }, O = ["src"], R = { class: "release-title" }, T = { class: "release-form" }, q = { class: "form-label" }, G = {
6
+ key: 0,
7
+ class: "form-error"
8
+ }, U = { class: "form-item" }, X = { class: "form-label" }, z = { class: "release-footer" }, P = 32, W = 255, j = /* @__PURE__ */ x({
9
+ __name: "index",
10
+ props: {
11
+ show: { type: Boolean },
12
+ defaultVersion: { default: "" },
13
+ pending: { type: Boolean, default: !1 },
14
+ errorMessage: { default: "" }
15
+ },
16
+ emits: ["update:show", "confirm"],
17
+ setup(L, { emit: w }) {
18
+ const b = l(`在此处填写你本次 FLOW 的关键信息!
19
+ 养成良好的“变更日志”书写习惯,有助于提升信息的管理效率,完善的版本信息能够帮助提升版本管理的有效性和可靠性!`), o = L, C = w, s = M({ version: "", desc: "" }), n = y("");
20
+ v(
21
+ () => o.show,
22
+ (a) => {
23
+ a && (s.version = o.defaultVersion, s.desc = "", n.value = o.errorMessage);
24
+ }
25
+ ), v(
26
+ () => o.errorMessage,
27
+ (a) => {
28
+ n.value = a;
29
+ }
30
+ );
31
+ const k = () => {
32
+ n.value = "";
33
+ }, V = () => {
34
+ if (o.pending) return;
35
+ const a = s.version.trim();
36
+ if (!a) {
37
+ n.value = l("请输入版本号");
38
+ return;
39
+ }
40
+ C("confirm", { version: a, desc: s.desc.trim() });
41
+ }, _ = () => {
42
+ o.pending || C("update:show", !1);
43
+ };
44
+ return (a, r) => {
45
+ const f = m("bk-input"), h = m("bk-button"), E = m("bk-dialog");
46
+ return g(), B(E, {
47
+ "is-show": o.show,
48
+ "dialog-type": "show",
49
+ width: 480,
50
+ "esc-close": !1,
51
+ "quick-close": !1,
52
+ class: "flow-release-dialog",
53
+ onClosed: _
54
+ }, {
55
+ default: p(() => [
56
+ e("div", Z, [
57
+ e("div", A, [
58
+ e("div", S, [
59
+ e("img", {
60
+ src: t(I),
61
+ alt: ""
62
+ }, null, 8, O)
63
+ ])
64
+ ]),
65
+ e("h3", R, i(t(l)("Flow 即将发布上线")), 1),
66
+ e("div", T, [
67
+ e("div", {
68
+ class: D(["form-item", { "is-error": !!n.value }])
69
+ }, [
70
+ e("label", q, [
71
+ u(i(t(l)("版本号")) + " ", 1),
72
+ r[2] || (r[2] = e("span", { class: "required-mark" }, "*", -1))
73
+ ]),
74
+ d(f, {
75
+ modelValue: s.version,
76
+ "onUpdate:modelValue": r[0] || (r[0] = (c) => s.version = c),
77
+ "data-test": "release-version-input",
78
+ placeholder: t(l)("请输入"),
79
+ maxlength: P,
80
+ onInput: k
81
+ }, null, 8, ["modelValue", "placeholder"]),
82
+ n.value ? (g(), N("p", G, i(n.value), 1)) : F("", !0)
83
+ ], 2),
84
+ e("div", U, [
85
+ e("label", X, i(t(l)("版本描述")), 1),
86
+ d(f, {
87
+ modelValue: s.desc,
88
+ "onUpdate:modelValue": r[1] || (r[1] = (c) => s.desc = c),
89
+ type: "textarea",
90
+ rows: 4,
91
+ maxlength: W,
92
+ placeholder: t(b)
93
+ }, null, 8, ["modelValue", "placeholder"])
94
+ ])
95
+ ]),
96
+ e("div", z, [
97
+ d(h, {
98
+ theme: "primary",
99
+ "data-test": "release-confirm",
100
+ loading: o.pending,
101
+ onClick: V
102
+ }, {
103
+ default: p(() => [
104
+ u(i(t(l)("提交并上线")), 1)
105
+ ]),
106
+ _: 1
107
+ }, 8, ["loading"]),
108
+ d(h, {
109
+ disabled: o.pending,
110
+ onClick: _
111
+ }, {
112
+ default: p(() => [
113
+ u(i(t(l)("取消发布")), 1)
114
+ ]),
115
+ _: 1
116
+ }, 8, ["disabled"])
117
+ ])
118
+ ])
119
+ ]),
120
+ _: 1
121
+ }, 8, ["is-show"]);
122
+ };
123
+ }
124
+ }), $ = /* @__PURE__ */ H(j, [["__scopeId", "data-v-5465e0b3"]]);
125
+ export {
126
+ $ as default
127
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue");require("./context-bUpcrt8M.cjs");const s=require("@blueking/flow-canvas"),v=require("./index-DHbrXUGr.cjs"),g="data:image/svg+xml,%3csvg%20width='48'%20height='48'%20viewBox='0%200%2048%2048'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M47.3922%202.00779L47.193%200.806571L45.9918%200.607344C35.1926%20-1.7951%2023.3914%203.00979%2014.397%2013.604C9.79721%2013.4048%205.79512%2015.0044%201.99812%2018.403L0%2020.2019L10.4007%2026.9991C9.00031%2029.4015%209.80307%2032.9994%2012.3989%2035.601C15.0005%2038.0035%2018.5983%2038.9996%2021.0007%2037.5992L27.7978%2048L29.3975%2046.2011C32.9953%2042.199%2034.5949%2038.4019%2034.3957%2033.6029C44.9957%2024.4033%2049.7947%2012.602%2047.3922%202.00779ZM33.0832%2031.6927L31.5304%2033.0228V35.2436C31.753%2038.5719%2030.1358%2040.9391%2028.3603%2043.5994L21.7097%2033.6205L18.4635%2035.3022C17.5787%2035.7475%2015.5806%2035.3022%2014.0278%2033.7494C12.2524%2032.1966%2012.0297%2030.2043%2012.475%2029.5363L14.1685%2026.3018L4.41226%2019.6511C7.07251%2017.8757%209.73275%2016.6862%2012.8383%2016.6862H14.8364L16.3892%2014.9107C24.8153%204.93175%2035.9016%200.572186%2045.6637%202.12499C47.2165%2011.8871%2042.8394%2023.2665%2033.0832%2031.6927Z'%20fill='%23DCDEE5'/%3e%3cpath%20d='M41.6673%205.44539C35.3228%204.41268%2024.824%2010.6861%2019.3428%2017.3334L18.3346%2018.5145H17.0367C15.0204%2018.5145%2013.288%2019.3039%2011.5556%2020.4909L17.9001%2024.9244L16.7992%2027.0788C16.5095%2027.524%2016.6543%2028.8534%2017.8074%2029.8862C18.8155%2030.9189%2020.1134%2031.2156%2020.6928%2030.9189L22.8018%2029.7971L27.13%2036.4444C28.283%2034.6698%2029.3318%2033.0911%2029.1869%2030.8773V29.3995L30.1951%2028.5151C36.5454%2022.9005%2042.6813%2011.9503%2041.6673%205.44539Z'%20fill='%23A3C5FD'/%3e%3cpath%20d='M8.59356%2037.5135C7.21124%2038.9237%206.22222%2043.5556%206.22222%2043.5556C6.22222%2043.5556%2010.5658%2042.7472%2012.1448%2041.1364C13.3304%2039.9268%2013.5271%2038.1153%2012.7347%2037.1063C11.5548%2036.1033%209.77922%2036.3098%208.59356%2037.5135ZM32.7812%2013.8467C31.6129%2013.1622%2030.1785%2013.1622%2029.016%2013.8467C27.8476%2014.5311%2027.1305%2015.7997%2027.1305%2017.1745C27.1305%2018.5494%2027.8476%2019.818%2029.016%2020.5024C30.1785%2021.1869%2031.6186%2021.1869%2032.7812%2020.5024C33.9495%2019.818%2034.6667%2018.5494%2034.6667%2017.1745C34.6667%2015.8056%2033.9495%2014.537%2032.7812%2013.8467Z'%20fill='%23E1ECFF'/%3e%3c/svg%3e",V={class:"release-dialog-body"},E={class:"release-illustration"},w={class:"release-rocket-badge"},L=["src"],N={class:"release-title"},b={class:"release-form"},k={class:"form-label"},x={key:0,class:"form-error"},y={class:"form-item"},D={class:"form-label"},M={class:"release-footer"},S=32,B=255,q=e.defineComponent({__name:"index",props:{show:{type:Boolean},defaultVersion:{default:""},pending:{type:Boolean,default:!1},errorMessage:{default:""}},emits:["update:show","confirm"],setup(m,{emit:p}){const C=s.t(`在此处填写你本次 FLOW 的关键信息!
2
+ 养成良好的“变更日志”书写习惯,有助于提升信息的管理效率,完善的版本信息能够帮助提升版本管理的有效性和可靠性!`),t=m,i=p,o=e.reactive({version:"",desc:""}),n=e.ref("");e.watch(()=>t.show,l=>{l&&(o.version=t.defaultVersion,o.desc="",n.value=t.errorMessage)}),e.watch(()=>t.errorMessage,l=>{n.value=l});const f=()=>{n.value=""},_=()=>{if(t.pending)return;const l=o.version.trim();if(!l){n.value=s.t("请输入版本号");return}i("confirm",{version:l,desc:o.desc.trim()})},d=()=>{t.pending||i("update:show",!1)};return(l,r)=>{const c=e.resolveComponent("bk-input"),u=e.resolveComponent("bk-button"),h=e.resolveComponent("bk-dialog");return e.openBlock(),e.createBlock(h,{"is-show":t.show,"dialog-type":"show",width:480,"esc-close":!1,"quick-close":!1,class:"flow-release-dialog",onClosed:d},{default:e.withCtx(()=>[e.createElementVNode("div",V,[e.createElementVNode("div",E,[e.createElementVNode("div",w,[e.createElementVNode("img",{src:e.unref(g),alt:""},null,8,L)])]),e.createElementVNode("h3",N,e.toDisplayString(e.unref(s.t)("Flow 即将发布上线")),1),e.createElementVNode("div",b,[e.createElementVNode("div",{class:e.normalizeClass(["form-item",{"is-error":!!n.value}])},[e.createElementVNode("label",k,[e.createTextVNode(e.toDisplayString(e.unref(s.t)("版本号"))+" ",1),r[2]||(r[2]=e.createElementVNode("span",{class:"required-mark"},"*",-1))]),e.createVNode(c,{modelValue:o.version,"onUpdate:modelValue":r[0]||(r[0]=a=>o.version=a),"data-test":"release-version-input",placeholder:e.unref(s.t)("请输入"),maxlength:S,onInput:f},null,8,["modelValue","placeholder"]),n.value?(e.openBlock(),e.createElementBlock("p",x,e.toDisplayString(n.value),1)):e.createCommentVNode("",!0)],2),e.createElementVNode("div",y,[e.createElementVNode("label",D,e.toDisplayString(e.unref(s.t)("版本描述")),1),e.createVNode(c,{modelValue:o.desc,"onUpdate:modelValue":r[1]||(r[1]=a=>o.desc=a),type:"textarea",rows:4,maxlength:B,placeholder:e.unref(C)},null,8,["modelValue","placeholder"])])]),e.createElementVNode("div",M,[e.createVNode(u,{theme:"primary","data-test":"release-confirm",loading:t.pending,onClick:_},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s.t)("提交并上线")),1)]),_:1},8,["loading"]),e.createVNode(u,{disabled:t.pending,onClick:d},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s.t)("取消发布")),1)]),_:1},8,["disabled"])])])]),_:1},8,["is-show"])}}}),T=v._export_sfc(q,[["__scopeId","data-v-5465e0b3"]]);exports.default=T;
@@ -0,0 +1,236 @@
1
+ import { defineComponent as K, ref as F, shallowRef as D, computed as j, watch as S, resolveComponent as E, resolveDirective as G, openBlock as l, createBlock as v, unref as c, createSlots as H, withCtx as h, withDirectives as J, createElementBlock as d, createElementVNode as i, toDisplayString as p, createCommentVNode as b, Fragment as Y, renderList as z, createVNode as L, createTextVNode as I } from "vue";
2
+ import "./context-Bu4mmo1Q.js";
3
+ import { c as g, u as M, i as Q, b as W, d as X, g as Z, D as ee, B as te, R as ae, E as oe, _ as se } from "./index-C6GvYaaZ.js";
4
+ import "bkui-vue/lib/message";
5
+ import "bkui-vue/lib/icon";
6
+ import "monaco-editor";
7
+ import { t as m } from "@blueking/flow-canvas";
8
+ const ne = {
9
+ string: "input",
10
+ text: "input",
11
+ textarea: "textarea",
12
+ int: "input",
13
+ integer: "input",
14
+ number: "input",
15
+ float: "input",
16
+ json: "json",
17
+ object: "json",
18
+ array: "array",
19
+ list: "array",
20
+ select: "select",
21
+ time: "timepicker",
22
+ datetime: "timepicker"
23
+ }, O = (t) => t.replace(/^\$\{(.+)\}$/, "$1"), q = (t) => `\${${O(t)}}`;
24
+ function le(t, f) {
25
+ const o = q(t.key), a = f ? g(f) : {}, y = t.custom_type ?? a.custom_type ?? ne[t.type] ?? "input";
26
+ return {
27
+ ...a,
28
+ key: o,
29
+ name: t.name ?? a.name ?? O(t.key),
30
+ custom_type: y,
31
+ desc: a.desc ?? "",
32
+ index: a.index ?? 0,
33
+ show_type: "show",
34
+ source_info: a.source_info ?? {},
35
+ source_tag: a.source_tag ?? "",
36
+ source_type: a.source_type ?? "custom",
37
+ validation: a.validation ?? "",
38
+ value: t.default ?? a.value,
39
+ meta: {
40
+ ...a.meta ?? {},
41
+ required: t.required ?? a.meta?.required ?? !1
42
+ }
43
+ };
44
+ }
45
+ function ie(t, f = {}) {
46
+ if (!t) return {};
47
+ const o = t.constants;
48
+ return o && Object.keys(o).length > 0 ? { ...o } : Array.isArray(t.fields) && t.fields.length > 0 ? t.fields.reduce((a, y) => {
49
+ const s = q(y.key);
50
+ return a[s] = le(y, f[s]), a;
51
+ }, {}) : {};
52
+ }
53
+ const re = { class: "global-debug-input" }, ue = {
54
+ key: 0,
55
+ class: "global-debug-input__params",
56
+ "data-test": "input-params"
57
+ }, ce = { class: "col-name" }, de = { class: "col-value" }, pe = { key: 0 }, me = {
58
+ class: "global-debug-input__empty",
59
+ colspan: "2"
60
+ }, fe = ["title"], ye = { class: "col-value" }, _e = {
61
+ key: 1,
62
+ class: "global-debug-input__value"
63
+ }, ve = {
64
+ key: 1,
65
+ class: "form-params-wrapper"
66
+ }, he = { class: "sideslider-footer-buttons" }, be = /* @__PURE__ */ K({
67
+ __name: "index",
68
+ props: {
69
+ show: { type: Boolean },
70
+ schema: {},
71
+ pipelineConstants: { default: () => ({}) },
72
+ initialValues: { default: () => ({}) },
73
+ pending: { type: Boolean, default: !1 },
74
+ readonly: { type: Boolean, default: !1 }
75
+ },
76
+ emits: ["confirm", "close", "update:show"],
77
+ setup(t, { emit: f }) {
78
+ const o = t, a = f, y = M(), s = F({}), k = D([]), _ = D([]), w = D(!1), V = F(), x = F(), C = j(() => k.value.filter((e) => Q(e))), N = j(() => C.value.length > 0 || _.value.length > 0), B = j(
79
+ () => [...k.value].sort((e, n) => (e.index ?? 0) - (n.index ?? 0)).map((e) => {
80
+ const n = Object.prototype.hasOwnProperty.call(s.value, e.key) ? s.value[e.key] : e.value;
81
+ return {
82
+ key: e.key,
83
+ name: e.name || e.key,
84
+ value: n,
85
+ display: X(n),
86
+ isComplex: W(n)
87
+ };
88
+ })
89
+ );
90
+ S(
91
+ () => o.show,
92
+ (e) => {
93
+ e && (s.value = g(o.initialValues ?? {}), P());
94
+ }
95
+ );
96
+ const P = async () => {
97
+ const e = ie(o.schema, o.pipelineConstants), n = Object.values(e).filter(
98
+ (r) => typeof r == "object" && r !== null && r.show_type === "show"
99
+ );
100
+ if (k.value = n, o.readonly || Object.keys(e).length < 1) {
101
+ _.value = [];
102
+ return;
103
+ }
104
+ w.value = !0;
105
+ try {
106
+ _.value = await Z(y, e);
107
+ } catch (r) {
108
+ console.error("Failed to build debug input forms from schema:", r), _.value = [];
109
+ } finally {
110
+ w.value = !1;
111
+ }
112
+ }, T = (e) => {
113
+ s.value = { ...s.value, ...g(e) };
114
+ }, $ = async () => {
115
+ const [e, n] = await Promise.all([
116
+ Promise.resolve(
117
+ typeof x.value?.validate == "function" ? x.value.validate() : !0
118
+ ),
119
+ Promise.resolve(typeof V.value?.validate == "function" ? V.value.validate() : !0)
120
+ ]);
121
+ !e || !n || a("confirm", g(s.value));
122
+ }, R = () => {
123
+ a("close"), a("update:show", !1);
124
+ };
125
+ return (e, n) => {
126
+ const r = E("bk-button"), A = E("bk-sideslider"), U = G("bkloading");
127
+ return l(), v(A, {
128
+ title: c(m)("调试参数"),
129
+ "is-show": o.show,
130
+ width: 960,
131
+ "quick-close": !0,
132
+ "esc-close": !1,
133
+ onClosed: R
134
+ }, H({
135
+ default: h(() => [
136
+ J((l(), d("div", re, [
137
+ o.readonly ? (l(), d("table", ue, [
138
+ i("thead", null, [
139
+ i("tr", null, [
140
+ i("th", ce, p(c(m)("参数名")), 1),
141
+ i("th", de, p(c(m)("参数值")), 1)
142
+ ])
143
+ ]),
144
+ i("tbody", null, [
145
+ B.value.length === 0 ? (l(), d("tr", pe, [
146
+ i("td", me, p(c(m)("暂无参数")), 1)
147
+ ])) : b("", !0),
148
+ (l(!0), d(Y, null, z(B.value, (u) => (l(), d("tr", {
149
+ key: u.key,
150
+ "data-test": "input-row"
151
+ }, [
152
+ i("td", {
153
+ class: "col-name",
154
+ title: u.key
155
+ }, p(u.name), 9, fe),
156
+ i("td", ye, [
157
+ u.isComplex ? (l(), v(ee, {
158
+ key: 0,
159
+ value: u.value,
160
+ "data-test": "json-viewer"
161
+ }, null, 8, ["value"])) : (l(), d("pre", _e, p(u.display), 1))
162
+ ])
163
+ ]))), 128))
164
+ ])
165
+ ])) : (l(), d("div", ve, [
166
+ C.value.length > 0 ? (l(), v(c(te), {
167
+ key: 0,
168
+ ref_key: "builtinVariableFormRef",
169
+ ref: x,
170
+ modelValue: s.value,
171
+ "onUpdate:modelValue": n[0] || (n[0] = (u) => s.value = u),
172
+ variables: C.value
173
+ }, null, 8, ["modelValue", "variables"])) : b("", !0),
174
+ _.value.length > 0 ? (l(), v(ae, {
175
+ key: 1,
176
+ ref_key: "renderFormRef",
177
+ ref: V,
178
+ scheme: _.value,
179
+ editable: "",
180
+ "form-option": {
181
+ showRequired: !0,
182
+ showGroup: !0,
183
+ showLabel: !1,
184
+ showHook: !1,
185
+ showDesc: !0,
186
+ formEdit: !0
187
+ },
188
+ "form-data": s.value,
189
+ onChange: T
190
+ }, null, 8, ["scheme", "form-data"])) : b("", !0),
191
+ N.value ? b("", !0) : (l(), v(oe, {
192
+ key: 2,
193
+ title: c(m)("暂无参数")
194
+ }, null, 8, ["title"]))
195
+ ]))
196
+ ])), [
197
+ [U, { loading: w.value }]
198
+ ])
199
+ ]),
200
+ _: 2
201
+ }, [
202
+ o.readonly ? void 0 : {
203
+ name: "footer",
204
+ fn: h(() => [
205
+ i("div", he, [
206
+ L(r, {
207
+ theme: "primary",
208
+ "data-test": "save-and-run",
209
+ loading: o.pending,
210
+ onClick: $
211
+ }, {
212
+ default: h(() => [
213
+ I(p(c(m)("保存并执行")), 1)
214
+ ]),
215
+ _: 1
216
+ }, 8, ["loading"]),
217
+ L(r, {
218
+ disabled: o.pending,
219
+ onClick: R
220
+ }, {
221
+ default: h(() => [
222
+ I(p(c(m)("取消")), 1)
223
+ ]),
224
+ _: 1
225
+ }, 8, ["disabled"])
226
+ ])
227
+ ]),
228
+ key: "0"
229
+ }
230
+ ]), 1032, ["title", "is-show"]);
231
+ };
232
+ }
233
+ }), De = /* @__PURE__ */ se(be, [["__scopeId", "data-v-8eaa2ef7"]]);
234
+ export {
235
+ De as default
236
+ };
package/dist/index.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./index-Bit4HgBF.cjs"),o=require("./context-CGIQsuRc.cjs");exports.BkFlowCanvas=e.BkFlowCanvas;exports.BkFlowModelAccessor=e.BkFlowModelAccessor;exports.BkFlowNodeAccessor=e.BkFlowNodeAccessor;exports.FlowCreateTask=e.FlowCreateTask;exports.FlowDebug=e.FlowDebug;exports.FlowDetail=e.index;exports.FlowEdit=e.edit;exports.FlowExecute=e.execute;exports.FlowMockDebug=e.mock;exports.FlowView=e.view;exports.bkflowConnectionValidator=e.bkflowConnectionValidator;exports.createBkflowPlugin=e.createBkflowPlugin;exports.createBkflowSchema=e.createBkflowSchema;exports.createExecutionStatusPlugin=e.createExecutionStatusPlugin;exports.default=e.index$1;exports.exportToPipelineTree=e.exportToPipelineTree;exports.getUniformApiPluginFormValue=e.getUniformApiPluginFormValue;exports.getVariableDefaultConfig=e.getVariableDefaultConfig;exports.importFromPipelineTree=e.importFromPipelineTree;exports.isMockableNode=e.isMockableNode;exports.mergeOutputs=e.mergeOutputs;exports.normalizePluginOutputItems=e.normalizePluginOutputItems;exports.provideFilterVariableConfig=e.provideFilterVariableConfig;exports.provideFlowApiConfig=e.provideFlowApiConfig;exports.provideMemberSelectorConfig=e.provideMemberSelectorConfig;exports.provideSelectPanelConfig=e.provideSelectPanelConfig;exports.provideSelectRelatedOptionConfig=e.provideSelectRelatedOptionConfig;exports.resolveExecutionActions=e.resolveExecutionActions;exports.resolveMockFormControl=e.resolveMockFormControl;exports.useFlowApiConfig=e.useFlowApiConfig;exports.useFlowEditApiConfig=e.useFlowEditApiConfig;exports.useFlowViewApiConfig=e.useFlowViewApiConfig;exports.useMemberSelectorConfig=e.useMemberSelectorConfig;exports.useSelectPanelConfig=e.useSelectPanelConfig;exports.validatePipelineTree=e.validatePipelineTree;exports.generateId=o.generateId;exports.random4=o.random4;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./index-DHbrXUGr.cjs"),i=require("./context-bUpcrt8M.cjs"),o=require("@blueking/flow-canvas");exports.BkFlowCanvas=e.BkFlowCanvas;exports.BkFlowModelAccessor=e.BkFlowModelAccessor;exports.BkFlowNodeAccessor=e.BkFlowNodeAccessor;exports.FlowCreateTask=e.FlowCreateTask;exports.FlowDebug=e.FlowDebug;exports.FlowDetail=e.index;exports.FlowEdit=e.edit;exports.FlowExecute=e.execute;exports.FlowMockDebug=e.mock;exports.FlowView=e.view;exports.applyBkuiLocale=e.applyBkuiLocale;exports.applyBkuiLocaleToTree=e.applyBkuiLocaleToTree;exports.bkflowConnectionValidator=e.bkflowConnectionValidator;exports.createBkflowPlugin=e.createBkflowPlugin;exports.createBkflowSchema=e.createBkflowSchema;exports.createExecutionStatusPlugin=e.createExecutionStatusPlugin;exports.default=e.index$1;exports.exportToPipelineTree=e.exportToPipelineTree;exports.getUniformApiPluginFormValue=e.getUniformApiPluginFormValue;exports.getVariableDefaultConfig=e.getVariableDefaultConfig;exports.importFromPipelineTree=e.importFromPipelineTree;exports.isMockableNode=e.isMockableNode;exports.mergeOutputs=e.mergeOutputs;exports.normalizePluginOutputItems=e.normalizePluginOutputItems;exports.provideFilterVariableConfig=e.provideFilterVariableConfig;exports.provideFlowApiConfig=e.provideFlowApiConfig;exports.provideMemberSelectorConfig=e.provideMemberSelectorConfig;exports.provideSelectPanelConfig=e.provideSelectPanelConfig;exports.provideSelectRelatedOptionConfig=e.provideSelectRelatedOptionConfig;exports.resolveBkuiLocale=e.resolveBkuiLocale;exports.resolveExecutionActions=e.resolveExecutionActions;exports.resolveMockFormControl=e.resolveMockFormControl;exports.useFlowApiConfig=e.useFlowApiConfig;exports.useFlowEditApiConfig=e.useFlowEditApiConfig;exports.useFlowViewApiConfig=e.useFlowViewApiConfig;exports.useMemberSelectorConfig=e.useMemberSelectorConfig;exports.useSelectPanelConfig=e.useSelectPanelConfig;exports.validatePipelineTree=e.validatePipelineTree;exports.generateId=i.generateId;exports.random4=i.random4;Object.defineProperty(exports,"getLocale",{enumerable:!0,get:()=>o.getLocale});Object.defineProperty(exports,"registerMessages",{enumerable:!0,get:()=>o.registerMessages});Object.defineProperty(exports,"setLocale",{enumerable:!0,get:()=>o.setLocale});Object.defineProperty(exports,"setTranslator",{enumerable:!0,get:()=>o.setTranslator});Object.defineProperty(exports,"t",{enumerable:!0,get:()=>o.t});
package/dist/index.d.ts CHANGED
@@ -1,8 +1,10 @@
1
1
  import * as vue from 'vue';
2
- import { Component, ComputedRef, Ref } from 'vue';
2
+ import { Component, ComputedRef, Ref, App } from 'vue';
3
3
  import { AxiosInstance, AxiosRequestConfig } from 'axios';
4
4
  import * as _blueking_flow_canvas from '@blueking/flow-canvas';
5
5
  import { ZoomToFitOptions, CanvasUiEvent, QuickAddConfig, CanvasSchema, FlowModel, FlowNodeModel, NodeActionsConfig, ConnectionValidator, CanvasPlugin, CanvasToolbarItem, CommandEnvelope } from '@blueking/flow-canvas';
6
+ export { Locale, MessageTree, Translator, getLocale, registerMessages, setLocale, setTranslator, t } from '@blueking/flow-canvas';
7
+ import { defaultRootConfig } from 'bkui-vue/lib/config-provider';
6
8
 
7
9
  /**
8
10
  * Flow API 配置接口
@@ -1136,6 +1138,26 @@ interface DebugContextNode {
1136
1138
  /** 条件网关每个分支的表达式与命中结果。 */
1137
1139
  condition_results?: DebugConditionResult[];
1138
1140
  }
1141
+ interface DebugSnapshotNode {
1142
+ node_id: string;
1143
+ node_name: string;
1144
+ node_type: string;
1145
+ execution_mode: DebugExecutionMode;
1146
+ status: DebugNodeStatus;
1147
+ waiting_reason?: string | null;
1148
+ inputs: Record<string, unknown>;
1149
+ outputs: Record<string, unknown>;
1150
+ duration_ms?: number | null;
1151
+ error_detail?: DebugErrorDetail | string | null;
1152
+ log_ref?: DebugContextNode['log_ref'];
1153
+ operator: string;
1154
+ last_run_at?: string | null;
1155
+ config_changed: boolean;
1156
+ node_deleted: boolean;
1157
+ }
1158
+ interface DebugSnapshot {
1159
+ nodes: DebugSnapshotNode[];
1160
+ }
1139
1161
  /**
1140
1162
  * /debug_context/ 顶层结构。
1141
1163
  *
@@ -1159,6 +1181,7 @@ interface DebugContext {
1159
1181
  global_vars: Record<string, unknown>;
1160
1182
  missing_vars?: DebugMissingVar[];
1161
1183
  nodes: DebugContextNode[];
1184
+ debug_snapshot: DebugSnapshot | null;
1162
1185
  }
1163
1186
  interface DebugInputSchemaField {
1164
1187
  key: string;
@@ -2524,6 +2547,28 @@ declare function createExecutionStatusPlugin(stateRef: Ref<TaskExecutionStates>)
2524
2547
  */
2525
2548
  declare function resolveExecutionActions(state: NodeExecutionState | undefined, nodeType: string): ExecutionNodeAction[];
2526
2549
 
2550
+ type BkuiLocale = typeof defaultRootConfig.locale;
2551
+ /** 取当前语言对应的 bkui-vue 语言包;消费方注册的第三语言从 registry 取。 */
2552
+ declare function resolveBkuiLocale(locale: string): BkuiLocale | undefined;
2553
+ /**
2554
+ * 顶层 Flow 组件 setup 内调用:在本组件子树内应用语言(含 Teleport 弹层),
2555
+ * 并改写 defaultRootConfig 覆盖脱离组件树的命令式 Message / InfoBox。
2556
+ *
2557
+ * 约束 1:必须先读 useGlobalConfig() 再合并。provideGlobalConfig 内部是
2558
+ * merge(defaultRootConfig, config),直接传 { locale } 会拿 defaultRootConfig.prefix
2559
+ * 覆盖宿主自定义的 prefix。
2560
+ * 约束 2:zh-cn 时整段跳过,保证现有消费方零行为变化,也不会把已设为英文的宿主拽回中文。
2561
+ * 代价是不会把 defaultRootConfig 改回中文——语言切换本就要求宿主刷新页面。
2562
+ *
2563
+ * 注意 defaultRootConfig 是 bkui-vue 的模块级单例,这一行的**影响范围是整个宿主应用**,
2564
+ * 不限于本组件子树:宿主在别处调用的 bkui-vue 命令式弹窗语言也会随之变化。
2565
+ * 这是覆盖命令式组件的唯一手段(它们没有组件上下文可供 inject),已在
2566
+ * docs/usage.md「对宿主 bkui-vue 全局配置的影响」中对消费方说明。
2567
+ */
2568
+ declare function applyBkuiLocaleToTree(): void;
2569
+ /** 自建 createApp 调用:该 app 脱离宿主 provide 链,从 defaultRootConfig 起步合并。 */
2570
+ declare function applyBkuiLocale(app: App): void;
2571
+
2527
2572
  declare const _default: {
2528
2573
  FlowView: () => Promise<typeof __view_vue>;
2529
2574
  FlowEdit: () => Promise<typeof __edit_vue>;
@@ -2537,5 +2582,5 @@ declare const _default: {
2537
2582
  FlowMockDebug: () => Promise<typeof __mock_vue>;
2538
2583
  };
2539
2584
 
2540
- export { _default$1 as BkFlowCanvas, BkFlowModelAccessor, BkFlowNodeAccessor, _default$5 as FlowCreateTask, _default$7 as FlowDebug, _default$2 as FlowDetail, _default$4 as FlowEdit, _default$6 as FlowExecute, _default$8 as FlowMockDebug, _default$3 as FlowView, bkflowConnectionValidator, createBkflowPlugin, createBkflowSchema, createExecutionStatusPlugin, _default as default, exportToPipelineTree, generateId, getUniformApiPluginFormValue, getVariableDefaultConfig, importFromPipelineTree, isMockableNode, mergeOutputs, normalizePluginOutputItems, provideFilterVariableConfig, provideFlowApiConfig, provideMemberSelectorConfig, provideSelectPanelConfig, provideSelectRelatedOptionConfig, random4, resolveExecutionActions, resolveMockFormControl, useFlowApiConfig, useFlowEditApiConfig, useFlowViewApiConfig, useMemberSelectorConfig, useSelectPanelConfig, validatePipelineTree };
2585
+ export { _default$1 as BkFlowCanvas, BkFlowModelAccessor, BkFlowNodeAccessor, _default$5 as FlowCreateTask, _default$7 as FlowDebug, _default$2 as FlowDetail, _default$4 as FlowEdit, _default$6 as FlowExecute, _default$8 as FlowMockDebug, _default$3 as FlowView, applyBkuiLocale, applyBkuiLocaleToTree, bkflowConnectionValidator, createBkflowPlugin, createBkflowSchema, createExecutionStatusPlugin, _default as default, exportToPipelineTree, generateId, getUniformApiPluginFormValue, getVariableDefaultConfig, importFromPipelineTree, isMockableNode, mergeOutputs, normalizePluginOutputItems, provideFilterVariableConfig, provideFlowApiConfig, provideMemberSelectorConfig, provideSelectPanelConfig, provideSelectRelatedOptionConfig, random4, resolveBkuiLocale, resolveExecutionActions, resolveMockFormControl, useFlowApiConfig, useFlowEditApiConfig, useFlowViewApiConfig, useMemberSelectorConfig, useSelectPanelConfig, validatePipelineTree };
2541
2586
  export type { Activity, CanvasViewportExpose, CreateFlowTaskResult, DndNodeItem, ExecuteFlowTaskResult, ExecutionNodeAction, FilterCandidateQuery, FilterConditionOptions, FilterConditionValue, FilterVariableConfig, FilterVariableSourceContext, FilterVariableSourceNodeComponent, FilterWhereItem, FilterWhereValue, FlowApiConfig, FlowDetailExpose, FlowDetailPermissions, FlowEditExpose, FlowTaskExecuteSuccessResult, FlowTemplate, FlowViewExpose, Gateway, GatewayCondition, GlobalVariableCreateExpose, MemberSelectorConfig, MockOutputField, NodeExecutionState, NodeExecutionStatus, NodeMockConfig, NotifyConfig, OpenFilterVariableCreateRequest, OpenGlobalVariableCreateRequest, OpenStandardVariableCreateRequest, PipelineTree, PluginDetailCommon, PluginInputDataItem, RetrievalFilterField, SelectPanelConfig, SelectRelatedOptionConfig, SelectRelatedOptionItem, SelectRelatedOptionSource, SelectRelatedOptionSourceRef, SelectRelatedSourceContext, SimulateDebugCanvasContext, SimulateDebugStage, SimulateDebugState, SpaceFlowConfig, TaskExecutionStates, TemplateConfigs, TriggerCron, TriggerItem, UniformApiPluginInputsItem, UpdateFlowParams, Variable, VariableReference };
package/dist/index.esm.js CHANGED
@@ -1,41 +1,50 @@
1
- import { y as o, z as s, A as i, F as l, G as r, H as t, I as n, J as u, K as g, N as c, O as p, P as f, Q as w, S as F, T as d, U as m, V as C, W as k, X as P, Y as v, m as A, Z as b, $ as S, a0 as V, a1 as x, a2 as M, a3 as T, a4 as B, r as E, u as D, a5 as O, a6 as I, a7 as N, a8 as z, a9 as U } from "./index-DEh6TdMZ.js";
2
- import { g as y, e as G } from "./context-Ce_Xpx5d.js";
1
+ import { z as o, A as s, F as l, G as i, H as r, I as t, J as n, K as c, N as u, O as g, P as p, Q as f, S as w, T as F, U as d, V as m, W as C, X as k, Y as v, Z as P, $ as b, a0 as A, m as T, a1 as B, a2 as S, a3 as x, a4 as M, a5 as V, a6 as E, a7 as L, a8 as D, r as O, u as I, a9 as N, aa as y, ab as z, ac as U, ad as h } from "./index-C6GvYaaZ.js";
2
+ import { g as H, e as J } from "./context-Bu4mmo1Q.js";
3
+ import { getLocale as Q, registerMessages as R, setLocale as W, setTranslator as X, t as Y } from "@blueking/flow-canvas";
3
4
  export {
4
5
  o as BkFlowCanvas,
5
6
  s as BkFlowModelAccessor,
6
- i as BkFlowNodeAccessor,
7
- l as FlowCreateTask,
7
+ l as BkFlowNodeAccessor,
8
+ i as FlowCreateTask,
8
9
  r as FlowDebug,
9
10
  t as FlowDetail,
10
11
  n as FlowEdit,
11
- u as FlowExecute,
12
- g as FlowMockDebug,
13
- c as FlowView,
14
- p as bkflowConnectionValidator,
15
- f as createBkflowPlugin,
16
- w as createBkflowSchema,
17
- F as createExecutionStatusPlugin,
18
- d as default,
19
- m as exportToPipelineTree,
20
- y as generateId,
21
- C as getUniformApiPluginFormValue,
22
- k as getVariableDefaultConfig,
23
- P as importFromPipelineTree,
24
- v as isMockableNode,
25
- A as mergeOutputs,
26
- b as normalizePluginOutputItems,
12
+ c as FlowExecute,
13
+ u as FlowMockDebug,
14
+ g as FlowView,
15
+ p as applyBkuiLocale,
16
+ f as applyBkuiLocaleToTree,
17
+ w as bkflowConnectionValidator,
18
+ F as createBkflowPlugin,
19
+ d as createBkflowSchema,
20
+ m as createExecutionStatusPlugin,
21
+ C as default,
22
+ k as exportToPipelineTree,
23
+ H as generateId,
24
+ Q as getLocale,
25
+ v as getUniformApiPluginFormValue,
26
+ P as getVariableDefaultConfig,
27
+ b as importFromPipelineTree,
28
+ A as isMockableNode,
29
+ T as mergeOutputs,
30
+ B as normalizePluginOutputItems,
27
31
  S as provideFilterVariableConfig,
28
- V as provideFlowApiConfig,
29
- x as provideMemberSelectorConfig,
30
- M as provideSelectPanelConfig,
31
- T as provideSelectRelatedOptionConfig,
32
- G as random4,
33
- B as resolveExecutionActions,
34
- E as resolveMockFormControl,
35
- D as useFlowApiConfig,
36
- O as useFlowEditApiConfig,
37
- I as useFlowViewApiConfig,
38
- N as useMemberSelectorConfig,
39
- z as useSelectPanelConfig,
40
- U as validatePipelineTree
32
+ x as provideFlowApiConfig,
33
+ M as provideMemberSelectorConfig,
34
+ V as provideSelectPanelConfig,
35
+ E as provideSelectRelatedOptionConfig,
36
+ J as random4,
37
+ R as registerMessages,
38
+ L as resolveBkuiLocale,
39
+ D as resolveExecutionActions,
40
+ O as resolveMockFormControl,
41
+ W as setLocale,
42
+ X as setTranslator,
43
+ Y as t,
44
+ I as useFlowApiConfig,
45
+ N as useFlowEditApiConfig,
46
+ y as useFlowViewApiConfig,
47
+ z as useMemberSelectorConfig,
48
+ U as useSelectPanelConfig,
49
+ h as validatePipelineTree
41
50
  };