@cloudbase/framework-plugin-low-code 0.6.30 → 0.6.31
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudbase/framework-plugin-low-code",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.31",
|
|
4
4
|
"description": "云开发 Tencent CloudBase Framework Low Code Plugin,将低码配置生成完整项目并一键部署云开发资源。",
|
|
5
5
|
"author": "yhsunshining@gmail.com",
|
|
6
6
|
"homepage": "https://github.com/TencentCloudBase/cloudbase-framework#readme",
|
|
@@ -63,7 +63,7 @@ export const CompRenderer = observer(function (props) {
|
|
|
63
63
|
|
|
64
64
|
// 组件最终用于执行的事件函数
|
|
65
65
|
const emit = useCallback(
|
|
66
|
-
(trigger,
|
|
66
|
+
(trigger, eventDetail, forItems, scopeContext) => {
|
|
67
67
|
const listeners = listenerInstances || [];
|
|
68
68
|
|
|
69
69
|
// 如果是数据容器,则将传过来的data,赋值给容器上下文context
|
|
@@ -83,7 +83,7 @@ export const CompRenderer = observer(function (props) {
|
|
|
83
83
|
});
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
-
event = { detail:
|
|
86
|
+
let event = { detail: eventDetail, name: trigger };
|
|
87
87
|
forItems = {
|
|
88
88
|
...forItems,
|
|
89
89
|
forIndexes: getForIndexes(forItems, widgetsData),
|
|
@@ -105,14 +105,14 @@ export const CompRenderer = observer(function (props) {
|
|
|
105
105
|
|
|
106
106
|
// 选区最终用于执行的事件函数
|
|
107
107
|
const emitSB = useCallback(
|
|
108
|
-
(trigger,
|
|
108
|
+
(trigger, eventDetail, forItems, scopeContext, fieldData) => {
|
|
109
109
|
const listeners =
|
|
110
110
|
indexRef?.current !== undefined &&
|
|
111
111
|
typeRef?.current &&
|
|
112
112
|
fieldData?.[typeRef.current]?.[indexRef.current]?.selectableBlock?.[
|
|
113
113
|
'x-props'
|
|
114
114
|
]?.listenerInstances;
|
|
115
|
-
event = { detail:
|
|
115
|
+
let event = { detail: eventDetail, name: trigger };
|
|
116
116
|
forItems = {
|
|
117
117
|
...forItems,
|
|
118
118
|
forIndexes: getForIndexes(forItems, widgetsData),
|
|
@@ -164,7 +164,9 @@ export const CompRenderer = observer(function (props) {
|
|
|
164
164
|
try {
|
|
165
165
|
// 绑定了 for 变量,但计算值错误时,应当空数组兜底
|
|
166
166
|
forList =
|
|
167
|
-
dataBinds &&
|
|
167
|
+
dataBinds &&
|
|
168
|
+
dataBinds._waFor &&
|
|
169
|
+
(dataBinds._waFor(parentForItems, undefined, context) || []);
|
|
168
170
|
} catch (e) {
|
|
169
171
|
// 计算值出错则使用空数组兜底
|
|
170
172
|
forList = [];
|
|
@@ -305,7 +307,10 @@ export const CompRenderer = observer(function (props) {
|
|
|
305
307
|
|
|
306
308
|
return (
|
|
307
309
|
<Field
|
|
308
|
-
data={{
|
|
310
|
+
data={{
|
|
311
|
+
...fieldData,
|
|
312
|
+
_selectableBlockEvents: _selectableBlockEventsWithItem,
|
|
313
|
+
}}
|
|
309
314
|
id={compId}
|
|
310
315
|
{...componentProps}
|
|
311
316
|
emit={emitWithForItems}
|
|
@@ -11,31 +11,44 @@ export function getMetaInfoBySourceKey(sourceKey) {
|
|
|
11
11
|
};
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
export function emitEvent(
|
|
14
|
+
export function emitEvent(
|
|
15
|
+
trigger,
|
|
16
|
+
listeners = [],
|
|
17
|
+
args,
|
|
18
|
+
scopeContext = {},
|
|
19
|
+
context
|
|
20
|
+
) {
|
|
15
21
|
const targetListeners = listeners.filter((l) => l.trigger === trigger);
|
|
16
22
|
targetListeners.forEach(async (listener) => {
|
|
17
23
|
// 当前非捕获Event,再判断冒泡行为
|
|
18
|
-
if (
|
|
19
|
-
|
|
20
|
-
listener.noPropagation
|
|
21
|
-
) {
|
|
22
|
-
args?.customEventData?.detail?.stopPropagation();
|
|
24
|
+
if (!args?.event?.isCapturePhase && listener.noPropagation) {
|
|
25
|
+
args?.customEventData?.stopPropagation();
|
|
23
26
|
}
|
|
24
27
|
|
|
25
28
|
// 判断捕获的执行,只有执行的捕获与配置的捕获一致时。才会执行。
|
|
26
29
|
if (
|
|
27
30
|
(listener?.isCapturePhase || false) ===
|
|
28
|
-
(args?.customEventData?.
|
|
31
|
+
(args?.customEventData?.isCapturePhase || false)
|
|
29
32
|
) {
|
|
30
33
|
try {
|
|
31
34
|
const res = await invokeListener(listener, args, scopeContext, context);
|
|
32
35
|
const eventName = `${listener.key}.success`;
|
|
33
36
|
const event = {
|
|
34
|
-
detail:
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
detail:
|
|
38
|
+
typeof res === 'object' && res !== null && !Array.isArray(res)
|
|
39
|
+
? {
|
|
40
|
+
...res,
|
|
41
|
+
/**
|
|
42
|
+
* @deprecated 历史bug
|
|
43
|
+
* value,origin,isCapturePhase
|
|
44
|
+
*/
|
|
45
|
+
value: res,
|
|
46
|
+
origin: args.event,
|
|
47
|
+
isCapturePhase: !!args.event?.isCapturePhase,
|
|
48
|
+
}
|
|
49
|
+
: res,
|
|
50
|
+
origin: args.event,
|
|
51
|
+
isCapturePhase: !!args.event?.isCapturePhase,
|
|
39
52
|
name: eventName,
|
|
40
53
|
};
|
|
41
54
|
emitEvent(
|
|
@@ -49,14 +62,22 @@ export function emitEvent(trigger, listeners = [], args, scopeContext = {}, cont
|
|
|
49
62
|
scopeContext,
|
|
50
63
|
context
|
|
51
64
|
);
|
|
65
|
+
if (res) {
|
|
66
|
+
console.warn(
|
|
67
|
+
`@deprecated 事件编排中后续事件(${eventName}) event.detail.value.xxx 已废弃,建议使用 event.detail 直接访问前一动作返回值`
|
|
68
|
+
);
|
|
69
|
+
}
|
|
52
70
|
} catch (e) {
|
|
53
71
|
const eventName = `${listener.key}.fail`;
|
|
72
|
+
try {
|
|
73
|
+
e.value = e;
|
|
74
|
+
e.origin = args.event;
|
|
75
|
+
e.isCapturePhase = !!args.event?.isCapturePhase;
|
|
76
|
+
} catch (e) {}
|
|
54
77
|
const event = {
|
|
55
|
-
detail:
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
isCapturePhase: !!args.event?.isCapturePhase,
|
|
59
|
-
},
|
|
78
|
+
detail: e,
|
|
79
|
+
origin: args.event,
|
|
80
|
+
isCapturePhase: !!args.event?.isCapturePhase,
|
|
60
81
|
name: eventName,
|
|
61
82
|
};
|
|
62
83
|
emitEvent(
|
|
@@ -70,6 +91,9 @@ export function emitEvent(trigger, listeners = [], args, scopeContext = {}, cont
|
|
|
70
91
|
scopeContext,
|
|
71
92
|
context
|
|
72
93
|
);
|
|
94
|
+
console.warn(
|
|
95
|
+
`@deprecated 事件编排中后续事件(${eventName}) event.detail.value.xxx 已废弃,建议使用 event.detail 直接访问前一动作返回值`
|
|
96
|
+
);
|
|
73
97
|
// 之前 invoke 内部catch 了错误,不会抛错
|
|
74
98
|
// throw e
|
|
75
99
|
}
|