@byteluck-fe/model-driven-engine 2.3.0 → 2.3.1-beta.2
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/esm/common/ActionManager.js +33 -136
- package/dist/esm/common/DataManager.js +18 -113
- package/dist/esm/common/Engine.js +102 -201
- package/dist/esm/common/OkWorker.js +5 -5
- package/dist/esm/common/Store.js +10 -10
- package/dist/esm/common/checkerValue.js +2 -2
- package/dist/esm/common/proxyState.js +9 -9
- package/dist/esm/plugins/CalcPlugin.js +17 -17
- package/dist/esm/plugins/ControlsEventPlugin.js +67 -175
- package/dist/esm/plugins/ES6ModulePlugin.js +2 -2
- package/dist/esm/plugins/LifecycleEventPlugin.js +61 -165
- package/dist/esm/plugins/StylePlugin.js +3 -3
- package/dist/esm/utils/runtimeUtils.js +4 -2
- package/dist/index.umd.js +8 -8
- package/dist/types/common/Engine.d.ts +6 -6
- package/dist/types/common/Runtime.d.ts +1 -1
- package/dist/types/common/Store.d.ts +5 -5
- package/dist/types/common/proxyState.d.ts +3 -3
- package/dist/types/plugins/ControlsEventPlugin.d.ts +1 -1
- package/dist/types/plugins/ES6ModulePlugin.d.ts +4 -4
- package/dist/types/plugins/LifecycleEventPlugin.d.ts +1 -1
- package/dist/types/plugins/StylePlugin.d.ts +1 -1
- package/package.json +4 -4
|
@@ -31,7 +31,7 @@ var proxyArrayApi = [
|
|
|
31
31
|
"shift",
|
|
32
32
|
"pop",
|
|
33
33
|
"unshift",
|
|
34
|
-
"reverse"
|
|
34
|
+
"reverse",
|
|
35
35
|
];
|
|
36
36
|
export var engineProxyFlag = Symbol("__engineProxy__");
|
|
37
37
|
export var engineTargetKey = Symbol("__engineTarget__");
|
|
@@ -78,7 +78,7 @@ function ArrayHandler(target, propertyKey, value, thisKey, callback) {
|
|
|
78
78
|
return function() {
|
|
79
79
|
return callback.call(null, target, thisKey, "splice", [
|
|
80
80
|
newLength,
|
|
81
|
-
oldLength - newLength
|
|
81
|
+
oldLength - newLength,
|
|
82
82
|
]);
|
|
83
83
|
};
|
|
84
84
|
// 直接操作下标
|
|
@@ -141,8 +141,8 @@ function ArrayHandler(target, propertyKey, value, thisKey, callback) {
|
|
|
141
141
|
// @ts-ignore
|
|
142
142
|
var oldValue = target[propertyKey];
|
|
143
143
|
var concatKey = thisKey === "" ? propertyKey : thisKey + "." + propertyKey;
|
|
144
|
-
var
|
|
145
|
-
newValue = (
|
|
144
|
+
var ref;
|
|
145
|
+
newValue = (ref = reProxyState(value)) !== null && ref !== void 0 ? ref : newValue;
|
|
146
146
|
// 先设置值,然后再进行触发回调,确保回调内拿到的是最新的值
|
|
147
147
|
var setResult;
|
|
148
148
|
// TODO 数组拦截操作需要重构,优化现有逻辑
|
|
@@ -242,10 +242,10 @@ function flatInstanceForChildren(controls) {
|
|
|
242
242
|
// 最后一个key可能是值对象上边的key,比如金额的amount和currency,计算公式的result和unit,所以需要判断前一个控件是不是一个表单控件,是的话就返回最后一个表单控件
|
|
243
243
|
return findEndItem ? findEndItem : prevItem.controlType === CONTROL_BASE_TYPE.FORM ? prevItem : undefined;
|
|
244
244
|
} else {
|
|
245
|
-
var
|
|
246
|
-
var
|
|
245
|
+
var ref;
|
|
246
|
+
var ref1;
|
|
247
247
|
// 如果有children,则取children中对应的下标,没有的话一直返回prevItem
|
|
248
|
-
return (
|
|
248
|
+
return (ref1 = prevItem === null || prevItem === void 0 ? void 0 : (ref = prevItem.children) === null || ref === void 0 ? void 0 : ref[index]) !== null && ref1 !== void 0 ? ref1 : prevItem;
|
|
249
249
|
}
|
|
250
250
|
}, initInstance);
|
|
251
251
|
}
|
|
@@ -285,9 +285,9 @@ function getArrayNewArgs(type, args, value) {
|
|
|
285
285
|
var result;
|
|
286
286
|
var addValue = getArrayNewValue(key, args);
|
|
287
287
|
if (addValue.length) {
|
|
288
|
-
var
|
|
288
|
+
var _obj, ref;
|
|
289
289
|
// @ts-ignore
|
|
290
|
-
var newValue = (
|
|
290
|
+
var newValue = (ref = (_obj = this)[engineArrayBeforeSetCallbackFlag]) === null || ref === void 0 ? void 0 : ref.call(_obj, // @ts-ignore
|
|
291
291
|
this[engineTargetKey], // @ts-ignore
|
|
292
292
|
this[engineProxyThisKey], addValue);
|
|
293
293
|
var newArgs = getArrayNewArgs(key, args, newValue);
|
|
@@ -64,8 +64,8 @@ export var CalcPlugin = /*#__PURE__*/ function() {
|
|
|
64
64
|
/**
|
|
65
65
|
* @description 获取显隐控制的需要被记住值的控件id
|
|
66
66
|
* */ _proto.getNeedHideRememberControlIds = function getNeedHideRememberControlIds() {
|
|
67
|
-
var
|
|
68
|
-
if (!((
|
|
67
|
+
var ref;
|
|
68
|
+
if (!((ref = this.options) === null || ref === void 0 ? void 0 : ref.displayBoList)) {
|
|
69
69
|
return;
|
|
70
70
|
}
|
|
71
71
|
this.hideNotRememberControlIds = this.options.displayBoList.reduce(function(result, current) {
|
|
@@ -79,8 +79,8 @@ export var CalcPlugin = /*#__PURE__*/ function() {
|
|
|
79
79
|
/**
|
|
80
80
|
* @description 获取权限控制的隐藏的字段,不需要参与计算
|
|
81
81
|
* */ _proto.getDontHasPermissionControlIds = function getDontHasPermissionControlIds() {
|
|
82
|
-
var
|
|
83
|
-
if (!((
|
|
82
|
+
var ref;
|
|
83
|
+
if (!((ref = this.options) === null || ref === void 0 ? void 0 : ref.behavior)) {
|
|
84
84
|
return;
|
|
85
85
|
}
|
|
86
86
|
this.dontHasPermissionControlIds = this.options.behavior.reduce(function(result, current) {
|
|
@@ -206,8 +206,8 @@ export var CalcPlugin = /*#__PURE__*/ function() {
|
|
|
206
206
|
var _this = this;
|
|
207
207
|
this.engine.on("schema-change", function(payload) {
|
|
208
208
|
if (payload.props === "isHide") {
|
|
209
|
-
var
|
|
210
|
-
var calcControls = (
|
|
209
|
+
var ref;
|
|
210
|
+
var calcControls = (ref = _this.dependenciesTriggerMap.get(payload.instance.id)) !== null && ref !== void 0 ? ref : [];
|
|
211
211
|
calcControls.forEach(function(calc) {
|
|
212
212
|
_this.computedCalcValue(calc);
|
|
213
213
|
});
|
|
@@ -219,18 +219,18 @@ export var CalcPlugin = /*#__PURE__*/ function() {
|
|
|
219
219
|
* */ _proto.watchSubtableChange = function watchSubtableChange() {
|
|
220
220
|
var _this = this;
|
|
221
221
|
this.engine.on("list-change", function(payload) {
|
|
222
|
-
var
|
|
222
|
+
var ref;
|
|
223
223
|
_this.resetDependencies();
|
|
224
|
-
var
|
|
225
|
-
var changedRows = (
|
|
224
|
+
var ref1;
|
|
225
|
+
var changedRows = (ref1 = (ref = payload.options) === null || ref === void 0 ? void 0 : ref.changed) !== null && ref1 !== void 0 ? ref1 : [];
|
|
226
226
|
// 对发生改变的行进行重新计算
|
|
227
227
|
var changedCalc = _this.getCalcControlsFromSubtableRows(changedRows);
|
|
228
228
|
// @ts-ignore
|
|
229
229
|
changedCalc.forEach(function(calcControl) {
|
|
230
230
|
_this.computedCalcValue(calcControl);
|
|
231
231
|
});
|
|
232
|
-
var
|
|
233
|
-
var calcControls = (
|
|
232
|
+
var ref2;
|
|
233
|
+
var calcControls = (ref2 = _this.dependenciesTriggerMap.get(payload.instance.id)) !== null && ref2 !== void 0 ? ref2 : [];
|
|
234
234
|
// @ts-ignore
|
|
235
235
|
calcControls.forEach(function(calcControl) {
|
|
236
236
|
_this.computedCalcValue(calcControl);
|
|
@@ -246,8 +246,8 @@ export var CalcPlugin = /*#__PURE__*/ function() {
|
|
|
246
246
|
if (!_this.dependenciesTriggerMap.has(instance.id)) {
|
|
247
247
|
return;
|
|
248
248
|
}
|
|
249
|
-
var
|
|
250
|
-
var calcControls = (
|
|
249
|
+
var ref;
|
|
250
|
+
var calcControls = (ref = _this.dependenciesTriggerMap.get(instance.id)) !== null && ref !== void 0 ? ref : [];
|
|
251
251
|
// 在明细子表中的控件,如果计算公式也在明细子表,那只触发同一行的计算公式的计算
|
|
252
252
|
if (payload.rowIndex !== undefined && payload.rowIndex > -1) {
|
|
253
253
|
// @ts-ignore
|
|
@@ -271,8 +271,8 @@ export var CalcPlugin = /*#__PURE__*/ function() {
|
|
|
271
271
|
/**
|
|
272
272
|
* @description 控件在明细子表内
|
|
273
273
|
* */ _proto.controlInSubtable = function controlInSubtable(control) {
|
|
274
|
-
var
|
|
275
|
-
return ((
|
|
274
|
+
var ref;
|
|
275
|
+
return ((ref = control.parent) === null || ref === void 0 ? void 0 : ref.type) === CONTROL_TYPE.SUBTABLE_COLUMN;
|
|
276
276
|
};
|
|
277
277
|
/**
|
|
278
278
|
* @description 执行计算公式的计算
|
|
@@ -352,10 +352,10 @@ export var CalcPlugin = /*#__PURE__*/ function() {
|
|
|
352
352
|
if (result === (oldValue === null || oldValue === void 0 ? void 0 : oldValue.result)) {
|
|
353
353
|
return;
|
|
354
354
|
}
|
|
355
|
-
var
|
|
355
|
+
var ref;
|
|
356
356
|
this.engine.setState(control.id, {
|
|
357
357
|
result: result,
|
|
358
|
-
unit: (
|
|
358
|
+
unit: (ref = oldValue === null || oldValue === void 0 ? void 0 : oldValue.unit) !== null && ref !== void 0 ? ref : ""
|
|
359
359
|
}, rowIndex);
|
|
360
360
|
};
|
|
361
361
|
/**
|
|
@@ -32,101 +32,7 @@ function _classCallCheck(instance, Constructor) {
|
|
|
32
32
|
throw new TypeError("Cannot call a class as a function");
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
|
|
36
|
-
var f, y, t, g, _ = {
|
|
37
|
-
label: 0,
|
|
38
|
-
sent: function() {
|
|
39
|
-
if (t[0] & 1) throw t[1];
|
|
40
|
-
return t[1];
|
|
41
|
-
},
|
|
42
|
-
trys: [],
|
|
43
|
-
ops: []
|
|
44
|
-
};
|
|
45
|
-
return(g = {
|
|
46
|
-
next: verb(0),
|
|
47
|
-
"throw": verb(1),
|
|
48
|
-
"return": verb(2)
|
|
49
|
-
}, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
|
|
50
|
-
return this;
|
|
51
|
-
}), g);
|
|
52
|
-
function verb(n) {
|
|
53
|
-
return function(v) {
|
|
54
|
-
return step([
|
|
55
|
-
n,
|
|
56
|
-
v
|
|
57
|
-
]);
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
function step(op) {
|
|
61
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
62
|
-
while(_)try {
|
|
63
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
64
|
-
if (y = 0, t) op = [
|
|
65
|
-
op[0] & 2,
|
|
66
|
-
t.value
|
|
67
|
-
];
|
|
68
|
-
switch(op[0]){
|
|
69
|
-
case 0:
|
|
70
|
-
case 1:
|
|
71
|
-
t = op;
|
|
72
|
-
break;
|
|
73
|
-
case 4:
|
|
74
|
-
_.label++;
|
|
75
|
-
return {
|
|
76
|
-
value: op[1],
|
|
77
|
-
done: false
|
|
78
|
-
};
|
|
79
|
-
case 5:
|
|
80
|
-
_.label++;
|
|
81
|
-
y = op[1];
|
|
82
|
-
op = [
|
|
83
|
-
0
|
|
84
|
-
];
|
|
85
|
-
continue;
|
|
86
|
-
case 7:
|
|
87
|
-
op = _.ops.pop();
|
|
88
|
-
_.trys.pop();
|
|
89
|
-
continue;
|
|
90
|
-
default:
|
|
91
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
92
|
-
_ = 0;
|
|
93
|
-
continue;
|
|
94
|
-
}
|
|
95
|
-
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
96
|
-
_.label = op[1];
|
|
97
|
-
break;
|
|
98
|
-
}
|
|
99
|
-
if (op[0] === 6 && _.label < t[1]) {
|
|
100
|
-
_.label = t[1];
|
|
101
|
-
t = op;
|
|
102
|
-
break;
|
|
103
|
-
}
|
|
104
|
-
if (t && _.label < t[2]) {
|
|
105
|
-
_.label = t[2];
|
|
106
|
-
_.ops.push(op);
|
|
107
|
-
break;
|
|
108
|
-
}
|
|
109
|
-
if (t[2]) _.ops.pop();
|
|
110
|
-
_.trys.pop();
|
|
111
|
-
continue;
|
|
112
|
-
}
|
|
113
|
-
op = body.call(thisArg, _);
|
|
114
|
-
} catch (e) {
|
|
115
|
-
op = [
|
|
116
|
-
6,
|
|
117
|
-
e
|
|
118
|
-
];
|
|
119
|
-
y = 0;
|
|
120
|
-
} finally{
|
|
121
|
-
f = t = 0;
|
|
122
|
-
}
|
|
123
|
-
if (op[0] & 5) throw op[1];
|
|
124
|
-
return {
|
|
125
|
-
value: op[0] ? op[1] : void 0,
|
|
126
|
-
done: true
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
|
-
};
|
|
35
|
+
import regeneratorRuntime from "regenerator-runtime";
|
|
130
36
|
import { EventLogic } from "@byteluck-fe/model-driven-shared";
|
|
131
37
|
// type EventKeyMap = {
|
|
132
38
|
// [eventKey in EventKeys]?: string
|
|
@@ -174,36 +80,30 @@ export var ControlsEventPlugin = /*#__PURE__*/ function() {
|
|
|
174
80
|
_proto.engineAddEventListener = function engineAddEventListener(eventKey, controlEventKey) {
|
|
175
81
|
var _this = this;
|
|
176
82
|
this.engine.on(eventKey, function() {
|
|
177
|
-
var _ref = _asyncToGenerator(function(payload) {
|
|
178
|
-
return
|
|
179
|
-
switch(
|
|
83
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/ regeneratorRuntime.mark(function _callee(payload) {
|
|
84
|
+
return regeneratorRuntime.wrap(function _callee$(_ctx) {
|
|
85
|
+
while(1)switch(_ctx.prev = _ctx.next){
|
|
180
86
|
case 0:
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
2
|
|
185
|
-
];
|
|
87
|
+
if (!(eventKey === "change" && !_this.engine.isMounted)) {
|
|
88
|
+
_ctx.next = 2;
|
|
89
|
+
break;
|
|
186
90
|
}
|
|
187
|
-
|
|
188
|
-
3,
|
|
189
|
-
2
|
|
190
|
-
];
|
|
191
|
-
return [
|
|
192
|
-
4,
|
|
193
|
-
_this.callControlEvent(controlEventKey, payload)
|
|
194
|
-
];
|
|
195
|
-
case 1:
|
|
196
|
-
return [
|
|
197
|
-
2,
|
|
198
|
-
_state.sent()
|
|
199
|
-
];
|
|
91
|
+
return _ctx.abrupt("return");
|
|
200
92
|
case 2:
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
93
|
+
if (!(payload.instance !== undefined)) {
|
|
94
|
+
_ctx.next = 6;
|
|
95
|
+
break;
|
|
96
|
+
}
|
|
97
|
+
_ctx.next = 5;
|
|
98
|
+
return _this.callControlEvent(controlEventKey, payload);
|
|
99
|
+
case 5:
|
|
100
|
+
return _ctx.abrupt("return", _ctx.sent);
|
|
101
|
+
case 6:
|
|
102
|
+
case "end":
|
|
103
|
+
return _ctx.stop();
|
|
204
104
|
}
|
|
205
|
-
});
|
|
206
|
-
});
|
|
105
|
+
}, _callee);
|
|
106
|
+
}));
|
|
207
107
|
return function(payload) {
|
|
208
108
|
return _ref.apply(this, arguments);
|
|
209
109
|
};
|
|
@@ -211,66 +111,58 @@ export var ControlsEventPlugin = /*#__PURE__*/ function() {
|
|
|
211
111
|
};
|
|
212
112
|
_proto.callControlEvent = function callControlEvent(name, payload) {
|
|
213
113
|
var _this = this;
|
|
214
|
-
return _asyncToGenerator(function() {
|
|
114
|
+
return _asyncToGenerator(/*#__PURE__*/ regeneratorRuntime.mark(function _callee() {
|
|
215
115
|
var events, result;
|
|
216
|
-
return
|
|
217
|
-
switch(
|
|
116
|
+
return regeneratorRuntime.wrap(function _callee$(_ctx) {
|
|
117
|
+
while(1)switch(_ctx.prev = _ctx.next){
|
|
218
118
|
case 0:
|
|
219
119
|
events = _this.config[payload.instance.id];
|
|
220
|
-
if (!events || !Array.isArray(events[name])) {
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
[]
|
|
224
|
-
];
|
|
120
|
+
if (!(!events || !Array.isArray(events[name]))) {
|
|
121
|
+
_ctx.next = 3;
|
|
122
|
+
break;
|
|
225
123
|
}
|
|
226
|
-
return [
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
return
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
return [
|
|
259
|
-
2,
|
|
260
|
-
false
|
|
261
|
-
];
|
|
262
|
-
} else {
|
|
263
|
-
return [
|
|
264
|
-
2,
|
|
265
|
-
result
|
|
266
|
-
];
|
|
124
|
+
return _ctx.abrupt("return", []);
|
|
125
|
+
case 3:
|
|
126
|
+
_ctx.next = 5;
|
|
127
|
+
return Promise.all(events[name].map(function() {
|
|
128
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/ regeneratorRuntime.mark(function _callee(eventName) {
|
|
129
|
+
var execResult;
|
|
130
|
+
return regeneratorRuntime.wrap(function _callee$(_ctx) {
|
|
131
|
+
while(1)switch(_ctx.prev = _ctx.next){
|
|
132
|
+
case 0:
|
|
133
|
+
_ctx.next = 2;
|
|
134
|
+
return _this.engine.getAction().execAction(eventName, //qiyu 注释掉的两个参数变为全局参数
|
|
135
|
+
// this.engine,
|
|
136
|
+
// this.engine.getAction().actionUtils, //以前是params,空的
|
|
137
|
+
payload);
|
|
138
|
+
case 2:
|
|
139
|
+
execResult = _ctx.sent;
|
|
140
|
+
return _ctx.abrupt("return", execResult);
|
|
141
|
+
case 4:
|
|
142
|
+
case "end":
|
|
143
|
+
return _ctx.stop();
|
|
144
|
+
}
|
|
145
|
+
}, _callee);
|
|
146
|
+
}));
|
|
147
|
+
return function(eventName) {
|
|
148
|
+
return _ref.apply(this, arguments);
|
|
149
|
+
};
|
|
150
|
+
}()));
|
|
151
|
+
case 5:
|
|
152
|
+
result = _ctx.sent;
|
|
153
|
+
if (!result.includes(false)) {
|
|
154
|
+
_ctx.next = 10;
|
|
155
|
+
break;
|
|
267
156
|
}
|
|
268
|
-
return
|
|
269
|
-
|
|
270
|
-
|
|
157
|
+
return _ctx.abrupt("return", false);
|
|
158
|
+
case 10:
|
|
159
|
+
return _ctx.abrupt("return", result);
|
|
160
|
+
case 11:
|
|
161
|
+
case "end":
|
|
162
|
+
return _ctx.stop();
|
|
271
163
|
}
|
|
272
|
-
});
|
|
273
|
-
})();
|
|
164
|
+
}, _callee);
|
|
165
|
+
}))();
|
|
274
166
|
};
|
|
275
167
|
return ControlsEventPlugin;
|
|
276
168
|
}();
|
|
@@ -72,7 +72,7 @@ export var ES6ModulePlugin = /*#__PURE__*/ function() {
|
|
|
72
72
|
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
73
73
|
try {
|
|
74
74
|
for(var _iterator = Object.entries(res.funcMap)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
75
|
-
var
|
|
75
|
+
var _value = _slicedToArray(_step.value, 2), key = _value[0], value = _value[1];
|
|
76
76
|
actionManager.addAction(key, value);
|
|
77
77
|
}
|
|
78
78
|
} catch (err) {
|
|
@@ -119,7 +119,7 @@ export function parseModule(action, engine, env) {
|
|
|
119
119
|
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
120
120
|
try {
|
|
121
121
|
for(var _iterator = Object.entries(module.exports)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
122
|
-
var
|
|
122
|
+
var _value = _slicedToArray(_step.value, 2), key = _value[0], value = _value[1];
|
|
123
123
|
if (typeof value === "function") {
|
|
124
124
|
funcMap[key] = value;
|
|
125
125
|
} else {
|