@byteluck-fe/model-driven-engine 2.9.0-beta.2 → 2.9.1-beta.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/README.md +30 -30
- package/dist/esm/common/ActionManager.js +7 -7
- package/dist/esm/common/DataManager.js +2 -2
- package/dist/esm/common/Engine.js +164 -146
- package/dist/esm/common/OkWorker.js +8 -8
- package/dist/esm/common/Runtime.js +29 -45
- package/dist/esm/common/Store.js +16 -13
- package/dist/esm/common/checkerValue.js +39 -59
- package/dist/esm/common/index.js +2 -2
- package/dist/esm/common/proxyState.js +56 -52
- package/dist/esm/index.js +3 -3
- package/dist/esm/plugins/CalcPlugin.js +61 -57
- package/dist/esm/plugins/ControlsEventPlugin.js +4 -4
- package/dist/esm/plugins/ES6ModulePlugin.js +6 -6
- package/dist/esm/plugins/LifecycleEventPlugin.js +7 -7
- package/dist/esm/plugins/StylePlugin.js +11 -11
- package/dist/esm/plugins/index.js +5 -5
- package/dist/esm/utils/index.js +1 -1
- package/dist/esm/utils/runtimeUtils.js +3 -3
- package/dist/index.umd.js +7 -12
- package/dist/types/common/ActionManager.d.ts +14 -14
- package/dist/types/common/DataManager.d.ts +10 -10
- package/dist/types/common/Engine.d.ts +196 -194
- package/dist/types/common/OkWorker.d.ts +13 -13
- package/dist/types/common/Plugin.d.ts +6 -6
- package/dist/types/common/Runtime.d.ts +31 -31
- package/dist/types/common/Store.d.ts +54 -54
- package/dist/types/common/checkerValue.d.ts +3 -3
- package/dist/types/common/index.d.ts +2 -2
- package/dist/types/common/proxyState.d.ts +33 -33
- package/dist/types/index.d.ts +3 -3
- package/dist/types/plugins/CalcPlugin.d.ts +121 -121
- package/dist/types/plugins/ControlsEventPlugin.d.ts +15 -15
- package/dist/types/plugins/ES6ModulePlugin.d.ts +27 -27
- package/dist/types/plugins/LifecycleEventPlugin.d.ts +15 -15
- package/dist/types/plugins/StylePlugin.d.ts +12 -12
- package/dist/types/plugins/index.d.ts +5 -5
- package/dist/types/utils/index.d.ts +1 -1
- package/dist/types/utils/runtimeUtils.d.ts +5 -5
- package/package.json +4 -4
|
@@ -44,6 +44,10 @@ function _async_to_generator(fn) {
|
|
|
44
44
|
});
|
|
45
45
|
};
|
|
46
46
|
}
|
|
47
|
+
function _call_super(_this, derived, args) {
|
|
48
|
+
derived = _get_prototype_of(derived);
|
|
49
|
+
return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
|
|
50
|
+
}
|
|
47
51
|
function _class_call_check(instance, Constructor) {
|
|
48
52
|
if (!(instance instanceof Constructor)) {
|
|
49
53
|
throw new TypeError("Cannot call a class as a function");
|
|
@@ -222,28 +226,12 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
222
226
|
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
223
227
|
}
|
|
224
228
|
function _is_native_reflect_construct() {
|
|
225
|
-
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
226
|
-
if (Reflect.construct.sham) return false;
|
|
227
|
-
if (typeof Proxy === "function") return true;
|
|
228
229
|
try {
|
|
229
|
-
Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
return
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
function _create_super(Derived) {
|
|
236
|
-
var hasNativeReflectConstruct = _is_native_reflect_construct();
|
|
237
|
-
return function _createSuperInternal() {
|
|
238
|
-
var Super = _get_prototype_of(Derived), result;
|
|
239
|
-
if (hasNativeReflectConstruct) {
|
|
240
|
-
var NewTarget = _get_prototype_of(this).constructor;
|
|
241
|
-
result = Reflect.construct(Super, arguments, NewTarget);
|
|
242
|
-
} else {
|
|
243
|
-
result = Super.apply(this, arguments);
|
|
244
|
-
}
|
|
245
|
-
return _possible_constructor_return(this, result);
|
|
246
|
-
};
|
|
230
|
+
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
231
|
+
} catch (_) {}
|
|
232
|
+
return (_is_native_reflect_construct = function() {
|
|
233
|
+
return !!result;
|
|
234
|
+
})();
|
|
247
235
|
}
|
|
248
236
|
function _ts_generator(thisArg, body) {
|
|
249
237
|
var f, y, t, g, _ = {
|
|
@@ -340,50 +328,35 @@ function _ts_generator(thisArg, body) {
|
|
|
340
328
|
};
|
|
341
329
|
}
|
|
342
330
|
}
|
|
343
|
-
import { isDataBind } from
|
|
344
|
-
import { CONTROL_BASE_TYPE, CONTROL_TYPE, DEFAULT_LOCALE, error, genNonDuplicateId, isString, JSONCopy, log, RulesMessage, updateValueFromKeys, warn, Watcher, isBuiltInControls } from
|
|
345
|
-
import { Runtime } from
|
|
346
|
-
import { Store } from
|
|
347
|
-
import { findItem, proxyState } from
|
|
348
|
-
import { ActionManager } from
|
|
349
|
-
import { DataManager } from
|
|
350
|
-
import { checkerSubtableValue, checkerValue } from
|
|
351
|
-
import { buildUUID } from
|
|
352
|
-
if (typeof window !==
|
|
331
|
+
import { isDataBind } from '@byteluck-fe/model-driven-core';
|
|
332
|
+
import { CONTROL_BASE_TYPE, CONTROL_TYPE, DEFAULT_LOCALE, error, genNonDuplicateId, isString, JSONCopy, log, RulesMessage, updateValueFromKeys, warn, Watcher, isBuiltInControls } from '@byteluck-fe/model-driven-shared';
|
|
333
|
+
import { Runtime } from './Runtime';
|
|
334
|
+
import { Store } from './Store';
|
|
335
|
+
import { findItem, proxyState } from './proxyState';
|
|
336
|
+
import { ActionManager } from './ActionManager';
|
|
337
|
+
import { DataManager } from './DataManager';
|
|
338
|
+
import { checkerSubtableValue, checkerValue } from './checkerValue';
|
|
339
|
+
import { buildUUID } from '../utils/runtimeUtils';
|
|
340
|
+
if (typeof window !== 'undefined') {
|
|
353
341
|
// @ts-ignore
|
|
354
342
|
window.engines = {};
|
|
355
343
|
}
|
|
356
344
|
// setState的时候,存储options中转变量
|
|
357
345
|
var eventOptionsTemp = null;
|
|
358
346
|
// 当前正在注册的插件名称
|
|
359
|
-
var applyingPluginName =
|
|
347
|
+
var applyingPluginName = '';
|
|
360
348
|
// 整体渲染引擎 并且 提供发布订阅能力
|
|
361
349
|
var Engine = /*#__PURE__*/ function(Watcher) {
|
|
362
350
|
"use strict";
|
|
363
351
|
_inherits(Engine, Watcher);
|
|
364
|
-
var _super = _create_super(Engine);
|
|
365
352
|
function Engine(props) {
|
|
366
353
|
_class_call_check(this, Engine);
|
|
367
354
|
var _this;
|
|
368
|
-
_this =
|
|
369
|
-
_define_property(
|
|
370
|
-
_define_property(_assert_this_initialized(_this), "rawStore", {});
|
|
371
|
-
_define_property(_assert_this_initialized(_this), "parent", void 0);
|
|
372
|
-
// 提供注册运行态控件以及实例化控件的能力
|
|
373
|
-
_define_property(_assert_this_initialized(_this), "runtime", void 0);
|
|
374
|
-
// 提供子线程处理脚本以及修改数据的能力
|
|
355
|
+
_this = _call_super(this, Engine), _define_property(_this, "store", void 0), _define_property(_this, "rawStore", {}), _define_property(_this, "parent", void 0), // 提供注册运行态控件以及实例化控件的能力
|
|
356
|
+
_define_property(_this, "runtime", void 0), // 提供子线程处理脚本以及修改数据的能力
|
|
375
357
|
// public worker: OkWorker
|
|
376
|
-
_define_property(
|
|
377
|
-
_define_property(
|
|
378
|
-
_define_property(_assert_this_initialized(_this), "externalParams", void 0);
|
|
379
|
-
// 提供外部注册插件,在不同的hooks触发时执行固定函数的能力
|
|
380
|
-
_define_property(_assert_this_initialized(_this), "__plugins", void 0);
|
|
381
|
-
_define_property(_assert_this_initialized(_this), "__pluginsApplied", false);
|
|
382
|
-
_define_property(_assert_this_initialized(_this), "$options", void 0);
|
|
383
|
-
_define_property(_assert_this_initialized(_this), "actionManager", new ActionManager());
|
|
384
|
-
_define_property(_assert_this_initialized(_this), "dataManager", void 0);
|
|
385
|
-
_define_property(_assert_this_initialized(_this), "_jobTasks", []);
|
|
386
|
-
_define_property(_assert_this_initialized(_this), "createControlInstance", _this.createInstance);
|
|
358
|
+
_define_property(_this, "isMounted", false), _define_property(_this, "id", genNonDuplicateId(8)), _define_property(_this, "externalParams", void 0), // 提供外部注册插件,在不同的hooks触发时执行固定函数的能力
|
|
359
|
+
_define_property(_this, "__plugins", void 0), _define_property(_this, "__pluginsApplied", false), _define_property(_this, "$options", void 0), _define_property(_this, "actionManager", new ActionManager()), _define_property(_this, "dataManager", void 0), _define_property(_this, "_jobTasks", []), _define_property(_this, "createControlInstance", _this.createInstance);
|
|
387
360
|
_this.$options = Object.freeze(props);
|
|
388
361
|
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,
|
|
389
362
|
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;
|
|
@@ -397,7 +370,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
397
370
|
_this.store = new Store({
|
|
398
371
|
instance: _this.runtime.instance
|
|
399
372
|
});
|
|
400
|
-
_this.debugLog(
|
|
373
|
+
_this.debugLog('engine is Instantiation complete');
|
|
401
374
|
// 自动执行挂载完成,也可以手动调用mount方法
|
|
402
375
|
autoMount && _this.mount();
|
|
403
376
|
return _this;
|
|
@@ -444,7 +417,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
444
417
|
// 触发所有控件的默认值的change事件
|
|
445
418
|
this.setStates(this.getState());
|
|
446
419
|
this.debugLog("engine的mount方法调用结束");
|
|
447
|
-
if (this.debug && typeof window !==
|
|
420
|
+
if (this.debug && typeof window !== 'undefined') {
|
|
448
421
|
// @ts-ignore
|
|
449
422
|
window.engines[this.id] = this;
|
|
450
423
|
}
|
|
@@ -453,7 +426,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
453
426
|
{
|
|
454
427
|
key: "destroy",
|
|
455
428
|
value: function destroy() {
|
|
456
|
-
if (this.debug && typeof window !==
|
|
429
|
+
if (this.debug && typeof window !== 'undefined') {
|
|
457
430
|
// @ts-ignore
|
|
458
431
|
delete window.engines[this.id];
|
|
459
432
|
}
|
|
@@ -494,7 +467,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
494
467
|
checkerSubtableValue(fieldTypeMap, row, emptyState));
|
|
495
468
|
});
|
|
496
469
|
}
|
|
497
|
-
var keys = key.split(
|
|
470
|
+
var keys = key.split('.');
|
|
498
471
|
var lastKey = keys[keys.length - 1];
|
|
499
472
|
try {
|
|
500
473
|
return checkerValue(instance.fieldType, lastKey, newValue, oldValue);
|
|
@@ -528,7 +501,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
528
501
|
var newRows = [];
|
|
529
502
|
for(var i = 0; i < len; i++){
|
|
530
503
|
// @ts-ignore
|
|
531
|
-
var row = _this.listControlCreateRow(subtable,
|
|
504
|
+
var row = _this.listControlCreateRow(subtable, 'subtable-row');
|
|
532
505
|
row && newRows.push(row);
|
|
533
506
|
}
|
|
534
507
|
// @ts-ignore
|
|
@@ -543,8 +516,8 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
543
516
|
if (type && args) {
|
|
544
517
|
// const subtableOldLength = subtable.children.length
|
|
545
518
|
switch(type){
|
|
546
|
-
case
|
|
547
|
-
case
|
|
519
|
+
case 'push':
|
|
520
|
+
case 'unshift':
|
|
548
521
|
var _subtable_children;
|
|
549
522
|
var newRowLengths = args.length;
|
|
550
523
|
createdNewRows = createRows(newRowLengths);
|
|
@@ -552,7 +525,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
552
525
|
(_subtable_children = subtable.children)[type].apply(_subtable_children, _to_consumable_array(createdNewRows));
|
|
553
526
|
this.runtime.getFlatInstances();
|
|
554
527
|
break;
|
|
555
|
-
case
|
|
528
|
+
case 'splice':
|
|
556
529
|
if (args.length > 2) {
|
|
557
530
|
var // @ts-ignore
|
|
558
531
|
_subtable_children1;
|
|
@@ -594,11 +567,11 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
594
567
|
this.runtime.getFlatInstances();
|
|
595
568
|
break;
|
|
596
569
|
}
|
|
597
|
-
if (type ===
|
|
570
|
+
if (type === 'splice') {
|
|
598
571
|
deleted = result;
|
|
599
572
|
} else if ([
|
|
600
|
-
|
|
601
|
-
|
|
573
|
+
'pop',
|
|
574
|
+
'shift'
|
|
602
575
|
].includes(type)) {
|
|
603
576
|
deleted = [
|
|
604
577
|
result
|
|
@@ -606,7 +579,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
606
579
|
}
|
|
607
580
|
var subtableData = this.getState(subtable.id);
|
|
608
581
|
this._handlerSubtableUpdateUid(subtableData);
|
|
609
|
-
this.emit(
|
|
582
|
+
this.emit('list-change', {
|
|
610
583
|
instance: subtable,
|
|
611
584
|
value: subtableData,
|
|
612
585
|
options: Object.assign({}, options, {
|
|
@@ -627,10 +600,11 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
627
600
|
{
|
|
628
601
|
key: "_handlerSubtableUpdateUid",
|
|
629
602
|
value: function _handlerSubtableUpdateUid(subtableData) {
|
|
603
|
+
;
|
|
630
604
|
subtableData.forEach(function(item) {
|
|
631
605
|
if (!item.uid) {
|
|
632
606
|
Object.assign(item, {
|
|
633
|
-
uid:
|
|
607
|
+
uid: 'new:' + buildUUID('uid')
|
|
634
608
|
});
|
|
635
609
|
}
|
|
636
610
|
});
|
|
@@ -655,7 +629,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
655
629
|
var newRows = [];
|
|
656
630
|
for(var i = 0; i < newValue.length; i++){
|
|
657
631
|
// @ts-ignore
|
|
658
|
-
var row = this.listControlCreateRow(instance,
|
|
632
|
+
var row = this.listControlCreateRow(instance, 'subtable-row');
|
|
659
633
|
row && newRows.push(row);
|
|
660
634
|
}
|
|
661
635
|
(_instance_children = instance.children).push.apply(_instance_children, _to_consumable_array(newRows));
|
|
@@ -669,7 +643,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
669
643
|
deleted = [];
|
|
670
644
|
}
|
|
671
645
|
this._handlerSubtableUpdateUid(newValue);
|
|
672
|
-
this.emit(
|
|
646
|
+
this.emit('list-change', {
|
|
673
647
|
instance: instance,
|
|
674
648
|
value: value,
|
|
675
649
|
options: _object_spread_props(_object_spread({}, options), {
|
|
@@ -678,12 +652,12 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
678
652
|
data: newValue,
|
|
679
653
|
deleted: deleted,
|
|
680
654
|
// deleted: oldValue ?? [],
|
|
681
|
-
type:
|
|
655
|
+
type: 'push',
|
|
682
656
|
jsonValue: JSON.stringify(newValue)
|
|
683
657
|
})
|
|
684
658
|
});
|
|
685
659
|
} else {
|
|
686
|
-
this.emit(
|
|
660
|
+
this.emit('change', {
|
|
687
661
|
instance: instance,
|
|
688
662
|
value: this.getState(instance.id, index),
|
|
689
663
|
rowIndex: index,
|
|
@@ -707,7 +681,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
707
681
|
} catch (e) {
|
|
708
682
|
error("".concat(applyingPluginName, " Plugin apply Error \n ").concat(e));
|
|
709
683
|
} finally{
|
|
710
|
-
applyingPluginName =
|
|
684
|
+
applyingPluginName = '';
|
|
711
685
|
}
|
|
712
686
|
});
|
|
713
687
|
this.__pluginsApplied = true;
|
|
@@ -717,20 +691,20 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
717
691
|
key: "listControlCreateRow",
|
|
718
692
|
value: function listControlCreateRow(instance, rowType) {
|
|
719
693
|
var row;
|
|
720
|
-
if (rowType ===
|
|
694
|
+
if (rowType === 'subtable-row') {
|
|
721
695
|
row = {
|
|
722
696
|
children: [],
|
|
723
697
|
controlType: CONTROL_BASE_TYPE.LAYOUT,
|
|
724
698
|
id: genNonDuplicateId(),
|
|
725
|
-
type:
|
|
699
|
+
type: 'subtable-row',
|
|
726
700
|
props: {
|
|
727
|
-
caption:
|
|
701
|
+
caption: '',
|
|
728
702
|
isHide: false,
|
|
729
703
|
style: {
|
|
730
|
-
height:
|
|
731
|
-
heightConfig:
|
|
732
|
-
width:
|
|
733
|
-
widthConfig:
|
|
704
|
+
height: '',
|
|
705
|
+
heightConfig: 'fill',
|
|
706
|
+
width: '',
|
|
707
|
+
widthConfig: 'fill'
|
|
734
708
|
}
|
|
735
709
|
},
|
|
736
710
|
fieldType: undefined,
|
|
@@ -784,7 +758,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
784
758
|
key: "listControlAddRow",
|
|
785
759
|
value: function listControlAddRow(instance) {
|
|
786
760
|
var // @ts-ignore
|
|
787
|
-
rowType = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] :
|
|
761
|
+
rowType = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 'subtable-row';
|
|
788
762
|
var row = this.listControlCreateRow(instance, rowType);
|
|
789
763
|
if (!row) return;
|
|
790
764
|
instance.children.push(row);
|
|
@@ -803,12 +777,12 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
803
777
|
return _ts_generator(this, function(_state) {
|
|
804
778
|
switch(_state.label){
|
|
805
779
|
case 0:
|
|
806
|
-
if (!(eventKey ===
|
|
780
|
+
if (!(eventKey === 'engine-mounted')) return [
|
|
807
781
|
3,
|
|
808
782
|
3
|
|
809
783
|
];
|
|
810
784
|
if (_this1.isMounted) {
|
|
811
|
-
warn(
|
|
785
|
+
warn('The engine-mounted life cycle can only be triggered once');
|
|
812
786
|
return [
|
|
813
787
|
2,
|
|
814
788
|
Promise.resolve([])
|
|
@@ -818,7 +792,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
818
792
|
3,
|
|
819
793
|
2
|
|
820
794
|
];
|
|
821
|
-
console.time(
|
|
795
|
+
console.time('engine-mounted need wait');
|
|
822
796
|
needWait = _to_consumable_array(_this1._jobTasks);
|
|
823
797
|
return [
|
|
824
798
|
4,
|
|
@@ -826,7 +800,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
826
800
|
];
|
|
827
801
|
case 1:
|
|
828
802
|
_state.sent();
|
|
829
|
-
console.timeEnd(
|
|
803
|
+
console.timeEnd('engine-mounted need wait');
|
|
830
804
|
_state.label = 2;
|
|
831
805
|
case 2:
|
|
832
806
|
_this1.isMounted = true;
|
|
@@ -979,9 +953,9 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
979
953
|
}
|
|
980
954
|
},
|
|
981
955
|
{
|
|
982
|
-
/**
|
|
983
|
-
* 设置payload的options,提供在不是使用标准api修改state的时候可以传递options,会在本次任务执行完成之后清空
|
|
984
|
-
* @param options 需要携带的options
|
|
956
|
+
/**
|
|
957
|
+
* 设置payload的options,提供在不是使用标准api修改state的时候可以传递options,会在本次任务执行完成之后清空
|
|
958
|
+
* @param options 需要携带的options
|
|
985
959
|
* */ key: "setPayloadOptions",
|
|
986
960
|
value: function setPayloadOptions(options) {
|
|
987
961
|
eventOptionsTemp = options;
|
|
@@ -991,16 +965,16 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
991
965
|
key: "setState",
|
|
992
966
|
value: function setState(controlId, value, rowIndex, options) {
|
|
993
967
|
eventOptionsTemp = options;
|
|
994
|
-
this.debugLog(
|
|
968
|
+
this.debugLog('[%o]: 触发setState, 修改的值为%o, rowIndex=%o, options=%o', controlId, value, rowIndex, options);
|
|
995
969
|
this.store.setState(controlId, value, rowIndex);
|
|
996
|
-
this.debugLog(
|
|
970
|
+
this.debugLog('[%o]: setState完成, 修改的值为%o, rowIndex=%o', controlId, value, rowIndex);
|
|
997
971
|
eventOptionsTemp = null;
|
|
998
972
|
}
|
|
999
973
|
},
|
|
1000
974
|
{
|
|
1001
|
-
/**
|
|
1002
|
-
* 向Store设置一组值,明细表必须全量赋值,并触发事件(触发事件是根据组件在页面中的顺序逐个触发)
|
|
1003
|
-
* @param states
|
|
975
|
+
/**
|
|
976
|
+
* 向Store设置一组值,明细表必须全量赋值,并触发事件(触发事件是根据组件在页面中的顺序逐个触发)
|
|
977
|
+
* @param states
|
|
1004
978
|
*/ key: "setStates",
|
|
1005
979
|
value: function setStates(states, rowIndex, options) {
|
|
1006
980
|
var _this = this;
|
|
@@ -1027,11 +1001,55 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1027
1001
|
}
|
|
1028
1002
|
},
|
|
1029
1003
|
{
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1004
|
+
//理想-获取表单头部信息
|
|
1005
|
+
key: "getTitleField",
|
|
1006
|
+
value: function getTitleField(key) {
|
|
1007
|
+
var titleData = Object.values(this.store.state).filter(function(a) {
|
|
1008
|
+
return a.submit_user;
|
|
1009
|
+
})[0];
|
|
1010
|
+
if (key) {
|
|
1011
|
+
return titleData[key];
|
|
1012
|
+
} else {
|
|
1013
|
+
return titleData;
|
|
1014
|
+
}
|
|
1015
|
+
}
|
|
1016
|
+
},
|
|
1017
|
+
{
|
|
1018
|
+
//理想-获取系统字段
|
|
1019
|
+
key: "getSystemField",
|
|
1020
|
+
value: function getSystemField(key) {
|
|
1021
|
+
var _this_externalParams;
|
|
1022
|
+
var systemCodesMap = [
|
|
1023
|
+
'creator',
|
|
1024
|
+
'process_location',
|
|
1025
|
+
'create_time',
|
|
1026
|
+
'uid',
|
|
1027
|
+
'update_time',
|
|
1028
|
+
'process_status',
|
|
1029
|
+
'process_instance_id',
|
|
1030
|
+
'process_key'
|
|
1031
|
+
];
|
|
1032
|
+
var arr = ((_this_externalParams = this.externalParams) === null || _this_externalParams === void 0 ? void 0 : _this_externalParams.data.data_set.values.filter(function(a) {
|
|
1033
|
+
return systemCodesMap.some(function(k) {
|
|
1034
|
+
return k == a.code;
|
|
1035
|
+
});
|
|
1036
|
+
})) || [];
|
|
1037
|
+
if (key) {
|
|
1038
|
+
var _arr_filter_;
|
|
1039
|
+
return (_arr_filter_ = arr.filter(function(a) {
|
|
1040
|
+
return a.code == key;
|
|
1041
|
+
})[0]) === null || _arr_filter_ === void 0 ? void 0 : _arr_filter_.value;
|
|
1042
|
+
} else {
|
|
1043
|
+
return arr;
|
|
1044
|
+
}
|
|
1045
|
+
}
|
|
1046
|
+
},
|
|
1047
|
+
{
|
|
1048
|
+
/**
|
|
1049
|
+
* 通过dataCode和fieldCode来获取控件的值
|
|
1050
|
+
* @param dataCode 模型编码 - 如果是主表的话就是主表的模型编码,明细子表的话就是子表的模型编码
|
|
1051
|
+
* @param fieldCode 字段编码 - 控件绑定的数据项的编码
|
|
1052
|
+
* @param rowIndex 行下标 - 如果是明细子表中的控件需要提供
|
|
1035
1053
|
* */ key: "getField",
|
|
1036
1054
|
value: function getField(dataCode, fieldCode, rowIndex) {
|
|
1037
1055
|
if (!fieldCode) {
|
|
@@ -1080,7 +1098,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1080
1098
|
var _controlIdMapping_controlId_children_key_dataBind, _controlIdMapping_controlId_children_key, _controlIdMapping_controlId;
|
|
1081
1099
|
var fieldCode = (_controlIdMapping_controlId = controlIdMapping[controlId]) === null || _controlIdMapping_controlId === void 0 ? void 0 : (_controlIdMapping_controlId_children_key = _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;
|
|
1082
1100
|
//未绑定字段的控件,直接抛弃
|
|
1083
|
-
if (fieldCode !==
|
|
1101
|
+
if (fieldCode !== '') {
|
|
1084
1102
|
var _controlIdMapping_controlId1;
|
|
1085
1103
|
if (fieldCode) {
|
|
1086
1104
|
obj[fieldCode] = item[key];
|
|
@@ -1111,7 +1129,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1111
1129
|
var _controlIdMapping_key_children_keyChi;
|
|
1112
1130
|
var fieldCode = (_controlIdMapping_key_children_keyChi = controlIdMapping[key].children[keyChi]) === null || _controlIdMapping_key_children_keyChi === void 0 ? void 0 : _controlIdMapping_key_children_keyChi.dataBind.fieldCode;
|
|
1113
1131
|
//未绑定字段的控件,直接抛弃
|
|
1114
|
-
if (fieldCode !==
|
|
1132
|
+
if (fieldCode !== '') {
|
|
1115
1133
|
if (fieldCode) {
|
|
1116
1134
|
objChi[fieldCode] = item[keyChi];
|
|
1117
1135
|
} else {
|
|
@@ -1142,13 +1160,13 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1142
1160
|
}
|
|
1143
1161
|
},
|
|
1144
1162
|
{
|
|
1145
|
-
/**
|
|
1146
|
-
* 通过dataCode和fieldCode来设置控件的值
|
|
1147
|
-
* @param dataCode 模型编码 - 如果是主表的话就是主表的模型编码,明细子表的话就是子表的模型编码
|
|
1148
|
-
* @param fieldCode 字段编码 - 控件绑定的数据项的编码
|
|
1149
|
-
* @param value 修改的值
|
|
1150
|
-
* @param rowIndex 行下标 - 如果是明细子表中的控件需要提供
|
|
1151
|
-
* @param options 触发事件携带的参数
|
|
1163
|
+
/**
|
|
1164
|
+
* 通过dataCode和fieldCode来设置控件的值
|
|
1165
|
+
* @param dataCode 模型编码 - 如果是主表的话就是主表的模型编码,明细子表的话就是子表的模型编码
|
|
1166
|
+
* @param fieldCode 字段编码 - 控件绑定的数据项的编码
|
|
1167
|
+
* @param value 修改的值
|
|
1168
|
+
* @param rowIndex 行下标 - 如果是明细子表中的控件需要提供
|
|
1169
|
+
* @param options 触发事件携带的参数
|
|
1152
1170
|
* */ key: "setField",
|
|
1153
1171
|
value: function setField(dataCode, fieldCode, value, rowIndex, options) {
|
|
1154
1172
|
var dataBindMapping = this.getDataBindMapping(dataCode, fieldCode);
|
|
@@ -1176,12 +1194,12 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1176
1194
|
}
|
|
1177
1195
|
},
|
|
1178
1196
|
{
|
|
1179
|
-
/**
|
|
1180
|
-
* 通过dataCode和 state来给一组控件赋值,并触发事件携带options
|
|
1181
|
-
* @param dataCode 需要赋值的目标模型
|
|
1182
|
-
* @param state 赋值对象,以fieldCode为key组成的对象
|
|
1183
|
-
* @param rowIndex 行下标,给明细子表赋值时指定赋值某行
|
|
1184
|
-
* @param options 触发事件携带的参数
|
|
1197
|
+
/**
|
|
1198
|
+
* 通过dataCode和 state来给一组控件赋值,并触发事件携带options
|
|
1199
|
+
* @param dataCode 需要赋值的目标模型
|
|
1200
|
+
* @param state 赋值对象,以fieldCode为key组成的对象
|
|
1201
|
+
* @param rowIndex 行下标,给明细子表赋值时指定赋值某行
|
|
1202
|
+
* @param options 触发事件携带的参数
|
|
1185
1203
|
* */ key: "setFields",
|
|
1186
1204
|
value: function setFields(dataCode, state, rowIndex, options) {
|
|
1187
1205
|
var _this = this;
|
|
@@ -1222,10 +1240,10 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1222
1240
|
}
|
|
1223
1241
|
},
|
|
1224
1242
|
{
|
|
1225
|
-
/**
|
|
1226
|
-
* 通过dataCode来将state转化为标准的state结构
|
|
1227
|
-
* @param dataCode 需要转换的目标模型code
|
|
1228
|
-
* @param state 值对象,以fieldCode为key组成的对象
|
|
1243
|
+
/**
|
|
1244
|
+
* 通过dataCode来将state转化为标准的state结构
|
|
1245
|
+
* @param dataCode 需要转换的目标模型code
|
|
1246
|
+
* @param state 值对象,以fieldCode为key组成的对象
|
|
1229
1247
|
* */ key: "buildFields",
|
|
1230
1248
|
value: function buildFields(dataCode, state) {
|
|
1231
1249
|
var _this = this;
|
|
@@ -1266,10 +1284,10 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1266
1284
|
}
|
|
1267
1285
|
},
|
|
1268
1286
|
{
|
|
1269
|
-
/**
|
|
1270
|
-
* 向Store设置一组值,并触发事件携带options
|
|
1271
|
-
* @param dataSet
|
|
1272
|
-
* @options 传递给关联事件中 EventPayload中的options,一般在plugin中监听使用
|
|
1287
|
+
/**
|
|
1288
|
+
* 向Store设置一组值,并触发事件携带options
|
|
1289
|
+
* @param dataSet
|
|
1290
|
+
* @options 传递给关联事件中 EventPayload中的options,一般在plugin中监听使用
|
|
1273
1291
|
*/ key: "setData",
|
|
1274
1292
|
value: function setData(dataSet, options) {
|
|
1275
1293
|
var _this = this;
|
|
@@ -1332,9 +1350,9 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1332
1350
|
});
|
|
1333
1351
|
newRow[fieldMapping.controlId] = objValue;
|
|
1334
1352
|
}
|
|
1335
|
-
} else if (fieldCode ===
|
|
1353
|
+
} else if (fieldCode === 'uid' && row.uid !== undefined) {
|
|
1336
1354
|
newRow.uid = row.uid;
|
|
1337
|
-
} else if (fieldCode ===
|
|
1355
|
+
} else if (fieldCode === 'virtualStore' && row.virtualStore !== undefined) {
|
|
1338
1356
|
newRow.virtualStore = Object.freeze(row.virtualStore);
|
|
1339
1357
|
}
|
|
1340
1358
|
});
|
|
@@ -1386,7 +1404,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1386
1404
|
var _newState_newMapping_controlId;
|
|
1387
1405
|
var mainStateKeys = Object.keys((_newState_newMapping_controlId = newState === null || newState === void 0 ? void 0 : newState[newMapping === null || newMapping === void 0 ? void 0 : newMapping.controlId]) !== null && _newState_newMapping_controlId !== void 0 ? _newState_newMapping_controlId : {});
|
|
1388
1406
|
mappingKeys === null || mappingKeys === void 0 ? void 0 : mappingKeys.forEach(function(key) {
|
|
1389
|
-
if (!mainStateKeys.includes(key) && key !==
|
|
1407
|
+
if (!mainStateKeys.includes(key) && key !== 'uid' && newState[newMapping === null || newMapping === void 0 ? void 0 : newMapping.controlId]) {
|
|
1390
1408
|
if (Object.keys(newState).length) {
|
|
1391
1409
|
Object.assign(newState[newMapping === null || newMapping === void 0 ? void 0 : newMapping.controlId], _define_property({}, key, mappingValue[key]));
|
|
1392
1410
|
} else {
|
|
@@ -1406,19 +1424,19 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1406
1424
|
}
|
|
1407
1425
|
},
|
|
1408
1426
|
{
|
|
1409
|
-
/**
|
|
1410
|
-
* 获取控件的dataBind
|
|
1411
|
-
* @param controlId
|
|
1427
|
+
/**
|
|
1428
|
+
* 获取控件的dataBind
|
|
1429
|
+
* @param controlId
|
|
1412
1430
|
* */ key: "getDataBind",
|
|
1413
1431
|
value: function getDataBind(controlId) {
|
|
1414
1432
|
return this.store.getDataBind(controlId);
|
|
1415
1433
|
}
|
|
1416
1434
|
},
|
|
1417
1435
|
{
|
|
1418
|
-
/**
|
|
1419
|
-
* 获取组件实例,传入rowIndex代表获取明细表内的控件实例,rowIndex传入-1代表获取表头内的实例
|
|
1420
|
-
* @param controlId
|
|
1421
|
-
* @param rowIndex
|
|
1436
|
+
/**
|
|
1437
|
+
* 获取组件实例,传入rowIndex代表获取明细表内的控件实例,rowIndex传入-1代表获取表头内的实例
|
|
1438
|
+
* @param controlId
|
|
1439
|
+
* @param rowIndex
|
|
1422
1440
|
*/ key: "getInstance",
|
|
1423
1441
|
value: function getInstance(controlId, rowIndex) {
|
|
1424
1442
|
var instances = this.getInstances(controlId, rowIndex === -1);
|
|
@@ -1437,10 +1455,10 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1437
1455
|
}
|
|
1438
1456
|
},
|
|
1439
1457
|
{
|
|
1440
|
-
/**
|
|
1441
|
-
* 获取组件实例,明细表中的组件将会得到数组, 第二个参数为(false/不传入)则获取到的是明细表内不包含表头内实例的所有控件实例,传入true则获取到包含表头内实例的所有控件实例,表头内实例永远在下标0的位置
|
|
1442
|
-
* @param controlId
|
|
1443
|
-
* @param header 明细表内是否获取表头的控件
|
|
1458
|
+
/**
|
|
1459
|
+
* 获取组件实例,明细表中的组件将会得到数组, 第二个参数为(false/不传入)则获取到的是明细表内不包含表头内实例的所有控件实例,传入true则获取到包含表头内实例的所有控件实例,表头内实例永远在下标0的位置
|
|
1460
|
+
* @param controlId
|
|
1461
|
+
* @param header 明细表内是否获取表头的控件
|
|
1444
1462
|
*/ // getInstances(
|
|
1445
1463
|
// controlId?: string,
|
|
1446
1464
|
// header: boolean = false
|
|
@@ -1523,14 +1541,14 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1523
1541
|
value: function setInstance(instance, props, value, rowIndex) {
|
|
1524
1542
|
var _this = this;
|
|
1525
1543
|
try {
|
|
1526
|
-
if (typeof instance ===
|
|
1544
|
+
if (typeof instance === 'string' && rowIndex === -1) {
|
|
1527
1545
|
//修改明细表整列属性的逻辑
|
|
1528
1546
|
var instances = this.getInstances(instance, rowIndex === -1);
|
|
1529
1547
|
instances.map(function(_instance) {
|
|
1530
1548
|
if (_instance) {
|
|
1531
1549
|
_this.debugLog("[%o]: 修改instance: %o的%o属性,修改的值为%o。", _instance.id, _instance, props, value);
|
|
1532
1550
|
updateValueFromKeys(_instance.props, props, value);
|
|
1533
|
-
_this.schemaEvent(
|
|
1551
|
+
_this.schemaEvent('schema-change', {
|
|
1534
1552
|
instance: _instance,
|
|
1535
1553
|
props: props,
|
|
1536
1554
|
value: value,
|
|
@@ -1540,7 +1558,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1540
1558
|
});
|
|
1541
1559
|
} else {
|
|
1542
1560
|
var _instance;
|
|
1543
|
-
if (typeof instance ===
|
|
1561
|
+
if (typeof instance === 'string') {
|
|
1544
1562
|
_instance = this.getInstance(instance, rowIndex);
|
|
1545
1563
|
} else {
|
|
1546
1564
|
_instance = instance;
|
|
@@ -1550,7 +1568,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1550
1568
|
}
|
|
1551
1569
|
this.debugLog("[%o]: 修改instance: %o的%o属性,修改的值为%o。", _instance.id, _instance, props, value);
|
|
1552
1570
|
updateValueFromKeys(_instance.props, props, value);
|
|
1553
|
-
this.schemaEvent(
|
|
1571
|
+
this.schemaEvent('schema-change', {
|
|
1554
1572
|
instance: _instance,
|
|
1555
1573
|
props: props,
|
|
1556
1574
|
value: value,
|
|
@@ -1612,27 +1630,27 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1612
1630
|
},
|
|
1613
1631
|
{
|
|
1614
1632
|
key: "assertInstance",
|
|
1615
|
-
value: /**
|
|
1616
|
-
* 判断控件的类型,返回当前控件的正确类型
|
|
1633
|
+
value: /**
|
|
1634
|
+
* 判断控件的类型,返回当前控件的正确类型
|
|
1617
1635
|
* */ function assertInstance(instance, types) {
|
|
1618
1636
|
return isString(types) ? instance.type === types : types.includes(instance.type);
|
|
1619
1637
|
}
|
|
1620
1638
|
},
|
|
1621
1639
|
{
|
|
1622
1640
|
key: "assertInstanceIsCustomControl",
|
|
1623
|
-
value: /**
|
|
1624
|
-
* 判断控件或控件类型是一个自定义控件
|
|
1641
|
+
value: /**
|
|
1642
|
+
* 判断控件或控件类型是一个自定义控件
|
|
1625
1643
|
* */ function assertInstanceIsCustomControl(instance) {
|
|
1626
1644
|
return !isBuiltInControls(isString(instance) ? instance : instance.type);
|
|
1627
1645
|
}
|
|
1628
1646
|
},
|
|
1629
1647
|
{
|
|
1630
1648
|
key: "getInstanceRowIndex",
|
|
1631
|
-
value: /**
|
|
1632
|
-
* 获取控件在明细子表中的行下标,
|
|
1633
|
-
* 如果控件在表头内,则返回-1
|
|
1634
|
-
* 如果控件在表内,则返回行下标
|
|
1635
|
-
* 如果控件不在明细表内,则返回undefined
|
|
1649
|
+
value: /**
|
|
1650
|
+
* 获取控件在明细子表中的行下标,
|
|
1651
|
+
* 如果控件在表头内,则返回-1
|
|
1652
|
+
* 如果控件在表内,则返回行下标
|
|
1653
|
+
* 如果控件不在明细表内,则返回undefined
|
|
1636
1654
|
* */ // public getInstanceRowIndex(
|
|
1637
1655
|
// instance: ControlRuntimeInstance<ControlsKeys> | RuntimeControl
|
|
1638
1656
|
// ) {
|
|
@@ -1677,7 +1695,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1677
1695
|
CONTROL_TYPE.SUBTABLE_COLUMN);
|
|
1678
1696
|
if (isColumnChild) {
|
|
1679
1697
|
var instanceList = this.runtime.instanceMap[instance.id];
|
|
1680
|
-
if (Object.prototype.toString.call(instanceList) ===
|
|
1698
|
+
if (Object.prototype.toString.call(instanceList) === '[object Array]') {
|
|
1681
1699
|
var index = instanceList.findIndex(function(item) {
|
|
1682
1700
|
return item === instance;
|
|
1683
1701
|
});
|
|
@@ -1783,7 +1801,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1783
1801
|
key: "register",
|
|
1784
1802
|
value: // 注册外部控件
|
|
1785
1803
|
function register(control) {
|
|
1786
|
-
return Runtime.register(control,
|
|
1804
|
+
return Runtime.register(control, 'Runtime');
|
|
1787
1805
|
}
|
|
1788
1806
|
},
|
|
1789
1807
|
{
|