@byteluck-fe/model-driven-engine 2.5.0-alpha.9 → 2.5.0-beta.4
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 +40 -157
- package/dist/esm/common/DataManager.js +20 -129
- package/dist/esm/common/Engine.js +261 -379
- package/dist/esm/common/OkWorker.js +13 -27
- package/dist/esm/common/Runtime.js +11 -26
- package/dist/esm/common/Store.js +72 -51
- package/dist/esm/common/checkerValue.js +40 -40
- package/dist/esm/common/index.js +2 -2
- package/dist/esm/common/proxyState.js +47 -47
- package/dist/esm/index.js +3 -3
- package/dist/esm/plugins/CalcPlugin.js +66 -70
- package/dist/esm/plugins/ControlsEventPlugin.js +68 -191
- package/dist/esm/plugins/ES6ModulePlugin.js +8 -24
- package/dist/esm/plugins/LifecycleEventPlugin.js +64 -183
- package/dist/esm/plugins/StylePlugin.js +7 -22
- package/dist/esm/plugins/index.js +5 -5
- package/dist/esm/utils/index.js +1 -1
- package/dist/esm/utils/runtimeUtils.js +7 -5
- package/dist/index.umd.js +8 -8
- package/dist/types/common/Engine.d.ts +7 -7
- package/dist/types/common/Runtime.d.ts +1 -1
- package/dist/types/common/Store.d.ts +6 -5
- package/dist/types/common/proxyState.d.ts +3 -3
- package/dist/types/plugins/ControlsEventPlugin.d.ts +1 -1
- package/dist/types/plugins/ES6ModulePlugin.d.ts +4 -4
- package/dist/types/plugins/LifecycleEventPlugin.d.ts +1 -1
- package/dist/types/plugins/StylePlugin.d.ts +1 -1
- package/package.json +4 -4
|
@@ -113,7 +113,7 @@ function _inherits(subClass, superClass) {
|
|
|
113
113
|
}
|
|
114
114
|
function _instanceof(left, right) {
|
|
115
115
|
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
116
|
-
return
|
|
116
|
+
return right[Symbol.hasInstance](left);
|
|
117
117
|
} else {
|
|
118
118
|
return left instanceof right;
|
|
119
119
|
}
|
|
@@ -166,30 +166,6 @@ function _objectSpread(target) {
|
|
|
166
166
|
}
|
|
167
167
|
return target;
|
|
168
168
|
}
|
|
169
|
-
function ownKeys(object, enumerableOnly) {
|
|
170
|
-
var keys = Object.keys(object);
|
|
171
|
-
if (Object.getOwnPropertySymbols) {
|
|
172
|
-
var symbols = Object.getOwnPropertySymbols(object);
|
|
173
|
-
if (enumerableOnly) {
|
|
174
|
-
symbols = symbols.filter(function(sym) {
|
|
175
|
-
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
keys.push.apply(keys, symbols);
|
|
179
|
-
}
|
|
180
|
-
return keys;
|
|
181
|
-
}
|
|
182
|
-
function _objectSpreadProps(target, source) {
|
|
183
|
-
source = source != null ? source : {};
|
|
184
|
-
if (Object.getOwnPropertyDescriptors) {
|
|
185
|
-
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
186
|
-
} else {
|
|
187
|
-
ownKeys(Object(source)).forEach(function(key) {
|
|
188
|
-
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
189
|
-
});
|
|
190
|
-
}
|
|
191
|
-
return target;
|
|
192
|
-
}
|
|
193
169
|
function _possibleConstructorReturn(self, call) {
|
|
194
170
|
if (call && (_typeof(call) === "object" || typeof call === "function")) {
|
|
195
171
|
return call;
|
|
@@ -252,147 +228,44 @@ function _createSuper(Derived) {
|
|
|
252
228
|
return _possibleConstructorReturn(this, result);
|
|
253
229
|
};
|
|
254
230
|
}
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
return g = {
|
|
266
|
-
next: verb(0),
|
|
267
|
-
"throw": verb(1),
|
|
268
|
-
"return": verb(2)
|
|
269
|
-
}, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
|
|
270
|
-
return this;
|
|
271
|
-
}), g;
|
|
272
|
-
function verb(n) {
|
|
273
|
-
return function(v) {
|
|
274
|
-
return step([
|
|
275
|
-
n,
|
|
276
|
-
v
|
|
277
|
-
]);
|
|
278
|
-
};
|
|
279
|
-
}
|
|
280
|
-
function step(op) {
|
|
281
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
282
|
-
while(_)try {
|
|
283
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
284
|
-
if (y = 0, t) op = [
|
|
285
|
-
op[0] & 2,
|
|
286
|
-
t.value
|
|
287
|
-
];
|
|
288
|
-
switch(op[0]){
|
|
289
|
-
case 0:
|
|
290
|
-
case 1:
|
|
291
|
-
t = op;
|
|
292
|
-
break;
|
|
293
|
-
case 4:
|
|
294
|
-
_.label++;
|
|
295
|
-
return {
|
|
296
|
-
value: op[1],
|
|
297
|
-
done: false
|
|
298
|
-
};
|
|
299
|
-
case 5:
|
|
300
|
-
_.label++;
|
|
301
|
-
y = op[1];
|
|
302
|
-
op = [
|
|
303
|
-
0
|
|
304
|
-
];
|
|
305
|
-
continue;
|
|
306
|
-
case 7:
|
|
307
|
-
op = _.ops.pop();
|
|
308
|
-
_.trys.pop();
|
|
309
|
-
continue;
|
|
310
|
-
default:
|
|
311
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
312
|
-
_ = 0;
|
|
313
|
-
continue;
|
|
314
|
-
}
|
|
315
|
-
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
316
|
-
_.label = op[1];
|
|
317
|
-
break;
|
|
318
|
-
}
|
|
319
|
-
if (op[0] === 6 && _.label < t[1]) {
|
|
320
|
-
_.label = t[1];
|
|
321
|
-
t = op;
|
|
322
|
-
break;
|
|
323
|
-
}
|
|
324
|
-
if (t && _.label < t[2]) {
|
|
325
|
-
_.label = t[2];
|
|
326
|
-
_.ops.push(op);
|
|
327
|
-
break;
|
|
328
|
-
}
|
|
329
|
-
if (t[2]) _.ops.pop();
|
|
330
|
-
_.trys.pop();
|
|
331
|
-
continue;
|
|
332
|
-
}
|
|
333
|
-
op = body.call(thisArg, _);
|
|
334
|
-
} catch (e) {
|
|
335
|
-
op = [
|
|
336
|
-
6,
|
|
337
|
-
e
|
|
338
|
-
];
|
|
339
|
-
y = 0;
|
|
340
|
-
} finally{
|
|
341
|
-
f = t = 0;
|
|
342
|
-
}
|
|
343
|
-
if (op[0] & 5) throw op[1];
|
|
344
|
-
return {
|
|
345
|
-
value: op[0] ? op[1] : void 0,
|
|
346
|
-
done: true
|
|
347
|
-
};
|
|
348
|
-
}
|
|
349
|
-
};
|
|
350
|
-
import { DataBind, ObjectDataBind, RuntimeListControl } from "@byteluck-fe/model-driven-core";
|
|
351
|
-
import { CONTROL_BASE_TYPE, CONTROL_TYPE, DEFAULT_LOCALE, error, genNonDuplicateId, isString, JSONCopy, log, RulesMessage, updateValueFromKeys, warn, Watcher } from "@byteluck-fe/model-driven-shared";
|
|
352
|
-
import { Runtime } from "./Runtime";
|
|
353
|
-
import { Store } from "./Store";
|
|
354
|
-
import { findItem, proxyState } from "./proxyState";
|
|
355
|
-
import { ActionManager } from "./ActionManager";
|
|
356
|
-
import { DataManager } from "./DataManager";
|
|
357
|
-
import { checkerSubtableValue, checkerValue } from "./checkerValue";
|
|
358
|
-
if (typeof window !== "undefined") {
|
|
231
|
+
import regeneratorRuntime from "regenerator-runtime";
|
|
232
|
+
import { DataBind, ObjectDataBind, RuntimeListControl } from '@byteluck-fe/model-driven-core';
|
|
233
|
+
import { CONTROL_BASE_TYPE, CONTROL_TYPE, DEFAULT_LOCALE, error, genNonDuplicateId, isString, JSONCopy, log, RulesMessage, updateValueFromKeys, warn, Watcher } from '@byteluck-fe/model-driven-shared';
|
|
234
|
+
import { Runtime } from './Runtime';
|
|
235
|
+
import { Store } from './Store';
|
|
236
|
+
import { findItem, proxyState } from './proxyState';
|
|
237
|
+
import { ActionManager } from './ActionManager';
|
|
238
|
+
import { DataManager } from './DataManager';
|
|
239
|
+
import { checkerSubtableValue, checkerValue } from './checkerValue';
|
|
240
|
+
if (typeof window !== 'undefined') {
|
|
359
241
|
// @ts-ignore
|
|
360
242
|
window.engines = {};
|
|
361
243
|
}
|
|
362
244
|
// setState的时候,存储options中转变量
|
|
363
245
|
var eventOptionsTemp = null;
|
|
364
246
|
// 当前正在注册的插件名称
|
|
365
|
-
var applyingPluginName =
|
|
366
|
-
// 整体渲染引擎 并且 提供发布订阅能力
|
|
367
|
-
|
|
247
|
+
var applyingPluginName = '';
|
|
248
|
+
var Engine = // 整体渲染引擎 并且 提供发布订阅能力
|
|
249
|
+
/*#__PURE__*/ function(Watcher1) {
|
|
368
250
|
"use strict";
|
|
369
|
-
_inherits(Engine,
|
|
251
|
+
_inherits(Engine, Watcher1);
|
|
370
252
|
var _super = _createSuper(Engine);
|
|
371
253
|
function Engine(props) {
|
|
372
254
|
_classCallCheck(this, Engine);
|
|
373
255
|
var _this;
|
|
374
256
|
_this = _super.call(this);
|
|
375
|
-
|
|
376
|
-
_defineProperty(_assertThisInitialized(_this), "rawStore", {});
|
|
377
|
-
_defineProperty(_assertThisInitialized(_this), "parent", void 0);
|
|
378
|
-
// 提供注册运行态控件以及实例化控件的能力
|
|
379
|
-
_defineProperty(_assertThisInitialized(_this), "runtime", void 0);
|
|
257
|
+
_this.rawStore = {};
|
|
380
258
|
// 提供子线程处理脚本以及修改数据的能力
|
|
381
259
|
// public worker: OkWorker
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
_defineProperty(_assertThisInitialized(_this), "$options", void 0);
|
|
389
|
-
_defineProperty(_assertThisInitialized(_this), "actionManager", new ActionManager());
|
|
390
|
-
_defineProperty(_assertThisInitialized(_this), "dataManager", void 0);
|
|
391
|
-
_defineProperty(_assertThisInitialized(_this), "_jobTasks", []);
|
|
392
|
-
_defineProperty(_assertThisInitialized(_this), "createControlInstance", _this.createInstance);
|
|
260
|
+
_this.isMounted = false;
|
|
261
|
+
_this.id = genNonDuplicateId(8);
|
|
262
|
+
_this.__pluginsApplied = false;
|
|
263
|
+
_this.actionManager = new ActionManager();
|
|
264
|
+
_this._jobTasks = [];
|
|
265
|
+
_this.createControlInstance = _this.createInstance;
|
|
393
266
|
_this.$options = Object.freeze(props);
|
|
394
|
-
var
|
|
395
|
-
language, language =
|
|
267
|
+
var _$options = _this.$options, _autoMount = _$options.autoMount, autoMount = _autoMount === void 0 ? true : _autoMount, schema = _$options.schema, beforeCreateInstance = _$options.beforeCreateInstance, externalParams = _$options.externalParams, _language = _$options.// fieldModel,
|
|
268
|
+
language, language = _language === void 0 ? DEFAULT_LOCALE : _language, _debug = _$options.debug, debug = _debug === void 0 ? false : _debug;
|
|
396
269
|
RulesMessage.setLocale(language);
|
|
397
270
|
_this.debug = debug;
|
|
398
271
|
_this.runtime = new Runtime({
|
|
@@ -403,7 +276,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
403
276
|
_this.store = new Store({
|
|
404
277
|
instance: _this.runtime.instance
|
|
405
278
|
});
|
|
406
|
-
_this.debugLog(
|
|
279
|
+
_this.debugLog('engine is Instantiation complete');
|
|
407
280
|
// 自动执行挂载完成,也可以手动调用mount方法
|
|
408
281
|
autoMount && _this.mount();
|
|
409
282
|
return _this;
|
|
@@ -434,8 +307,8 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
434
307
|
for(var _len = arguments.length, arg = new Array(_len), _key = 0; _key < _len; _key++){
|
|
435
308
|
arg[_key] = arguments[_key];
|
|
436
309
|
}
|
|
437
|
-
var
|
|
438
|
-
(
|
|
310
|
+
var _runtime;
|
|
311
|
+
(_runtime = this.runtime).register.apply(_runtime, _toConsumableArray(arg));
|
|
439
312
|
return this;
|
|
440
313
|
}
|
|
441
314
|
},
|
|
@@ -443,14 +316,14 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
443
316
|
key: "mount",
|
|
444
317
|
value: function mount() {
|
|
445
318
|
this.debugLog("engine的mount方法开始调用");
|
|
446
|
-
var
|
|
319
|
+
var _$options = this.$options, _plugins = _$options.plugins, plugins = _plugins === void 0 ? [] : _plugins;
|
|
447
320
|
this._handlerProxyState();
|
|
448
321
|
this.__plugins = plugins;
|
|
449
322
|
this.applyPlugins();
|
|
450
323
|
// 触发所有控件的默认值的change事件
|
|
451
324
|
this.setStates(this.getState());
|
|
452
325
|
this.debugLog("engine的mount方法调用结束");
|
|
453
|
-
if (this.debug && typeof window !==
|
|
326
|
+
if (this.debug && typeof window !== 'undefined') {
|
|
454
327
|
// @ts-ignore
|
|
455
328
|
window.engines[this.id] = this;
|
|
456
329
|
}
|
|
@@ -459,7 +332,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
459
332
|
{
|
|
460
333
|
key: "destroy",
|
|
461
334
|
value: function destroy() {
|
|
462
|
-
if (this.debug && typeof window !==
|
|
335
|
+
if (this.debug && typeof window !== 'undefined') {
|
|
463
336
|
// @ts-ignore
|
|
464
337
|
delete window.engines[this.id];
|
|
465
338
|
}
|
|
@@ -481,6 +354,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
481
354
|
}
|
|
482
355
|
// @ts-ignore
|
|
483
356
|
if (this.assertInstance(instance, CONTROL_TYPE.SUBTABLE)) {
|
|
357
|
+
var ref;
|
|
484
358
|
if (newValue === null) {
|
|
485
359
|
return [];
|
|
486
360
|
}
|
|
@@ -495,12 +369,12 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
495
369
|
}, {});
|
|
496
370
|
// @ts-ignore
|
|
497
371
|
var emptyState = this.getEmptyState(instance.id);
|
|
498
|
-
return newValue.map(function(row) {
|
|
499
|
-
|
|
500
|
-
checkerSubtableValue(fieldTypeMap, row, emptyState)
|
|
372
|
+
return (ref = newValue) === null || ref === void 0 ? void 0 : ref.map(function(row) {
|
|
373
|
+
// @ts-ignore
|
|
374
|
+
return checkerSubtableValue(fieldTypeMap, row, emptyState);
|
|
501
375
|
});
|
|
502
376
|
}
|
|
503
|
-
var keys = key.split(
|
|
377
|
+
var keys = key.split('.');
|
|
504
378
|
var lastKey = keys[keys.length - 1];
|
|
505
379
|
try {
|
|
506
380
|
return checkerValue(instance.fieldType, lastKey, newValue, oldValue);
|
|
@@ -532,7 +406,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
532
406
|
var newRows = [];
|
|
533
407
|
for(var i = 0; i < len; i++){
|
|
534
408
|
// @ts-ignore
|
|
535
|
-
var row = _this.listControlCreateRow(subtable,
|
|
409
|
+
var row = _this.listControlCreateRow(subtable, 'subtable-row');
|
|
536
410
|
row && newRows.push(row);
|
|
537
411
|
}
|
|
538
412
|
// @ts-ignore
|
|
@@ -546,19 +420,19 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
546
420
|
if (type && args) {
|
|
547
421
|
// const subtableOldLength = subtable.children.length
|
|
548
422
|
switch(type){
|
|
549
|
-
case
|
|
550
|
-
case
|
|
551
|
-
var
|
|
423
|
+
case 'push':
|
|
424
|
+
case 'unshift':
|
|
425
|
+
var _children;
|
|
552
426
|
var newRowLengths = args.length;
|
|
553
427
|
createdNewRows = createRows(newRowLengths);
|
|
554
428
|
createdNewRowsData = args;
|
|
555
|
-
(
|
|
429
|
+
(_children = subtable.children)[type].apply(_children, _toConsumableArray(createdNewRows));
|
|
556
430
|
this.runtime.getFlatInstances();
|
|
557
431
|
break;
|
|
558
|
-
case
|
|
432
|
+
case 'splice':
|
|
559
433
|
if (args.length > 2) {
|
|
560
434
|
var // @ts-ignore
|
|
561
|
-
|
|
435
|
+
_children1;
|
|
562
436
|
var newRowLengths1 = args.length - 2;
|
|
563
437
|
var newValues = args.slice(2);
|
|
564
438
|
createdNewRows = createRows(newRowLengths1);
|
|
@@ -567,7 +441,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
567
441
|
var start = args[0];
|
|
568
442
|
// 替换几个
|
|
569
443
|
var replace = args[1];
|
|
570
|
-
(
|
|
444
|
+
(_children1 = subtable.children)[type].apply(_children1, [
|
|
571
445
|
start,
|
|
572
446
|
replace
|
|
573
447
|
].concat(_toConsumableArray(createdNewRows)));
|
|
@@ -578,29 +452,29 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
578
452
|
// })
|
|
579
453
|
} else {
|
|
580
454
|
var // @ts-ignore
|
|
581
|
-
|
|
582
|
-
(
|
|
455
|
+
_children2;
|
|
456
|
+
(_children2 = subtable.children)[type].apply(_children2, _toConsumableArray(args));
|
|
583
457
|
this.runtime.getFlatInstances();
|
|
584
458
|
}
|
|
585
459
|
break;
|
|
586
460
|
default:
|
|
587
461
|
var // @ts-ignore
|
|
588
|
-
|
|
589
|
-
(
|
|
462
|
+
_children3;
|
|
463
|
+
(_children3 = subtable.children)[type].apply(_children3, _toConsumableArray(args));
|
|
590
464
|
this.runtime.getFlatInstances();
|
|
591
465
|
break;
|
|
592
466
|
}
|
|
593
|
-
if (type ===
|
|
467
|
+
if (type === 'splice') {
|
|
594
468
|
deleted = result;
|
|
595
469
|
} else if ([
|
|
596
|
-
|
|
597
|
-
|
|
470
|
+
'pop',
|
|
471
|
+
'shift'
|
|
598
472
|
].includes(type)) {
|
|
599
473
|
deleted = [
|
|
600
474
|
result
|
|
601
475
|
];
|
|
602
476
|
}
|
|
603
|
-
this.emit(
|
|
477
|
+
this.emit('list-change', {
|
|
604
478
|
instance: subtable,
|
|
605
479
|
value: this.getState(subtable.id),
|
|
606
480
|
options: Object.assign({}, options, {
|
|
@@ -627,26 +501,26 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
627
501
|
// if (instance instanceof RuntimeListControl) {
|
|
628
502
|
if (instance.controlType === CONTROL_BASE_TYPE.LIST) {
|
|
629
503
|
var // @ts-ignore
|
|
630
|
-
|
|
504
|
+
_children;
|
|
631
505
|
instance.children.length = 0;
|
|
632
506
|
var newValue = value;
|
|
633
507
|
// @ts-ignore
|
|
634
508
|
var newRows = [];
|
|
635
509
|
for(var i = 0; i < newValue.length; i++){
|
|
636
510
|
// @ts-ignore
|
|
637
|
-
var row = this.listControlCreateRow(instance,
|
|
511
|
+
var row = this.listControlCreateRow(instance, 'subtable-row');
|
|
638
512
|
row && newRows.push(row);
|
|
639
513
|
}
|
|
640
|
-
(
|
|
514
|
+
(_children = instance.children).push.apply(_children, _toConsumableArray(newRows));
|
|
641
515
|
this.runtime.getFlatInstances();
|
|
642
516
|
// 这里已经能拿到控件实例,所以在这里触发setStates,触发每一行每一个控件的change事件
|
|
643
517
|
// for (let i = 0; i < newValue.length; i++) {
|
|
644
518
|
// this.setStates(newValue[i], i, options)
|
|
645
519
|
// }
|
|
646
|
-
this.emit(
|
|
520
|
+
this.emit('list-change', {
|
|
647
521
|
instance: instance,
|
|
648
522
|
value: value,
|
|
649
|
-
options:
|
|
523
|
+
options: _objectSpread({}, options, {
|
|
650
524
|
// @ts-ignore
|
|
651
525
|
changed: newRows,
|
|
652
526
|
data: newValue,
|
|
@@ -654,11 +528,11 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
654
528
|
})
|
|
655
529
|
});
|
|
656
530
|
} else {
|
|
657
|
-
this.emit(
|
|
531
|
+
this.emit('change', {
|
|
658
532
|
instance: instance,
|
|
659
533
|
value: this.getState(instance.id, index),
|
|
660
534
|
rowIndex: index,
|
|
661
|
-
options:
|
|
535
|
+
options: _objectSpread({}, options, {
|
|
662
536
|
oldValue: oldValue
|
|
663
537
|
})
|
|
664
538
|
});
|
|
@@ -672,13 +546,13 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
672
546
|
if (this.__pluginsApplied) return;
|
|
673
547
|
this.__plugins.forEach(function(plugin) {
|
|
674
548
|
try {
|
|
675
|
-
var
|
|
676
|
-
applyingPluginName = (
|
|
549
|
+
var _pluginName;
|
|
550
|
+
applyingPluginName = (_pluginName = plugin.pluginName) !== null && _pluginName !== void 0 ? _pluginName : plugin.constructor.name;
|
|
677
551
|
plugin.apply(_this);
|
|
678
552
|
} catch (e) {
|
|
679
553
|
error("".concat(applyingPluginName, " Plugin apply Error \n ").concat(e));
|
|
680
554
|
} finally{
|
|
681
|
-
applyingPluginName =
|
|
555
|
+
applyingPluginName = '';
|
|
682
556
|
}
|
|
683
557
|
});
|
|
684
558
|
this.__pluginsApplied = true;
|
|
@@ -692,12 +566,12 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
692
566
|
// if (row instanceof RuntimeLayoutControl) {
|
|
693
567
|
// @ts-ignore
|
|
694
568
|
if (row.controlType === CONTROL_BASE_TYPE.LAYOUT) {
|
|
695
|
-
var
|
|
569
|
+
var _children;
|
|
696
570
|
var inst = row;
|
|
697
571
|
var template = JSONCopy(instance.props.headers);
|
|
698
572
|
// @ts-ignore
|
|
699
573
|
var columns = this.createControl(template);
|
|
700
|
-
(
|
|
574
|
+
(_children = inst.children).push.apply(_children, _toConsumableArray(columns));
|
|
701
575
|
}
|
|
702
576
|
return row;
|
|
703
577
|
}
|
|
@@ -706,7 +580,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
706
580
|
key: "listControlAddRow",
|
|
707
581
|
value: function listControlAddRow(instance) {
|
|
708
582
|
var // @ts-ignore
|
|
709
|
-
rowType = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] :
|
|
583
|
+
rowType = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 'subtable-row';
|
|
710
584
|
var row = this.listControlCreateRow(instance, rowType);
|
|
711
585
|
if (!row) return;
|
|
712
586
|
instance.children.push(row);
|
|
@@ -720,40 +594,37 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
720
594
|
var _this1 = this, _superprop_get_emit = function() {
|
|
721
595
|
return _get(_getPrototypeOf(Engine.prototype), "emit", _this);
|
|
722
596
|
};
|
|
723
|
-
return _asyncToGenerator(function() {
|
|
597
|
+
return _asyncToGenerator(regeneratorRuntime.mark(function _callee() {
|
|
724
598
|
var needWait, promiseResolver, promise, results;
|
|
725
|
-
return
|
|
726
|
-
switch(
|
|
599
|
+
return regeneratorRuntime.wrap(function _callee$(_ctx) {
|
|
600
|
+
while(1)switch(_ctx.prev = _ctx.next){
|
|
727
601
|
case 0:
|
|
728
|
-
if (!(eventKey ===
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
if (_this1.isMounted) {
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
602
|
+
if (!(eventKey === 'engine-mounted')) {
|
|
603
|
+
_ctx.next = 11;
|
|
604
|
+
break;
|
|
605
|
+
}
|
|
606
|
+
if (!_this1.isMounted) {
|
|
607
|
+
_ctx.next = 4;
|
|
608
|
+
break;
|
|
609
|
+
}
|
|
610
|
+
warn('The engine-mounted life cycle can only be triggered once');
|
|
611
|
+
return _ctx.abrupt("return", Promise.resolve([]));
|
|
612
|
+
case 4:
|
|
613
|
+
if (!_this1._jobTasks.length) {
|
|
614
|
+
_ctx.next = 10;
|
|
615
|
+
break;
|
|
738
616
|
}
|
|
739
|
-
|
|
740
|
-
3,
|
|
741
|
-
2
|
|
742
|
-
];
|
|
743
|
-
console.time("engine-mounted need wait");
|
|
617
|
+
console.time('engine-mounted need wait');
|
|
744
618
|
needWait = _toConsumableArray(_this1._jobTasks);
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
case
|
|
750
|
-
_state.sent();
|
|
751
|
-
console.timeEnd("engine-mounted need wait");
|
|
752
|
-
_state.label = 2;
|
|
753
|
-
case 2:
|
|
619
|
+
_ctx.next = 9;
|
|
620
|
+
return Promise.all(needWait);
|
|
621
|
+
case 9:
|
|
622
|
+
console.timeEnd('engine-mounted need wait');
|
|
623
|
+
case 10:
|
|
754
624
|
_this1.isMounted = true;
|
|
755
|
-
|
|
756
|
-
|
|
625
|
+
case 11:
|
|
626
|
+
;
|
|
627
|
+
;
|
|
757
628
|
// 如果没有挂载的话,需要记录在挂载之前触发的所有任务
|
|
758
629
|
if (!_this1.isMounted) {
|
|
759
630
|
promise = new Promise(function(resolve) {
|
|
@@ -761,24 +632,22 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
761
632
|
});
|
|
762
633
|
_this1._jobTasks.push(promise);
|
|
763
634
|
}
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
case 4:
|
|
769
|
-
results = _state.sent();
|
|
635
|
+
_ctx.next = 16;
|
|
636
|
+
return _superprop_get_emit().call(_this1, eventKey, payload);
|
|
637
|
+
case 16:
|
|
638
|
+
results = _ctx.sent;
|
|
770
639
|
if (promiseResolver && promise) {
|
|
771
640
|
// 每一个任务完成的时候,都把自己从task中去掉
|
|
772
641
|
promiseResolver();
|
|
773
642
|
_this1._jobTasks.splice(_this1._jobTasks.indexOf(promise), 1);
|
|
774
643
|
}
|
|
775
|
-
return
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
644
|
+
return _ctx.abrupt("return", results);
|
|
645
|
+
case 19:
|
|
646
|
+
case "end":
|
|
647
|
+
return _ctx.stop();
|
|
779
648
|
}
|
|
780
|
-
});
|
|
781
|
-
})();
|
|
649
|
+
}, _callee);
|
|
650
|
+
}))();
|
|
782
651
|
}
|
|
783
652
|
},
|
|
784
653
|
{
|
|
@@ -796,8 +665,8 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
796
665
|
for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
|
|
797
666
|
args[_key] = arguments[_key];
|
|
798
667
|
}
|
|
799
|
-
var
|
|
800
|
-
return (
|
|
668
|
+
var _runtime;
|
|
669
|
+
return (_runtime = this.runtime).createControl.apply(_runtime, _toConsumableArray(args));
|
|
801
670
|
}
|
|
802
671
|
},
|
|
803
672
|
{
|
|
@@ -825,10 +694,10 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
825
694
|
if (controlId === undefined) {
|
|
826
695
|
return rules;
|
|
827
696
|
} else {
|
|
828
|
-
var
|
|
697
|
+
var ref, ref1;
|
|
829
698
|
return {
|
|
830
|
-
rules: (
|
|
831
|
-
antdRules: (
|
|
699
|
+
rules: (ref = rules.rules[controlId]) === null || ref === void 0 ? void 0 : ref.fields,
|
|
700
|
+
antdRules: (ref1 = rules.antdRules[controlId]) === null || ref1 === void 0 ? void 0 : ref1.fields
|
|
832
701
|
};
|
|
833
702
|
}
|
|
834
703
|
}
|
|
@@ -839,8 +708,8 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
839
708
|
if (controlId === undefined) {
|
|
840
709
|
return this.runtime.rules;
|
|
841
710
|
} else {
|
|
842
|
-
var
|
|
843
|
-
return (
|
|
711
|
+
var ref;
|
|
712
|
+
return (ref = this.runtime.rules[controlId]) === null || ref === void 0 ? void 0 : ref.fields;
|
|
844
713
|
}
|
|
845
714
|
}
|
|
846
715
|
},
|
|
@@ -850,8 +719,8 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
850
719
|
if (controlId === undefined) {
|
|
851
720
|
return this.runtime.antdRules;
|
|
852
721
|
} else {
|
|
853
|
-
var
|
|
854
|
-
return (
|
|
722
|
+
var ref;
|
|
723
|
+
return (ref = this.runtime.antdRules[controlId]) === null || ref === void 0 ? void 0 : ref.fields;
|
|
855
724
|
}
|
|
856
725
|
}
|
|
857
726
|
},
|
|
@@ -888,9 +757,9 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
888
757
|
key: "setState",
|
|
889
758
|
value: function setState(controlId, value, rowIndex, options) {
|
|
890
759
|
eventOptionsTemp = options;
|
|
891
|
-
this.debugLog(
|
|
760
|
+
this.debugLog('[%o]: 触发setState, 修改的值为%o, rowIndex=%o, options=%o', controlId, value, rowIndex, options);
|
|
892
761
|
this.store.setState(controlId, value, rowIndex);
|
|
893
|
-
this.debugLog(
|
|
762
|
+
this.debugLog('[%o]: setState完成, 修改的值为%o, rowIndex=%o', controlId, value, rowIndex);
|
|
894
763
|
eventOptionsTemp = null;
|
|
895
764
|
}
|
|
896
765
|
},
|
|
@@ -901,21 +770,22 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
901
770
|
*/ key: "setStates",
|
|
902
771
|
value: function setStates(states, rowIndex, options) {
|
|
903
772
|
var _this = this;
|
|
904
|
-
var newStates = states;
|
|
773
|
+
var newStates = states !== null && states !== void 0 ? states : {};
|
|
905
774
|
Object.keys(newStates).forEach(function(stateId) {
|
|
775
|
+
var _this2 = _this;
|
|
906
776
|
Object.entries(_this.store.controlIdMapping).forEach(function(param) {
|
|
907
777
|
var _param = _slicedToArray(param, 2), controlId = _param[0], controlIdMapping = _param[1];
|
|
908
778
|
if (controlIdMapping.dataView === stateId) {
|
|
909
779
|
// state对象是dataView包裹的
|
|
910
780
|
var value = newStates[stateId][controlId];
|
|
911
781
|
if (value !== undefined) {
|
|
912
|
-
|
|
782
|
+
_this2.setState(controlId, value, rowIndex, options);
|
|
913
783
|
}
|
|
914
784
|
} else {
|
|
915
785
|
// state对象是单独的,没有被dataView包裹的
|
|
916
786
|
if (controlId === stateId || controlIdMapping.children && controlIdMapping.children[stateId]) {
|
|
917
787
|
if (newStates[stateId] !== undefined) {
|
|
918
|
-
|
|
788
|
+
_this2.setState(stateId, newStates[stateId], rowIndex, options);
|
|
919
789
|
}
|
|
920
790
|
}
|
|
921
791
|
}
|
|
@@ -943,10 +813,10 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
943
813
|
if (!dataBindMapping1) {
|
|
944
814
|
return;
|
|
945
815
|
}
|
|
946
|
-
var
|
|
816
|
+
var dataBind1 = dataBindMapping1.dataBind, controlId1 = dataBindMapping1.controlId;
|
|
947
817
|
var state = this.getState(controlId1, rowIndex);
|
|
948
|
-
if (_instanceof(
|
|
949
|
-
return Object.entries(
|
|
818
|
+
if (_instanceof(dataBind1, ObjectDataBind)) {
|
|
819
|
+
return Object.entries(dataBind1).reduce(function(result, param) {
|
|
950
820
|
var _param = _slicedToArray(param, 2), key = _param[0], dataBind = _param[1];
|
|
951
821
|
// objectDataBind的元素,跳过下一次赋值
|
|
952
822
|
if (dataBind.fieldCode === fieldCode) {
|
|
@@ -973,15 +843,19 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
973
843
|
var data = getFieldData.map(function(item) {
|
|
974
844
|
var obj = {};
|
|
975
845
|
for(var key in item){
|
|
976
|
-
var
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
846
|
+
var ref, ref2, ref3;
|
|
847
|
+
var fieldCode = (ref2 = (ref = controlIdMapping[controlId]) === null || ref === void 0 ? void 0 : ref.children[key]) === null || ref2 === void 0 ? void 0 : (ref3 = ref2.dataBind) === null || ref3 === void 0 ? void 0 : ref3.fieldCode;
|
|
848
|
+
//未绑定字段的控件,直接抛弃
|
|
849
|
+
if (fieldCode !== '') {
|
|
850
|
+
var ref4;
|
|
851
|
+
if (fieldCode) {
|
|
852
|
+
obj[fieldCode] = item[key];
|
|
853
|
+
} else if ((ref4 = controlIdMapping[controlId]) === null || ref4 === void 0 ? void 0 : ref4.children[key]) {
|
|
854
|
+
// 兼容一个控件需要绑定多个字段的情况
|
|
855
|
+
for(var keyChi in item[key]){
|
|
856
|
+
var ref5, ref6;
|
|
857
|
+
obj[(ref6 = (ref5 = controlIdMapping[controlId]) === null || ref5 === void 0 ? void 0 : ref5.children[key]) === null || ref6 === void 0 ? void 0 : ref6.dataBind[keyChi].fieldCode] = item[key][keyChi];
|
|
858
|
+
}
|
|
985
859
|
}
|
|
986
860
|
}
|
|
987
861
|
}
|
|
@@ -989,43 +863,45 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
989
863
|
});
|
|
990
864
|
return data;
|
|
991
865
|
} else {
|
|
992
|
-
var _loop = function(
|
|
993
|
-
var
|
|
994
|
-
if ((
|
|
995
|
-
var
|
|
996
|
-
|
|
997
|
-
} else if ((
|
|
998
|
-
var
|
|
866
|
+
var _loop = function(key1) {
|
|
867
|
+
var ref15, ref7, ref8, ref9;
|
|
868
|
+
if ((ref15 = controlIdMapping[key1]) === null || ref15 === void 0 ? void 0 : (ref7 = ref15.dataBind) === null || ref7 === void 0 ? void 0 : ref7.fieldCode) {
|
|
869
|
+
var ref10;
|
|
870
|
+
obj1[(ref10 = controlIdMapping[key1]) === null || ref10 === void 0 ? void 0 : ref10.dataBind.fieldCode] = getFieldData[key1];
|
|
871
|
+
} else if ((ref8 = controlIdMapping[key1]) === null || ref8 === void 0 ? void 0 : (ref9 = ref8.dataBind) === null || ref9 === void 0 ? void 0 : ref9.dataCode) {
|
|
872
|
+
var ref11;
|
|
999
873
|
// 明细字表只循环一层明细子表未递归
|
|
1000
|
-
|
|
874
|
+
obj1[(ref11 = controlIdMapping[key1]) === null || ref11 === void 0 ? void 0 : ref11.dataBind.dataCode] = getFieldData[key1].map(function(item) {
|
|
1001
875
|
var objChi = {};
|
|
1002
876
|
for(var keyChi in item){
|
|
1003
|
-
var
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
877
|
+
var ref;
|
|
878
|
+
var fieldCode = (ref = controlIdMapping[key1].children[keyChi]) === null || ref === void 0 ? void 0 : ref.dataBind.fieldCode;
|
|
879
|
+
//未绑定字段的控件,直接抛弃
|
|
880
|
+
if (fieldCode !== '') {
|
|
881
|
+
if (fieldCode) {
|
|
882
|
+
objChi[fieldCode] = item[keyChi];
|
|
883
|
+
} else {
|
|
884
|
+
for(var keyChi1 in item[keyChi]){
|
|
885
|
+
var ref14;
|
|
886
|
+
objChi[(ref14 = controlIdMapping[key1].children[keyChi]) === null || ref14 === void 0 ? void 0 : ref14.dataBind[keyChi1].fieldCode] = item[keyChi][keyChi1];
|
|
887
|
+
}
|
|
1012
888
|
}
|
|
1013
889
|
}
|
|
1014
890
|
}
|
|
1015
891
|
return objChi;
|
|
1016
892
|
});
|
|
1017
|
-
} else if (controlIdMapping[
|
|
893
|
+
} else if (controlIdMapping[key1]) {
|
|
1018
894
|
// 兼容一个控件需要绑定多个字段的情况
|
|
1019
|
-
for(var
|
|
1020
|
-
var
|
|
1021
|
-
|
|
895
|
+
for(var keyChi2 in getFieldData[key1]){
|
|
896
|
+
var ref12, ref13;
|
|
897
|
+
obj1[(ref13 = (ref12 = controlIdMapping[key1]) === null || ref12 === void 0 ? void 0 : ref12.dataBind[keyChi2]) === null || ref13 === void 0 ? void 0 : ref13.fieldCode] = getFieldData[key1][keyChi2];
|
|
1022
898
|
}
|
|
1023
899
|
}
|
|
1024
900
|
};
|
|
1025
901
|
// 主表
|
|
1026
|
-
var
|
|
1027
|
-
for(var
|
|
1028
|
-
return
|
|
902
|
+
var obj1 = {};
|
|
903
|
+
for(var key1 in getFieldData)_loop(key1);
|
|
904
|
+
return obj1;
|
|
1029
905
|
}
|
|
1030
906
|
}
|
|
1031
907
|
return;
|
|
@@ -1045,12 +921,12 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1045
921
|
if (!dataBindMapping) {
|
|
1046
922
|
return;
|
|
1047
923
|
}
|
|
1048
|
-
var
|
|
1049
|
-
if (_instanceof(
|
|
1050
|
-
var
|
|
1051
|
-
var oldState = (
|
|
924
|
+
var dataBind2 = dataBindMapping.dataBind, controlId = dataBindMapping.controlId;
|
|
925
|
+
if (_instanceof(dataBind2, ObjectDataBind)) {
|
|
926
|
+
var ref;
|
|
927
|
+
var oldState = (ref = JSONCopy(this.getState(controlId, rowIndex))) !== null && ref !== void 0 ? ref : this.getEmptyState(controlId);
|
|
1052
928
|
// fieldCode不代表是key,所以需要找到对应的key
|
|
1053
|
-
var newState = Object.entries(
|
|
929
|
+
var newState = Object.entries(dataBind2).reduce(function(result, param) {
|
|
1054
930
|
var _param = _slicedToArray(param, 2), key = _param[0], dataBind = _param[1];
|
|
1055
931
|
// objectDataBind的元素,跳过下一次赋值
|
|
1056
932
|
if (dataBind.fieldCode === fieldCode) {
|
|
@@ -1080,7 +956,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1080
956
|
}
|
|
1081
957
|
var skipKeys = [];
|
|
1082
958
|
mapping.fields.forEach(function(item) {
|
|
1083
|
-
var
|
|
959
|
+
var dataBind3 = item.dataBind, controlId = item.controlId, fieldCode = item.fieldCode;
|
|
1084
960
|
if (skipKeys.includes(fieldCode)) {
|
|
1085
961
|
return;
|
|
1086
962
|
}
|
|
@@ -1088,11 +964,11 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1088
964
|
return;
|
|
1089
965
|
}
|
|
1090
966
|
// 对象类型的值
|
|
1091
|
-
if (_instanceof(
|
|
1092
|
-
var
|
|
1093
|
-
var oldState = (
|
|
967
|
+
if (_instanceof(dataBind3, ObjectDataBind)) {
|
|
968
|
+
var ref;
|
|
969
|
+
var oldState = (ref = JSONCopy(_this.getState(controlId, rowIndex))) !== null && ref !== void 0 ? ref : _this.getEmptyState(controlId);
|
|
1094
970
|
// fieldCode不代表是key,所以需要找到对应的key
|
|
1095
|
-
var newState = Object.entries(
|
|
971
|
+
var newState = Object.entries(dataBind3).reduce(function(result, param) {
|
|
1096
972
|
var _param = _slicedToArray(param, 2), key = _param[0], dataBind = _param[1];
|
|
1097
973
|
// objectDataBind的元素,跳过下一次赋值
|
|
1098
974
|
skipKeys.push(dataBind.fieldCode);
|
|
@@ -1122,9 +998,9 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1122
998
|
return;
|
|
1123
999
|
}
|
|
1124
1000
|
var skipKeys = [];
|
|
1125
|
-
var
|
|
1001
|
+
var result1 = {};
|
|
1126
1002
|
mapping.fields.forEach(function(item) {
|
|
1127
|
-
var
|
|
1003
|
+
var dataBind4 = item.dataBind, controlId = item.controlId, fieldCode = item.fieldCode;
|
|
1128
1004
|
if (skipKeys.includes(fieldCode)) {
|
|
1129
1005
|
return;
|
|
1130
1006
|
}
|
|
@@ -1132,10 +1008,10 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1132
1008
|
return;
|
|
1133
1009
|
}
|
|
1134
1010
|
// 对象类型的值
|
|
1135
|
-
if (_instanceof(
|
|
1011
|
+
if (_instanceof(dataBind4, ObjectDataBind)) {
|
|
1136
1012
|
var oldState = _this.getEmptyState(controlId);
|
|
1137
1013
|
// fieldCode不代表是key,所以需要找到对应的key
|
|
1138
|
-
|
|
1014
|
+
result1[item.controlId] = Object.entries(dataBind4).reduce(function(result, param) {
|
|
1139
1015
|
var _param = _slicedToArray(param, 2), key = _param[0], dataBind = _param[1];
|
|
1140
1016
|
// objectDataBind的元素,跳过下一次赋值
|
|
1141
1017
|
skipKeys.push(dataBind.fieldCode);
|
|
@@ -1146,10 +1022,10 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1146
1022
|
return result;
|
|
1147
1023
|
}, oldState);
|
|
1148
1024
|
} else {
|
|
1149
|
-
|
|
1025
|
+
result1[controlId] = state[fieldCode];
|
|
1150
1026
|
}
|
|
1151
1027
|
});
|
|
1152
|
-
return
|
|
1028
|
+
return result1;
|
|
1153
1029
|
}
|
|
1154
1030
|
},
|
|
1155
1031
|
{
|
|
@@ -1159,40 +1035,40 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1159
1035
|
* @options 传递给关联事件中 EventPayload中的options,一般在plugin中监听使用
|
|
1160
1036
|
*/ key: "setData",
|
|
1161
1037
|
value: function setData(dataSet, options) {
|
|
1162
|
-
var
|
|
1038
|
+
var _this6 = this;
|
|
1163
1039
|
this.debugLog("engine setData方法执行,参数为%o,%o。", dataSet, options);
|
|
1164
|
-
var
|
|
1165
|
-
if (isString(value) || Array.isArray(value)) {
|
|
1166
|
-
return value.length === 0;
|
|
1167
|
-
}
|
|
1168
|
-
return false;
|
|
1169
|
-
};
|
|
1170
|
-
var newState = {};
|
|
1040
|
+
var newState = this.store.defaultState;
|
|
1171
1041
|
Object.keys(dataSet).map(function(dataCode) {
|
|
1172
1042
|
var entity = dataSet[dataCode];
|
|
1173
1043
|
if (Array.isArray(entity)) {
|
|
1044
|
+
var _this4 = _this6;
|
|
1045
|
+
var mapping = _this6.getDataBindMapping(dataCode);
|
|
1046
|
+
if (!mapping) {
|
|
1047
|
+
return;
|
|
1048
|
+
}
|
|
1049
|
+
if (!newState[mapping.dataViewId]) {
|
|
1050
|
+
newState[mapping.dataViewId] = {};
|
|
1051
|
+
}
|
|
1052
|
+
newState[mapping.dataViewId][mapping.controlId] = [];
|
|
1174
1053
|
entity.map(function(row) {
|
|
1175
|
-
var
|
|
1176
|
-
|
|
1177
|
-
return;
|
|
1178
|
-
}
|
|
1179
|
-
var newRow = JSONCopy(_this.store.emptyState[mapping.dataViewId][mapping.controlId]);
|
|
1054
|
+
var _this = _this4;
|
|
1055
|
+
var newRow = JSONCopy(_this4.store.emptyState[mapping.dataViewId][mapping.controlId]);
|
|
1180
1056
|
var skipKey = [] //qiyu ObjectDataBind中会提前将相关key拿出来赋值,为了避免重复赋值,设置了此变量
|
|
1181
1057
|
;
|
|
1182
1058
|
Object.keys(row).map(function(fieldCode) {
|
|
1183
|
-
var
|
|
1059
|
+
var ref, ref18;
|
|
1184
1060
|
if (skipKey.includes(fieldCode)) {
|
|
1185
1061
|
return;
|
|
1186
1062
|
}
|
|
1187
|
-
var fieldMapping = (
|
|
1063
|
+
var fieldMapping = (ref = _this.store.dataBindMapping[dataCode]) === null || ref === void 0 ? void 0 : (ref18 = ref.fields) === null || ref18 === void 0 ? void 0 : ref18.find(function(i) {
|
|
1188
1064
|
return i.fieldCode === fieldCode;
|
|
1189
1065
|
});
|
|
1190
1066
|
if (fieldMapping) {
|
|
1191
1067
|
if (_instanceof(fieldMapping.dataBind, DataBind) && row[fieldCode] !== undefined) {
|
|
1192
1068
|
newRow[fieldMapping.controlId] = row[fieldCode];
|
|
1193
1069
|
} else if (_instanceof(fieldMapping.dataBind, ObjectDataBind)) {
|
|
1194
|
-
var
|
|
1195
|
-
var objValue = JSONCopy((
|
|
1070
|
+
var ref19;
|
|
1071
|
+
var objValue = JSONCopy((ref19 = _this.getEmptyState(fieldMapping.controlId)) !== null && ref19 !== void 0 ? ref19 : {});
|
|
1196
1072
|
Object.keys(fieldMapping.dataBind).map(function(key) {
|
|
1197
1073
|
var dataBind = fieldMapping.dataBind[key];
|
|
1198
1074
|
if (row[dataBind.fieldCode] !== undefined) {
|
|
@@ -1204,62 +1080,62 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1204
1080
|
}
|
|
1205
1081
|
}
|
|
1206
1082
|
});
|
|
1207
|
-
if (!newState[mapping.dataViewId]) {
|
|
1208
|
-
newState[mapping.dataViewId] = {};
|
|
1209
|
-
}
|
|
1210
|
-
if (!newState[mapping.dataViewId][mapping.controlId]) {
|
|
1211
|
-
newState[mapping.dataViewId][mapping.controlId] = [];
|
|
1212
|
-
}
|
|
1213
1083
|
newState[mapping.dataViewId][mapping.controlId].push(newRow);
|
|
1214
1084
|
});
|
|
1215
1085
|
} else if (entity) {
|
|
1216
|
-
var
|
|
1086
|
+
var ref20;
|
|
1087
|
+
var skipKey1 = [] //qiyu ObjectDataBind中会提前将相关key拿出来赋值,为了避免重复赋值,设置了此变量
|
|
1217
1088
|
;
|
|
1218
|
-
var emptyState = JSONCopy(
|
|
1219
|
-
Object.keys(entity).
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
newState[mapping.dataViewId[0]] = {};
|
|
1089
|
+
var emptyState = JSONCopy(_this6.store.emptyState);
|
|
1090
|
+
if (!((ref20 = Object.keys(entity)) === null || ref20 === void 0 ? void 0 : ref20.length)) {
|
|
1091
|
+
// newState = this.store.defaultState
|
|
1092
|
+
} else {
|
|
1093
|
+
var _this3 = _this6;
|
|
1094
|
+
Object.keys(entity).map(function(fieldCode) {
|
|
1095
|
+
if (skipKey1.includes(fieldCode)) {
|
|
1096
|
+
return;
|
|
1227
1097
|
}
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
}
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1098
|
+
var mapping = _this3.getDataBindMapping(dataCode, fieldCode);
|
|
1099
|
+
if (mapping) {
|
|
1100
|
+
if (!newState[mapping.dataViewId[0]]) {
|
|
1101
|
+
newState[mapping.dataViewId[0]] = {};
|
|
1102
|
+
}
|
|
1103
|
+
if (_instanceof(mapping.dataBind, DataBind) && entity[fieldCode] !== undefined) {
|
|
1104
|
+
newState[mapping.dataViewId[0]][mapping.controlId] = entity[fieldCode] !== undefined ? entity[fieldCode] : emptyState[mapping.dataViewId[0]][mapping.controlId];
|
|
1105
|
+
} else if (_instanceof(mapping.dataBind, ObjectDataBind)) {
|
|
1106
|
+
var ref;
|
|
1107
|
+
var objValue = (ref = _this3.getEmptyState(mapping.controlId)) !== null && ref !== void 0 ? ref : {};
|
|
1108
|
+
Object.keys(mapping.dataBind).map(function(key) {
|
|
1109
|
+
var dataBind = mapping.dataBind[key];
|
|
1110
|
+
if (entity[dataBind.fieldCode] !== undefined) {
|
|
1111
|
+
objValue[key] = entity[dataBind.fieldCode];
|
|
1112
|
+
}
|
|
1113
|
+
skipKey1.push(dataBind.fieldCode);
|
|
1114
|
+
});
|
|
1115
|
+
newState[mapping.dataViewId[0]][mapping.controlId] = objValue;
|
|
1116
|
+
}
|
|
1241
1117
|
}
|
|
1242
|
-
}
|
|
1243
|
-
}
|
|
1244
|
-
var newMapping =
|
|
1118
|
+
});
|
|
1119
|
+
}
|
|
1120
|
+
var newMapping = _this6.getDataBindMapping(dataCode);
|
|
1245
1121
|
if (newMapping) {
|
|
1246
|
-
var
|
|
1247
|
-
var mappingKeys = newMapping === null || newMapping === void 0 ? void 0 : (
|
|
1122
|
+
var ref16;
|
|
1123
|
+
var mappingKeys = newMapping === null || newMapping === void 0 ? void 0 : (ref16 = newMapping.fields) === null || ref16 === void 0 ? void 0 : ref16.map(function(item) {
|
|
1248
1124
|
return item === null || item === void 0 ? void 0 : item.controlId;
|
|
1249
1125
|
});
|
|
1250
|
-
var mappingValue =
|
|
1251
|
-
var
|
|
1252
|
-
var mainStateKeys = Object.keys((
|
|
1126
|
+
var mappingValue = _this6.getEmptyState(newMapping === null || newMapping === void 0 ? void 0 : newMapping.controlId);
|
|
1127
|
+
var ref17;
|
|
1128
|
+
var mainStateKeys = Object.keys((ref17 = newState === null || newState === void 0 ? void 0 : newState[newMapping === null || newMapping === void 0 ? void 0 : newMapping.controlId]) !== null && ref17 !== void 0 ? ref17 : {});
|
|
1253
1129
|
mappingKeys === null || mappingKeys === void 0 ? void 0 : mappingKeys.forEach(function(key) {
|
|
1254
|
-
if (!mainStateKeys.includes(key) && key !==
|
|
1255
|
-
if (Object.keys(newState).length
|
|
1130
|
+
if (!mainStateKeys.includes(key) && key !== 'uid' && newState[newMapping === null || newMapping === void 0 ? void 0 : newMapping.controlId]) {
|
|
1131
|
+
if (Object.keys(newState).length) {
|
|
1256
1132
|
Object.assign(newState[newMapping === null || newMapping === void 0 ? void 0 : newMapping.controlId], _defineProperty({}, key, mappingValue[key]));
|
|
1257
1133
|
} else {
|
|
1258
1134
|
Object.assign(newState, _defineProperty({}, newMapping.controlId, _defineProperty({}, key, mappingValue[key])));
|
|
1259
1135
|
}
|
|
1260
1136
|
}
|
|
1261
1137
|
});
|
|
1262
|
-
|
|
1138
|
+
_this6.debugLog("engine setData方法默认值及表单数据组合完成,参数为%o。", newState);
|
|
1263
1139
|
}
|
|
1264
1140
|
}
|
|
1265
1141
|
});
|
|
@@ -1319,19 +1195,20 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1319
1195
|
// 如果能从flatInstances里边取到,就通过getInstanceInSubtableHeader方法取,取不到则换一种方式
|
|
1320
1196
|
if (instances.length) {
|
|
1321
1197
|
var instance = instances[0];
|
|
1322
|
-
if (this.inList(instance.id)
|
|
1198
|
+
if (this.inList(instance.id) !== undefined) {
|
|
1323
1199
|
var headerInstance = this.getInstanceInSubtableHeader(instance);
|
|
1324
1200
|
if (headerInstance) {
|
|
1325
1201
|
instances.unshift(headerInstance);
|
|
1326
1202
|
}
|
|
1327
1203
|
}
|
|
1328
1204
|
} else {
|
|
1329
|
-
var
|
|
1330
|
-
var
|
|
1331
|
-
var
|
|
1205
|
+
var ref;
|
|
1206
|
+
var controlIdMapping = (ref = this.getControlIdMapping()) !== null && ref !== void 0 ? ref : {};
|
|
1207
|
+
var ref21;
|
|
1208
|
+
var ref22 = _slicedToArray((ref21 = Object.entries(controlIdMapping).find(function(param) {
|
|
1332
1209
|
var _param = _slicedToArray(param, 2), _ = _param[0], mapping = _param[1];
|
|
1333
1210
|
return mapping.children && controlId in mapping.children;
|
|
1334
|
-
})) !== null &&
|
|
1211
|
+
})) !== null && ref21 !== void 0 ? ref21 : [], 1), subtableId = ref22[0];
|
|
1335
1212
|
if (subtableId) {
|
|
1336
1213
|
var subtable = this.getInstance(subtableId);
|
|
1337
1214
|
// @ts-ignore
|
|
@@ -1358,16 +1235,16 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1358
1235
|
{
|
|
1359
1236
|
key: "setInstance",
|
|
1360
1237
|
value: function setInstance(instance, props, value, rowIndex) {
|
|
1361
|
-
var _this = this;
|
|
1362
1238
|
try {
|
|
1363
|
-
if (typeof instance ===
|
|
1239
|
+
if (typeof instance === 'string' && rowIndex === -1) {
|
|
1240
|
+
var _this = this;
|
|
1364
1241
|
//修改明细表整列属性的逻辑
|
|
1365
1242
|
var instances = this.getInstances(instance, rowIndex === -1);
|
|
1366
1243
|
instances.map(function(_instance) {
|
|
1367
1244
|
if (_instance) {
|
|
1368
1245
|
_this.debugLog("[%o]: 修改instance: %o的%o属性,修改的值为%o。", _instance.id, _instance, props, value);
|
|
1369
1246
|
updateValueFromKeys(_instance.props, props, value);
|
|
1370
|
-
_this.schemaEvent(
|
|
1247
|
+
_this.schemaEvent('schema-change', {
|
|
1371
1248
|
instance: _instance,
|
|
1372
1249
|
props: props,
|
|
1373
1250
|
value: value,
|
|
@@ -1376,19 +1253,19 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1376
1253
|
}
|
|
1377
1254
|
});
|
|
1378
1255
|
} else {
|
|
1379
|
-
var
|
|
1380
|
-
if (typeof instance ===
|
|
1381
|
-
|
|
1256
|
+
var _instance1;
|
|
1257
|
+
if (typeof instance === 'string') {
|
|
1258
|
+
_instance1 = this.getInstance(instance, rowIndex);
|
|
1382
1259
|
} else {
|
|
1383
|
-
|
|
1260
|
+
_instance1 = instance;
|
|
1384
1261
|
}
|
|
1385
|
-
if (!
|
|
1262
|
+
if (!_instance1) {
|
|
1386
1263
|
return;
|
|
1387
1264
|
}
|
|
1388
|
-
this.debugLog("[%o]: 修改instance: %o的%o属性,修改的值为%o。",
|
|
1389
|
-
updateValueFromKeys(
|
|
1390
|
-
this.schemaEvent(
|
|
1391
|
-
instance:
|
|
1265
|
+
this.debugLog("[%o]: 修改instance: %o的%o属性,修改的值为%o。", _instance1.id, _instance1, props, value);
|
|
1266
|
+
updateValueFromKeys(_instance1.props, props, value);
|
|
1267
|
+
this.schemaEvent('schema-change', {
|
|
1268
|
+
instance: _instance1,
|
|
1392
1269
|
props: props,
|
|
1393
1270
|
value: value,
|
|
1394
1271
|
rowIndex: rowIndex
|
|
@@ -1538,8 +1415,8 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1538
1415
|
for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
|
|
1539
1416
|
args[_key] = arguments[_key];
|
|
1540
1417
|
}
|
|
1541
|
-
var
|
|
1542
|
-
return (
|
|
1418
|
+
var _runtime;
|
|
1419
|
+
return (_runtime = this.runtime).registerControlConfig.apply(_runtime, _toConsumableArray(args));
|
|
1543
1420
|
}
|
|
1544
1421
|
},
|
|
1545
1422
|
{
|
|
@@ -1551,12 +1428,18 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1551
1428
|
{
|
|
1552
1429
|
key: "inList",
|
|
1553
1430
|
value: function inList(controlId) {
|
|
1554
|
-
var
|
|
1555
|
-
var
|
|
1556
|
-
|
|
1557
|
-
|
|
1431
|
+
var _controlIdMapping;
|
|
1432
|
+
var mapping = (_controlIdMapping = this.store.controlIdMapping) !== null && _controlIdMapping !== void 0 ? _controlIdMapping : {};
|
|
1433
|
+
var listKey = undefined;
|
|
1434
|
+
Object.keys(mapping).some(function(key) {
|
|
1435
|
+
var ref, ref23;
|
|
1436
|
+
var matched = (ref = mapping[key]) === null || ref === void 0 ? void 0 : (ref23 = ref.children) === null || ref23 === void 0 ? void 0 : ref23.hasOwnProperty(controlId);
|
|
1437
|
+
if (matched) {
|
|
1438
|
+
listKey = key;
|
|
1439
|
+
}
|
|
1440
|
+
return matched;
|
|
1558
1441
|
});
|
|
1559
|
-
return
|
|
1442
|
+
return listKey;
|
|
1560
1443
|
}
|
|
1561
1444
|
}
|
|
1562
1445
|
], [
|
|
@@ -1581,4 +1464,3 @@ var Engine = /*#__PURE__*/ function(Watcher) {
|
|
|
1581
1464
|
return Engine;
|
|
1582
1465
|
}(Watcher);
|
|
1583
1466
|
export { Engine };
|
|
1584
|
-
console.log("a");
|