jch-config-editor 0.1.8 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/config-editor.es.js
CHANGED
|
@@ -12,12 +12,12 @@ function gn(l) {
|
|
|
12
12
|
var Ue = {}, ot = { exports: {} }, pt;
|
|
13
13
|
function ht() {
|
|
14
14
|
return pt || (pt = 1, (function(l) {
|
|
15
|
-
function
|
|
15
|
+
function f(t) {
|
|
16
16
|
return t && t.__esModule ? t : {
|
|
17
17
|
default: t
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
|
-
l.exports =
|
|
20
|
+
l.exports = f, l.exports.__esModule = !0, l.exports.default = l.exports;
|
|
21
21
|
})(ot)), ot.exports;
|
|
22
22
|
}
|
|
23
23
|
var He = {}, yt;
|
|
@@ -61,48 +61,48 @@ function vn() {
|
|
|
61
61
|
value: !0
|
|
62
62
|
}), Be.default = void 0;
|
|
63
63
|
var l = yn();
|
|
64
|
-
function
|
|
64
|
+
function f(p) {
|
|
65
65
|
"@babel/helpers - typeof";
|
|
66
|
-
return
|
|
66
|
+
return f = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(c) {
|
|
67
67
|
return typeof c;
|
|
68
68
|
} : function(c) {
|
|
69
69
|
return c && typeof Symbol == "function" && c.constructor === Symbol && c !== Symbol.prototype ? "symbol" : typeof c;
|
|
70
|
-
},
|
|
70
|
+
}, f(p);
|
|
71
71
|
}
|
|
72
72
|
function t(p, c) {
|
|
73
|
-
var
|
|
73
|
+
var m = Object.keys(p);
|
|
74
74
|
if (Object.getOwnPropertySymbols) {
|
|
75
75
|
var C = Object.getOwnPropertySymbols(p);
|
|
76
76
|
c && (C = C.filter(function(o) {
|
|
77
77
|
return Object.getOwnPropertyDescriptor(p, o).enumerable;
|
|
78
|
-
})),
|
|
78
|
+
})), m.push.apply(m, C);
|
|
79
79
|
}
|
|
80
|
-
return
|
|
80
|
+
return m;
|
|
81
81
|
}
|
|
82
82
|
function r(p) {
|
|
83
83
|
for (var c = 1; c < arguments.length; c++) {
|
|
84
|
-
var
|
|
85
|
-
c % 2 ? t(Object(
|
|
86
|
-
s(p, C,
|
|
87
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(p, Object.getOwnPropertyDescriptors(
|
|
88
|
-
Object.defineProperty(p, C, Object.getOwnPropertyDescriptor(
|
|
84
|
+
var m = arguments[c] != null ? arguments[c] : {};
|
|
85
|
+
c % 2 ? t(Object(m), !0).forEach(function(C) {
|
|
86
|
+
s(p, C, m[C]);
|
|
87
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(p, Object.getOwnPropertyDescriptors(m)) : t(Object(m)).forEach(function(C) {
|
|
88
|
+
Object.defineProperty(p, C, Object.getOwnPropertyDescriptor(m, C));
|
|
89
89
|
});
|
|
90
90
|
}
|
|
91
91
|
return p;
|
|
92
92
|
}
|
|
93
|
-
function s(p, c,
|
|
94
|
-
return c = n(c), c in p ? Object.defineProperty(p, c, { value:
|
|
93
|
+
function s(p, c, m) {
|
|
94
|
+
return c = n(c), c in p ? Object.defineProperty(p, c, { value: m, enumerable: !0, configurable: !0, writable: !0 }) : p[c] = m, p;
|
|
95
95
|
}
|
|
96
96
|
function n(p) {
|
|
97
97
|
var c = a(p, "string");
|
|
98
|
-
return
|
|
98
|
+
return f(c) == "symbol" ? c : String(c);
|
|
99
99
|
}
|
|
100
100
|
function a(p, c) {
|
|
101
|
-
if (
|
|
102
|
-
var
|
|
103
|
-
if (
|
|
104
|
-
var C =
|
|
105
|
-
if (
|
|
101
|
+
if (f(p) != "object" || !p) return p;
|
|
102
|
+
var m = p[Symbol.toPrimitive];
|
|
103
|
+
if (m !== void 0) {
|
|
104
|
+
var C = m.call(p, c);
|
|
105
|
+
if (f(C) != "object") return C;
|
|
106
106
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
107
107
|
}
|
|
108
108
|
return (c === "string" ? String : Number)(p);
|
|
@@ -157,7 +157,7 @@ function Rt() {
|
|
|
157
157
|
Object.defineProperty(qe, "__esModule", {
|
|
158
158
|
value: !0
|
|
159
159
|
}), qe.default = void 0;
|
|
160
|
-
var
|
|
160
|
+
var f = l(vn()), t = l(/* @__PURE__ */ Ot());
|
|
161
161
|
const r = {
|
|
162
162
|
lang: {
|
|
163
163
|
placeholder: "请选择日期",
|
|
@@ -170,7 +170,7 @@ function Rt() {
|
|
|
170
170
|
rangeMonthPlaceholder: ["开始月份", "结束月份"],
|
|
171
171
|
rangeQuarterPlaceholder: ["开始季度", "结束季度"],
|
|
172
172
|
rangeWeekPlaceholder: ["开始周", "结束周"],
|
|
173
|
-
...
|
|
173
|
+
...f.default
|
|
174
174
|
},
|
|
175
175
|
timePickerLocale: {
|
|
176
176
|
...t.default
|
|
@@ -186,8 +186,8 @@ function bn() {
|
|
|
186
186
|
Object.defineProperty(Ge, "__esModule", {
|
|
187
187
|
value: !0
|
|
188
188
|
}), Ge.default = void 0;
|
|
189
|
-
var
|
|
190
|
-
return Ge.default =
|
|
189
|
+
var f = l(/* @__PURE__ */ Rt());
|
|
190
|
+
return Ge.default = f.default, Ge;
|
|
191
191
|
}
|
|
192
192
|
var Ct;
|
|
193
193
|
function xn() {
|
|
@@ -197,10 +197,10 @@ function xn() {
|
|
|
197
197
|
Object.defineProperty(Ue, "__esModule", {
|
|
198
198
|
value: !0
|
|
199
199
|
}), Ue.default = void 0;
|
|
200
|
-
var
|
|
200
|
+
var f = l(pn()), t = l(/* @__PURE__ */ bn()), r = l(/* @__PURE__ */ Rt()), s = l(/* @__PURE__ */ Ot());
|
|
201
201
|
const n = "${label}不是一个有效的${type}", a = {
|
|
202
202
|
locale: "zh-cn",
|
|
203
|
-
Pagination:
|
|
203
|
+
Pagination: f.default,
|
|
204
204
|
DatePicker: r.default,
|
|
205
205
|
TimePicker: s.default,
|
|
206
206
|
Calendar: t.default,
|
|
@@ -345,9 +345,9 @@ function wn() {
|
|
|
345
345
|
return Nt || (Nt = 1, st = /* @__PURE__ */ xn()), st;
|
|
346
346
|
}
|
|
347
347
|
var Sn = /* @__PURE__ */ wn();
|
|
348
|
-
const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (
|
|
348
|
+
const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (f, t, r) => (r.setState = (s, n, ...a) => {
|
|
349
349
|
const i = typeof s == "function" ? hn(s) : s;
|
|
350
|
-
return
|
|
350
|
+
return f(i, n, ...a);
|
|
351
351
|
}, l(r.setState, t, r)), In = Nn, It = {
|
|
352
352
|
nodes: [],
|
|
353
353
|
materials: [],
|
|
@@ -375,14 +375,14 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
375
375
|
startPoint: null,
|
|
376
376
|
endPoint: null
|
|
377
377
|
}
|
|
378
|
-
}, Se = (l,
|
|
378
|
+
}, Se = (l, f, t) => ({
|
|
379
379
|
id: U(),
|
|
380
380
|
type: l,
|
|
381
|
-
targetId:
|
|
381
|
+
targetId: f,
|
|
382
382
|
payload: t,
|
|
383
383
|
timestamp: Date.now()
|
|
384
384
|
}), Re = un()(
|
|
385
|
-
In((l,
|
|
385
|
+
In((l, f) => ({
|
|
386
386
|
...It,
|
|
387
387
|
// ========== 节点操作 ==========
|
|
388
388
|
addNode: (t, r = !0) => {
|
|
@@ -463,7 +463,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
463
463
|
});
|
|
464
464
|
},
|
|
465
465
|
evaluateCurrentStatus: (t, r) => {
|
|
466
|
-
const n =
|
|
466
|
+
const n = f().nodes.find((a) => a.id === t);
|
|
467
467
|
if (n)
|
|
468
468
|
for (const a of n.contentInfo.statusList)
|
|
469
469
|
try {
|
|
@@ -569,7 +569,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
569
569
|
},
|
|
570
570
|
// ========== 导入导出 ==========
|
|
571
571
|
exportScheme: () => {
|
|
572
|
-
const t =
|
|
572
|
+
const t = f();
|
|
573
573
|
return {
|
|
574
574
|
version: "1.1.0",
|
|
575
575
|
nodes: t.nodes,
|
|
@@ -668,7 +668,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
668
668
|
expression: "return true;",
|
|
669
669
|
material: { ...l, id: U() },
|
|
670
670
|
bindCodes: []
|
|
671
|
-
}), Mn = (l,
|
|
671
|
+
}), Mn = (l, f, t) => {
|
|
672
672
|
if (t?.type === "CUSTOM" && t.config?.nodes) {
|
|
673
673
|
const r = t.config.nodes.map((c) => ({
|
|
674
674
|
...c,
|
|
@@ -677,8 +677,8 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
677
677
|
}));
|
|
678
678
|
let s = 1 / 0, n = 1 / 0, a = -1 / 0, i = -1 / 0;
|
|
679
679
|
r.forEach((c) => {
|
|
680
|
-
const
|
|
681
|
-
s = Math.min(s,
|
|
680
|
+
const m = c.normalStyle.x || 0, C = c.normalStyle.y || 0, o = c.normalStyle.width || 0, I = c.normalStyle.height || 0;
|
|
681
|
+
s = Math.min(s, m), n = Math.min(n, C), a = Math.max(a, m + o), i = Math.max(i, C + I);
|
|
682
682
|
});
|
|
683
683
|
const p = r.map((c) => ({
|
|
684
684
|
...c,
|
|
@@ -698,7 +698,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
698
698
|
width: a - s,
|
|
699
699
|
height: i - n,
|
|
700
700
|
x: l,
|
|
701
|
-
y:
|
|
701
|
+
y: f
|
|
702
702
|
// 不设置背景和边框,由 NodeRenderer 控制
|
|
703
703
|
},
|
|
704
704
|
contentInfo: {
|
|
@@ -722,7 +722,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
722
722
|
width: 120,
|
|
723
723
|
height: 100,
|
|
724
724
|
x: l,
|
|
725
|
-
y:
|
|
725
|
+
y: f,
|
|
726
726
|
background: "transparent",
|
|
727
727
|
padding: 8
|
|
728
728
|
},
|
|
@@ -740,7 +740,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
740
740
|
}, { Panel: Oe } = Ne, { Text: nt } = Yt, En = () => {
|
|
741
741
|
const {
|
|
742
742
|
materials: l,
|
|
743
|
-
addMaterial:
|
|
743
|
+
addMaterial: f,
|
|
744
744
|
removeMaterial: t,
|
|
745
745
|
selectedStatusId: r,
|
|
746
746
|
selectStatus: s,
|
|
@@ -748,7 +748,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
748
748
|
lineDrawing: a,
|
|
749
749
|
startLineDrawing: i,
|
|
750
750
|
cancelLineDrawing: p
|
|
751
|
-
} = Re(), [c,
|
|
751
|
+
} = Re(), [c, m] = Q([
|
|
752
752
|
"basic",
|
|
753
753
|
"device",
|
|
754
754
|
"text",
|
|
@@ -757,7 +757,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
757
757
|
const A = new FileReader();
|
|
758
758
|
return A.onload = (z) => {
|
|
759
759
|
const T = z.target?.result;
|
|
760
|
-
|
|
760
|
+
f({
|
|
761
761
|
name: g.name.replace(".svg", ""),
|
|
762
762
|
type: "IMAGE",
|
|
763
763
|
src: T
|
|
@@ -867,7 +867,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
867
867
|
Ne,
|
|
868
868
|
{
|
|
869
869
|
activeKey: c,
|
|
870
|
-
onChange: (g) =>
|
|
870
|
+
onChange: (g) => m(g),
|
|
871
871
|
ghost: !0,
|
|
872
872
|
expandIconPosition: "end",
|
|
873
873
|
children: [
|
|
@@ -988,49 +988,49 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
988
988
|
) }),
|
|
989
989
|
/* @__PURE__ */ e("div", { className: "p-3 border-t border-gray-200 bg-gray-50", children: /* @__PURE__ */ e(nt, { type: "secondary", className: "text-xs", children: n === "line-draw" ? /* @__PURE__ */ e(Ae, { children: "💡 提示:点击绘制线段,可连续绘制多段线,双击结束绘制,ESC 取消" }) : /* @__PURE__ */ e(Ae, { children: "💡 提示:拖拽物料到画布创建节点,点击线条物料进入绘制模式" }) }) })
|
|
990
990
|
] });
|
|
991
|
-
}, { Text: kt } = Yt, Dn = (l,
|
|
991
|
+
}, { Text: kt } = Yt, Dn = (l, f) => {
|
|
992
992
|
try {
|
|
993
|
-
const t =
|
|
993
|
+
const t = f && Array.isArray(f) ? f.map((n, a) => n.paramsName) : ["A"], s = new Function(...t, l.expression)(...f.map((n) => n.value));
|
|
994
994
|
return console.log(
|
|
995
995
|
`Evaluating status [${l.name}] with data:`,
|
|
996
|
-
|
|
996
|
+
f,
|
|
997
997
|
"Result:",
|
|
998
998
|
s
|
|
999
999
|
), s === !0;
|
|
1000
1000
|
} catch (t) {
|
|
1001
1001
|
return console.warn(`状态表达式执行失败 [${l.name}]:`, t), !1;
|
|
1002
1002
|
}
|
|
1003
|
-
}, $n = (l,
|
|
1003
|
+
}, $n = (l, f) => {
|
|
1004
1004
|
for (const t of l) {
|
|
1005
1005
|
console.log(t, "status");
|
|
1006
1006
|
let r = [];
|
|
1007
|
-
if (Array.isArray(
|
|
1007
|
+
if (Array.isArray(f) ? (console.log(t.bindCodes, "bindCodes"), r = f.filter(
|
|
1008
1008
|
(s) => t.bindCodes?.includes(s.paramsCode)
|
|
1009
|
-
)) : r =
|
|
1009
|
+
)) : r = f, Dn(t, r))
|
|
1010
1010
|
return t;
|
|
1011
1011
|
}
|
|
1012
|
-
}, Yn = (l,
|
|
1013
|
-
if (!
|
|
1012
|
+
}, Yn = (l, f) => {
|
|
1013
|
+
if (!f || !l)
|
|
1014
1014
|
return { value: void 0 };
|
|
1015
1015
|
if (Array.isArray(l)) {
|
|
1016
|
-
const t = l.find((r) => r.paramsCode ===
|
|
1016
|
+
const t = l.find((r) => r.paramsCode === f);
|
|
1017
1017
|
if (t)
|
|
1018
1018
|
return {
|
|
1019
1019
|
value: t.value,
|
|
1020
1020
|
unit: t.unit
|
|
1021
1021
|
};
|
|
1022
|
-
} else if (typeof l == "object" &&
|
|
1022
|
+
} else if (typeof l == "object" && f in l)
|
|
1023
1023
|
return {
|
|
1024
|
-
value: l[
|
|
1024
|
+
value: l[f],
|
|
1025
1025
|
unit: l.unit
|
|
1026
1026
|
};
|
|
1027
1027
|
return { value: void 0 };
|
|
1028
|
-
}, Ln = (l,
|
|
1028
|
+
}, Ln = (l, f) => {
|
|
1029
1029
|
if (l == null || l === "") return "";
|
|
1030
|
-
if (
|
|
1030
|
+
if (f === -1) return String(l);
|
|
1031
1031
|
const t = Number(l);
|
|
1032
|
-
return isNaN(t) ? String(l) : t.toFixed(
|
|
1033
|
-
}, Xn = (l,
|
|
1032
|
+
return isNaN(t) ? String(l) : t.toFixed(f ?? 2);
|
|
1033
|
+
}, Xn = (l, f, t, r) => {
|
|
1034
1034
|
switch (l.type) {
|
|
1035
1035
|
case "IMAGE":
|
|
1036
1036
|
const s = l, n = s.backgroundColor, a = s.fillColor;
|
|
@@ -1057,14 +1057,14 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
1057
1057
|
case "TEXT":
|
|
1058
1058
|
const p = l, {
|
|
1059
1059
|
label: c,
|
|
1060
|
-
value:
|
|
1060
|
+
value: m,
|
|
1061
1061
|
valueSourceCode: C,
|
|
1062
1062
|
unit: o,
|
|
1063
1063
|
decimals: I,
|
|
1064
1064
|
labelStyle: v,
|
|
1065
1065
|
valueStyle: N,
|
|
1066
1066
|
customStyle: g
|
|
1067
|
-
} = p.content || {}, { value: A, unit: z } = C ? Yn(
|
|
1067
|
+
} = p.content || {}, { value: A, unit: z } = C ? Yn(f, C) : { value: void 0, unit: void 0 }, Y = Ln(A !== void 0 ? A : m, I), X = o || z || "";
|
|
1068
1068
|
return /* @__PURE__ */ u(
|
|
1069
1069
|
"div",
|
|
1070
1070
|
{
|
|
@@ -1181,20 +1181,20 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
1181
1181
|
}
|
|
1182
1182
|
}, Pn = ({
|
|
1183
1183
|
node: l,
|
|
1184
|
-
isSelected:
|
|
1184
|
+
isSelected: f = !1,
|
|
1185
1185
|
onClick: t,
|
|
1186
1186
|
onMouseDown: r,
|
|
1187
1187
|
data: s,
|
|
1188
1188
|
onUpdateNode: n,
|
|
1189
1189
|
scale: a = 1
|
|
1190
1190
|
}) => {
|
|
1191
|
-
const { normalStyle: i, contentInfo: p, controlInfo: c } = l, { statusList:
|
|
1191
|
+
const { normalStyle: i, contentInfo: p, controlInfo: c } = l, { statusList: m } = p, { isClickable: C, isDraggable: o, isResizable: I } = c, v = ce(t);
|
|
1192
1192
|
v.current = t;
|
|
1193
1193
|
const [N, g] = Q(null), A = ce(null), z = ce(null), T = ce(null), Y = ce(null), [X, ye] = Q(null), [te, ve] = Q(null), ne = ce(null), j = $t(() => {
|
|
1194
|
-
if (
|
|
1195
|
-
const S = $n(
|
|
1196
|
-
return S ||
|
|
1197
|
-
}, [
|
|
1194
|
+
if (m.length === 0) return;
|
|
1195
|
+
const S = $n(m, s);
|
|
1196
|
+
return S || m[0];
|
|
1197
|
+
}, [m, s]), O = j?.material, V = O?.type === "LINE", D = V ? O.config : null, h = i.scale ?? 1, $ = (i.width || 100) * h, k = (i.height || 100) * h, b = B(() => {
|
|
1198
1198
|
const S = Y.current?.closest('[data-canvas="true"]');
|
|
1199
1199
|
if (!S) return a;
|
|
1200
1200
|
const H = S.getBoundingClientRect(), L = parseFloat(S.style.width);
|
|
@@ -1248,7 +1248,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
1248
1248
|
},
|
|
1249
1249
|
contentInfo: {
|
|
1250
1250
|
...p,
|
|
1251
|
-
statusList:
|
|
1251
|
+
statusList: m.map((P) => ({
|
|
1252
1252
|
...P,
|
|
1253
1253
|
material: P.material.type === "LINE" ? {
|
|
1254
1254
|
...P.material,
|
|
@@ -1267,7 +1267,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
1267
1267
|
return window.addEventListener("mousemove", S), window.addEventListener("mouseup", H), () => {
|
|
1268
1268
|
window.removeEventListener("mousemove", S), window.removeEventListener("mouseup", H);
|
|
1269
1269
|
};
|
|
1270
|
-
}, [N, V, D, l.id, i, p,
|
|
1270
|
+
}, [N, V, D, l.id, i, p, m, n, b]), me(() => {
|
|
1271
1271
|
if (!X || !n) return;
|
|
1272
1272
|
const S = (L) => {
|
|
1273
1273
|
if (!Y.current) return;
|
|
@@ -1365,17 +1365,17 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
1365
1365
|
borderRadius: W ? void 0 : i.borderRadius,
|
|
1366
1366
|
// 线条物料选中时不显示边框,而是通过高亮线条颜色来表示
|
|
1367
1367
|
// 群组节点选中时显示边框,平时不显示
|
|
1368
|
-
border:
|
|
1368
|
+
border: f && !V ? "2px solid #1890ff" : V || W ? "none" : i.border || "1px dashed transparent",
|
|
1369
1369
|
// 线条节点需要捕获点击事件,但由内部 SVG 的透明线处理具体点击区域
|
|
1370
1370
|
pointerEvents: "auto",
|
|
1371
1371
|
opacity: i.opacity ?? 1,
|
|
1372
1372
|
transform: `rotate(${ne.current ?? (i.rotate || 0)}deg) ${i.transform || ""}`.trim(),
|
|
1373
1373
|
transformOrigin: "center center",
|
|
1374
|
-
zIndex:
|
|
1374
|
+
zIndex: f ? 1e3 : i.zIndex ?? 1,
|
|
1375
1375
|
cursor: o && !N ? "move" : C ? "pointer" : "default",
|
|
1376
1376
|
boxSizing: "border-box",
|
|
1377
1377
|
// 选中、线条和群组节点使用 visible overflow,避免裁剪手柄
|
|
1378
|
-
overflow:
|
|
1378
|
+
overflow: f || V || W ? "visible" : "hidden"
|
|
1379
1379
|
}, Ke = D ? { x: D.startX || 0, y: D.startY || 0 } : { x: 0, y: 0 }, Xe = D ? { x: D.endX || 0, y: D.endY || 0 } : { x: 0, y: 0 };
|
|
1380
1380
|
return /* @__PURE__ */ u(
|
|
1381
1381
|
"div",
|
|
@@ -1392,7 +1392,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
1392
1392
|
o && r && !N && r(S);
|
|
1393
1393
|
},
|
|
1394
1394
|
children: [
|
|
1395
|
-
|
|
1395
|
+
f && !V && !W && /* @__PURE__ */ u(Ae, { children: [
|
|
1396
1396
|
/* @__PURE__ */ e(
|
|
1397
1397
|
"div",
|
|
1398
1398
|
{
|
|
@@ -1451,7 +1451,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
1451
1451
|
j ? `(${j.name})` : ""
|
|
1452
1452
|
] })
|
|
1453
1453
|
] }),
|
|
1454
|
-
|
|
1454
|
+
f && V && D && n && /* @__PURE__ */ u(Ae, { children: [
|
|
1455
1455
|
/* @__PURE__ */ e(
|
|
1456
1456
|
"div",
|
|
1457
1457
|
{
|
|
@@ -1482,7 +1482,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
1482
1482
|
),
|
|
1483
1483
|
/* @__PURE__ */ e("div", { className: "absolute -top-6 left-0 bg-blue-500 text-white text-xs px-2 py-0.5 rounded whitespace-nowrap", children: l.name })
|
|
1484
1484
|
] }),
|
|
1485
|
-
/* @__PURE__ */ e("div", { className: "w-full h-full relative", children: O ? /* @__PURE__ */ e("div", { className: "w-full h-full", children: Xn(O, s,
|
|
1485
|
+
/* @__PURE__ */ e("div", { className: "w-full h-full relative", children: O ? /* @__PURE__ */ e("div", { className: "w-full h-full", children: Xn(O, s, f) }) : W ? null : (
|
|
1486
1486
|
// 只有非群组节点才显示"无状态"
|
|
1487
1487
|
/* @__PURE__ */ e("div", { className: "w-full h-full flex items-center justify-center text-gray-300 text-xs", children: "无状态" })
|
|
1488
1488
|
) }),
|
|
@@ -1499,8 +1499,8 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
1499
1499
|
]
|
|
1500
1500
|
}
|
|
1501
1501
|
);
|
|
1502
|
-
}, jt = Ce.memo(Pn, (l,
|
|
1503
|
-
const t = l.node, r =
|
|
1502
|
+
}, jt = Ce.memo(Pn, (l, f) => {
|
|
1503
|
+
const t = l.node, r = f.node, s = t.id === r.id && t.normalStyle.x === r.normalStyle.x && t.normalStyle.y === r.normalStyle.y && t.normalStyle.width === r.normalStyle.width && t.normalStyle.height === r.normalStyle.height, n = t.contentInfo === r.contentInfo, a = l.isSelected === f.isSelected && l.scale === f.scale;
|
|
1504
1504
|
return s && n && a;
|
|
1505
1505
|
}), Tn = [
|
|
1506
1506
|
"#1890ff",
|
|
@@ -1521,20 +1521,20 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
1521
1521
|
"#73d13d"
|
|
1522
1522
|
], je = ({
|
|
1523
1523
|
value: l = "#1890ff",
|
|
1524
|
-
onChange:
|
|
1524
|
+
onChange: f,
|
|
1525
1525
|
onChangeComplete: t
|
|
1526
1526
|
}) => {
|
|
1527
1527
|
const [r, s] = Q(!1), [n, a] = Q(l), i = ce(null);
|
|
1528
1528
|
me(() => {
|
|
1529
1529
|
a(l);
|
|
1530
1530
|
}, [l]), me(() => {
|
|
1531
|
-
const c = (
|
|
1532
|
-
i.current && !i.current.contains(
|
|
1531
|
+
const c = (m) => {
|
|
1532
|
+
i.current && !i.current.contains(m.target) && (s(!1), t?.({ toHexString: () => n }));
|
|
1533
1533
|
};
|
|
1534
1534
|
return r && document.addEventListener("mousedown", c), () => document.removeEventListener("mousedown", c);
|
|
1535
1535
|
}, [r, t, n]);
|
|
1536
1536
|
const p = (c) => {
|
|
1537
|
-
a(c),
|
|
1537
|
+
a(c), f?.({ toHexString: () => c });
|
|
1538
1538
|
};
|
|
1539
1539
|
return /* @__PURE__ */ u("div", { ref: i, style: { position: "relative", display: "inline-block" }, children: [
|
|
1540
1540
|
/* @__PURE__ */ e(
|
|
@@ -1604,14 +1604,14 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
1604
1604
|
)
|
|
1605
1605
|
] });
|
|
1606
1606
|
}, { TextArea: _n } = le, zn = ({ defaultTestData: l }) => {
|
|
1607
|
-
const
|
|
1607
|
+
const f = ce(null), t = ce(null), r = ce(null), {
|
|
1608
1608
|
nodes: s,
|
|
1609
1609
|
selectedNodeId: n,
|
|
1610
1610
|
mode: a,
|
|
1611
1611
|
lineDrawing: i,
|
|
1612
1612
|
viewport: p,
|
|
1613
1613
|
canvas: c,
|
|
1614
|
-
setViewport:
|
|
1614
|
+
setViewport: m,
|
|
1615
1615
|
setCanvasConfig: C,
|
|
1616
1616
|
addNode: o,
|
|
1617
1617
|
selectNode: I,
|
|
@@ -1683,13 +1683,13 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
1683
1683
|
},
|
|
1684
1684
|
[i.material, o, Y]
|
|
1685
1685
|
), be = B(() => {
|
|
1686
|
-
const d =
|
|
1687
|
-
d &&
|
|
1686
|
+
const d = f.current?.state;
|
|
1687
|
+
d && m({
|
|
1688
1688
|
scale: d.scale,
|
|
1689
1689
|
positionX: d.positionX,
|
|
1690
1690
|
positionY: d.positionY
|
|
1691
1691
|
});
|
|
1692
|
-
}, [
|
|
1692
|
+
}, [m]), re = B(
|
|
1693
1693
|
(d) => {
|
|
1694
1694
|
ne.current || a !== "box-select" && (d.target === t.current || d.target.dataset?.canvas === "true") && (I(null), Z([]));
|
|
1695
1695
|
},
|
|
@@ -2114,7 +2114,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
2114
2114
|
/* @__PURE__ */ e("div", { ref: r, className: "flex-1 relative", children: /* @__PURE__ */ e(
|
|
2115
2115
|
mn,
|
|
2116
2116
|
{
|
|
2117
|
-
ref:
|
|
2117
|
+
ref: f,
|
|
2118
2118
|
initialScale: 1,
|
|
2119
2119
|
initialPositionX: 0,
|
|
2120
2120
|
initialPositionY: 0,
|
|
@@ -2181,7 +2181,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
2181
2181
|
isSelected: n === E.id || b.includes(E.id),
|
|
2182
2182
|
data: l,
|
|
2183
2183
|
onClick: () => {
|
|
2184
|
-
|
|
2184
|
+
I(E.id);
|
|
2185
2185
|
},
|
|
2186
2186
|
onMouseDown: (x) => Te(x, E),
|
|
2187
2187
|
onUpdateNode: (x, _) => v(x, _),
|
|
@@ -2308,7 +2308,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
2308
2308
|
] });
|
|
2309
2309
|
}, { Option: lt } = Ie, On = ({
|
|
2310
2310
|
material: l,
|
|
2311
|
-
onSave:
|
|
2311
|
+
onSave: f,
|
|
2312
2312
|
bindCodes: t = [],
|
|
2313
2313
|
dataOptions: r = []
|
|
2314
2314
|
}) => {
|
|
@@ -2350,7 +2350,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
2350
2350
|
unit: v,
|
|
2351
2351
|
value: String(I?.value || "")
|
|
2352
2352
|
})), setTimeout(() => {
|
|
2353
|
-
|
|
2353
|
+
f({
|
|
2354
2354
|
content: {
|
|
2355
2355
|
...n,
|
|
2356
2356
|
valueSourceCode: o,
|
|
@@ -2359,8 +2359,8 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
2359
2359
|
}
|
|
2360
2360
|
});
|
|
2361
2361
|
}, 0);
|
|
2362
|
-
},
|
|
2363
|
-
|
|
2362
|
+
}, m = () => {
|
|
2363
|
+
f({
|
|
2364
2364
|
content: {
|
|
2365
2365
|
...n,
|
|
2366
2366
|
label: a.label,
|
|
@@ -2391,7 +2391,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
2391
2391
|
{
|
|
2392
2392
|
value: a.label,
|
|
2393
2393
|
onChange: (o) => p("label", o.target.value),
|
|
2394
|
-
onBlur:
|
|
2394
|
+
onBlur: m,
|
|
2395
2395
|
placeholder: "输入标签文本"
|
|
2396
2396
|
}
|
|
2397
2397
|
) }),
|
|
@@ -2427,7 +2427,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
2427
2427
|
{
|
|
2428
2428
|
value: a.value,
|
|
2429
2429
|
onChange: (o) => p("value", o.target.value),
|
|
2430
|
-
onBlur:
|
|
2430
|
+
onBlur: m,
|
|
2431
2431
|
placeholder: a.valueSourceCode ? "数据字段无值时显示此备用值" : "输入值文本",
|
|
2432
2432
|
disabled: !!a.valueSourceCode,
|
|
2433
2433
|
variant: a.valueSourceCode ? "filled" : void 0
|
|
@@ -2440,7 +2440,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
2440
2440
|
{
|
|
2441
2441
|
value: a.unit,
|
|
2442
2442
|
onChange: (o) => p("unit", o.target.value),
|
|
2443
|
-
onBlur:
|
|
2443
|
+
onBlur: m,
|
|
2444
2444
|
placeholder: "单位(如°C、%、MPa等)",
|
|
2445
2445
|
suffix: a.valueSourceCode && C.length > 0 ? /* @__PURE__ */ e(he, { color: "blue", style: { marginRight: -8 }, children: "自动" }) : null
|
|
2446
2446
|
}
|
|
@@ -2455,7 +2455,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
2455
2455
|
{
|
|
2456
2456
|
value: a.decimals,
|
|
2457
2457
|
onChange: (o) => p("decimals", o ?? 2),
|
|
2458
|
-
onBlur:
|
|
2458
|
+
onBlur: m,
|
|
2459
2459
|
min: -1,
|
|
2460
2460
|
max: 10,
|
|
2461
2461
|
style: { width: "100%" }
|
|
@@ -2472,7 +2472,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
2472
2472
|
{
|
|
2473
2473
|
value: a.labelFontSize,
|
|
2474
2474
|
onChange: (o) => p("labelFontSize", o || 14),
|
|
2475
|
-
onBlur:
|
|
2475
|
+
onBlur: m,
|
|
2476
2476
|
min: 8,
|
|
2477
2477
|
max: 72
|
|
2478
2478
|
}
|
|
@@ -2482,7 +2482,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
2482
2482
|
{
|
|
2483
2483
|
value: a.labelFontWeight,
|
|
2484
2484
|
onChange: (o) => {
|
|
2485
|
-
p("labelFontWeight", o), setTimeout(
|
|
2485
|
+
p("labelFontWeight", o), setTimeout(m, 0);
|
|
2486
2486
|
},
|
|
2487
2487
|
style: { width: 100 },
|
|
2488
2488
|
children: [
|
|
@@ -2501,7 +2501,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
2501
2501
|
p("labelColor", o.toHexString());
|
|
2502
2502
|
},
|
|
2503
2503
|
onChangeComplete: (o) => {
|
|
2504
|
-
|
|
2504
|
+
f({
|
|
2505
2505
|
content: {
|
|
2506
2506
|
...n,
|
|
2507
2507
|
label: a.label,
|
|
@@ -2529,7 +2529,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
2529
2529
|
{
|
|
2530
2530
|
value: a.labelColor,
|
|
2531
2531
|
onChange: (o) => p("labelColor", o.target.value),
|
|
2532
|
-
onBlur:
|
|
2532
|
+
onBlur: m,
|
|
2533
2533
|
placeholder: "#262626",
|
|
2534
2534
|
style: { width: 100 }
|
|
2535
2535
|
}
|
|
@@ -2544,7 +2544,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
2544
2544
|
{
|
|
2545
2545
|
value: a.valueFontSize,
|
|
2546
2546
|
onChange: (o) => p("valueFontSize", o || 14),
|
|
2547
|
-
onBlur:
|
|
2547
|
+
onBlur: m,
|
|
2548
2548
|
min: 8,
|
|
2549
2549
|
max: 72
|
|
2550
2550
|
}
|
|
@@ -2554,7 +2554,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
2554
2554
|
{
|
|
2555
2555
|
value: a.valueFontWeight,
|
|
2556
2556
|
onChange: (o) => {
|
|
2557
|
-
p("valueFontWeight", o), setTimeout(
|
|
2557
|
+
p("valueFontWeight", o), setTimeout(m, 0);
|
|
2558
2558
|
},
|
|
2559
2559
|
style: { width: 100 },
|
|
2560
2560
|
children: [
|
|
@@ -2573,7 +2573,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
2573
2573
|
p("valueColor", o.toHexString());
|
|
2574
2574
|
},
|
|
2575
2575
|
onChangeComplete: (o) => {
|
|
2576
|
-
|
|
2576
|
+
f({
|
|
2577
2577
|
content: {
|
|
2578
2578
|
...n,
|
|
2579
2579
|
label: a.label,
|
|
@@ -2601,7 +2601,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
2601
2601
|
{
|
|
2602
2602
|
value: a.valueColor,
|
|
2603
2603
|
onChange: (o) => p("valueColor", o.target.value),
|
|
2604
|
-
onBlur:
|
|
2604
|
+
onBlur: m,
|
|
2605
2605
|
placeholder: "#1890ff",
|
|
2606
2606
|
style: { width: 100 }
|
|
2607
2607
|
}
|
|
@@ -2611,7 +2611,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
2611
2611
|
] });
|
|
2612
2612
|
}, Rn = ({
|
|
2613
2613
|
material: l,
|
|
2614
|
-
onSave:
|
|
2614
|
+
onSave: f
|
|
2615
2615
|
}) => {
|
|
2616
2616
|
const t = l, [r, s] = Q({
|
|
2617
2617
|
name: l.name,
|
|
@@ -2630,7 +2630,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
2630
2630
|
const n = (i, p) => {
|
|
2631
2631
|
s((c) => ({ ...c, [i]: p }));
|
|
2632
2632
|
}, a = () => {
|
|
2633
|
-
|
|
2633
|
+
f({
|
|
2634
2634
|
name: r.name,
|
|
2635
2635
|
src: r.src,
|
|
2636
2636
|
backgroundColor: r.backgroundColor
|
|
@@ -2664,7 +2664,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
2664
2664
|
value: r.fillColor || "#1890ff",
|
|
2665
2665
|
onChange: (i) => {
|
|
2666
2666
|
const p = i.toHexString();
|
|
2667
|
-
n("fillColor", p),
|
|
2667
|
+
n("fillColor", p), f({
|
|
2668
2668
|
name: r.name,
|
|
2669
2669
|
src: r.src,
|
|
2670
2670
|
backgroundColor: r.backgroundColor,
|
|
@@ -2690,7 +2690,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
2690
2690
|
value: r.backgroundColor || "#1890ff",
|
|
2691
2691
|
onChange: (i) => {
|
|
2692
2692
|
const p = i.toHexString();
|
|
2693
|
-
n("backgroundColor", p),
|
|
2693
|
+
n("backgroundColor", p), f({
|
|
2694
2694
|
name: r.name,
|
|
2695
2695
|
src: r.src,
|
|
2696
2696
|
backgroundColor: p,
|
|
@@ -2713,7 +2713,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
2713
2713
|
] });
|
|
2714
2714
|
}, { Option: An } = Ie, jn = ({
|
|
2715
2715
|
material: l,
|
|
2716
|
-
onSave:
|
|
2716
|
+
onSave: f
|
|
2717
2717
|
}) => {
|
|
2718
2718
|
const t = l.config || {}, [r, s] = Q({
|
|
2719
2719
|
lineWeight: t.lineWeight || t.thickness || 2,
|
|
@@ -2737,7 +2737,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
2737
2737
|
}, [l.id]);
|
|
2738
2738
|
const n = (i) => {
|
|
2739
2739
|
const p = { ...r, ...i };
|
|
2740
|
-
s(p),
|
|
2740
|
+
s(p), f({
|
|
2741
2741
|
config: {
|
|
2742
2742
|
...t,
|
|
2743
2743
|
thickness: p.lineWeight,
|
|
@@ -2825,10 +2825,10 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
2825
2825
|
{
|
|
2826
2826
|
size: "small",
|
|
2827
2827
|
onClick: () => {
|
|
2828
|
-
const i = t.startX ?? r.startX, p = t.startY ?? r.startY, c = t.endX ?? r.endX,
|
|
2828
|
+
const i = t.startX ?? r.startX, p = t.startY ?? r.startY, c = t.endX ?? r.endX, m = t.endY ?? r.endY;
|
|
2829
2829
|
n({
|
|
2830
2830
|
startX: c,
|
|
2831
|
-
startY:
|
|
2831
|
+
startY: m,
|
|
2832
2832
|
endX: i,
|
|
2833
2833
|
endY: p
|
|
2834
2834
|
});
|
|
@@ -2884,7 +2884,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
2884
2884
|
] });
|
|
2885
2885
|
}, Wt = ({
|
|
2886
2886
|
material: l,
|
|
2887
|
-
onSave:
|
|
2887
|
+
onSave: f,
|
|
2888
2888
|
bindCodes: t,
|
|
2889
2889
|
dataOptions: r
|
|
2890
2890
|
}) => {
|
|
@@ -2894,36 +2894,36 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
2894
2894
|
On,
|
|
2895
2895
|
{
|
|
2896
2896
|
material: l,
|
|
2897
|
-
onSave:
|
|
2897
|
+
onSave: f,
|
|
2898
2898
|
bindCodes: t,
|
|
2899
2899
|
dataOptions: r
|
|
2900
2900
|
}
|
|
2901
2901
|
);
|
|
2902
2902
|
case "IMAGE":
|
|
2903
|
-
return /* @__PURE__ */ e(Rn, { material: l, onSave:
|
|
2903
|
+
return /* @__PURE__ */ e(Rn, { material: l, onSave: f });
|
|
2904
2904
|
case "LINE":
|
|
2905
|
-
return /* @__PURE__ */ e(jn, { material: l, onSave:
|
|
2905
|
+
return /* @__PURE__ */ e(jn, { material: l, onSave: f });
|
|
2906
2906
|
default:
|
|
2907
2907
|
return /* @__PURE__ */ e("div", { className: "text-center text-gray-400 py-8", children: "暂不支持编辑此类型的物料" });
|
|
2908
2908
|
}
|
|
2909
2909
|
}, { Panel: Mt } = Ne, { TextArea: Wn } = le, Fn = ({
|
|
2910
2910
|
node: l,
|
|
2911
|
-
updateNode:
|
|
2911
|
+
updateNode: f,
|
|
2912
2912
|
materials: t
|
|
2913
2913
|
}) => {
|
|
2914
|
-
const r = t.filter((
|
|
2915
|
-
const o = l.children?.map((I) => I.id ===
|
|
2914
|
+
const r = t.filter((m) => m.type !== "CUSTOM" || !m.config?.nodes), s = (m, C) => {
|
|
2915
|
+
const o = l.children?.map((I) => I.id === m ? {
|
|
2916
2916
|
...I,
|
|
2917
2917
|
contentInfo: {
|
|
2918
2918
|
...I.contentInfo,
|
|
2919
2919
|
statusList: C
|
|
2920
2920
|
}
|
|
2921
2921
|
} : I);
|
|
2922
|
-
|
|
2922
|
+
f(l.id, {
|
|
2923
2923
|
children: o
|
|
2924
2924
|
});
|
|
2925
|
-
}, n = (
|
|
2926
|
-
const C = l.children?.find((I) => I.id ===
|
|
2925
|
+
}, n = (m) => {
|
|
2926
|
+
const C = l.children?.find((I) => I.id === m);
|
|
2927
2927
|
if (!C) return;
|
|
2928
2928
|
const o = {
|
|
2929
2929
|
id: U(),
|
|
@@ -2932,27 +2932,27 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
2932
2932
|
material: { ...r[0], id: U() },
|
|
2933
2933
|
bindCodes: []
|
|
2934
2934
|
};
|
|
2935
|
-
s(
|
|
2936
|
-
}, a = (
|
|
2937
|
-
const o = l.children?.find((v) => v.id ===
|
|
2935
|
+
s(m, [...C.contentInfo.statusList, o]);
|
|
2936
|
+
}, a = (m, C) => {
|
|
2937
|
+
const o = l.children?.find((v) => v.id === m);
|
|
2938
2938
|
if (!o) return;
|
|
2939
2939
|
const I = o.contentInfo.statusList.filter((v) => v.id !== C);
|
|
2940
|
-
s(
|
|
2941
|
-
}, i = (
|
|
2942
|
-
const I = l.children?.find((N) => N.id ===
|
|
2940
|
+
s(m, I);
|
|
2941
|
+
}, i = (m, C, o) => {
|
|
2942
|
+
const I = l.children?.find((N) => N.id === m);
|
|
2943
2943
|
if (!I) return;
|
|
2944
2944
|
const v = I.contentInfo.statusList.map((N) => N.id === C ? { ...N, ...o } : N);
|
|
2945
|
-
s(
|
|
2946
|
-
}, p = (
|
|
2947
|
-
const I = l.children?.find((g) => g.id ===
|
|
2945
|
+
s(m, v);
|
|
2946
|
+
}, p = (m, C, o) => {
|
|
2947
|
+
const I = l.children?.find((g) => g.id === m);
|
|
2948
2948
|
if (!I) return;
|
|
2949
2949
|
const v = I.contentInfo.statusList.findIndex((g) => g.id === C);
|
|
2950
2950
|
if (v === -1) return;
|
|
2951
2951
|
const N = [...I.contentInfo.statusList];
|
|
2952
|
-
o === "up" && v > 0 ? [N[v], N[v - 1]] = [N[v - 1], N[v]] : o === "down" && v < N.length - 1 && ([N[v], N[v + 1]] = [N[v + 1], N[v]]), s(
|
|
2953
|
-
}, c = (
|
|
2952
|
+
o === "up" && v > 0 ? [N[v], N[v - 1]] = [N[v - 1], N[v]] : o === "down" && v < N.length - 1 && ([N[v], N[v + 1]] = [N[v + 1], N[v]]), s(m, N);
|
|
2953
|
+
}, c = (m, C, o) => {
|
|
2954
2954
|
const I = t.find((v) => v.id === o);
|
|
2955
|
-
I && i(
|
|
2955
|
+
I && i(m, C, {
|
|
2956
2956
|
material: { ...I, id: U() }
|
|
2957
2957
|
});
|
|
2958
2958
|
};
|
|
@@ -2961,7 +2961,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
2961
2961
|
/* @__PURE__ */ e("strong", { children: "群组节点" }),
|
|
2962
2962
|
":为每个子节点配置多个状态和绑定"
|
|
2963
2963
|
] }) }),
|
|
2964
|
-
/* @__PURE__ */ e(Ne, { ghost: !0, children: l.children?.map((
|
|
2964
|
+
/* @__PURE__ */ e(Ne, { ghost: !0, children: l.children?.map((m, C) => /* @__PURE__ */ e(
|
|
2965
2965
|
Mt,
|
|
2966
2966
|
{
|
|
2967
2967
|
header: /* @__PURE__ */ u("div", { className: "flex items-center justify-between w-full pr-4", children: [
|
|
@@ -2970,7 +2970,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
2970
2970
|
C + 1
|
|
2971
2971
|
] }),
|
|
2972
2972
|
/* @__PURE__ */ u(he, { color: "blue", style: { fontSize: "12px", padding: "0 4px" }, children: [
|
|
2973
|
-
|
|
2973
|
+
m.contentInfo.statusList.length,
|
|
2974
2974
|
" 个状态"
|
|
2975
2975
|
] })
|
|
2976
2976
|
] }),
|
|
@@ -2983,12 +2983,12 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
2983
2983
|
type: "primary",
|
|
2984
2984
|
size: "small",
|
|
2985
2985
|
icon: /* @__PURE__ */ e(Tt, {}),
|
|
2986
|
-
onClick: () => n(
|
|
2986
|
+
onClick: () => n(m.id),
|
|
2987
2987
|
children: "添加状态"
|
|
2988
2988
|
}
|
|
2989
2989
|
)
|
|
2990
2990
|
] }),
|
|
2991
|
-
|
|
2991
|
+
m.contentInfo.statusList.length === 0 ? /* @__PURE__ */ e("div", { className: "text-center text-gray-400 py-4 bg-gray-50 rounded-lg", children: "暂无状态,点击上方按钮添加" }) : /* @__PURE__ */ e(Ne, { ghost: !0, children: m.contentInfo.statusList.map((o, I) => /* @__PURE__ */ e(
|
|
2992
2992
|
Mt,
|
|
2993
2993
|
{
|
|
2994
2994
|
header: /* @__PURE__ */ u("div", { className: "flex items-center gap-2", children: [
|
|
@@ -3005,7 +3005,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
3005
3005
|
icon: /* @__PURE__ */ e(_t, {}),
|
|
3006
3006
|
disabled: I === 0,
|
|
3007
3007
|
onClick: (v) => {
|
|
3008
|
-
v.stopPropagation(), p(
|
|
3008
|
+
v.stopPropagation(), p(m.id, o.id, "up");
|
|
3009
3009
|
}
|
|
3010
3010
|
}
|
|
3011
3011
|
),
|
|
@@ -3015,9 +3015,9 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
3015
3015
|
type: "text",
|
|
3016
3016
|
size: "small",
|
|
3017
3017
|
icon: /* @__PURE__ */ e(zt, {}),
|
|
3018
|
-
disabled: I ===
|
|
3018
|
+
disabled: I === m.contentInfo.statusList.length - 1,
|
|
3019
3019
|
onClick: (v) => {
|
|
3020
|
-
v.stopPropagation(), p(
|
|
3020
|
+
v.stopPropagation(), p(m.id, o.id, "down");
|
|
3021
3021
|
}
|
|
3022
3022
|
}
|
|
3023
3023
|
),
|
|
@@ -3029,7 +3029,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
3029
3029
|
danger: !0,
|
|
3030
3030
|
icon: /* @__PURE__ */ e(at, {}),
|
|
3031
3031
|
onClick: (v) => {
|
|
3032
|
-
v.stopPropagation(), a(
|
|
3032
|
+
v.stopPropagation(), a(m.id, o.id);
|
|
3033
3033
|
}
|
|
3034
3034
|
}
|
|
3035
3035
|
)
|
|
@@ -3039,7 +3039,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
3039
3039
|
le,
|
|
3040
3040
|
{
|
|
3041
3041
|
value: o.name,
|
|
3042
|
-
onChange: (v) => i(
|
|
3042
|
+
onChange: (v) => i(m.id, o.id, { name: v.target.value }),
|
|
3043
3043
|
placeholder: "输入状态名称"
|
|
3044
3044
|
}
|
|
3045
3045
|
) }),
|
|
@@ -3052,7 +3052,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
3052
3052
|
Wn,
|
|
3053
3053
|
{
|
|
3054
3054
|
value: o.expression,
|
|
3055
|
-
onChange: (v) => i(
|
|
3055
|
+
onChange: (v) => i(m.id, o.id, { expression: v.target.value }),
|
|
3056
3056
|
rows: 3,
|
|
3057
3057
|
placeholder: "return true;"
|
|
3058
3058
|
}
|
|
@@ -3064,7 +3064,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
3064
3064
|
{
|
|
3065
3065
|
mode: "tags",
|
|
3066
3066
|
value: o.bindCodes || [],
|
|
3067
|
-
onChange: (v) => i(
|
|
3067
|
+
onChange: (v) => i(m.id, o.id, { bindCodes: v }),
|
|
3068
3068
|
placeholder: "输入数据源 code",
|
|
3069
3069
|
tokenSeparators: [",", " "]
|
|
3070
3070
|
}
|
|
@@ -3078,7 +3078,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
3078
3078
|
placeholder: "选择新物料",
|
|
3079
3079
|
style: { width: 150 },
|
|
3080
3080
|
value: void 0,
|
|
3081
|
-
onChange: (v) => v && c(
|
|
3081
|
+
onChange: (v) => v && c(m.id, o.id, v),
|
|
3082
3082
|
options: r.map((v) => ({
|
|
3083
3083
|
value: v.id,
|
|
3084
3084
|
label: `${v.name} (${v.type})`
|
|
@@ -3098,7 +3098,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
3098
3098
|
material: o.material,
|
|
3099
3099
|
onSave: (v) => {
|
|
3100
3100
|
const N = { ...o.material, ...v };
|
|
3101
|
-
i(
|
|
3101
|
+
i(m.id, o.id, { material: N });
|
|
3102
3102
|
}
|
|
3103
3103
|
}
|
|
3104
3104
|
)
|
|
@@ -3109,14 +3109,14 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
3109
3109
|
)) })
|
|
3110
3110
|
] })
|
|
3111
3111
|
},
|
|
3112
|
-
|
|
3112
|
+
m.id
|
|
3113
3113
|
)) })
|
|
3114
3114
|
] });
|
|
3115
3115
|
}, { Panel: Ee } = Ne, { TabPane: ct } = Lt, { TextArea: Un } = le, Hn = ({
|
|
3116
3116
|
defaultTestData: l
|
|
3117
3117
|
}) => {
|
|
3118
3118
|
const {
|
|
3119
|
-
nodes:
|
|
3119
|
+
nodes: f,
|
|
3120
3120
|
selectedNodeId: t,
|
|
3121
3121
|
updateNode: r,
|
|
3122
3122
|
updateNodeStyle: s,
|
|
@@ -3125,11 +3125,11 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
3125
3125
|
materials: i,
|
|
3126
3126
|
selectedStatusId: p,
|
|
3127
3127
|
selectStatus: c
|
|
3128
|
-
} = Re(), [
|
|
3128
|
+
} = Re(), [m] = w.useForm(), [C, o] = Q("basic"), [I, v] = Q(!1), [N, g] = Q(null), [A, z] = Q({}), T = Ce.useMemo(() => f.find((h) => h.id === t), [f, t]), Y = T?.contentInfo.statusList || [], X = (h) => {
|
|
3129
3129
|
t && (h.normalStyle && s(t, h.normalStyle), h.name !== void 0 && r(t, { name: h.name }), h.controlInfo && n(t, h.controlInfo));
|
|
3130
3130
|
};
|
|
3131
3131
|
me(() => {
|
|
3132
|
-
T && (
|
|
3132
|
+
T && (m.setFieldsValue({
|
|
3133
3133
|
name: T.name,
|
|
3134
3134
|
normalStyle: {
|
|
3135
3135
|
width: 100,
|
|
@@ -3150,7 +3150,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
3150
3150
|
...T.controlInfo
|
|
3151
3151
|
}
|
|
3152
3152
|
}), c(null));
|
|
3153
|
-
}, [T?.id,
|
|
3153
|
+
}, [T?.id, m, c]);
|
|
3154
3154
|
const ye = () => {
|
|
3155
3155
|
!t || !T || (g("new"), v(!0));
|
|
3156
3156
|
}, te = (h) => {
|
|
@@ -3218,7 +3218,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
3218
3218
|
/* @__PURE__ */ e(ct, { tab: "基础", children: /* @__PURE__ */ u(
|
|
3219
3219
|
w,
|
|
3220
3220
|
{
|
|
3221
|
-
form:
|
|
3221
|
+
form: m,
|
|
3222
3222
|
layout: "vertical",
|
|
3223
3223
|
onValuesChange: X,
|
|
3224
3224
|
initialValues: { name: T.name },
|
|
@@ -3430,7 +3430,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
3430
3430
|
/* @__PURE__ */ e(ct, { tab: "控制", children: /* @__PURE__ */ u(
|
|
3431
3431
|
w,
|
|
3432
3432
|
{
|
|
3433
|
-
form:
|
|
3433
|
+
form: m,
|
|
3434
3434
|
layout: "vertical",
|
|
3435
3435
|
onValuesChange: X,
|
|
3436
3436
|
children: [
|
|
@@ -3542,13 +3542,13 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
3542
3542
|
}
|
|
3543
3543
|
)
|
|
3544
3544
|
] }) : /* @__PURE__ */ e("div", { className: "h-full flex items-center justify-center bg-white border-l border-gray-200", children: /* @__PURE__ */ e(ue, { description: "请选择一个节点" }) });
|
|
3545
|
-
}, Et = ({ material: l, onClick:
|
|
3545
|
+
}, Et = ({ material: l, onClick: f }) => {
|
|
3546
3546
|
const t = l.type === "IMAGE" ? l.src : void 0;
|
|
3547
3547
|
return /* @__PURE__ */ u(
|
|
3548
3548
|
"div",
|
|
3549
3549
|
{
|
|
3550
3550
|
className: "border rounded-lg p-2 cursor-pointer hover:border-blue-500 hover:bg-blue-50 transition-all text-center",
|
|
3551
|
-
onClick:
|
|
3551
|
+
onClick: f,
|
|
3552
3552
|
children: [
|
|
3553
3553
|
/* @__PURE__ */ e("div", { className: "w-12 h-12 mx-auto mb-1 flex items-center justify-center", children: t ? /* @__PURE__ */ e("img", { src: t, alt: l.name, className: "w-10 h-10 object-contain" }) : /* @__PURE__ */ e("span", { className: "text-xs", children: l.name[0] }) }),
|
|
3554
3554
|
/* @__PURE__ */ e("span", { className: "text-xs", children: l.name })
|
|
@@ -3559,7 +3559,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
3559
3559
|
configEditor: Gn
|
|
3560
3560
|
}, { Header: Bn, Sider: Dt, Content: Vn } = dt, rl = ({
|
|
3561
3561
|
initialScheme: l,
|
|
3562
|
-
onChange:
|
|
3562
|
+
onChange: f,
|
|
3563
3563
|
readonly: t = !1,
|
|
3564
3564
|
headerExtra: r,
|
|
3565
3565
|
className: s = "",
|
|
@@ -3569,7 +3569,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
3569
3569
|
showPropertyPanel: p = !0,
|
|
3570
3570
|
customMaterials: c
|
|
3571
3571
|
}) => {
|
|
3572
|
-
const [
|
|
3572
|
+
const [m, C] = Ce.useState(!1), [o, I] = Ce.useState(""), [v, N] = Ce.useState([
|
|
3573
3573
|
{
|
|
3574
3574
|
paramsCode: "001",
|
|
3575
3575
|
paramsName: "通频速度有效值",
|
|
@@ -3588,11 +3588,11 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
3588
3588
|
me(() => {
|
|
3589
3589
|
X.current || (X.current = !0, T.length === 0 && kn.forEach((j) => Y(j)), c && c.length > 0 && c.forEach((j) => Y(j)), l && A(l));
|
|
3590
3590
|
}, []), me(() => {
|
|
3591
|
-
if (
|
|
3591
|
+
if (f) {
|
|
3592
3592
|
const j = g();
|
|
3593
|
-
|
|
3593
|
+
f(j);
|
|
3594
3594
|
}
|
|
3595
|
-
}, [z,
|
|
3595
|
+
}, [z, f]);
|
|
3596
3596
|
const ye = B(() => {
|
|
3597
3597
|
const j = g(), O = JSON.stringify(j, null, 2), V = "data:application/json;charset=utf-8," + encodeURIComponent(O), D = `scheme_${Date.now()}.json`, h = document.createElement("a");
|
|
3598
3598
|
h.setAttribute("href", V), h.setAttribute("download", D), h.click(), Fe.success("导出成功!");
|
|
@@ -3662,7 +3662,7 @@ const Cn = /* @__PURE__ */ gn(Sn), Nn = (l) => (m, t, r) => (r.setState = (s, n,
|
|
|
3662
3662
|
rt,
|
|
3663
3663
|
{
|
|
3664
3664
|
title: "导入组态方案",
|
|
3665
|
-
open:
|
|
3665
|
+
open: m,
|
|
3666
3666
|
onOk: te,
|
|
3667
3667
|
onCancel: () => {
|
|
3668
3668
|
C(!1), I("");
|