@byteluck-fe/model-driven-engine 2.5.0-beta.4 → 2.5.1-alpha.1
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 +157 -40
- package/dist/esm/common/DataManager.js +129 -20
- package/dist/esm/common/Engine.js +337 -210
- package/dist/esm/common/OkWorker.js +27 -13
- package/dist/esm/common/Runtime.js +26 -11
- package/dist/esm/common/Store.js +50 -49
- package/dist/esm/common/checkerValue.js +40 -40
- package/dist/esm/common/index.js +2 -2
- package/dist/esm/common/proxyState.js +47 -47
- package/dist/esm/index.js +3 -3
- package/dist/esm/plugins/CalcPlugin.js +67 -59
- package/dist/esm/plugins/ControlsEventPlugin.js +191 -68
- package/dist/esm/plugins/ES6ModulePlugin.js +24 -8
- package/dist/esm/plugins/LifecycleEventPlugin.js +183 -64
- package/dist/esm/plugins/StylePlugin.js +22 -7
- package/dist/esm/plugins/index.js +5 -5
- package/dist/esm/utils/index.js +1 -1
- package/dist/esm/utils/runtimeUtils.js +6 -8
- 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
|
@@ -17,11 +17,25 @@ function _createClass(Constructor, protoProps, staticProps) {
|
|
|
17
17
|
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
18
18
|
return Constructor;
|
|
19
19
|
}
|
|
20
|
-
|
|
20
|
+
function _defineProperty(obj, key, value) {
|
|
21
|
+
if (key in obj) {
|
|
22
|
+
Object.defineProperty(obj, key, {
|
|
23
|
+
value: value,
|
|
24
|
+
enumerable: true,
|
|
25
|
+
configurable: true,
|
|
26
|
+
writable: true
|
|
27
|
+
});
|
|
28
|
+
} else {
|
|
29
|
+
obj[key] = value;
|
|
30
|
+
}
|
|
31
|
+
return obj;
|
|
32
|
+
}
|
|
33
|
+
import { log } from "@byteluck-fe/model-driven-shared";
|
|
21
34
|
var OkWorker = /*#__PURE__*/ function() {
|
|
22
35
|
"use strict";
|
|
23
36
|
function OkWorker() {
|
|
24
37
|
_classCallCheck(this, OkWorker);
|
|
38
|
+
_defineProperty(this, "worker", void 0);
|
|
25
39
|
}
|
|
26
40
|
_createClass(OkWorker, [
|
|
27
41
|
{
|
|
@@ -29,7 +43,7 @@ var OkWorker = /*#__PURE__*/ function() {
|
|
|
29
43
|
value: function run(initState) {
|
|
30
44
|
this.worker = OkWorker.createWorker();
|
|
31
45
|
this.postMessage({
|
|
32
|
-
action:
|
|
46
|
+
action: "init",
|
|
33
47
|
payload: initState
|
|
34
48
|
});
|
|
35
49
|
}
|
|
@@ -37,15 +51,15 @@ var OkWorker = /*#__PURE__*/ function() {
|
|
|
37
51
|
{
|
|
38
52
|
key: "destroy",
|
|
39
53
|
value: function destroy() {
|
|
40
|
-
var
|
|
41
|
-
(
|
|
54
|
+
var _this_worker;
|
|
55
|
+
(_this_worker = this.worker) === null || _this_worker === void 0 ? void 0 : _this_worker.terminate();
|
|
42
56
|
}
|
|
43
57
|
},
|
|
44
58
|
{
|
|
45
59
|
key: "postMessage",
|
|
46
60
|
value: function postMessage(message) {
|
|
47
|
-
var
|
|
48
|
-
(
|
|
61
|
+
var _this_worker;
|
|
62
|
+
(_this_worker = this.worker) === null || _this_worker === void 0 ? void 0 : _this_worker.postMessage(message);
|
|
49
63
|
}
|
|
50
64
|
}
|
|
51
65
|
], [
|
|
@@ -71,7 +85,7 @@ var OkWorker = /*#__PURE__*/ function() {
|
|
|
71
85
|
set: function set(target, key, value) {
|
|
72
86
|
if (parentKey) {
|
|
73
87
|
_self.postMessage({
|
|
74
|
-
action:
|
|
88
|
+
action: "update",
|
|
75
89
|
key: "".concat(parentKey, ".").concat(key)
|
|
76
90
|
});
|
|
77
91
|
}
|
|
@@ -79,7 +93,7 @@ var OkWorker = /*#__PURE__*/ function() {
|
|
|
79
93
|
}
|
|
80
94
|
};
|
|
81
95
|
};
|
|
82
|
-
log(
|
|
96
|
+
log("\uD83D\uDE80 worker running");
|
|
83
97
|
var _self = self;
|
|
84
98
|
// function createProxy(
|
|
85
99
|
// obj: Record<string, unknown> | Array<Record<string, unknown>>,
|
|
@@ -92,8 +106,8 @@ var OkWorker = /*#__PURE__*/ function() {
|
|
|
92
106
|
// }
|
|
93
107
|
// return new Proxy(obj, createHandler(parentKey))
|
|
94
108
|
// }
|
|
95
|
-
_self.addEventListener(
|
|
96
|
-
var
|
|
109
|
+
_self.addEventListener("message", function(event) {
|
|
110
|
+
var _event_data = event.data, action = _event_data.action, payload = _event_data.payload, fn = _event_data.fn;
|
|
97
111
|
log(action, payload);
|
|
98
112
|
// 通过proxy进行代理,每次修改的时候,自动向外抛出postMessage
|
|
99
113
|
// data.key1 = 1
|
|
@@ -104,10 +118,10 @@ var OkWorker = /*#__PURE__*/ function() {
|
|
|
104
118
|
//
|
|
105
119
|
// const result = fn(data, schema)
|
|
106
120
|
_self.postMessage({
|
|
107
|
-
action:
|
|
121
|
+
action: "delete",
|
|
108
122
|
payload: {
|
|
109
|
-
key:
|
|
110
|
-
value:
|
|
123
|
+
key: "key3[0].key1",
|
|
124
|
+
value: "index"
|
|
111
125
|
}
|
|
112
126
|
});
|
|
113
127
|
});
|
|
@@ -23,6 +23,19 @@ function _createClass(Constructor, protoProps, staticProps) {
|
|
|
23
23
|
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
24
24
|
return Constructor;
|
|
25
25
|
}
|
|
26
|
+
function _defineProperty(obj, key, value) {
|
|
27
|
+
if (key in obj) {
|
|
28
|
+
Object.defineProperty(obj, key, {
|
|
29
|
+
value: value,
|
|
30
|
+
enumerable: true,
|
|
31
|
+
configurable: true,
|
|
32
|
+
writable: true
|
|
33
|
+
});
|
|
34
|
+
} else {
|
|
35
|
+
obj[key] = value;
|
|
36
|
+
}
|
|
37
|
+
return obj;
|
|
38
|
+
}
|
|
26
39
|
function _getPrototypeOf(o) {
|
|
27
40
|
_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
|
|
28
41
|
return o.__proto__ || Object.getPrototypeOf(o);
|
|
@@ -83,19 +96,21 @@ function _createSuper(Derived) {
|
|
|
83
96
|
return _possibleConstructorReturn(this, result);
|
|
84
97
|
};
|
|
85
98
|
}
|
|
86
|
-
import { RegisterControls } from
|
|
87
|
-
import { CONTROL_BASE_TYPE, CONTROL_TYPE, loopFormSchema } from
|
|
88
|
-
import { hasChildrenControl, loopDataViewControl, loopFormControl } from
|
|
89
|
-
export var Runtime = /*#__PURE__*/ function(
|
|
99
|
+
import { RegisterControls } from "@byteluck-fe/model-driven-core";
|
|
100
|
+
import { CONTROL_BASE_TYPE, CONTROL_TYPE, loopFormSchema } from "@byteluck-fe/model-driven-shared";
|
|
101
|
+
import { hasChildrenControl, loopDataViewControl, loopFormControl } from "../utils/runtimeUtils";
|
|
102
|
+
export var Runtime = /*#__PURE__*/ function(RegisterControls) {
|
|
90
103
|
"use strict";
|
|
91
|
-
_inherits(Runtime,
|
|
104
|
+
_inherits(Runtime, RegisterControls);
|
|
92
105
|
var _super = _createSuper(Runtime);
|
|
93
106
|
function Runtime(props) {
|
|
94
107
|
_classCallCheck(this, Runtime);
|
|
95
108
|
var _this;
|
|
96
|
-
_this = _super.call(this,
|
|
97
|
-
_this
|
|
98
|
-
_this
|
|
109
|
+
_this = _super.call(this, "Runtime");
|
|
110
|
+
_defineProperty(_assertThisInitialized(_this), "_schema", void 0);
|
|
111
|
+
_defineProperty(_assertThisInitialized(_this), "_instance", void 0);
|
|
112
|
+
_defineProperty(_assertThisInitialized(_this), "_flatInstances", []);
|
|
113
|
+
_defineProperty(_assertThisInitialized(_this), "_instanceMap", {});
|
|
99
114
|
var schema = props.schema;
|
|
100
115
|
_this._schema = schema;
|
|
101
116
|
_this._instance = _this.createControl(schema, props.beforeCreateInstance);
|
|
@@ -110,7 +125,7 @@ export var Runtime = /*#__PURE__*/ function(RegisterControls1) {
|
|
|
110
125
|
var instanceMap = {};
|
|
111
126
|
loop(this._instance, function(item) {
|
|
112
127
|
// 3.4.1 避免将subtable-row 放到 _flatInstances 中
|
|
113
|
-
if (item.type ===
|
|
128
|
+
if (item.type === "subtable-row" || item.type === "subtable-column") {
|
|
114
129
|
return;
|
|
115
130
|
}
|
|
116
131
|
instances.push(item);
|
|
@@ -249,7 +264,7 @@ item) {
|
|
|
249
264
|
} else if (item.type === CONTROL_TYPE.SUBTABLE) {
|
|
250
265
|
data[item.id] = item.rules;
|
|
251
266
|
var itemRules = {
|
|
252
|
-
type:
|
|
267
|
+
type: "array",
|
|
253
268
|
fields: {}
|
|
254
269
|
};
|
|
255
270
|
item.children.forEach(function(row, index) {
|
|
@@ -257,7 +272,7 @@ item) {
|
|
|
257
272
|
if (itemRules.fields) {
|
|
258
273
|
if (!itemRules.fields[index]) {
|
|
259
274
|
itemRules.fields[index] = {
|
|
260
|
-
type:
|
|
275
|
+
type: "object",
|
|
261
276
|
required: true,
|
|
262
277
|
fields: {}
|
|
263
278
|
};
|
package/dist/esm/common/Store.js
CHANGED
|
@@ -32,7 +32,7 @@ function _defineProperty(obj, key, value) {
|
|
|
32
32
|
}
|
|
33
33
|
function _instanceof(left, right) {
|
|
34
34
|
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
35
|
-
return right[Symbol.hasInstance](left);
|
|
35
|
+
return !!right[Symbol.hasInstance](left);
|
|
36
36
|
} else {
|
|
37
37
|
return left instanceof right;
|
|
38
38
|
}
|
|
@@ -52,14 +52,20 @@ function _objectSpread(target) {
|
|
|
52
52
|
}
|
|
53
53
|
return target;
|
|
54
54
|
}
|
|
55
|
-
import { DataBind, ObjectDataBind } from
|
|
56
|
-
import { loopFormSchema, JSONCopy, warn, CONTROL_TYPE, CONTROL_BASE_TYPE } from
|
|
57
|
-
import { loopDataViewControl, loopFormControl, buildUUID } from
|
|
55
|
+
import { DataBind, ObjectDataBind } from "@byteluck-fe/model-driven-core";
|
|
56
|
+
import { loopFormSchema, JSONCopy, warn, CONTROL_TYPE, CONTROL_BASE_TYPE } from "@byteluck-fe/model-driven-shared";
|
|
57
|
+
import { loopDataViewControl, loopFormControl, buildUUID } from "../utils/runtimeUtils";
|
|
58
58
|
var Store = /*#__PURE__*/ function() {
|
|
59
59
|
"use strict";
|
|
60
60
|
function Store(props) {
|
|
61
61
|
_classCallCheck(this, Store);
|
|
62
|
-
|
|
62
|
+
_defineProperty(this, "emptyState", void 0);
|
|
63
|
+
_defineProperty(this, "state", void 0);
|
|
64
|
+
_defineProperty(this, "dataBindMapping", void 0 // 主要提供给二开使用
|
|
65
|
+
);
|
|
66
|
+
_defineProperty(this, "controlIdMapping", void 0);
|
|
67
|
+
_defineProperty(this, "defaultState", void 0);
|
|
68
|
+
var _init = init(props.instance), state = _init.state, emptyState = _init.emptyState, databindMapping = _init.databindMapping, controlidMapping = _init.controlidMapping, defaultState = _init.defaultState;
|
|
63
69
|
this.emptyState = emptyState;
|
|
64
70
|
this.state = state;
|
|
65
71
|
this.dataBindMapping = databindMapping;
|
|
@@ -74,6 +80,7 @@ var Store = /*#__PURE__*/ function() {
|
|
|
74
80
|
* @param value
|
|
75
81
|
*/ key: "setState",
|
|
76
82
|
value: function setState(controlId, value, rowIndex) {
|
|
83
|
+
var _this = this;
|
|
77
84
|
var controlInfo = this.controlIdMapping[controlId];
|
|
78
85
|
if (controlInfo !== undefined) {
|
|
79
86
|
//qiyu 按照对象赋值,Object.assign会触发多次key的change事件
|
|
@@ -88,16 +95,14 @@ var Store = /*#__PURE__*/ function() {
|
|
|
88
95
|
// }
|
|
89
96
|
} else {
|
|
90
97
|
if (rowIndex !== undefined) {
|
|
91
|
-
var _this = this;
|
|
92
98
|
//TODO 目前只找了一层明细表,没有递归 如果是添加uid
|
|
93
99
|
Object.keys(this.controlIdMapping).map(function(subtableId) {
|
|
94
100
|
var dataView = _this.controlIdMapping[subtableId].dataView;
|
|
95
101
|
var children = _this.controlIdMapping[subtableId].children;
|
|
96
102
|
if (children !== undefined) {
|
|
97
|
-
var _this1 = _this;
|
|
98
103
|
Object.keys(children).map(function(childControlId) {
|
|
99
104
|
if (childControlId === controlId) {
|
|
100
|
-
|
|
105
|
+
_this.state[dataView][subtableId][rowIndex][controlId] = value;
|
|
101
106
|
}
|
|
102
107
|
});
|
|
103
108
|
}
|
|
@@ -112,6 +117,7 @@ var Store = /*#__PURE__*/ function() {
|
|
|
112
117
|
{
|
|
113
118
|
key: "getState",
|
|
114
119
|
value: function getState(controlId, rowIndex) {
|
|
120
|
+
var _this = this;
|
|
115
121
|
//qiyu 由于header的数据是后补充的,所以从state获取第一层值。
|
|
116
122
|
// const controlInfo = this.controlIdMapping[controlId]
|
|
117
123
|
var detection = this.state[controlId];
|
|
@@ -123,31 +129,27 @@ var Store = /*#__PURE__*/ function() {
|
|
|
123
129
|
return this.state[controlInfo.dataView][controlId];
|
|
124
130
|
} else {
|
|
125
131
|
if (rowIndex !== undefined) {
|
|
126
|
-
var _this = this;
|
|
127
132
|
var state;
|
|
128
133
|
//TODO 目前只找了一层明细表,没有递归
|
|
129
134
|
Object.keys(this.controlIdMapping).map(function(subtableId) {
|
|
130
135
|
var dataViewId = _this.controlIdMapping[subtableId].dataView;
|
|
131
136
|
var children = _this.controlIdMapping[subtableId].children;
|
|
132
137
|
if (children !== undefined) {
|
|
133
|
-
var _this3 = _this;
|
|
134
138
|
Object.keys(children).map(function(childControlId) {
|
|
135
139
|
if (childControlId === controlId) {
|
|
136
|
-
var
|
|
137
|
-
state = (
|
|
140
|
+
var _this_state_dataViewId_subtableId_rowIndex;
|
|
141
|
+
state = (_this_state_dataViewId_subtableId_rowIndex = _this.state[dataViewId][subtableId][rowIndex]) === null || _this_state_dataViewId_subtableId_rowIndex === void 0 ? void 0 : _this_state_dataViewId_subtableId_rowIndex[controlId];
|
|
138
142
|
}
|
|
139
143
|
});
|
|
140
144
|
}
|
|
141
145
|
});
|
|
142
146
|
return state;
|
|
143
147
|
} else {
|
|
144
|
-
var _this2 = this;
|
|
145
148
|
var states = [];
|
|
146
149
|
Object.keys(this.controlIdMapping).map(function(subtableId) {
|
|
147
|
-
var dataViewId =
|
|
148
|
-
var children =
|
|
150
|
+
var dataViewId = _this.controlIdMapping[subtableId].dataView;
|
|
151
|
+
var children = _this.controlIdMapping[subtableId].children;
|
|
149
152
|
if (children !== undefined) {
|
|
150
|
-
var _this = _this2;
|
|
151
153
|
Object.keys(children).map(function(childControlId) {
|
|
152
154
|
if (childControlId === controlId) {
|
|
153
155
|
_this.state[dataViewId][subtableId].map(function(item) {
|
|
@@ -166,6 +168,7 @@ var Store = /*#__PURE__*/ function() {
|
|
|
166
168
|
{
|
|
167
169
|
key: "getEmptyState",
|
|
168
170
|
value: function getEmptyState(controlId) {
|
|
171
|
+
var _this = this;
|
|
169
172
|
var detection = this.emptyState[controlId];
|
|
170
173
|
if (detection !== undefined) {
|
|
171
174
|
return this.emptyState[controlId];
|
|
@@ -174,24 +177,22 @@ var Store = /*#__PURE__*/ function() {
|
|
|
174
177
|
if (controlInfo !== undefined) {
|
|
175
178
|
var state = this.emptyState[controlInfo.dataView][controlId];
|
|
176
179
|
//判断找到的是否是明细表的控件
|
|
177
|
-
if (
|
|
180
|
+
if ("children" in controlInfo) {
|
|
178
181
|
Object.assign(state, {
|
|
179
|
-
uid:
|
|
182
|
+
uid: "new:" + buildUUID("uid")
|
|
180
183
|
});
|
|
181
184
|
}
|
|
182
185
|
return state;
|
|
183
186
|
} else {
|
|
184
|
-
var _this = this;
|
|
185
187
|
var state1;
|
|
186
188
|
//TODO 目前只找了一层明细表,没有递归
|
|
187
189
|
Object.keys(this.controlIdMapping).map(function(subtableId) {
|
|
188
190
|
var dataViewId = _this.controlIdMapping[subtableId].dataView;
|
|
189
191
|
var children = _this.controlIdMapping[subtableId].children;
|
|
190
192
|
if (children !== undefined) {
|
|
191
|
-
var _this4 = _this;
|
|
192
193
|
Object.keys(children).map(function(childControlId) {
|
|
193
194
|
if (childControlId === controlId) {
|
|
194
|
-
state1 =
|
|
195
|
+
state1 = _this.emptyState[dataViewId][subtableId][controlId];
|
|
195
196
|
}
|
|
196
197
|
});
|
|
197
198
|
}
|
|
@@ -270,36 +271,36 @@ item) {
|
|
|
270
271
|
loopFormSchema(item.props.headers, function(headerItem) {
|
|
271
272
|
emptyTemplate[headerItem.id] = JSONCopy(headerItem.props.defaultValue);
|
|
272
273
|
});
|
|
273
|
-
var
|
|
274
|
-
dataViewState[item.id] = new Array((
|
|
274
|
+
var _item_props_defaultRows;
|
|
275
|
+
dataViewState[item.id] = new Array((_item_props_defaultRows = item.props.defaultRows) !== null && _item_props_defaultRows !== void 0 ? _item_props_defaultRows : 1).fill(0).map(function() {
|
|
275
276
|
return _objectSpread({
|
|
276
|
-
uid:
|
|
277
|
+
uid: "new:" + buildUUID("uid")
|
|
277
278
|
}, JSONCopy(emptyTemplate));
|
|
278
279
|
});
|
|
279
280
|
emptyDataViewState[item.id] = emptyTemplate;
|
|
280
281
|
}
|
|
281
282
|
}
|
|
282
283
|
function buildDataBindMapping(data, dataViewId, // @ts-ignore
|
|
283
|
-
|
|
284
|
+
item) {
|
|
284
285
|
// if (item instanceof RuntimeFormControl) {
|
|
285
|
-
if (
|
|
286
|
-
var
|
|
287
|
-
if (_instanceof(
|
|
286
|
+
if (item.controlType === CONTROL_BASE_TYPE.FORM) {
|
|
287
|
+
var _item_props, _item_props_dataBind;
|
|
288
|
+
if (_instanceof(item.props.dataBind, ObjectDataBind)) {
|
|
288
289
|
// 特殊的dataBind,比如:金额是currency+amount两个key组成的,日期区间,继承自ObjectDataBind的需要通过Object.keys拿到多个databind
|
|
289
|
-
Object.keys(
|
|
290
|
-
var dataBind =
|
|
290
|
+
Object.keys(item.props.dataBind).map(function(key) {
|
|
291
|
+
var dataBind = item.props.dataBind;
|
|
291
292
|
var dataCode = dataBind[key].dataCode;
|
|
292
293
|
if (dataCode !== undefined) {
|
|
293
294
|
if (data[dataCode] === undefined) {
|
|
294
295
|
data[dataCode] = {
|
|
295
|
-
controlId:
|
|
296
|
+
controlId: item.id,
|
|
296
297
|
fields: [],
|
|
297
298
|
dataViewId: dataViewId
|
|
298
299
|
};
|
|
299
300
|
}
|
|
300
301
|
data[dataCode].fields.push({
|
|
301
302
|
fieldCode: dataBind[key].fieldCode,
|
|
302
|
-
controlId:
|
|
303
|
+
controlId: item.id,
|
|
303
304
|
dataBind: dataBind,
|
|
304
305
|
dataViewId: [
|
|
305
306
|
dataViewId
|
|
@@ -307,38 +308,38 @@ item1) {
|
|
|
307
308
|
});
|
|
308
309
|
}
|
|
309
310
|
});
|
|
310
|
-
} else if (((
|
|
311
|
+
} else if (((_item_props = item.props) === null || _item_props === void 0 ? void 0 : (_item_props_dataBind = _item_props.dataBind) === null || _item_props_dataBind === void 0 ? void 0 : _item_props_dataBind.dataCode) === undefined) {
|
|
311
312
|
//qiyu 2023-2-27 为空跳过。form自定义组件加载失败时,hack的组件props为空。
|
|
312
313
|
} else {
|
|
313
|
-
if (data[
|
|
314
|
-
data[
|
|
314
|
+
if (data[item.props.dataBind.dataCode] === undefined) {
|
|
315
|
+
data[item.props.dataBind.dataCode] = {
|
|
315
316
|
controlId: dataViewId,
|
|
316
317
|
fields: [],
|
|
317
318
|
dataViewId: dataViewId
|
|
318
319
|
};
|
|
319
320
|
}
|
|
320
|
-
data[
|
|
321
|
-
fieldCode:
|
|
322
|
-
controlId:
|
|
323
|
-
dataBind:
|
|
321
|
+
data[item.props.dataBind.dataCode].fields.push({
|
|
322
|
+
fieldCode: item.props.dataBind.fieldCode,
|
|
323
|
+
controlId: item.id,
|
|
324
|
+
dataBind: item.props.dataBind,
|
|
324
325
|
dataViewId: [
|
|
325
326
|
dataViewId
|
|
326
327
|
]
|
|
327
328
|
});
|
|
328
329
|
}
|
|
329
330
|
} else {
|
|
330
|
-
if (
|
|
331
|
+
if (item.props.datasourceBind.dataCode === "") {
|
|
331
332
|
//敏捷依赖后端生成dataCode,预览的时候没有
|
|
332
|
-
warn("datasourceBind.dataCode is empty! maybe in preview mode, control:".concat(
|
|
333
|
+
warn("datasourceBind.dataCode is empty! maybe in preview mode, control:".concat(item.id, " type:").concat(item.type));
|
|
333
334
|
return;
|
|
334
335
|
}
|
|
335
|
-
data[
|
|
336
|
-
controlId:
|
|
336
|
+
data[item.props.datasourceBind.dataCode] = {
|
|
337
|
+
controlId: item.id,
|
|
337
338
|
fields: [],
|
|
338
339
|
dataViewId: dataViewId
|
|
339
340
|
};
|
|
340
|
-
var subtableId =
|
|
341
|
-
loopFormSchema(
|
|
341
|
+
var subtableId = item.id;
|
|
342
|
+
loopFormSchema(item.props.headers, function(item) {
|
|
342
343
|
if (_instanceof(item.props.dataBind, ObjectDataBind)) {
|
|
343
344
|
Object.keys(item.props.dataBind).map(function(key) {
|
|
344
345
|
var dataBind = item.props.dataBind;
|
|
@@ -380,16 +381,16 @@ item) {
|
|
|
380
381
|
data[item.id] = {
|
|
381
382
|
dataBind: new DataBind({
|
|
382
383
|
dataCode: item.props.datasourceBind.dataCode,
|
|
383
|
-
fieldCode:
|
|
384
|
+
fieldCode: ""
|
|
384
385
|
}),
|
|
385
386
|
dataView: dataViewId,
|
|
386
387
|
children: {},
|
|
387
388
|
options: []
|
|
388
389
|
};
|
|
389
390
|
loopFormSchema(item.props.headers, function(formControl) {
|
|
390
|
-
var
|
|
391
|
-
var
|
|
392
|
-
Object.assign((
|
|
391
|
+
var _data_item_id;
|
|
392
|
+
var _data_item_id_children;
|
|
393
|
+
Object.assign((_data_item_id_children = (_data_item_id = data[item.id]) === null || _data_item_id === void 0 ? void 0 : _data_item_id.children) !== null && _data_item_id_children !== void 0 ? _data_item_id_children : {}, _defineProperty({}, formControl.id, {
|
|
393
394
|
dataBind: formControl.props.dataBind
|
|
394
395
|
}));
|
|
395
396
|
});
|
|
@@ -65,7 +65,7 @@ function _inherits(subClass, superClass) {
|
|
|
65
65
|
}
|
|
66
66
|
function _instanceof(left, right) {
|
|
67
67
|
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
68
|
-
return right[Symbol.hasInstance](left);
|
|
68
|
+
return !!right[Symbol.hasInstance](left);
|
|
69
69
|
} else {
|
|
70
70
|
return left instanceof right;
|
|
71
71
|
}
|
|
@@ -164,9 +164,9 @@ function _createSuper(Derived) {
|
|
|
164
164
|
return _possibleConstructorReturn(this, result);
|
|
165
165
|
};
|
|
166
166
|
}
|
|
167
|
-
import { isArray, isFunction, isString, isJSONArray, isJSONObject, isNumber, isNumberAndEmptyStringArray, isPlainObject, isStringArray, FieldTypes, isObject } from
|
|
168
|
-
import { AddressValue, AmountValue, CalcValue, RangeDateValue } from
|
|
169
|
-
import { camelizeKeys } from
|
|
167
|
+
import { isArray, isFunction, isString, isJSONArray, isJSONObject, isNumber, isNumberAndEmptyStringArray, isPlainObject, isStringArray, FieldTypes, isObject } from "@byteluck-fe/model-driven-shared";
|
|
168
|
+
import { AddressValue, AmountValue, CalcValue, RangeDateValue } from "@byteluck-fe/model-driven-core";
|
|
169
|
+
import { camelizeKeys } from "humps";
|
|
170
170
|
var ValueChecker = function ValueChecker() {
|
|
171
171
|
"use strict";
|
|
172
172
|
_classCallCheck(this, ValueChecker);
|
|
@@ -190,7 +190,7 @@ var StringValueChecker = /*#__PURE__*/ function(ValueChecker) {
|
|
|
190
190
|
key: "transform",
|
|
191
191
|
value: function transform(value) {
|
|
192
192
|
if (value === null || value === undefined) {
|
|
193
|
-
return
|
|
193
|
+
return "";
|
|
194
194
|
}
|
|
195
195
|
if (!isPlainObject(value) && !isFunction(value)) {
|
|
196
196
|
return String(value);
|
|
@@ -217,14 +217,14 @@ var NumberValueChecker = /*#__PURE__*/ function(ValueChecker) {
|
|
|
217
217
|
// 数字类型允许是空字符串,用于置空数据
|
|
218
218
|
key: "validate",
|
|
219
219
|
value: function validate(value) {
|
|
220
|
-
return isNumber(value) || value ===
|
|
220
|
+
return isNumber(value) || value === "";
|
|
221
221
|
}
|
|
222
222
|
},
|
|
223
223
|
{
|
|
224
224
|
key: "transform",
|
|
225
225
|
value: function transform(value) {
|
|
226
226
|
if (value === null || value === undefined) {
|
|
227
|
-
return
|
|
227
|
+
return "";
|
|
228
228
|
}
|
|
229
229
|
var newValue = !isPlainObject(value) && !isFunction(value) ? Number(value) : undefined;
|
|
230
230
|
if (!Number.isNaN(newValue) && newValue !== undefined) {
|
|
@@ -253,28 +253,28 @@ var StringArrayValueChecker = /*#__PURE__*/ function(ValueChecker) {
|
|
|
253
253
|
},
|
|
254
254
|
{
|
|
255
255
|
key: "transform",
|
|
256
|
-
value: function transform(
|
|
256
|
+
value: function transform(value) {
|
|
257
257
|
var getStringValueArray = function getStringValueArray(value) {
|
|
258
258
|
return value.map(function(item) {
|
|
259
|
-
return !item ?
|
|
259
|
+
return !item ? "" : String(item);
|
|
260
260
|
});
|
|
261
261
|
};
|
|
262
|
-
if (
|
|
262
|
+
if (value === undefined || value === null) {
|
|
263
263
|
return [];
|
|
264
264
|
}
|
|
265
|
-
if (isArray(
|
|
266
|
-
return getStringValueArray(
|
|
265
|
+
if (isArray(value)) {
|
|
266
|
+
return getStringValueArray(value);
|
|
267
267
|
}
|
|
268
|
-
if (isString(
|
|
268
|
+
if (isString(value) && isJSONArray(value)) {
|
|
269
269
|
try {
|
|
270
|
-
var newValue = JSON.parse(
|
|
270
|
+
var newValue = JSON.parse(value);
|
|
271
271
|
if (Array.isArray(newValue)) {
|
|
272
272
|
return getStringValueArray(newValue);
|
|
273
273
|
}
|
|
274
274
|
} catch (e) {}
|
|
275
275
|
}
|
|
276
276
|
return [
|
|
277
|
-
String(
|
|
277
|
+
String(value)
|
|
278
278
|
];
|
|
279
279
|
}
|
|
280
280
|
}
|
|
@@ -298,31 +298,31 @@ var NumberArrayValueChecker = /*#__PURE__*/ function(ValueChecker) {
|
|
|
298
298
|
},
|
|
299
299
|
{
|
|
300
300
|
key: "transform",
|
|
301
|
-
value: function transform(
|
|
301
|
+
value: function transform(value) {
|
|
302
302
|
var getNumberValueArray = function getNumberValueArray(value) {
|
|
303
303
|
return value.map(function(item) {
|
|
304
|
-
return !item && item !== 0 ?
|
|
304
|
+
return !item && item !== 0 ? "" : Number(item);
|
|
305
305
|
}).filter(function(item) {
|
|
306
|
-
return item ===
|
|
306
|
+
return item === "" || !Number.isNaN(item);
|
|
307
307
|
});
|
|
308
308
|
};
|
|
309
|
-
if (
|
|
309
|
+
if (value === undefined || value === null) {
|
|
310
310
|
return [];
|
|
311
311
|
}
|
|
312
|
-
if (isArray(
|
|
313
|
-
return getNumberValueArray(
|
|
312
|
+
if (isArray(value)) {
|
|
313
|
+
return getNumberValueArray(value);
|
|
314
314
|
}
|
|
315
|
-
if (isString(
|
|
315
|
+
if (isString(value) && isJSONArray(value)) {
|
|
316
316
|
try {
|
|
317
|
-
var newValue = JSON.parse(
|
|
317
|
+
var newValue = JSON.parse(value);
|
|
318
318
|
if (isArray(newValue)) {
|
|
319
319
|
return getNumberValueArray(newValue);
|
|
320
320
|
}
|
|
321
321
|
} catch (e) {}
|
|
322
322
|
}
|
|
323
|
-
var newValue1 = Number(
|
|
323
|
+
var newValue1 = Number(value);
|
|
324
324
|
if (Number.isNaN(newValue1)) {
|
|
325
|
-
throw "".concat(
|
|
325
|
+
throw "".concat(value, " is not a number array");
|
|
326
326
|
}
|
|
327
327
|
return [
|
|
328
328
|
newValue1
|
|
@@ -344,13 +344,13 @@ var MoneyValueChecker = /*#__PURE__*/ function(ValueChecker) {
|
|
|
344
344
|
{
|
|
345
345
|
key: "validate",
|
|
346
346
|
value: function validate(value) {
|
|
347
|
-
return _instanceof(value, AmountValue) || isPlainObject(value) &&
|
|
347
|
+
return _instanceof(value, AmountValue) || isPlainObject(value) && "amount" in value && isNumber(value.amount) && "currency" in value && isString(value.currency);
|
|
348
348
|
}
|
|
349
349
|
},
|
|
350
350
|
{
|
|
351
351
|
key: "transform",
|
|
352
352
|
value: function transform(value, oldValue) {
|
|
353
|
-
if (value === undefined || value === null || value ===
|
|
353
|
+
if (value === undefined || value === null || value === "") {
|
|
354
354
|
return new AmountValue({
|
|
355
355
|
currency: oldValue === null || oldValue === void 0 ? void 0 : oldValue.currency
|
|
356
356
|
});
|
|
@@ -394,13 +394,13 @@ var TimeScopeValueChecker = /*#__PURE__*/ function(ValueChecker) {
|
|
|
394
394
|
{
|
|
395
395
|
key: "validate",
|
|
396
396
|
value: function validate(value) {
|
|
397
|
-
return _instanceof(value, RangeDateValue) || isPlainObject(value) &&
|
|
397
|
+
return _instanceof(value, RangeDateValue) || isPlainObject(value) && "min" in value && isString(value.min) && "max" in value && isString(value.max);
|
|
398
398
|
}
|
|
399
399
|
},
|
|
400
400
|
{
|
|
401
401
|
key: "transform",
|
|
402
402
|
value: function transform(value, oldValue) {
|
|
403
|
-
if (value === undefined || value === null || value ===
|
|
403
|
+
if (value === undefined || value === null || value === "") {
|
|
404
404
|
return new RangeDateValue();
|
|
405
405
|
}
|
|
406
406
|
var result;
|
|
@@ -441,13 +441,13 @@ var CalcValueChecker = /*#__PURE__*/ function(ValueChecker) {
|
|
|
441
441
|
{
|
|
442
442
|
key: "validate",
|
|
443
443
|
value: function validate(value) {
|
|
444
|
-
return _instanceof(value, CalcValue) || isPlainObject(value) &&
|
|
444
|
+
return _instanceof(value, CalcValue) || isPlainObject(value) && "result" in value && isNumber(value.result) && "unit" in value && isString(value.unit);
|
|
445
445
|
}
|
|
446
446
|
},
|
|
447
447
|
{
|
|
448
448
|
key: "transform",
|
|
449
449
|
value: function transform(value, oldValue) {
|
|
450
|
-
if (value === undefined || value === null || value ===
|
|
450
|
+
if (value === undefined || value === null || value === "") {
|
|
451
451
|
return new CalcValue({
|
|
452
452
|
unit: oldValue === null || oldValue === void 0 ? void 0 : oldValue.unit
|
|
453
453
|
});
|
|
@@ -497,7 +497,7 @@ var AddressValueChecker = /*#__PURE__*/ function(ValueChecker) {
|
|
|
497
497
|
{
|
|
498
498
|
key: "transform",
|
|
499
499
|
value: function transform(value, oldValue) {
|
|
500
|
-
if (value === undefined || value === null || value ===
|
|
500
|
+
if (value === undefined || value === null || value === "") {
|
|
501
501
|
return new AddressValue();
|
|
502
502
|
}
|
|
503
503
|
var result;
|
|
@@ -581,22 +581,22 @@ var ValueCheckerFactory = /*#__PURE__*/ function() {
|
|
|
581
581
|
}();
|
|
582
582
|
function getFieldTypeFromKey(key) {
|
|
583
583
|
if ([
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
584
|
+
"min",
|
|
585
|
+
"max",
|
|
586
|
+
"currency",
|
|
587
|
+
"unit"
|
|
588
588
|
].includes(key)) {
|
|
589
589
|
return FieldTypes.VARCHAR;
|
|
590
590
|
} else if ([
|
|
591
|
-
|
|
592
|
-
|
|
591
|
+
"result",
|
|
592
|
+
"amount"
|
|
593
593
|
].includes(key)) {
|
|
594
594
|
return FieldTypes.DECIMAL;
|
|
595
595
|
}
|
|
596
596
|
}
|
|
597
597
|
export function checkerValue(fieldType, key, value, oldValue) {
|
|
598
|
-
var
|
|
599
|
-
var getCheckerFieldType = (
|
|
598
|
+
var _getFieldTypeFromKey;
|
|
599
|
+
var getCheckerFieldType = (_getFieldTypeFromKey = getFieldTypeFromKey(key)) !== null && _getFieldTypeFromKey !== void 0 ? _getFieldTypeFromKey : fieldType;
|
|
600
600
|
var checker = ValueCheckerFactory.getValueChecker(getCheckerFieldType);
|
|
601
601
|
if (!checker || checker.validate(value)) {
|
|
602
602
|
return value;
|
package/dist/esm/common/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
1
|
+
export * from "./Engine";
|
|
2
|
+
export * from "./Plugin";
|