@byteluck-fe/model-driven-engine 1.7.5 → 1.7.6-bete.10
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 +2 -2
- package/dist/esm/common/Engine.js +119 -52
- package/dist/esm/common/OkWorker.js +5 -5
- package/dist/esm/common/Store.js +11 -70
- package/dist/esm/common/checkerValue.js +2 -2
- package/dist/esm/common/proxyState.js +7 -7
- package/dist/esm/plugins/CalcPlugin.js +17 -17
- package/dist/esm/plugins/ES6ModulePlugin.js +2 -2
- package/dist/esm/plugins/StylePlugin.js +3 -3
- package/dist/index.umd.js +8 -8
- package/dist/types/common/Engine.d.ts +17 -6
- package/dist/types/common/Runtime.d.ts +1 -1
- package/dist/types/common/Store.d.ts +5 -7
- 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 +3 -3
|
@@ -173,7 +173,7 @@ export var ActionManager = /*#__PURE__*/ function() {
|
|
|
173
173
|
}
|
|
174
174
|
var _this = this;
|
|
175
175
|
return _asyncToGenerator(function() {
|
|
176
|
-
var action,
|
|
176
|
+
var action, _action_func, result, e;
|
|
177
177
|
return __generator(this, function(_state) {
|
|
178
178
|
switch(_state.label){
|
|
179
179
|
case 0:
|
|
@@ -193,7 +193,7 @@ export var ActionManager = /*#__PURE__*/ function() {
|
|
|
193
193
|
]);
|
|
194
194
|
return [
|
|
195
195
|
4,
|
|
196
|
-
(
|
|
196
|
+
(_action_func = action.func).call.apply(_action_func, [
|
|
197
197
|
null,
|
|
198
198
|
context
|
|
199
199
|
].concat(_toConsumableArray(args)))
|
|
@@ -365,10 +365,14 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
365
365
|
_this.__pluginsApplied = false;
|
|
366
366
|
_this.actionManager = new ActionManager();
|
|
367
367
|
_this._jobTasks = [];
|
|
368
|
+
/**
|
|
369
|
+
* 用于存储运行态无需proxy的数据
|
|
370
|
+
* from v1.7.6-beta
|
|
371
|
+
*/ _this.rawStore = {};
|
|
368
372
|
_this.createControlInstance = _this.createInstance;
|
|
369
373
|
_this.$options = Object.freeze(props);
|
|
370
|
-
var
|
|
371
|
-
language, language =
|
|
374
|
+
var _this_$options = _this.$options, _this_$options_autoMount = _this_$options.autoMount, autoMount = _this_$options_autoMount === void 0 ? true : _this_$options_autoMount, schema = _this_$options.schema, beforeCreateInstance = _this_$options.beforeCreateInstance, externalParams = _this_$options.externalParams, _this_$options_language = _this_$options.// fieldModel,
|
|
375
|
+
language, language = _this_$options_language === void 0 ? DEFAULT_LOCALE : _this_$options_language, _this_$options_debug = _this_$options.debug, debug = _this_$options_debug === void 0 ? false : _this_$options_debug;
|
|
372
376
|
RulesMessage.setLocale(language);
|
|
373
377
|
_this.debug = debug;
|
|
374
378
|
_this.runtime = new Runtime({
|
|
@@ -402,13 +406,13 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
402
406
|
for(var _len = arguments.length, arg = new Array(_len), _key = 0; _key < _len; _key++){
|
|
403
407
|
arg[_key] = arguments[_key];
|
|
404
408
|
}
|
|
405
|
-
var
|
|
406
|
-
(
|
|
409
|
+
var _this_runtime;
|
|
410
|
+
(_this_runtime = this.runtime).register.apply(_this_runtime, _toConsumableArray(arg));
|
|
407
411
|
return this;
|
|
408
412
|
};
|
|
409
413
|
_proto.mount = function mount() {
|
|
410
414
|
this.debugLog("engine的mount方法开始调用");
|
|
411
|
-
var
|
|
415
|
+
var _this_$options = this.$options, _this_$options_plugins = _this_$options.plugins, plugins = _this_$options_plugins === void 0 ? [] : _this_$options_plugins;
|
|
412
416
|
this._handlerProxyState();
|
|
413
417
|
this.__plugins = plugins;
|
|
414
418
|
this.applyPlugins();
|
|
@@ -431,7 +435,11 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
431
435
|
};
|
|
432
436
|
_proto._proxyStateBeforeSetCallback = function _proxyStateBeforeSetCallback(state, key, newValue, oldValue) {
|
|
433
437
|
var _this = this;
|
|
438
|
+
var cc = console;
|
|
439
|
+
cc.log("㊗️_proxyStateBeforeSetCallback findItem" + key, newValue, oldValue);
|
|
440
|
+
cc.time("㊗️_proxyStateBeforeSetCallback findItem" + key);
|
|
434
441
|
var instance = findItem(this.runtime.flatInstances, key);
|
|
442
|
+
cc.timeLog("㊗️_proxyStateBeforeSetCallback findItem" + key);
|
|
435
443
|
// 找不到控件说明不是改动控件上的字段,直接通过
|
|
436
444
|
if (!instance) {
|
|
437
445
|
return newValue;
|
|
@@ -472,7 +480,10 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
472
480
|
};
|
|
473
481
|
_proto._handlerArrayUpdate = function _handlerArrayUpdate(state, key, type, args, result) {
|
|
474
482
|
var _this = this;
|
|
483
|
+
var cc = console;
|
|
484
|
+
cc.time("㊗️ _handlerArrayUpdate findItem" + key);
|
|
475
485
|
var subtable = findItem(this.runtime.flatInstances, key);
|
|
486
|
+
cc.timeLog("㊗️ _handlerArrayUpdate findItem" + key);
|
|
476
487
|
if (!_instanceof(subtable, RuntimeListControl)) return;
|
|
477
488
|
// 新增多行方法
|
|
478
489
|
var createRows = function(len) {
|
|
@@ -496,17 +507,17 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
496
507
|
switch(type){
|
|
497
508
|
case "push":
|
|
498
509
|
case "unshift":
|
|
499
|
-
var
|
|
510
|
+
var _subtable_children;
|
|
500
511
|
var newRowLengths = args.length;
|
|
501
512
|
createdNewRows = createRows(newRowLengths);
|
|
502
513
|
createdNewRowsData = args;
|
|
503
|
-
(
|
|
514
|
+
(_subtable_children = subtable.children)[type].apply(_subtable_children, _toConsumableArray(createdNewRows));
|
|
504
515
|
this.runtime.getFlatInstances();
|
|
505
516
|
break;
|
|
506
517
|
case "splice":
|
|
507
518
|
if (args.length > 2) {
|
|
508
519
|
var // @ts-ignore
|
|
509
|
-
|
|
520
|
+
_subtable_children1;
|
|
510
521
|
var newRowLengths1 = args.length - 2;
|
|
511
522
|
var newValues = args.slice(2);
|
|
512
523
|
createdNewRows = createRows(newRowLengths1);
|
|
@@ -515,7 +526,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
515
526
|
var start = args[0];
|
|
516
527
|
// 替换几个
|
|
517
528
|
var replace = args[1];
|
|
518
|
-
(
|
|
529
|
+
(_subtable_children1 = subtable.children)[type].apply(_subtable_children1, [
|
|
519
530
|
start,
|
|
520
531
|
replace
|
|
521
532
|
].concat(_toConsumableArray(createdNewRows)));
|
|
@@ -526,15 +537,15 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
526
537
|
// })
|
|
527
538
|
} else {
|
|
528
539
|
var // @ts-ignore
|
|
529
|
-
|
|
530
|
-
(
|
|
540
|
+
_subtable_children2;
|
|
541
|
+
(_subtable_children2 = subtable.children)[type].apply(_subtable_children2, _toConsumableArray(args));
|
|
531
542
|
this.runtime.getFlatInstances();
|
|
532
543
|
}
|
|
533
544
|
break;
|
|
534
545
|
default:
|
|
535
546
|
var // @ts-ignore
|
|
536
|
-
|
|
537
|
-
(
|
|
547
|
+
_subtable_children3;
|
|
548
|
+
(_subtable_children3 = subtable.children)[type].apply(_subtable_children3, _toConsumableArray(args));
|
|
538
549
|
this.runtime.getFlatInstances();
|
|
539
550
|
break;
|
|
540
551
|
}
|
|
@@ -562,7 +573,11 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
562
573
|
}
|
|
563
574
|
};
|
|
564
575
|
_proto._handlerObjectUpdate = function _handlerObjectUpdate(state, key, value, oldValue) {
|
|
576
|
+
var cc = console;
|
|
577
|
+
cc.log("㊗️_handlerObjectUpdate findItem" + key, value, oldValue);
|
|
578
|
+
cc.time("㊗️_handlerObjectUpdate findItem" + key);
|
|
565
579
|
var instance = findItem(this.runtime.flatInstances, key);
|
|
580
|
+
cc.timeLog("㊗️_handlerObjectUpdate findItem" + key);
|
|
566
581
|
if (!instance) {
|
|
567
582
|
return;
|
|
568
583
|
}
|
|
@@ -570,7 +585,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
570
585
|
var options = eventOptionsTemp || {};
|
|
571
586
|
if (_instanceof(instance, RuntimeListControl)) {
|
|
572
587
|
var // @ts-ignore
|
|
573
|
-
|
|
588
|
+
_instance_children;
|
|
574
589
|
instance.children.length = 0;
|
|
575
590
|
var newValue = value;
|
|
576
591
|
// @ts-ignore
|
|
@@ -580,7 +595,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
580
595
|
var row = this.listControlCreateRow(instance, "subtable-row");
|
|
581
596
|
row && newRows.push(row);
|
|
582
597
|
}
|
|
583
|
-
(
|
|
598
|
+
(_instance_children = instance.children).push.apply(_instance_children, _toConsumableArray(newRows));
|
|
584
599
|
this.runtime.getFlatInstances();
|
|
585
600
|
// 这里已经能拿到控件实例,所以在这里触发setStates,触发每一行每一个控件的change事件
|
|
586
601
|
// for (let i = 0; i < newValue.length; i++) {
|
|
@@ -612,8 +627,8 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
612
627
|
if (this.__pluginsApplied) return;
|
|
613
628
|
this.__plugins.forEach(function(plugin) {
|
|
614
629
|
try {
|
|
615
|
-
var
|
|
616
|
-
applyingPluginName = (
|
|
630
|
+
var _plugin_pluginName;
|
|
631
|
+
applyingPluginName = (_plugin_pluginName = plugin.pluginName) !== null && _plugin_pluginName !== void 0 ? _plugin_pluginName : plugin.constructor.name;
|
|
617
632
|
plugin.apply(_this);
|
|
618
633
|
} catch (e) {
|
|
619
634
|
error("".concat(applyingPluginName, " Plugin apply Error \n ").concat(e));
|
|
@@ -627,11 +642,11 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
627
642
|
var row = this.runtime.createControlInstance(rowType);
|
|
628
643
|
if (!row) return;
|
|
629
644
|
if (_instanceof(row, RuntimeLayoutControl)) {
|
|
630
|
-
var
|
|
645
|
+
var _row_children;
|
|
631
646
|
var template = JSONCopy(instance.props.headers);
|
|
632
647
|
// @ts-ignore
|
|
633
648
|
var columns = this.createControl(template);
|
|
634
|
-
(
|
|
649
|
+
(_row_children = row.children).push.apply(_row_children, _toConsumableArray(columns));
|
|
635
650
|
}
|
|
636
651
|
return row;
|
|
637
652
|
};
|
|
@@ -718,8 +733,8 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
718
733
|
for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
|
|
719
734
|
args[_key] = arguments[_key];
|
|
720
735
|
}
|
|
721
|
-
var
|
|
722
|
-
return (
|
|
736
|
+
var _this_runtime;
|
|
737
|
+
return (_this_runtime = this.runtime).createControl.apply(_this_runtime, _toConsumableArray(args));
|
|
723
738
|
};
|
|
724
739
|
_proto.createInstance = function createInstance(type, initSchema) {
|
|
725
740
|
return this.runtime.createControlInstance(type, initSchema);
|
|
@@ -734,16 +749,16 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
734
749
|
if (controlId === undefined) {
|
|
735
750
|
return this.runtime.rules;
|
|
736
751
|
} else {
|
|
737
|
-
var
|
|
738
|
-
return (
|
|
752
|
+
var _this_runtime_rules_controlId;
|
|
753
|
+
return (_this_runtime_rules_controlId = this.runtime.rules[controlId]) === null || _this_runtime_rules_controlId === void 0 ? void 0 : _this_runtime_rules_controlId.fields;
|
|
739
754
|
}
|
|
740
755
|
};
|
|
741
756
|
_proto.getAntdRules = function getAntdRules(controlId) {
|
|
742
757
|
if (controlId === undefined) {
|
|
743
758
|
return this.runtime.antdRules;
|
|
744
759
|
} else {
|
|
745
|
-
var
|
|
746
|
-
return (
|
|
760
|
+
var _this_runtime_antdRules_controlId;
|
|
761
|
+
return (_this_runtime_antdRules_controlId = this.runtime.antdRules[controlId]) === null || _this_runtime_antdRules_controlId === void 0 ? void 0 : _this_runtime_antdRules_controlId.fields;
|
|
747
762
|
}
|
|
748
763
|
};
|
|
749
764
|
_proto.getState = function getState(controlId, rowIndex) {
|
|
@@ -753,13 +768,6 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
753
768
|
return this.store.getState(controlId, rowIndex);
|
|
754
769
|
}
|
|
755
770
|
};
|
|
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
771
|
_proto.getEmptyState = function getEmptyState(controlId) {
|
|
764
772
|
if (controlId === undefined) {
|
|
765
773
|
return JSONCopy(this.store.emptyState);
|
|
@@ -840,11 +848,70 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
840
848
|
}
|
|
841
849
|
};
|
|
842
850
|
_proto.getData = function getData(dataCode) {
|
|
843
|
-
if (dataCode)
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
851
|
+
if (!dataCode) return;
|
|
852
|
+
var dataBindMapping = this.getDataBindMapping(dataCode);
|
|
853
|
+
var controlIdMapping = this.getControlIdMapping();
|
|
854
|
+
if (dataBindMapping) {
|
|
855
|
+
var controlId = dataBindMapping.controlId;
|
|
856
|
+
var getFieldData = this.getField(dataCode);
|
|
857
|
+
// 明细子表值
|
|
858
|
+
if (Array.isArray(getFieldData)) {
|
|
859
|
+
var data = getFieldData.map(function(item) {
|
|
860
|
+
var obj = {};
|
|
861
|
+
for(var key in item){
|
|
862
|
+
var _controlIdMapping_controlId_children_key, _controlIdMapping_controlId, _controlIdMapping_controlId_children_key_dataBind, _controlIdMapping_controlId1;
|
|
863
|
+
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) {
|
|
864
|
+
var _controlIdMapping_controlId_children_key1;
|
|
865
|
+
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];
|
|
866
|
+
} else if ((_controlIdMapping_controlId1 = controlIdMapping[controlId]) === null || _controlIdMapping_controlId1 === void 0 ? void 0 : _controlIdMapping_controlId1.children[key]) {
|
|
867
|
+
// 兼容一个控件需要绑定多个字段的情况
|
|
868
|
+
for(var keyChi in item[key]){
|
|
869
|
+
var _controlIdMapping_controlId_children_key2, _controlIdMapping_controlId2;
|
|
870
|
+
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];
|
|
871
|
+
}
|
|
872
|
+
}
|
|
873
|
+
}
|
|
874
|
+
return obj;
|
|
875
|
+
});
|
|
876
|
+
return data;
|
|
877
|
+
} else {
|
|
878
|
+
var _loop = function(key) {
|
|
879
|
+
var _controlIdMapping_key, _controlIdMapping_key_dataBind, _controlIdMapping_key1, _controlIdMapping_key_dataBind1;
|
|
880
|
+
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) {
|
|
881
|
+
var _controlIdMapping_key2;
|
|
882
|
+
obj[(_controlIdMapping_key2 = controlIdMapping[key]) === null || _controlIdMapping_key2 === void 0 ? void 0 : _controlIdMapping_key2.dataBind.fieldCode] = getFieldData[key];
|
|
883
|
+
} 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) {
|
|
884
|
+
var _controlIdMapping_key3;
|
|
885
|
+
// 明细字表只循环一层明细子表未递归
|
|
886
|
+
obj[(_controlIdMapping_key3 = controlIdMapping[key]) === null || _controlIdMapping_key3 === void 0 ? void 0 : _controlIdMapping_key3.dataBind.dataCode] = getFieldData[key].map(function(item) {
|
|
887
|
+
var objChi = {};
|
|
888
|
+
for(var keyChi in item){
|
|
889
|
+
var _controlIdMapping_key_children_keyChi;
|
|
890
|
+
if ((_controlIdMapping_key_children_keyChi = controlIdMapping[key].children[keyChi]) === null || _controlIdMapping_key_children_keyChi === void 0 ? void 0 : _controlIdMapping_key_children_keyChi.dataBind.fieldCode) {
|
|
891
|
+
var _controlIdMapping_key_children_keyChi1;
|
|
892
|
+
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];
|
|
893
|
+
} else {
|
|
894
|
+
for(var keyChi1 in item[keyChi]){
|
|
895
|
+
var _controlIdMapping_key_children_keyChi2;
|
|
896
|
+
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];
|
|
897
|
+
//
|
|
898
|
+
}
|
|
899
|
+
}
|
|
900
|
+
}
|
|
901
|
+
return objChi;
|
|
902
|
+
});
|
|
903
|
+
} else if (controlIdMapping[key]) {
|
|
904
|
+
// 兼容一个控件需要绑定多个字段的情况
|
|
905
|
+
for(var keyChi in getFieldData[key]){
|
|
906
|
+
var _controlIdMapping_key_dataBind_keyChi, _controlIdMapping_key4;
|
|
907
|
+
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];
|
|
908
|
+
}
|
|
909
|
+
}
|
|
910
|
+
};
|
|
911
|
+
// 主表
|
|
912
|
+
var obj = {};
|
|
913
|
+
for(var key in getFieldData)_loop(key);
|
|
914
|
+
return obj;
|
|
848
915
|
}
|
|
849
916
|
}
|
|
850
917
|
return;
|
|
@@ -863,8 +930,8 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
863
930
|
}
|
|
864
931
|
var dataBind = dataBindMapping.dataBind, controlId = dataBindMapping.controlId;
|
|
865
932
|
if (_instanceof(dataBind, ObjectDataBind)) {
|
|
866
|
-
var
|
|
867
|
-
var oldState = (
|
|
933
|
+
var _JSONCopy;
|
|
934
|
+
var oldState = (_JSONCopy = JSONCopy(this.getState(controlId, rowIndex))) !== null && _JSONCopy !== void 0 ? _JSONCopy : this.getEmptyState(controlId);
|
|
868
935
|
// fieldCode不代表是key,所以需要找到对应的key
|
|
869
936
|
var newState = Object.entries(dataBind).reduce(function(result, param) {
|
|
870
937
|
var _param = _slicedToArray(param, 2), key = _param[0], dataBind = _param[1];
|
|
@@ -902,8 +969,8 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
902
969
|
}
|
|
903
970
|
// 对象类型的值
|
|
904
971
|
if (_instanceof(dataBind, ObjectDataBind)) {
|
|
905
|
-
var
|
|
906
|
-
var oldState = (
|
|
972
|
+
var _JSONCopy;
|
|
973
|
+
var oldState = (_JSONCopy = JSONCopy(_this.getState(controlId, rowIndex))) !== null && _JSONCopy !== void 0 ? _JSONCopy : _this.getEmptyState(controlId);
|
|
907
974
|
// fieldCode不代表是key,所以需要找到对应的key
|
|
908
975
|
var newState = Object.entries(dataBind).reduce(function(result, param) {
|
|
909
976
|
var _param = _slicedToArray(param, 2), key = _param[0], dataBind = _param[1];
|
|
@@ -981,19 +1048,19 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
981
1048
|
var skipKey = [] //qiyu ObjectDataBind中会提前将相关key拿出来赋值,为了避免重复赋值,设置了此变量
|
|
982
1049
|
;
|
|
983
1050
|
Object.keys(row).map(function(fieldCode) {
|
|
984
|
-
var
|
|
1051
|
+
var _this_store_dataBindMapping_dataCode, _this_store_dataBindMapping_dataCode_fields;
|
|
985
1052
|
if (skipKey.includes(fieldCode)) {
|
|
986
1053
|
return;
|
|
987
1054
|
}
|
|
988
|
-
var fieldMapping = (
|
|
1055
|
+
var fieldMapping = (_this_store_dataBindMapping_dataCode = _this.store.dataBindMapping[dataCode]) === null || _this_store_dataBindMapping_dataCode === void 0 ? void 0 : (_this_store_dataBindMapping_dataCode_fields = _this_store_dataBindMapping_dataCode.fields) === null || _this_store_dataBindMapping_dataCode_fields === void 0 ? void 0 : _this_store_dataBindMapping_dataCode_fields.find(function(i) {
|
|
989
1056
|
return i.fieldCode === fieldCode;
|
|
990
1057
|
});
|
|
991
1058
|
if (fieldMapping) {
|
|
992
1059
|
if (_instanceof(fieldMapping.dataBind, DataBind) && row[fieldCode] !== undefined) {
|
|
993
1060
|
newRow[fieldMapping.controlId] = row[fieldCode];
|
|
994
1061
|
} else if (_instanceof(fieldMapping.dataBind, ObjectDataBind)) {
|
|
995
|
-
var
|
|
996
|
-
var objValue = JSONCopy((
|
|
1062
|
+
var _this_getEmptyState;
|
|
1063
|
+
var objValue = JSONCopy((_this_getEmptyState = _this.getEmptyState(fieldMapping.controlId)) !== null && _this_getEmptyState !== void 0 ? _this_getEmptyState : {});
|
|
997
1064
|
Object.keys(fieldMapping.dataBind).map(function(key) {
|
|
998
1065
|
var dataBind = fieldMapping.dataBind[key];
|
|
999
1066
|
if (row[dataBind.fieldCode] !== undefined) {
|
|
@@ -1028,8 +1095,8 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1028
1095
|
if (_instanceof(mapping.dataBind, DataBind) && entity[fieldCode] !== undefined) {
|
|
1029
1096
|
newState[mapping.dataViewId[0]][mapping.controlId] = entity[fieldCode];
|
|
1030
1097
|
} else if (_instanceof(mapping.dataBind, ObjectDataBind)) {
|
|
1031
|
-
var
|
|
1032
|
-
var objValue = JSONCopy((
|
|
1098
|
+
var _this_getEmptyState;
|
|
1099
|
+
var objValue = JSONCopy((_this_getEmptyState = _this.getEmptyState(mapping.controlId)) !== null && _this_getEmptyState !== void 0 ? _this_getEmptyState : {});
|
|
1033
1100
|
Object.keys(mapping.dataBind).map(function(key) {
|
|
1034
1101
|
var dataBind = mapping.dataBind[key];
|
|
1035
1102
|
if (entity[dataBind.fieldCode] !== undefined) {
|
|
@@ -1097,11 +1164,11 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1097
1164
|
}
|
|
1098
1165
|
} else {
|
|
1099
1166
|
var controlIdMapping = this.getControlIdMapping();
|
|
1100
|
-
var
|
|
1101
|
-
var
|
|
1167
|
+
var _Object_entries_find;
|
|
1168
|
+
var _ref = _slicedToArray((_Object_entries_find = Object.entries(controlIdMapping).find(function(param) {
|
|
1102
1169
|
var _param = _slicedToArray(param, 2), _ = _param[0], mapping = _param[1];
|
|
1103
1170
|
return mapping.children && controlId in mapping.children;
|
|
1104
|
-
})) !== null &&
|
|
1171
|
+
})) !== null && _Object_entries_find !== void 0 ? _Object_entries_find : [], 1), subtableId = _ref[0];
|
|
1105
1172
|
if (subtableId) {
|
|
1106
1173
|
var subtable = this.getInstance(subtableId);
|
|
1107
1174
|
// @ts-ignore
|
|
@@ -1255,8 +1322,8 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1255
1322
|
for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
|
|
1256
1323
|
args[_key] = arguments[_key];
|
|
1257
1324
|
}
|
|
1258
|
-
var
|
|
1259
|
-
return (
|
|
1325
|
+
var _this_runtime;
|
|
1326
|
+
return (_this_runtime = this.runtime).registerControlConfig.apply(_this_runtime, _toConsumableArray(args));
|
|
1260
1327
|
};
|
|
1261
1328
|
_proto.getControlConfig = function getControlConfig(control) {
|
|
1262
1329
|
return this.runtime.getControlConfig(control);
|
|
@@ -18,12 +18,12 @@ var OkWorker = /*#__PURE__*/ function() {
|
|
|
18
18
|
});
|
|
19
19
|
};
|
|
20
20
|
_proto.destroy = function destroy() {
|
|
21
|
-
var
|
|
22
|
-
(
|
|
21
|
+
var _this_worker;
|
|
22
|
+
(_this_worker = this.worker) === null || _this_worker === void 0 ? void 0 : _this_worker.terminate();
|
|
23
23
|
};
|
|
24
24
|
_proto.postMessage = function postMessage(message) {
|
|
25
|
-
var
|
|
26
|
-
(
|
|
25
|
+
var _this_worker;
|
|
26
|
+
(_this_worker = this.worker) === null || _this_worker === void 0 ? void 0 : _this_worker.postMessage(message);
|
|
27
27
|
};
|
|
28
28
|
OkWorker.createWorker = function createWorker() {
|
|
29
29
|
var blob = new Blob([
|
|
@@ -64,7 +64,7 @@ var OkWorker = /*#__PURE__*/ function() {
|
|
|
64
64
|
// return new Proxy(obj, createHandler(parentKey))
|
|
65
65
|
// }
|
|
66
66
|
_self.addEventListener("message", function(event) {
|
|
67
|
-
var
|
|
67
|
+
var _event_data = event.data, action = _event_data.action, payload = _event_data.payload, fn = _event_data.fn;
|
|
68
68
|
log(action, payload);
|
|
69
69
|
// 通过proxy进行代理,每次修改的时候,自动向外抛出postMessage
|
|
70
70
|
// data.key1 = 1
|
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
|
|
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
|
}
|
|
@@ -97,8 +96,8 @@ var Store = /*#__PURE__*/ function() {
|
|
|
97
96
|
if (children !== undefined) {
|
|
98
97
|
Object.keys(children).map(function(childControlId) {
|
|
99
98
|
if (childControlId === controlId) {
|
|
100
|
-
var
|
|
101
|
-
state = (
|
|
99
|
+
var _this_state_dataViewId_subtableId_rowIndex;
|
|
100
|
+
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];
|
|
102
101
|
}
|
|
103
102
|
});
|
|
104
103
|
}
|
|
@@ -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
|
-
var
|
|
267
|
-
dataViewState[item.id] = new Array((
|
|
213
|
+
var _item_props_defaultRows;
|
|
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 _defaultRows1;
|
|
273
|
-
dataViewFieldCodeState[dataBindFieldCode1] = new Array((_defaultRows1 = item.props.defaultRows) !== null && _defaultRows1 !== void 0 ? _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
|
|
@@ -379,9 +320,9 @@ item) {
|
|
|
379
320
|
options: []
|
|
380
321
|
};
|
|
381
322
|
loopFormSchema(item.props.headers, function(formControl) {
|
|
382
|
-
var
|
|
383
|
-
var
|
|
384
|
-
Object.assign((
|
|
323
|
+
var _data_item_id;
|
|
324
|
+
var _data_item_id_children;
|
|
325
|
+
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, {
|
|
385
326
|
dataBind: formControl.props.dataBind
|
|
386
327
|
}));
|
|
387
328
|
});
|
|
@@ -520,8 +520,8 @@ function getFieldTypeFromKey(key) {
|
|
|
520
520
|
}
|
|
521
521
|
}
|
|
522
522
|
export function checkerValue(fieldType, key, value, oldValue) {
|
|
523
|
-
var
|
|
524
|
-
var getCheckerFieldType = (
|
|
523
|
+
var _getFieldTypeFromKey;
|
|
524
|
+
var getCheckerFieldType = (_getFieldTypeFromKey = getFieldTypeFromKey(key)) !== null && _getFieldTypeFromKey !== void 0 ? _getFieldTypeFromKey : fieldType;
|
|
525
525
|
var checker = ValueCheckerFactory.getValueChecker(getCheckerFieldType);
|
|
526
526
|
if (!checker || checker.validate(value)) {
|
|
527
527
|
return value;
|
|
@@ -148,8 +148,8 @@ function ArrayHandler(target, propertyKey, value, thisKey, callback) {
|
|
|
148
148
|
// @ts-ignore
|
|
149
149
|
var oldValue = target[propertyKey];
|
|
150
150
|
var concatKey = thisKey === "" ? propertyKey : thisKey + "." + propertyKey;
|
|
151
|
-
var
|
|
152
|
-
newValue = (
|
|
151
|
+
var _reProxyState;
|
|
152
|
+
newValue = (_reProxyState = reProxyState(value)) !== null && _reProxyState !== void 0 ? _reProxyState : newValue;
|
|
153
153
|
// 先设置值,然后再进行触发回调,确保回调内拿到的是最新的值
|
|
154
154
|
var setResult;
|
|
155
155
|
// TODO 数组拦截操作需要重构,优化现有逻辑
|
|
@@ -243,10 +243,10 @@ function flatInstanceForChildren(controls) {
|
|
|
243
243
|
// 最后一个key可能是值对象上边的key,比如金额的amount和currency,计算公式的result和unit,所以需要判断前一个控件是不是一个表单控件,是的话就返回最后一个表单控件
|
|
244
244
|
return findEndItem ? findEndItem : _instanceof(prevItem, RuntimeFormControl) ? prevItem : undefined;
|
|
245
245
|
} else {
|
|
246
|
-
var
|
|
247
|
-
var
|
|
246
|
+
var _prevItem_children;
|
|
247
|
+
var _prevItem_children_index;
|
|
248
248
|
// 如果有children,则取children中对应的下标,没有的话一直返回prevItem
|
|
249
|
-
return (
|
|
249
|
+
return (_prevItem_children_index = prevItem === null || prevItem === void 0 ? void 0 : (_prevItem_children = prevItem.children) === null || _prevItem_children === void 0 ? void 0 : _prevItem_children[index]) !== null && _prevItem_children_index !== void 0 ? _prevItem_children_index : prevItem;
|
|
250
250
|
}
|
|
251
251
|
}, initInstance);
|
|
252
252
|
}
|
|
@@ -286,9 +286,9 @@ function getArrayNewArgs(type, args, value) {
|
|
|
286
286
|
var result;
|
|
287
287
|
var addValue = getArrayNewValue(key, args);
|
|
288
288
|
if (addValue.length) {
|
|
289
|
-
var
|
|
289
|
+
var _this, _this_engineArrayBeforeSetCallbackFlag;
|
|
290
290
|
// @ts-ignore
|
|
291
|
-
var newValue = (
|
|
291
|
+
var newValue = (_this_engineArrayBeforeSetCallbackFlag = (_this = this)[engineArrayBeforeSetCallbackFlag]) === null || _this_engineArrayBeforeSetCallbackFlag === void 0 ? void 0 : _this_engineArrayBeforeSetCallbackFlag.call(_this, // @ts-ignore
|
|
292
292
|
this[engineTargetKey], // @ts-ignore
|
|
293
293
|
this[engineProxyThisKey], addValue);
|
|
294
294
|
var newArgs = getArrayNewArgs(key, args, newValue);
|