@byteluck-fe/model-driven-engine 1.7.5 → 1.7.8-beta.0
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 +110 -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 +12 -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)))
|
|
@@ -367,8 +367,8 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
367
367
|
_this._jobTasks = [];
|
|
368
368
|
_this.createControlInstance = _this.createInstance;
|
|
369
369
|
_this.$options = Object.freeze(props);
|
|
370
|
-
var
|
|
371
|
-
language, language =
|
|
370
|
+
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,
|
|
371
|
+
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
372
|
RulesMessage.setLocale(language);
|
|
373
373
|
_this.debug = debug;
|
|
374
374
|
_this.runtime = new Runtime({
|
|
@@ -402,13 +402,13 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
402
402
|
for(var _len = arguments.length, arg = new Array(_len), _key = 0; _key < _len; _key++){
|
|
403
403
|
arg[_key] = arguments[_key];
|
|
404
404
|
}
|
|
405
|
-
var
|
|
406
|
-
(
|
|
405
|
+
var _this_runtime;
|
|
406
|
+
(_this_runtime = this.runtime).register.apply(_this_runtime, _toConsumableArray(arg));
|
|
407
407
|
return this;
|
|
408
408
|
};
|
|
409
409
|
_proto.mount = function mount() {
|
|
410
410
|
this.debugLog("engine的mount方法开始调用");
|
|
411
|
-
var
|
|
411
|
+
var _this_$options = this.$options, _this_$options_plugins = _this_$options.plugins, plugins = _this_$options_plugins === void 0 ? [] : _this_$options_plugins;
|
|
412
412
|
this._handlerProxyState();
|
|
413
413
|
this.__plugins = plugins;
|
|
414
414
|
this.applyPlugins();
|
|
@@ -431,7 +431,9 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
431
431
|
};
|
|
432
432
|
_proto._proxyStateBeforeSetCallback = function _proxyStateBeforeSetCallback(state, key, newValue, oldValue) {
|
|
433
433
|
var _this = this;
|
|
434
|
+
console.time("㊗️_proxyStateBeforeSetCallback findItem");
|
|
434
435
|
var instance = findItem(this.runtime.flatInstances, key);
|
|
436
|
+
console.timeLog("㊗️_proxyStateBeforeSetCallback findItem");
|
|
435
437
|
// 找不到控件说明不是改动控件上的字段,直接通过
|
|
436
438
|
if (!instance) {
|
|
437
439
|
return newValue;
|
|
@@ -472,7 +474,9 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
472
474
|
};
|
|
473
475
|
_proto._handlerArrayUpdate = function _handlerArrayUpdate(state, key, type, args, result) {
|
|
474
476
|
var _this = this;
|
|
477
|
+
console.time("㊗️ _handlerArrayUpdate findItem");
|
|
475
478
|
var subtable = findItem(this.runtime.flatInstances, key);
|
|
479
|
+
console.timeLog("㊗️ _handlerArrayUpdate findItem");
|
|
476
480
|
if (!_instanceof(subtable, RuntimeListControl)) return;
|
|
477
481
|
// 新增多行方法
|
|
478
482
|
var createRows = function(len) {
|
|
@@ -496,17 +500,17 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
496
500
|
switch(type){
|
|
497
501
|
case "push":
|
|
498
502
|
case "unshift":
|
|
499
|
-
var
|
|
503
|
+
var _subtable_children;
|
|
500
504
|
var newRowLengths = args.length;
|
|
501
505
|
createdNewRows = createRows(newRowLengths);
|
|
502
506
|
createdNewRowsData = args;
|
|
503
|
-
(
|
|
507
|
+
(_subtable_children = subtable.children)[type].apply(_subtable_children, _toConsumableArray(createdNewRows));
|
|
504
508
|
this.runtime.getFlatInstances();
|
|
505
509
|
break;
|
|
506
510
|
case "splice":
|
|
507
511
|
if (args.length > 2) {
|
|
508
512
|
var // @ts-ignore
|
|
509
|
-
|
|
513
|
+
_subtable_children1;
|
|
510
514
|
var newRowLengths1 = args.length - 2;
|
|
511
515
|
var newValues = args.slice(2);
|
|
512
516
|
createdNewRows = createRows(newRowLengths1);
|
|
@@ -515,7 +519,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
515
519
|
var start = args[0];
|
|
516
520
|
// 替换几个
|
|
517
521
|
var replace = args[1];
|
|
518
|
-
(
|
|
522
|
+
(_subtable_children1 = subtable.children)[type].apply(_subtable_children1, [
|
|
519
523
|
start,
|
|
520
524
|
replace
|
|
521
525
|
].concat(_toConsumableArray(createdNewRows)));
|
|
@@ -526,15 +530,15 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
526
530
|
// })
|
|
527
531
|
} else {
|
|
528
532
|
var // @ts-ignore
|
|
529
|
-
|
|
530
|
-
(
|
|
533
|
+
_subtable_children2;
|
|
534
|
+
(_subtable_children2 = subtable.children)[type].apply(_subtable_children2, _toConsumableArray(args));
|
|
531
535
|
this.runtime.getFlatInstances();
|
|
532
536
|
}
|
|
533
537
|
break;
|
|
534
538
|
default:
|
|
535
539
|
var // @ts-ignore
|
|
536
|
-
|
|
537
|
-
(
|
|
540
|
+
_subtable_children3;
|
|
541
|
+
(_subtable_children3 = subtable.children)[type].apply(_subtable_children3, _toConsumableArray(args));
|
|
538
542
|
this.runtime.getFlatInstances();
|
|
539
543
|
break;
|
|
540
544
|
}
|
|
@@ -562,7 +566,9 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
562
566
|
}
|
|
563
567
|
};
|
|
564
568
|
_proto._handlerObjectUpdate = function _handlerObjectUpdate(state, key, value, oldValue) {
|
|
569
|
+
console.time("㊗️_handlerObjectUpdate findItem");
|
|
565
570
|
var instance = findItem(this.runtime.flatInstances, key);
|
|
571
|
+
console.timeLog("㊗️_handlerObjectUpdate findItem");
|
|
566
572
|
if (!instance) {
|
|
567
573
|
return;
|
|
568
574
|
}
|
|
@@ -570,7 +576,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
570
576
|
var options = eventOptionsTemp || {};
|
|
571
577
|
if (_instanceof(instance, RuntimeListControl)) {
|
|
572
578
|
var // @ts-ignore
|
|
573
|
-
|
|
579
|
+
_instance_children;
|
|
574
580
|
instance.children.length = 0;
|
|
575
581
|
var newValue = value;
|
|
576
582
|
// @ts-ignore
|
|
@@ -580,7 +586,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
580
586
|
var row = this.listControlCreateRow(instance, "subtable-row");
|
|
581
587
|
row && newRows.push(row);
|
|
582
588
|
}
|
|
583
|
-
(
|
|
589
|
+
(_instance_children = instance.children).push.apply(_instance_children, _toConsumableArray(newRows));
|
|
584
590
|
this.runtime.getFlatInstances();
|
|
585
591
|
// 这里已经能拿到控件实例,所以在这里触发setStates,触发每一行每一个控件的change事件
|
|
586
592
|
// for (let i = 0; i < newValue.length; i++) {
|
|
@@ -612,8 +618,8 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
612
618
|
if (this.__pluginsApplied) return;
|
|
613
619
|
this.__plugins.forEach(function(plugin) {
|
|
614
620
|
try {
|
|
615
|
-
var
|
|
616
|
-
applyingPluginName = (
|
|
621
|
+
var _plugin_pluginName;
|
|
622
|
+
applyingPluginName = (_plugin_pluginName = plugin.pluginName) !== null && _plugin_pluginName !== void 0 ? _plugin_pluginName : plugin.constructor.name;
|
|
617
623
|
plugin.apply(_this);
|
|
618
624
|
} catch (e) {
|
|
619
625
|
error("".concat(applyingPluginName, " Plugin apply Error \n ").concat(e));
|
|
@@ -627,11 +633,11 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
627
633
|
var row = this.runtime.createControlInstance(rowType);
|
|
628
634
|
if (!row) return;
|
|
629
635
|
if (_instanceof(row, RuntimeLayoutControl)) {
|
|
630
|
-
var
|
|
636
|
+
var _row_children;
|
|
631
637
|
var template = JSONCopy(instance.props.headers);
|
|
632
638
|
// @ts-ignore
|
|
633
639
|
var columns = this.createControl(template);
|
|
634
|
-
(
|
|
640
|
+
(_row_children = row.children).push.apply(_row_children, _toConsumableArray(columns));
|
|
635
641
|
}
|
|
636
642
|
return row;
|
|
637
643
|
};
|
|
@@ -718,8 +724,8 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
718
724
|
for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
|
|
719
725
|
args[_key] = arguments[_key];
|
|
720
726
|
}
|
|
721
|
-
var
|
|
722
|
-
return (
|
|
727
|
+
var _this_runtime;
|
|
728
|
+
return (_this_runtime = this.runtime).createControl.apply(_this_runtime, _toConsumableArray(args));
|
|
723
729
|
};
|
|
724
730
|
_proto.createInstance = function createInstance(type, initSchema) {
|
|
725
731
|
return this.runtime.createControlInstance(type, initSchema);
|
|
@@ -734,16 +740,16 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
734
740
|
if (controlId === undefined) {
|
|
735
741
|
return this.runtime.rules;
|
|
736
742
|
} else {
|
|
737
|
-
var
|
|
738
|
-
return (
|
|
743
|
+
var _this_runtime_rules_controlId;
|
|
744
|
+
return (_this_runtime_rules_controlId = this.runtime.rules[controlId]) === null || _this_runtime_rules_controlId === void 0 ? void 0 : _this_runtime_rules_controlId.fields;
|
|
739
745
|
}
|
|
740
746
|
};
|
|
741
747
|
_proto.getAntdRules = function getAntdRules(controlId) {
|
|
742
748
|
if (controlId === undefined) {
|
|
743
749
|
return this.runtime.antdRules;
|
|
744
750
|
} else {
|
|
745
|
-
var
|
|
746
|
-
return (
|
|
751
|
+
var _this_runtime_antdRules_controlId;
|
|
752
|
+
return (_this_runtime_antdRules_controlId = this.runtime.antdRules[controlId]) === null || _this_runtime_antdRules_controlId === void 0 ? void 0 : _this_runtime_antdRules_controlId.fields;
|
|
747
753
|
}
|
|
748
754
|
};
|
|
749
755
|
_proto.getState = function getState(controlId, rowIndex) {
|
|
@@ -753,13 +759,6 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
753
759
|
return this.store.getState(controlId, rowIndex);
|
|
754
760
|
}
|
|
755
761
|
};
|
|
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
762
|
_proto.getEmptyState = function getEmptyState(controlId) {
|
|
764
763
|
if (controlId === undefined) {
|
|
765
764
|
return JSONCopy(this.store.emptyState);
|
|
@@ -840,11 +839,70 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
840
839
|
}
|
|
841
840
|
};
|
|
842
841
|
_proto.getData = function getData(dataCode) {
|
|
843
|
-
if (dataCode)
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
842
|
+
if (!dataCode) return;
|
|
843
|
+
var dataBindMapping = this.getDataBindMapping(dataCode);
|
|
844
|
+
var controlIdMapping = this.getControlIdMapping();
|
|
845
|
+
if (dataBindMapping) {
|
|
846
|
+
var controlId = dataBindMapping.controlId;
|
|
847
|
+
var getFieldData = this.getField(dataCode);
|
|
848
|
+
// 明细子表值
|
|
849
|
+
if (Array.isArray(getFieldData)) {
|
|
850
|
+
var data = getFieldData.map(function(item) {
|
|
851
|
+
var obj = {};
|
|
852
|
+
for(var key in item){
|
|
853
|
+
var _controlIdMapping_controlId_children_key, _controlIdMapping_controlId, _controlIdMapping_controlId_children_key_dataBind, _controlIdMapping_controlId1;
|
|
854
|
+
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) {
|
|
855
|
+
var _controlIdMapping_controlId_children_key1;
|
|
856
|
+
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];
|
|
857
|
+
} else if ((_controlIdMapping_controlId1 = controlIdMapping[controlId]) === null || _controlIdMapping_controlId1 === void 0 ? void 0 : _controlIdMapping_controlId1.children[key]) {
|
|
858
|
+
// 兼容一个控件需要绑定多个字段的情况
|
|
859
|
+
for(var keyChi in item[key]){
|
|
860
|
+
var _controlIdMapping_controlId_children_key2, _controlIdMapping_controlId2;
|
|
861
|
+
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];
|
|
862
|
+
}
|
|
863
|
+
}
|
|
864
|
+
}
|
|
865
|
+
return obj;
|
|
866
|
+
});
|
|
867
|
+
return data;
|
|
868
|
+
} else {
|
|
869
|
+
var _loop = function(key) {
|
|
870
|
+
var _controlIdMapping_key, _controlIdMapping_key_dataBind, _controlIdMapping_key1, _controlIdMapping_key_dataBind1;
|
|
871
|
+
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) {
|
|
872
|
+
var _controlIdMapping_key2;
|
|
873
|
+
obj[(_controlIdMapping_key2 = controlIdMapping[key]) === null || _controlIdMapping_key2 === void 0 ? void 0 : _controlIdMapping_key2.dataBind.fieldCode] = getFieldData[key];
|
|
874
|
+
} 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) {
|
|
875
|
+
var _controlIdMapping_key3;
|
|
876
|
+
// 明细字表只循环一层明细子表未递归
|
|
877
|
+
obj[(_controlIdMapping_key3 = controlIdMapping[key]) === null || _controlIdMapping_key3 === void 0 ? void 0 : _controlIdMapping_key3.dataBind.dataCode] = getFieldData[key].map(function(item) {
|
|
878
|
+
var objChi = {};
|
|
879
|
+
for(var keyChi in item){
|
|
880
|
+
var _controlIdMapping_key_children_keyChi;
|
|
881
|
+
if ((_controlIdMapping_key_children_keyChi = controlIdMapping[key].children[keyChi]) === null || _controlIdMapping_key_children_keyChi === void 0 ? void 0 : _controlIdMapping_key_children_keyChi.dataBind.fieldCode) {
|
|
882
|
+
var _controlIdMapping_key_children_keyChi1;
|
|
883
|
+
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];
|
|
884
|
+
} else {
|
|
885
|
+
for(var keyChi1 in item[keyChi]){
|
|
886
|
+
var _controlIdMapping_key_children_keyChi2;
|
|
887
|
+
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];
|
|
888
|
+
//
|
|
889
|
+
}
|
|
890
|
+
}
|
|
891
|
+
}
|
|
892
|
+
return objChi;
|
|
893
|
+
});
|
|
894
|
+
} else if (controlIdMapping[key]) {
|
|
895
|
+
// 兼容一个控件需要绑定多个字段的情况
|
|
896
|
+
for(var keyChi in getFieldData[key]){
|
|
897
|
+
var _controlIdMapping_key_dataBind_keyChi, _controlIdMapping_key4;
|
|
898
|
+
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];
|
|
899
|
+
}
|
|
900
|
+
}
|
|
901
|
+
};
|
|
902
|
+
// 主表
|
|
903
|
+
var obj = {};
|
|
904
|
+
for(var key in getFieldData)_loop(key);
|
|
905
|
+
return obj;
|
|
848
906
|
}
|
|
849
907
|
}
|
|
850
908
|
return;
|
|
@@ -863,8 +921,8 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
863
921
|
}
|
|
864
922
|
var dataBind = dataBindMapping.dataBind, controlId = dataBindMapping.controlId;
|
|
865
923
|
if (_instanceof(dataBind, ObjectDataBind)) {
|
|
866
|
-
var
|
|
867
|
-
var oldState = (
|
|
924
|
+
var _JSONCopy;
|
|
925
|
+
var oldState = (_JSONCopy = JSONCopy(this.getState(controlId, rowIndex))) !== null && _JSONCopy !== void 0 ? _JSONCopy : this.getEmptyState(controlId);
|
|
868
926
|
// fieldCode不代表是key,所以需要找到对应的key
|
|
869
927
|
var newState = Object.entries(dataBind).reduce(function(result, param) {
|
|
870
928
|
var _param = _slicedToArray(param, 2), key = _param[0], dataBind = _param[1];
|
|
@@ -902,8 +960,8 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
902
960
|
}
|
|
903
961
|
// 对象类型的值
|
|
904
962
|
if (_instanceof(dataBind, ObjectDataBind)) {
|
|
905
|
-
var
|
|
906
|
-
var oldState = (
|
|
963
|
+
var _JSONCopy;
|
|
964
|
+
var oldState = (_JSONCopy = JSONCopy(_this.getState(controlId, rowIndex))) !== null && _JSONCopy !== void 0 ? _JSONCopy : _this.getEmptyState(controlId);
|
|
907
965
|
// fieldCode不代表是key,所以需要找到对应的key
|
|
908
966
|
var newState = Object.entries(dataBind).reduce(function(result, param) {
|
|
909
967
|
var _param = _slicedToArray(param, 2), key = _param[0], dataBind = _param[1];
|
|
@@ -981,19 +1039,19 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
981
1039
|
var skipKey = [] //qiyu ObjectDataBind中会提前将相关key拿出来赋值,为了避免重复赋值,设置了此变量
|
|
982
1040
|
;
|
|
983
1041
|
Object.keys(row).map(function(fieldCode) {
|
|
984
|
-
var
|
|
1042
|
+
var _this_store_dataBindMapping_dataCode, _this_store_dataBindMapping_dataCode_fields;
|
|
985
1043
|
if (skipKey.includes(fieldCode)) {
|
|
986
1044
|
return;
|
|
987
1045
|
}
|
|
988
|
-
var fieldMapping = (
|
|
1046
|
+
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
1047
|
return i.fieldCode === fieldCode;
|
|
990
1048
|
});
|
|
991
1049
|
if (fieldMapping) {
|
|
992
1050
|
if (_instanceof(fieldMapping.dataBind, DataBind) && row[fieldCode] !== undefined) {
|
|
993
1051
|
newRow[fieldMapping.controlId] = row[fieldCode];
|
|
994
1052
|
} else if (_instanceof(fieldMapping.dataBind, ObjectDataBind)) {
|
|
995
|
-
var
|
|
996
|
-
var objValue = JSONCopy((
|
|
1053
|
+
var _this_getEmptyState;
|
|
1054
|
+
var objValue = JSONCopy((_this_getEmptyState = _this.getEmptyState(fieldMapping.controlId)) !== null && _this_getEmptyState !== void 0 ? _this_getEmptyState : {});
|
|
997
1055
|
Object.keys(fieldMapping.dataBind).map(function(key) {
|
|
998
1056
|
var dataBind = fieldMapping.dataBind[key];
|
|
999
1057
|
if (row[dataBind.fieldCode] !== undefined) {
|
|
@@ -1028,8 +1086,8 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1028
1086
|
if (_instanceof(mapping.dataBind, DataBind) && entity[fieldCode] !== undefined) {
|
|
1029
1087
|
newState[mapping.dataViewId[0]][mapping.controlId] = entity[fieldCode];
|
|
1030
1088
|
} else if (_instanceof(mapping.dataBind, ObjectDataBind)) {
|
|
1031
|
-
var
|
|
1032
|
-
var objValue = JSONCopy((
|
|
1089
|
+
var _this_getEmptyState;
|
|
1090
|
+
var objValue = JSONCopy((_this_getEmptyState = _this.getEmptyState(mapping.controlId)) !== null && _this_getEmptyState !== void 0 ? _this_getEmptyState : {});
|
|
1033
1091
|
Object.keys(mapping.dataBind).map(function(key) {
|
|
1034
1092
|
var dataBind = mapping.dataBind[key];
|
|
1035
1093
|
if (entity[dataBind.fieldCode] !== undefined) {
|
|
@@ -1097,11 +1155,11 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1097
1155
|
}
|
|
1098
1156
|
} else {
|
|
1099
1157
|
var controlIdMapping = this.getControlIdMapping();
|
|
1100
|
-
var
|
|
1101
|
-
var
|
|
1158
|
+
var _Object_entries_find;
|
|
1159
|
+
var _ref = _slicedToArray((_Object_entries_find = Object.entries(controlIdMapping).find(function(param) {
|
|
1102
1160
|
var _param = _slicedToArray(param, 2), _ = _param[0], mapping = _param[1];
|
|
1103
1161
|
return mapping.children && controlId in mapping.children;
|
|
1104
|
-
})) !== null &&
|
|
1162
|
+
})) !== null && _Object_entries_find !== void 0 ? _Object_entries_find : [], 1), subtableId = _ref[0];
|
|
1105
1163
|
if (subtableId) {
|
|
1106
1164
|
var subtable = this.getInstance(subtableId);
|
|
1107
1165
|
// @ts-ignore
|
|
@@ -1255,8 +1313,8 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1255
1313
|
for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
|
|
1256
1314
|
args[_key] = arguments[_key];
|
|
1257
1315
|
}
|
|
1258
|
-
var
|
|
1259
|
-
return (
|
|
1316
|
+
var _this_runtime;
|
|
1317
|
+
return (_this_runtime = this.runtime).registerControlConfig.apply(_this_runtime, _toConsumableArray(args));
|
|
1260
1318
|
};
|
|
1261
1319
|
_proto.getControlConfig = function getControlConfig(control) {
|
|
1262
1320
|
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);
|