@byteluck-fe/model-driven-engine 2.7.0-alpha.4 → 2.7.0-alpha.40

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.
@@ -1,15 +1,15 @@
1
- function _arrayLikeToArray(arr, len) {
1
+ function _array_like_to_array(arr, len) {
2
2
  if (len == null || len > arr.length) len = arr.length;
3
3
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
4
4
  return arr2;
5
5
  }
6
- function _arrayWithHoles(arr) {
6
+ function _array_with_holes(arr) {
7
7
  if (Array.isArray(arr)) return arr;
8
8
  }
9
- function _arrayWithoutHoles(arr) {
10
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
9
+ function _array_without_holes(arr) {
10
+ if (Array.isArray(arr)) return _array_like_to_array(arr);
11
11
  }
12
- function _assertThisInitialized(self) {
12
+ function _assert_this_initialized(self) {
13
13
  if (self === void 0) {
14
14
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
15
15
  }
@@ -29,7 +29,7 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
29
29
  Promise.resolve(value).then(_next, _throw);
30
30
  }
31
31
  }
32
- function _asyncToGenerator(fn) {
32
+ function _async_to_generator(fn) {
33
33
  return function() {
34
34
  var self = this, args = arguments;
35
35
  return new Promise(function(resolve, reject) {
@@ -44,7 +44,7 @@ function _asyncToGenerator(fn) {
44
44
  });
45
45
  };
46
46
  }
47
- function _classCallCheck(instance, Constructor) {
47
+ function _class_call_check(instance, Constructor) {
48
48
  if (!(instance instanceof Constructor)) {
49
49
  throw new TypeError("Cannot call a class as a function");
50
50
  }
@@ -58,12 +58,12 @@ function _defineProperties(target, props) {
58
58
  Object.defineProperty(target, descriptor.key, descriptor);
59
59
  }
60
60
  }
61
- function _createClass(Constructor, protoProps, staticProps) {
61
+ function _create_class(Constructor, protoProps, staticProps) {
62
62
  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
63
63
  if (staticProps) _defineProperties(Constructor, staticProps);
64
64
  return Constructor;
65
65
  }
66
- function _defineProperty(obj, key, value) {
66
+ function _define_property(obj, key, value) {
67
67
  if (key in obj) {
68
68
  Object.defineProperty(obj, key, {
69
69
  value: value,
@@ -80,23 +80,23 @@ function _get(target, property, receiver) {
80
80
  if (typeof Reflect !== "undefined" && Reflect.get) {
81
81
  _get = Reflect.get;
82
82
  } else {
83
- _get = function _get(target, property, receiver) {
84
- var base = _superPropBase(target, property);
83
+ _get = function get(target, property, receiver) {
84
+ var base = _super_prop_base(target, property);
85
85
  if (!base) return;
86
86
  var desc = Object.getOwnPropertyDescriptor(base, property);
87
87
  if (desc.get) {
88
- return desc.get.call(receiver);
88
+ return desc.get.call(receiver || target);
89
89
  }
90
90
  return desc.value;
91
91
  };
92
92
  }
93
93
  return _get(target, property, receiver || target);
94
94
  }
95
- function _getPrototypeOf(o) {
96
- _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
95
+ function _get_prototype_of(o) {
96
+ _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
97
97
  return o.__proto__ || Object.getPrototypeOf(o);
98
98
  };
99
- return _getPrototypeOf(o);
99
+ return _get_prototype_of(o);
100
100
  }
101
101
  function _inherits(subClass, superClass) {
102
102
  if (typeof superClass !== "function" && superClass !== null) {
@@ -109,19 +109,12 @@ function _inherits(subClass, superClass) {
109
109
  configurable: true
110
110
  }
111
111
  });
112
- if (superClass) _setPrototypeOf(subClass, superClass);
112
+ if (superClass) _set_prototype_of(subClass, superClass);
113
113
  }
114
- function _instanceof(left, right) {
115
- if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
116
- return !!right[Symbol.hasInstance](left);
117
- } else {
118
- return left instanceof right;
119
- }
120
- }
121
- function _iterableToArray(iter) {
114
+ function _iterable_to_array(iter) {
122
115
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
123
116
  }
124
- function _iterableToArrayLimit(arr, i) {
117
+ function _iterable_to_array_limit(arr, i) {
125
118
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
126
119
  if (_i == null) return;
127
120
  var _arr = [];
@@ -145,13 +138,13 @@ function _iterableToArrayLimit(arr, i) {
145
138
  }
146
139
  return _arr;
147
140
  }
148
- function _nonIterableRest() {
141
+ function _non_iterable_rest() {
149
142
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
150
143
  }
151
- function _nonIterableSpread() {
144
+ function _non_iterable_spread() {
152
145
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
153
146
  }
154
- function _objectSpread(target) {
147
+ function _object_spread(target) {
155
148
  for(var i = 1; i < arguments.length; i++){
156
149
  var source = arguments[i] != null ? arguments[i] : {};
157
150
  var ownKeys = Object.keys(source);
@@ -161,7 +154,7 @@ function _objectSpread(target) {
161
154
  }));
162
155
  }
163
156
  ownKeys.forEach(function(key) {
164
- _defineProperty(target, key, source[key]);
157
+ _define_property(target, key, source[key]);
165
158
  });
166
159
  }
167
160
  return target;
@@ -179,7 +172,7 @@ function ownKeys(object, enumerableOnly) {
179
172
  }
180
173
  return keys;
181
174
  }
182
- function _objectSpreadProps(target, source) {
175
+ function _object_spread_props(target, source) {
183
176
  source = source != null ? source : {};
184
177
  if (Object.getOwnPropertyDescriptors) {
185
178
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
@@ -190,45 +183,45 @@ function _objectSpreadProps(target, source) {
190
183
  }
191
184
  return target;
192
185
  }
193
- function _possibleConstructorReturn(self, call) {
194
- if (call && (_typeof(call) === "object" || typeof call === "function")) {
186
+ function _possible_constructor_return(self, call) {
187
+ if (call && (_type_of(call) === "object" || typeof call === "function")) {
195
188
  return call;
196
189
  }
197
- return _assertThisInitialized(self);
190
+ return _assert_this_initialized(self);
198
191
  }
199
- function _setPrototypeOf(o, p) {
200
- _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
192
+ function _set_prototype_of(o, p) {
193
+ _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
201
194
  o.__proto__ = p;
202
195
  return o;
203
196
  };
204
- return _setPrototypeOf(o, p);
197
+ return _set_prototype_of(o, p);
205
198
  }
206
- function _slicedToArray(arr, i) {
207
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
199
+ function _sliced_to_array(arr, i) {
200
+ return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
208
201
  }
209
- function _superPropBase(object, property) {
202
+ function _super_prop_base(object, property) {
210
203
  while(!Object.prototype.hasOwnProperty.call(object, property)){
211
- object = _getPrototypeOf(object);
204
+ object = _get_prototype_of(object);
212
205
  if (object === null) break;
213
206
  }
214
207
  return object;
215
208
  }
216
- function _toConsumableArray(arr) {
217
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
209
+ function _to_consumable_array(arr) {
210
+ return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
218
211
  }
219
- var _typeof = function(obj) {
212
+ function _type_of(obj) {
220
213
  "@swc/helpers - typeof";
221
214
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
222
- };
223
- function _unsupportedIterableToArray(o, minLen) {
215
+ }
216
+ function _unsupported_iterable_to_array(o, minLen) {
224
217
  if (!o) return;
225
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
218
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
226
219
  var n = Object.prototype.toString.call(o).slice(8, -1);
227
220
  if (n === "Object" && o.constructor) n = o.constructor.name;
228
221
  if (n === "Map" || n === "Set") return Array.from(n);
229
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
222
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
230
223
  }
231
- function _isNativeReflectConstruct() {
224
+ function _is_native_reflect_construct() {
232
225
  if (typeof Reflect === "undefined" || !Reflect.construct) return false;
233
226
  if (Reflect.construct.sham) return false;
234
227
  if (typeof Proxy === "function") return true;
@@ -239,20 +232,20 @@ function _isNativeReflectConstruct() {
239
232
  return false;
240
233
  }
241
234
  }
242
- function _createSuper(Derived) {
243
- var hasNativeReflectConstruct = _isNativeReflectConstruct();
235
+ function _create_super(Derived) {
236
+ var hasNativeReflectConstruct = _is_native_reflect_construct();
244
237
  return function _createSuperInternal() {
245
- var Super = _getPrototypeOf(Derived), result;
238
+ var Super = _get_prototype_of(Derived), result;
246
239
  if (hasNativeReflectConstruct) {
247
- var NewTarget = _getPrototypeOf(this).constructor;
240
+ var NewTarget = _get_prototype_of(this).constructor;
248
241
  result = Reflect.construct(Super, arguments, NewTarget);
249
242
  } else {
250
243
  result = Super.apply(this, arguments);
251
244
  }
252
- return _possibleConstructorReturn(this, result);
245
+ return _possible_constructor_return(this, result);
253
246
  };
254
247
  }
255
- var __generator = this && this.__generator || function(thisArg, body) {
248
+ function _ts_generator(thisArg, body) {
256
249
  var f, y, t, g, _ = {
257
250
  label: 0,
258
251
  sent: function() {
@@ -346,9 +339,9 @@ var __generator = this && this.__generator || function(thisArg, body) {
346
339
  done: true
347
340
  };
348
341
  }
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";
342
+ }
343
+ import { isDataBind } from "@byteluck-fe/model-driven-core";
344
+ import { CONTROL_BASE_TYPE, CONTROL_TYPE, DEFAULT_LOCALE, error, genNonDuplicateId, isString, JSONCopy, log, RulesMessage, updateValueFromKeys, warn, Watcher, isBuiltInControls } from "@byteluck-fe/model-driven-shared";
352
345
  import { Runtime } from "./Runtime";
353
346
  import { Store } from "./Store";
354
347
  import { findItem, proxyState } from "./proxyState";
@@ -367,29 +360,29 @@ var applyingPluginName = "";
367
360
  var Engine = /*#__PURE__*/ function(Watcher) {
368
361
  "use strict";
369
362
  _inherits(Engine, Watcher);
370
- var _super = _createSuper(Engine);
363
+ var _super = _create_super(Engine);
371
364
  function Engine(props) {
372
- _classCallCheck(this, Engine);
365
+ _class_call_check(this, Engine);
373
366
  var _this;
374
367
  _this = _super.call(this);
375
- _defineProperty(_assertThisInitialized(_this), "store", void 0);
376
- _defineProperty(_assertThisInitialized(_this), "rawStore", {});
377
- _defineProperty(_assertThisInitialized(_this), "parent", void 0);
368
+ _define_property(_assert_this_initialized(_this), "store", void 0);
369
+ _define_property(_assert_this_initialized(_this), "rawStore", {});
370
+ _define_property(_assert_this_initialized(_this), "parent", void 0);
378
371
  // 提供注册运行态控件以及实例化控件的能力
379
- _defineProperty(_assertThisInitialized(_this), "runtime", void 0);
372
+ _define_property(_assert_this_initialized(_this), "runtime", void 0);
380
373
  // 提供子线程处理脚本以及修改数据的能力
381
374
  // public worker: OkWorker
382
- _defineProperty(_assertThisInitialized(_this), "isMounted", false);
383
- _defineProperty(_assertThisInitialized(_this), "id", genNonDuplicateId(8));
384
- _defineProperty(_assertThisInitialized(_this), "externalParams", void 0);
375
+ _define_property(_assert_this_initialized(_this), "isMounted", false);
376
+ _define_property(_assert_this_initialized(_this), "id", genNonDuplicateId(8));
377
+ _define_property(_assert_this_initialized(_this), "externalParams", void 0);
385
378
  // 提供外部注册插件,在不同的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);
379
+ _define_property(_assert_this_initialized(_this), "__plugins", void 0);
380
+ _define_property(_assert_this_initialized(_this), "__pluginsApplied", false);
381
+ _define_property(_assert_this_initialized(_this), "$options", void 0);
382
+ _define_property(_assert_this_initialized(_this), "actionManager", new ActionManager());
383
+ _define_property(_assert_this_initialized(_this), "dataManager", void 0);
384
+ _define_property(_assert_this_initialized(_this), "_jobTasks", []);
385
+ _define_property(_assert_this_initialized(_this), "createControlInstance", _this.createInstance);
393
386
  _this.$options = Object.freeze(props);
394
387
  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
388
  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;
@@ -408,14 +401,14 @@ var Engine = /*#__PURE__*/ function(Watcher) {
408
401
  autoMount && _this.mount();
409
402
  return _this;
410
403
  }
411
- _createClass(Engine, [
404
+ _create_class(Engine, [
412
405
  {
413
406
  key: "debugLog",
414
407
  value: function debugLog() {
415
408
  for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
416
409
  args[_key] = arguments[_key];
417
410
  }
418
- this.debug && log.apply(void 0, _toConsumableArray(args));
411
+ this.debug && log.apply(void 0, _to_consumable_array(args));
419
412
  }
420
413
  },
421
414
  {
@@ -435,7 +428,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
435
428
  arg[_key] = arguments[_key];
436
429
  }
437
430
  var _this_runtime;
438
- (_this_runtime = this.runtime).register.apply(_this_runtime, _toConsumableArray(arg));
431
+ (_this_runtime = this.runtime).register.apply(_this_runtime, _to_consumable_array(arg));
439
432
  return this;
440
433
  }
441
434
  },
@@ -525,7 +518,8 @@ var Engine = /*#__PURE__*/ function(Watcher) {
525
518
  value: function _handlerArrayUpdate(state, key, type, args, result) {
526
519
  var _this = this;
527
520
  var subtable = findItem(this.runtime.flatInstances, key, this.runtime.instanceMap);
528
- if (!_instanceof(subtable, RuntimeListControl)) return;
521
+ // if (!(subtable instanceof RuntimeListControl)) return
522
+ if (!((subtable === null || subtable === void 0 ? void 0 : subtable.controlType) === CONTROL_BASE_TYPE.LIST)) return;
529
523
  // 新增多行方法
530
524
  var createRows = function(len) {
531
525
  // @ts-ignore
@@ -543,6 +537,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
543
537
  var createdNewRows = [];
544
538
  var createdNewRowsData = [];
545
539
  var deleted = [];
540
+ var isDeleteLastOne = false;
546
541
  if (type && args) {
547
542
  // const subtableOldLength = subtable.children.length
548
543
  switch(type){
@@ -552,7 +547,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
552
547
  var newRowLengths = args.length;
553
548
  createdNewRows = createRows(newRowLengths);
554
549
  createdNewRowsData = args;
555
- (_subtable_children = subtable.children)[type].apply(_subtable_children, _toConsumableArray(createdNewRows));
550
+ (_subtable_children = subtable.children)[type].apply(_subtable_children, _to_consumable_array(createdNewRows));
556
551
  this.runtime.getFlatInstances();
557
552
  break;
558
553
  case "splice":
@@ -570,7 +565,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
570
565
  (_subtable_children1 = subtable.children)[type].apply(_subtable_children1, [
571
566
  start,
572
567
  replace
573
- ].concat(_toConsumableArray(createdNewRows)));
568
+ ].concat(_to_consumable_array(createdNewRows)));
574
569
  this.runtime.getFlatInstances();
575
570
  // newValues.forEach((item: any, index) => {
576
571
  // let newIndex = start + index
@@ -579,14 +574,21 @@ var Engine = /*#__PURE__*/ function(Watcher) {
579
574
  } else {
580
575
  var // @ts-ignore
581
576
  _subtable_children2;
582
- (_subtable_children2 = subtable.children)[type].apply(_subtable_children2, _toConsumableArray(args));
577
+ // 从哪儿开始
578
+ var start1 = args[0];
579
+ // 替换几个
580
+ var replace1 = args[1];
581
+ if (start1 + replace1 === subtable.children.length - 1) {
582
+ isDeleteLastOne = true;
583
+ }
584
+ (_subtable_children2 = subtable.children)[type].apply(_subtable_children2, _to_consumable_array(args));
583
585
  this.runtime.getFlatInstances();
584
586
  }
585
587
  break;
586
588
  default:
587
589
  var // @ts-ignore
588
590
  _subtable_children3;
589
- (_subtable_children3 = subtable.children)[type].apply(_subtable_children3, _toConsumableArray(args));
591
+ (_subtable_children3 = subtable.children)[type].apply(_subtable_children3, _to_consumable_array(args));
590
592
  this.runtime.getFlatInstances();
591
593
  break;
592
594
  }
@@ -607,7 +609,8 @@ var Engine = /*#__PURE__*/ function(Watcher) {
607
609
  changed: createdNewRows,
608
610
  data: createdNewRowsData,
609
611
  deleted: deleted !== null && deleted !== void 0 ? deleted : [],
610
- jsonValue: JSON.stringify(this.getState(subtable.id))
612
+ jsonValue: JSON.stringify(this.getState(subtable.id)),
613
+ isDeleteLastOne: isDeleteLastOne
611
614
  })
612
615
  });
613
616
  // 主动清空本次任务中的options
@@ -637,20 +640,26 @@ var Engine = /*#__PURE__*/ function(Watcher) {
637
640
  var row = this.listControlCreateRow(instance, "subtable-row");
638
641
  row && newRows.push(row);
639
642
  }
640
- (_instance_children = instance.children).push.apply(_instance_children, _toConsumableArray(newRows));
643
+ (_instance_children = instance.children).push.apply(_instance_children, _to_consumable_array(newRows));
641
644
  this.runtime.getFlatInstances();
642
645
  // 这里已经能拿到控件实例,所以在这里触发setStates,触发每一行每一个控件的change事件
643
646
  // for (let i = 0; i < newValue.length; i++) {
644
647
  // this.setStates(newValue[i], i, options)
645
648
  // }
649
+ var deleted = oldValue !== null && oldValue !== void 0 ? oldValue : [];
650
+ if ((eventOptionsTemp === null || eventOptionsTemp === void 0 ? void 0 : eventOptionsTemp.listChange) === "noDelete") {
651
+ deleted = [];
652
+ }
646
653
  this.emit("list-change", {
647
654
  instance: instance,
648
655
  value: value,
649
- options: _objectSpreadProps(_objectSpread({}, options), {
656
+ options: _object_spread_props(_object_spread({}, options), {
650
657
  // @ts-ignore
651
658
  changed: newRows,
652
659
  data: newValue,
653
- deleted: oldValue !== null && oldValue !== void 0 ? oldValue : []
660
+ deleted: deleted,
661
+ // deleted: oldValue ?? [],
662
+ type: "push"
654
663
  })
655
664
  });
656
665
  } else {
@@ -658,7 +667,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
658
667
  instance: instance,
659
668
  value: this.getState(instance.id, index),
660
669
  rowIndex: index,
661
- options: _objectSpreadProps(_objectSpread({}, options), {
670
+ options: _object_spread_props(_object_spread({}, options), {
662
671
  oldValue: oldValue
663
672
  })
664
673
  });
@@ -697,7 +706,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
697
706
  var template = JSONCopy(instance.props.headers);
698
707
  // @ts-ignore
699
708
  var columns = this.createControl(template);
700
- (_inst_children = inst.children).push.apply(_inst_children, _toConsumableArray(columns));
709
+ (_inst_children = inst.children).push.apply(_inst_children, _to_consumable_array(columns));
701
710
  }
702
711
  return row;
703
712
  }
@@ -718,11 +727,11 @@ var Engine = /*#__PURE__*/ function(Watcher) {
718
727
  function emit(eventKey, payload) {
719
728
  var _this = this;
720
729
  var _this1 = this, _superprop_get_emit = function() {
721
- return _get(_getPrototypeOf(Engine.prototype), "emit", _this);
730
+ return _get(_get_prototype_of(Engine.prototype), "emit", _this);
722
731
  };
723
- return _asyncToGenerator(function() {
732
+ return _async_to_generator(function() {
724
733
  var needWait, promiseResolver, promise, results;
725
- return __generator(this, function(_state) {
734
+ return _ts_generator(this, function(_state) {
726
735
  switch(_state.label){
727
736
  case 0:
728
737
  if (!(eventKey === "engine-mounted")) return [
@@ -741,7 +750,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
741
750
  2
742
751
  ];
743
752
  console.time("engine-mounted need wait");
744
- needWait = _toConsumableArray(_this1._jobTasks);
753
+ needWait = _to_consumable_array(_this1._jobTasks);
745
754
  return [
746
755
  4,
747
756
  Promise.all(needWait)
@@ -787,7 +796,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
787
796
  if (applyingPluginName) {
788
797
  callback.applyingPluginName = applyingPluginName;
789
798
  }
790
- return _get(_getPrototypeOf(Engine.prototype), "on", this).call(this, key, callback);
799
+ return _get(_get_prototype_of(Engine.prototype), "on", this).call(this, key, callback);
791
800
  }
792
801
  },
793
802
  {
@@ -797,7 +806,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
797
806
  args[_key] = arguments[_key];
798
807
  }
799
808
  var _this_runtime;
800
- return (_this_runtime = this.runtime).createControl.apply(_this_runtime, _toConsumableArray(args));
809
+ return (_this_runtime = this.runtime).createControl.apply(_this_runtime, _to_consumable_array(args));
801
810
  }
802
811
  },
803
812
  {
@@ -904,7 +913,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
904
913
  var newStates = states !== null && states !== void 0 ? states : {};
905
914
  Object.keys(newStates).forEach(function(stateId) {
906
915
  Object.entries(_this.store.controlIdMapping).forEach(function(param) {
907
- var _param = _slicedToArray(param, 2), controlId = _param[0], controlIdMapping = _param[1];
916
+ var _param = _sliced_to_array(param, 2), controlId = _param[0], controlIdMapping = _param[1];
908
917
  if (controlIdMapping.dataView === stateId) {
909
918
  // state对象是dataView包裹的
910
919
  var value = newStates[stateId][controlId];
@@ -945,9 +954,10 @@ var Engine = /*#__PURE__*/ function(Watcher) {
945
954
  }
946
955
  var dataBind = dataBindMapping1.dataBind, controlId1 = dataBindMapping1.controlId;
947
956
  var state = this.getState(controlId1, rowIndex);
948
- if (_instanceof(dataBind, ObjectDataBind)) {
957
+ //if (dataBind instanceof ObjectDataBind) {
958
+ if (!isDataBind(dataBind)) {
949
959
  return Object.entries(dataBind).reduce(function(result, param) {
950
- var _param = _slicedToArray(param, 2), key = _param[0], dataBind = _param[1];
960
+ var _param = _sliced_to_array(param, 2), key = _param[0], dataBind = _param[1];
951
961
  // objectDataBind的元素,跳过下一次赋值
952
962
  if (dataBind.fieldCode === fieldCode) {
953
963
  return result[key];
@@ -973,8 +983,8 @@ var Engine = /*#__PURE__*/ function(Watcher) {
973
983
  var data = getFieldData.map(function(item) {
974
984
  var obj = {};
975
985
  for(var key in item){
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;
986
+ var _controlIdMapping_controlId_children_key_dataBind, _controlIdMapping_controlId_children_key, _controlIdMapping_controlId;
987
+ var fieldCode = (_controlIdMapping_controlId = controlIdMapping[controlId]) === null || _controlIdMapping_controlId === void 0 ? void 0 : (_controlIdMapping_controlId_children_key = _controlIdMapping_controlId.children[key]) === null || _controlIdMapping_controlId_children_key === void 0 ? void 0 : (_controlIdMapping_controlId_children_key_dataBind = _controlIdMapping_controlId_children_key.dataBind) === null || _controlIdMapping_controlId_children_key_dataBind === void 0 ? void 0 : _controlIdMapping_controlId_children_key_dataBind.fieldCode;
978
988
  //未绑定字段的控件,直接抛弃
979
989
  if (fieldCode !== "") {
980
990
  var _controlIdMapping_controlId1;
@@ -984,7 +994,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
984
994
  // 兼容一个控件需要绑定多个字段的情况
985
995
  for(var keyChi in item[key]){
986
996
  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];
997
+ obj[(_controlIdMapping_controlId2 = controlIdMapping[controlId]) === null || _controlIdMapping_controlId2 === void 0 ? void 0 : (_controlIdMapping_controlId_children_key1 = _controlIdMapping_controlId2.children[key]) === null || _controlIdMapping_controlId_children_key1 === void 0 ? void 0 : _controlIdMapping_controlId_children_key1.dataBind[keyChi].fieldCode] = item[key][keyChi];
988
998
  }
989
999
  }
990
1000
  }
@@ -994,7 +1004,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
994
1004
  return data;
995
1005
  } else {
996
1006
  var _loop = function(key) {
997
- var _controlIdMapping_key, _controlIdMapping_key_dataBind, _controlIdMapping_key1, _controlIdMapping_key_dataBind1;
1007
+ var _controlIdMapping_key_dataBind, _controlIdMapping_key, _controlIdMapping_key_dataBind1, _controlIdMapping_key1;
998
1008
  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
1009
  var _controlIdMapping_key2;
1000
1010
  obj[(_controlIdMapping_key2 = controlIdMapping[key]) === null || _controlIdMapping_key2 === void 0 ? void 0 : _controlIdMapping_key2.dataBind.fieldCode] = getFieldData[key];
@@ -1024,7 +1034,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
1024
1034
  // 兼容一个控件需要绑定多个字段的情况
1025
1035
  for(var keyChi in getFieldData[key]){
1026
1036
  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];
1037
+ obj[(_controlIdMapping_key4 = controlIdMapping[key]) === null || _controlIdMapping_key4 === void 0 ? void 0 : (_controlIdMapping_key_dataBind_keyChi = _controlIdMapping_key4.dataBind[keyChi]) === null || _controlIdMapping_key_dataBind_keyChi === void 0 ? void 0 : _controlIdMapping_key_dataBind_keyChi.fieldCode] = getFieldData[key][keyChi];
1028
1038
  }
1029
1039
  }
1030
1040
  };
@@ -1052,12 +1062,13 @@ var Engine = /*#__PURE__*/ function(Watcher) {
1052
1062
  return;
1053
1063
  }
1054
1064
  var dataBind = dataBindMapping.dataBind, controlId = dataBindMapping.controlId;
1055
- if (_instanceof(dataBind, ObjectDataBind)) {
1065
+ // if (dataBind instanceof ObjectDataBind) {
1066
+ if (!isDataBind(dataBind)) {
1056
1067
  var _JSONCopy;
1057
1068
  var oldState = (_JSONCopy = JSONCopy(this.getState(controlId, rowIndex))) !== null && _JSONCopy !== void 0 ? _JSONCopy : this.getEmptyState(controlId);
1058
1069
  // fieldCode不代表是key,所以需要找到对应的key
1059
1070
  var newState = Object.entries(dataBind).reduce(function(result, param) {
1060
- var _param = _slicedToArray(param, 2), key = _param[0], dataBind = _param[1];
1071
+ var _param = _sliced_to_array(param, 2), key = _param[0], dataBind = _param[1];
1061
1072
  // objectDataBind的元素,跳过下一次赋值
1062
1073
  if (dataBind.fieldCode === fieldCode) {
1063
1074
  result[key] = value;
@@ -1094,12 +1105,13 @@ var Engine = /*#__PURE__*/ function(Watcher) {
1094
1105
  return;
1095
1106
  }
1096
1107
  // 对象类型的值
1097
- if (_instanceof(dataBind, ObjectDataBind)) {
1108
+ // if (dataBind instanceof ObjectDataBind) {
1109
+ if (!isDataBind(dataBind)) {
1098
1110
  var _JSONCopy;
1099
1111
  var oldState = (_JSONCopy = JSONCopy(_this.getState(controlId, rowIndex))) !== null && _JSONCopy !== void 0 ? _JSONCopy : _this.getEmptyState(controlId);
1100
1112
  // fieldCode不代表是key,所以需要找到对应的key
1101
1113
  var newState = Object.entries(dataBind).reduce(function(result, param) {
1102
- var _param = _slicedToArray(param, 2), key = _param[0], dataBind = _param[1];
1114
+ var _param = _sliced_to_array(param, 2), key = _param[0], dataBind = _param[1];
1103
1115
  // objectDataBind的元素,跳过下一次赋值
1104
1116
  skipKeys.push(dataBind.fieldCode);
1105
1117
  var value = state[dataBind.fieldCode];
@@ -1138,11 +1150,12 @@ var Engine = /*#__PURE__*/ function(Watcher) {
1138
1150
  return;
1139
1151
  }
1140
1152
  // 对象类型的值
1141
- if (_instanceof(dataBind, ObjectDataBind)) {
1153
+ // if (dataBind instanceof ObjectDataBind) {
1154
+ if (!isDataBind(dataBind)) {
1142
1155
  var oldState = _this.getEmptyState(controlId);
1143
1156
  // fieldCode不代表是key,所以需要找到对应的key
1144
1157
  result[item.controlId] = Object.entries(dataBind).reduce(function(result, param) {
1145
- var _param = _slicedToArray(param, 2), key = _param[0], dataBind = _param[1];
1158
+ var _param = _sliced_to_array(param, 2), key = _param[0], dataBind = _param[1];
1146
1159
  // objectDataBind的元素,跳过下一次赋值
1147
1160
  skipKeys.push(dataBind.fieldCode);
1148
1161
  var value = state[dataBind.fieldCode];
@@ -1178,13 +1191,18 @@ var Engine = /*#__PURE__*/ function(Watcher) {
1178
1191
  if (!newState[mapping.dataViewId]) {
1179
1192
  newState[mapping.dataViewId] = {};
1180
1193
  }
1181
- newState[mapping.dataViewId][mapping.controlId] = [];
1194
+ if (!entity.length) {
1195
+ var _newState_mapping_dataViewId_mapping_controlId;
1196
+ 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 : [];
1197
+ } else {
1198
+ newState[mapping.dataViewId][mapping.controlId] = [];
1199
+ }
1182
1200
  entity.map(function(row) {
1183
1201
  var newRow = JSONCopy(_this.store.emptyState[mapping.dataViewId][mapping.controlId]);
1184
1202
  var skipKey = [] //qiyu ObjectDataBind中会提前将相关key拿出来赋值,为了避免重复赋值,设置了此变量
1185
1203
  ;
1186
1204
  Object.keys(row).map(function(fieldCode) {
1187
- var _this_store_dataBindMapping_dataCode, _this_store_dataBindMapping_dataCode_fields;
1205
+ var _this_store_dataBindMapping_dataCode_fields, _this_store_dataBindMapping_dataCode;
1188
1206
  if (skipKey.includes(fieldCode)) {
1189
1207
  return;
1190
1208
  }
@@ -1192,9 +1210,11 @@ var Engine = /*#__PURE__*/ function(Watcher) {
1192
1210
  return i.fieldCode === fieldCode;
1193
1211
  });
1194
1212
  if (fieldMapping) {
1195
- if (_instanceof(fieldMapping.dataBind, DataBind) && row[fieldCode] !== undefined) {
1213
+ if (// fieldMapping.dataBind instanceof DataBind &&
1214
+ isDataBind(fieldMapping.dataBind) && row[fieldCode] !== undefined) {
1196
1215
  newRow[fieldMapping.controlId] = row[fieldCode];
1197
- } else if (_instanceof(fieldMapping.dataBind, ObjectDataBind)) {
1216
+ // } else if (fieldMapping.dataBind instanceof ObjectDataBind) {
1217
+ } else if (!isDataBind(fieldMapping.dataBind)) {
1198
1218
  var _this_getEmptyState;
1199
1219
  var objValue = JSONCopy((_this_getEmptyState = _this.getEmptyState(fieldMapping.controlId)) !== null && _this_getEmptyState !== void 0 ? _this_getEmptyState : {});
1200
1220
  Object.keys(fieldMapping.dataBind).map(function(key) {
@@ -1227,9 +1247,11 @@ var Engine = /*#__PURE__*/ function(Watcher) {
1227
1247
  if (!newState[mapping.dataViewId[0]]) {
1228
1248
  newState[mapping.dataViewId[0]] = {};
1229
1249
  }
1230
- if (_instanceof(mapping.dataBind, DataBind) && entity[fieldCode] !== undefined) {
1250
+ if (// mapping.dataBind instanceof DataBind &&
1251
+ isDataBind(mapping.dataBind) && entity[fieldCode] !== undefined) {
1231
1252
  newState[mapping.dataViewId[0]][mapping.controlId] = entity[fieldCode] !== undefined ? entity[fieldCode] : emptyState[mapping.dataViewId[0]][mapping.controlId];
1232
- } else if (_instanceof(mapping.dataBind, ObjectDataBind)) {
1253
+ // } else if (mapping.dataBind instanceof ObjectDataBind) {
1254
+ } else if (!isDataBind(mapping.dataBind)) {
1233
1255
  var _this_getEmptyState;
1234
1256
  var objValue = (_this_getEmptyState = _this.getEmptyState(mapping.controlId)) !== null && _this_getEmptyState !== void 0 ? _this_getEmptyState : {};
1235
1257
  Object.keys(mapping.dataBind).map(function(key) {
@@ -1256,9 +1278,9 @@ var Engine = /*#__PURE__*/ function(Watcher) {
1256
1278
  mappingKeys === null || mappingKeys === void 0 ? void 0 : mappingKeys.forEach(function(key) {
1257
1279
  if (!mainStateKeys.includes(key) && key !== "uid" && newState[newMapping === null || newMapping === void 0 ? void 0 : newMapping.controlId]) {
1258
1280
  if (Object.keys(newState).length) {
1259
- Object.assign(newState[newMapping === null || newMapping === void 0 ? void 0 : newMapping.controlId], _defineProperty({}, key, mappingValue[key]));
1281
+ Object.assign(newState[newMapping === null || newMapping === void 0 ? void 0 : newMapping.controlId], _define_property({}, key, mappingValue[key]));
1260
1282
  } else {
1261
- Object.assign(newState, _defineProperty({}, newMapping.controlId, _defineProperty({}, key, mappingValue[key])));
1283
+ Object.assign(newState, _define_property({}, newMapping.controlId, _define_property({}, key, mappingValue[key])));
1262
1284
  }
1263
1285
  }
1264
1286
  });
@@ -1267,7 +1289,9 @@ var Engine = /*#__PURE__*/ function(Watcher) {
1267
1289
  }
1268
1290
  });
1269
1291
  this.debugLog("engine setData方法数据组合完成,参数为%o。", newState);
1270
- this.setStates(newState, undefined, options);
1292
+ this.setStates(newState, undefined, _object_spread({
1293
+ listChange: "noDelete"
1294
+ }, options));
1271
1295
  this.debugLog("engine setData方法执行完成。");
1272
1296
  }
1273
1297
  },
@@ -1322,6 +1346,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
1322
1346
  // 如果能从flatInstances里边取到,就通过getInstanceInSubtableHeader方法取,取不到则换一种方式
1323
1347
  if (instances.length) {
1324
1348
  var instance = instances[0];
1349
+ // if (this.inList(instance.id) === true) {
1325
1350
  if (this.inList(instance.id) !== undefined) {
1326
1351
  var headerInstance = this.getInstanceInSubtableHeader(instance);
1327
1352
  if (headerInstance) {
@@ -1332,8 +1357,8 @@ var Engine = /*#__PURE__*/ function(Watcher) {
1332
1357
  var _this_getControlIdMapping;
1333
1358
  var controlIdMapping = (_this_getControlIdMapping = this.getControlIdMapping()) !== null && _this_getControlIdMapping !== void 0 ? _this_getControlIdMapping : {};
1334
1359
  var _Object_entries_find;
1335
- var _ref = _slicedToArray((_Object_entries_find = Object.entries(controlIdMapping).find(function(param) {
1336
- var _param = _slicedToArray(param, 2), _ = _param[0], mapping = _param[1];
1360
+ var _ref = _sliced_to_array((_Object_entries_find = Object.entries(controlIdMapping).find(function(param) {
1361
+ var _param = _sliced_to_array(param, 2), _ = _param[0], mapping = _param[1];
1337
1362
  return mapping.children && controlId in mapping.children;
1338
1363
  })) !== null && _Object_entries_find !== void 0 ? _Object_entries_find : [], 1), subtableId = _ref[0];
1339
1364
  if (subtableId) {
@@ -1459,6 +1484,14 @@ var Engine = /*#__PURE__*/ function(Watcher) {
1459
1484
  return isString(types) ? instance.type === types : types.includes(instance.type);
1460
1485
  }
1461
1486
  },
1487
+ {
1488
+ key: "assertInstanceIsCustomControl",
1489
+ value: /**
1490
+ * 判断控件或控件类型是一个自定义控件
1491
+ * */ function assertInstanceIsCustomControl(instance) {
1492
+ return !isBuiltInControls(isString(instance) ? instance : instance.type);
1493
+ }
1494
+ },
1462
1495
  {
1463
1496
  key: "getInstanceRowIndex",
1464
1497
  value: /**
@@ -1494,7 +1527,27 @@ var Engine = /*#__PURE__*/ function(Watcher) {
1494
1527
  },
1495
1528
  {
1496
1529
  key: "getInstanceParentControl",
1497
- value: function getInstanceParentControl(instance, controlType) {
1530
+ value: // public getInstanceRowIndex(
1531
+ // instance: ControlRuntimeInstance<ControlsKeys> | RuntimeControl
1532
+ // ) {
1533
+ // let rowIndex: number | undefined
1534
+ // // @ts-ignore
1535
+ // if (this.assertInstance(instance, CONTROL_TYPE.SUBTABLE_COLUMN)) {
1536
+ // rowIndex = -1
1537
+ // }else{
1538
+ // const instanceList = this.runtime.instanceMap[instance.id]
1539
+ // if(Object.prototype.toString.call(instanceList) === '[object Array]'){
1540
+ // const index = instanceList.findIndex(
1541
+ // (item: any) => item === instance
1542
+ // )
1543
+ // if (index > -1) {
1544
+ // rowIndex = index
1545
+ // }
1546
+ // }
1547
+ // }
1548
+ // return rowIndex
1549
+ // }
1550
+ function getInstanceParentControl(instance, controlType) {
1498
1551
  if (!instance.parent) {
1499
1552
  return;
1500
1553
  }
@@ -1543,7 +1596,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
1543
1596
  args[_key] = arguments[_key];
1544
1597
  }
1545
1598
  var _this_runtime;
1546
- return (_this_runtime = this.runtime).registerControlConfig.apply(_this_runtime, _toConsumableArray(args));
1599
+ return (_this_runtime = this.runtime).registerControlConfig.apply(_this_runtime, _to_consumable_array(args));
1547
1600
  }
1548
1601
  },
1549
1602
  {
@@ -1559,7 +1612,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
1559
1612
  var mapping = (_this_store_controlIdMapping = this.store.controlIdMapping) !== null && _this_store_controlIdMapping !== void 0 ? _this_store_controlIdMapping : {};
1560
1613
  var listKey = undefined;
1561
1614
  Object.keys(mapping).some(function(key) {
1562
- var _mapping_key, _mapping_key_children;
1615
+ var _mapping_key_children, _mapping_key;
1563
1616
  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);
1564
1617
  if (matched) {
1565
1618
  listKey = key;
@@ -1578,7 +1631,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
1578
1631
  arg[_key] = arguments[_key];
1579
1632
  }
1580
1633
  var _Runtime;
1581
- return (_Runtime = Runtime).register.apply(_Runtime, _toConsumableArray(arg));
1634
+ return (_Runtime = Runtime).register.apply(_Runtime, _to_consumable_array(arg));
1582
1635
  }
1583
1636
  },
1584
1637
  {