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