@byteluck-fe/model-driven-engine 1.8.0-beta.11 → 1.8.0-beta.12
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.
|
@@ -753,13 +753,6 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
753
753
|
return this.store.getState(controlId, rowIndex);
|
|
754
754
|
}
|
|
755
755
|
};
|
|
756
|
-
_proto.getFieldCodeState = function getFieldCodeState(controlId) {
|
|
757
|
-
if (controlId === undefined) {
|
|
758
|
-
return this.store.fieldCodeState;
|
|
759
|
-
} else {
|
|
760
|
-
return this.store.getFieldCodeState(controlId);
|
|
761
|
-
}
|
|
762
|
-
};
|
|
763
756
|
_proto.getEmptyState = function getEmptyState(controlId) {
|
|
764
757
|
if (controlId === undefined) {
|
|
765
758
|
return JSONCopy(this.store.emptyState);
|
|
@@ -840,11 +833,70 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
840
833
|
}
|
|
841
834
|
};
|
|
842
835
|
_proto.getData = function getData(dataCode) {
|
|
843
|
-
if (dataCode)
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
836
|
+
if (!dataCode) return;
|
|
837
|
+
var dataBindMapping = this.getDataBindMapping(dataCode);
|
|
838
|
+
var controlIdMapping = this.getControlIdMapping();
|
|
839
|
+
if (dataBindMapping) {
|
|
840
|
+
var controlId = dataBindMapping.controlId;
|
|
841
|
+
var getFieldData = this.getField(dataCode);
|
|
842
|
+
// 明细子表值
|
|
843
|
+
if (Array.isArray(getFieldData)) {
|
|
844
|
+
var data = getFieldData.map(function(item) {
|
|
845
|
+
var obj = {};
|
|
846
|
+
for(var key in item){
|
|
847
|
+
var _controlIdMapping_controlId_children_key, _controlIdMapping_controlId, _controlIdMapping_controlId_children_key_dataBind, _controlIdMapping_controlId1;
|
|
848
|
+
if ((_controlIdMapping_controlId_children_key = (_controlIdMapping_controlId = controlIdMapping[controlId]) === null || _controlIdMapping_controlId === void 0 ? void 0 : _controlIdMapping_controlId.children[key]) === null || _controlIdMapping_controlId_children_key === void 0 ? void 0 : (_controlIdMapping_controlId_children_key_dataBind = _controlIdMapping_controlId_children_key.dataBind) === null || _controlIdMapping_controlId_children_key_dataBind === void 0 ? void 0 : _controlIdMapping_controlId_children_key_dataBind.fieldCode) {
|
|
849
|
+
var _controlIdMapping_controlId_children_key1;
|
|
850
|
+
obj[(_controlIdMapping_controlId_children_key1 = controlIdMapping[controlId].children[key]) === null || _controlIdMapping_controlId_children_key1 === void 0 ? void 0 : _controlIdMapping_controlId_children_key1.dataBind.fieldCode] = item[key];
|
|
851
|
+
} else if ((_controlIdMapping_controlId1 = controlIdMapping[controlId]) === null || _controlIdMapping_controlId1 === void 0 ? void 0 : _controlIdMapping_controlId1.children[key]) {
|
|
852
|
+
// 兼容一个控件需要绑定多个字段的情况
|
|
853
|
+
for(var keyChi in item[key]){
|
|
854
|
+
var _controlIdMapping_controlId_children_key2, _controlIdMapping_controlId2;
|
|
855
|
+
obj[(_controlIdMapping_controlId_children_key2 = (_controlIdMapping_controlId2 = controlIdMapping[controlId]) === null || _controlIdMapping_controlId2 === void 0 ? void 0 : _controlIdMapping_controlId2.children[key]) === null || _controlIdMapping_controlId_children_key2 === void 0 ? void 0 : _controlIdMapping_controlId_children_key2.dataBind[keyChi].fieldCode] = item[key][keyChi];
|
|
856
|
+
}
|
|
857
|
+
}
|
|
858
|
+
}
|
|
859
|
+
return obj;
|
|
860
|
+
});
|
|
861
|
+
return data;
|
|
862
|
+
} else {
|
|
863
|
+
var _loop = function(key) {
|
|
864
|
+
var _controlIdMapping_key, _controlIdMapping_key_dataBind, _controlIdMapping_key1, _controlIdMapping_key_dataBind1;
|
|
865
|
+
if ((_controlIdMapping_key = controlIdMapping[key]) === null || _controlIdMapping_key === void 0 ? void 0 : (_controlIdMapping_key_dataBind = _controlIdMapping_key.dataBind) === null || _controlIdMapping_key_dataBind === void 0 ? void 0 : _controlIdMapping_key_dataBind.fieldCode) {
|
|
866
|
+
var _controlIdMapping_key2;
|
|
867
|
+
obj[(_controlIdMapping_key2 = controlIdMapping[key]) === null || _controlIdMapping_key2 === void 0 ? void 0 : _controlIdMapping_key2.dataBind.fieldCode] = getFieldData[key];
|
|
868
|
+
} else if ((_controlIdMapping_key1 = controlIdMapping[key]) === null || _controlIdMapping_key1 === void 0 ? void 0 : (_controlIdMapping_key_dataBind1 = _controlIdMapping_key1.dataBind) === null || _controlIdMapping_key_dataBind1 === void 0 ? void 0 : _controlIdMapping_key_dataBind1.dataCode) {
|
|
869
|
+
var _controlIdMapping_key3;
|
|
870
|
+
// 明细字表只循环一层明细子表未递归
|
|
871
|
+
obj[(_controlIdMapping_key3 = controlIdMapping[key]) === null || _controlIdMapping_key3 === void 0 ? void 0 : _controlIdMapping_key3.dataBind.dataCode] = getFieldData[key].map(function(item) {
|
|
872
|
+
var objChi = {};
|
|
873
|
+
for(var keyChi in item){
|
|
874
|
+
var _controlIdMapping_key_children_keyChi;
|
|
875
|
+
if ((_controlIdMapping_key_children_keyChi = controlIdMapping[key].children[keyChi]) === null || _controlIdMapping_key_children_keyChi === void 0 ? void 0 : _controlIdMapping_key_children_keyChi.dataBind.fieldCode) {
|
|
876
|
+
var _controlIdMapping_key_children_keyChi1;
|
|
877
|
+
objChi[(_controlIdMapping_key_children_keyChi1 = controlIdMapping[key].children[keyChi]) === null || _controlIdMapping_key_children_keyChi1 === void 0 ? void 0 : _controlIdMapping_key_children_keyChi1.dataBind.fieldCode] = item[keyChi];
|
|
878
|
+
} else {
|
|
879
|
+
for(var keyChi1 in item[keyChi]){
|
|
880
|
+
var _controlIdMapping_key_children_keyChi2;
|
|
881
|
+
objChi[(_controlIdMapping_key_children_keyChi2 = controlIdMapping[key].children[keyChi]) === null || _controlIdMapping_key_children_keyChi2 === void 0 ? void 0 : _controlIdMapping_key_children_keyChi2.dataBind[keyChi1].fieldCode] = item[keyChi][keyChi1];
|
|
882
|
+
//
|
|
883
|
+
}
|
|
884
|
+
}
|
|
885
|
+
}
|
|
886
|
+
return objChi;
|
|
887
|
+
});
|
|
888
|
+
} else if (controlIdMapping[key]) {
|
|
889
|
+
// 兼容一个控件需要绑定多个字段的情况
|
|
890
|
+
for(var keyChi in getFieldData[key]){
|
|
891
|
+
var _controlIdMapping_key_dataBind_keyChi, _controlIdMapping_key4;
|
|
892
|
+
obj[(_controlIdMapping_key_dataBind_keyChi = (_controlIdMapping_key4 = controlIdMapping[key]) === null || _controlIdMapping_key4 === void 0 ? void 0 : _controlIdMapping_key4.dataBind[keyChi]) === null || _controlIdMapping_key_dataBind_keyChi === void 0 ? void 0 : _controlIdMapping_key_dataBind_keyChi.fieldCode] = getFieldData[key][keyChi];
|
|
893
|
+
}
|
|
894
|
+
}
|
|
895
|
+
};
|
|
896
|
+
// 主表
|
|
897
|
+
var obj = {};
|
|
898
|
+
for(var key in getFieldData)_loop(key);
|
|
899
|
+
return obj;
|
|
848
900
|
}
|
|
849
901
|
}
|
|
850
902
|
return;
|
package/dist/esm/common/Store.js
CHANGED
|
@@ -30,10 +30,9 @@ var Store = /*#__PURE__*/ function() {
|
|
|
30
30
|
"use strict";
|
|
31
31
|
function Store(props) {
|
|
32
32
|
_classCallCheck(this, Store);
|
|
33
|
-
var _init = init(props.instance), state = _init.state, emptyState = _init.emptyState, databindMapping = _init.databindMapping, controlidMapping = _init.controlidMapping
|
|
33
|
+
var _init = init(props.instance), state = _init.state, emptyState = _init.emptyState, databindMapping = _init.databindMapping, controlidMapping = _init.controlidMapping;
|
|
34
34
|
this.emptyState = emptyState;
|
|
35
35
|
this.state = state;
|
|
36
|
-
this.fieldCodeState = fieldCodeState;
|
|
37
36
|
this.dataBindMapping = databindMapping;
|
|
38
37
|
this.controlIdMapping = controlidMapping;
|
|
39
38
|
}
|
|
@@ -124,25 +123,6 @@ var Store = /*#__PURE__*/ function() {
|
|
|
124
123
|
}
|
|
125
124
|
}
|
|
126
125
|
};
|
|
127
|
-
_proto.getFieldCodeState = function getFieldCodeState(controlId) {
|
|
128
|
-
//qiyu 由于header的数据是后补充的,所以从state获取第一层值。
|
|
129
|
-
// const controlInfo = this.controlIdMapping[controlId]
|
|
130
|
-
var detection = this.fieldCodeState[controlId];
|
|
131
|
-
if (detection !== undefined) {
|
|
132
|
-
return this.fieldCodeState[controlId];
|
|
133
|
-
} else {
|
|
134
|
-
var controlInfo = this.controlIdMapping[controlId];
|
|
135
|
-
var dataCode = controlInfo.dataBind.dataCode;
|
|
136
|
-
if (controlInfo !== undefined) {
|
|
137
|
-
if (controlInfo.dataView === controlId) {
|
|
138
|
-
return this.fieldCodeState[controlId];
|
|
139
|
-
} else {
|
|
140
|
-
var dataCode1 = controlInfo.dataBind.dataCode;
|
|
141
|
-
return this.fieldCodeState[controlInfo.dataView][dataCode1] || this.fieldCodeState[controlInfo.dataView];
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
};
|
|
146
126
|
_proto.getEmptyState = function getEmptyState(controlId) {
|
|
147
127
|
var _this = this;
|
|
148
128
|
var detection = this.emptyState[controlId];
|
|
@@ -193,8 +173,6 @@ var Store = /*#__PURE__*/ function() {
|
|
|
193
173
|
function init(instance) {
|
|
194
174
|
var state = {};
|
|
195
175
|
var emptyState = {};
|
|
196
|
-
var fieldCodeState = {};
|
|
197
|
-
var fieldCodeEmptyState = {};
|
|
198
176
|
var databindMapping = {};
|
|
199
177
|
var controlidMapping = {};
|
|
200
178
|
// loopFormControl(instance, (item, children) => {
|
|
@@ -204,76 +182,39 @@ function init(instance) {
|
|
|
204
182
|
var dvId = dataView.id;
|
|
205
183
|
var dataViewState = {};
|
|
206
184
|
var emptyDataViewState = {};
|
|
207
|
-
var dataViewFieldCodeState = {};
|
|
208
|
-
var emptyDataViewFieldCodeState = {};
|
|
209
185
|
// @ts-ignore
|
|
210
186
|
loopFormControl([
|
|
211
187
|
dataView
|
|
212
188
|
], function(item, children) {
|
|
213
|
-
buildState(dataViewState, emptyDataViewState,
|
|
189
|
+
buildState(dataViewState, emptyDataViewState, item);
|
|
214
190
|
buildDataBindMapping(databindMapping, dvId, item);
|
|
215
191
|
buildControlIdMapping(controlidMapping, dvId, item);
|
|
216
192
|
});
|
|
217
193
|
state[dvId] = dataViewState;
|
|
218
194
|
emptyState[dvId] = emptyDataViewState;
|
|
219
|
-
fieldCodeState[dvId] = dataViewFieldCodeState;
|
|
220
|
-
fieldCodeEmptyState[dvId] = emptyDataViewFieldCodeState;
|
|
221
195
|
});
|
|
222
196
|
return {
|
|
223
197
|
state: state,
|
|
224
198
|
emptyState: emptyState,
|
|
225
199
|
databindMapping: databindMapping,
|
|
226
|
-
controlidMapping: controlidMapping
|
|
227
|
-
fieldCodeState: fieldCodeState,
|
|
228
|
-
fieldCodeEmptyState: fieldCodeEmptyState
|
|
200
|
+
controlidMapping: controlidMapping
|
|
229
201
|
};
|
|
230
202
|
}
|
|
231
|
-
function buildState(dataViewState, emptyDataViewState,
|
|
203
|
+
function buildState(dataViewState, emptyDataViewState, // @ts-ignore
|
|
232
204
|
item) {
|
|
233
205
|
if (_instanceof(item, RuntimeFormControl)) {
|
|
234
206
|
dataViewState[item.id] = JSONCopy(item.props.defaultValue);
|
|
235
207
|
emptyDataViewState[item.id] = JSONCopy(item.props.defaultValue);
|
|
236
|
-
if (_instanceof(item.props.dataBind, ObjectDataBind)) {
|
|
237
|
-
// 特殊的dataBind,比如:金额是currency+amount两个key组成的,日期区间,继承自ObjectDataBind的需要通过Object.keys拿到多个databind
|
|
238
|
-
Object.keys(item.props.dataBind).forEach(function(key) {
|
|
239
|
-
var dataBind = item.props.dataBind;
|
|
240
|
-
var defaultValue = item.props.defaultValue;
|
|
241
|
-
var dataBindFieldCode = dataBind[key].fieldCode;
|
|
242
|
-
dataViewFieldCodeState[dataBindFieldCode] = JSONCopy(defaultValue[key]);
|
|
243
|
-
emptyDataViewFieldCodeState[dataBindFieldCode] = JSONCopy(defaultValue[key]);
|
|
244
|
-
});
|
|
245
|
-
} else {
|
|
246
|
-
var dataBindFieldCode = item.props.dataBind.fieldCode;
|
|
247
|
-
dataViewFieldCodeState[dataBindFieldCode] = JSONCopy(item.props.defaultValue);
|
|
248
|
-
emptyDataViewFieldCodeState[dataBindFieldCode] = JSONCopy(item.props.defaultValue);
|
|
249
|
-
}
|
|
250
208
|
} else {
|
|
251
209
|
var emptyTemplate = {};
|
|
252
|
-
var emptyFieldCodeTemplate = {};
|
|
253
210
|
loopFormSchema(item.props.headers, function(headerItem) {
|
|
254
211
|
emptyTemplate[headerItem.id] = JSONCopy(headerItem.props.defaultValue);
|
|
255
|
-
// 处理成fieldCode
|
|
256
|
-
var headerItemFieldCode = headerItem.props.dataBind.fieldCode;
|
|
257
|
-
if (_instanceof(headerItem.props.dataBind, ObjectDataBind)) {
|
|
258
|
-
// 特殊的dataBind,比如:金额是currency+amount两个key组成的,日期区间,继承自ObjectDataBind的需要通过Object.keys拿到多个databind
|
|
259
|
-
Object.keys(headerItem.props.dataBind).forEach(function(key) {
|
|
260
|
-
emptyFieldCodeTemplate[headerItem.props.dataBind[key].fieldCode] = JSONCopy(headerItem.props.defaultValue[key]);
|
|
261
|
-
});
|
|
262
|
-
} else {
|
|
263
|
-
emptyFieldCodeTemplate[headerItemFieldCode] = JSONCopy(headerItem.props.defaultValue);
|
|
264
|
-
}
|
|
265
212
|
});
|
|
266
213
|
var _item_props_defaultRows;
|
|
267
214
|
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() {
|
|
268
215
|
return JSONCopy(emptyTemplate);
|
|
269
216
|
});
|
|
270
217
|
emptyDataViewState[item.id] = emptyTemplate;
|
|
271
|
-
var dataBindFieldCode1 = item.props.datasourceBind.dataCode;
|
|
272
|
-
var _item_props_defaultRows1;
|
|
273
|
-
dataViewFieldCodeState[dataBindFieldCode1] = new Array((_item_props_defaultRows1 = item.props.defaultRows) !== null && _item_props_defaultRows1 !== void 0 ? _item_props_defaultRows1 : 1).fill(0).map(function() {
|
|
274
|
-
return JSONCopy(emptyFieldCodeTemplate);
|
|
275
|
-
});
|
|
276
|
-
emptyDataViewFieldCodeState[dataBindFieldCode1] = emptyFieldCodeTemplate;
|
|
277
218
|
}
|
|
278
219
|
}
|
|
279
220
|
function buildDataBindMapping(data, dataViewId, // @ts-ignore
|