@byteluck-fe/model-driven-engine 2.8.1-alpha.9 → 2.8.5-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -180,26 +180,33 @@ export var Runtime = /*#__PURE__*/ function(RegisterControls) {
180
180
  {
181
181
  key: "allRules",
182
182
  get: function get() {
183
- var antdRules = {};
184
- var ruleItems = {};
183
+ var defaultAntdRules = {};
184
+ var defaultRule = {};
185
+ var defaultFieldRules = {};
185
186
  loopDataViewControl(this._instance, function(dataView) {
186
187
  var result = Runtime.staticGetRules(dataView.type, dataView.props);
187
- ruleItems[dataView.id] = JSONCopy(result[0]);
188
- antdRules[dataView.id] = JSONCopy(result[0]);
188
+ defaultRule[dataView.id] = JSONCopy(result[0]);
189
+ defaultAntdRules[dataView.id] = JSONCopy(result[0]);
190
+ defaultFieldRules[dataView.id] = JSONCopy(result[0]);
189
191
  loopFormControl(dataView.children, function(item) {
190
192
  // if (
191
193
  // item instanceof RuntimeFormControl ||
192
194
  // item instanceof RuntimeListControl
193
195
  // ) {
194
196
  if (item.controlType === CONTROL_BASE_TYPE.FORM || item.controlType === CONTROL_BASE_TYPE.LIST) {
195
- buildControlRules(ruleItems[dataView.id].fields, item);
196
- buildControlAntdRules(antdRules[dataView.id].fields, item);
197
+ buildControlRules(defaultRule[dataView.id].fields, item, true);
198
+ buildControlAntdRules(defaultAntdRules[dataView.id].fields, item, true);
199
+ buildFieldCodeRules(defaultFieldRules[dataView.id].fields, item, true);
197
200
  }
198
201
  });
199
202
  });
200
203
  return {
201
- rules: ruleItems,
202
- antdRules: antdRules
204
+ rules: this.rules,
205
+ antdRules: this.antdRules,
206
+ fieldCodeRules: this.fieldCodeRules,
207
+ defaultAntdRules: defaultAntdRules,
208
+ defaultRule: defaultRule,
209
+ defaultFieldRules: defaultFieldRules
203
210
  };
204
211
  }
205
212
  },
@@ -307,6 +314,7 @@ function hasHeaderOrFooterControl(control, checkType) {
307
314
  }
308
315
  function buildControlRules(data, // @ts-ignore
309
316
  item) {
317
+ var isSubtableDefaultRules = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
310
318
  if (getControlIsHide(item)) {
311
319
  return;
312
320
  }
@@ -322,7 +330,11 @@ item) {
322
330
  type: "array",
323
331
  fields: {}
324
332
  };
325
- item.children.forEach(function(row, index) {
333
+ (isSubtableDefaultRules === true ? [
334
+ {
335
+ children: item.props.headers
336
+ }
337
+ ] : item.children).forEach(function(row, index) {
326
338
  loopFormSchema(row.children, function(formControl) {
327
339
  if (itemRules.fields) {
328
340
  if (!itemRules.fields[index]) {
@@ -347,6 +359,7 @@ item) {
347
359
  }
348
360
  function buildFieldCodeRules(data, // @ts-ignore
349
361
  item) {
362
+ var isSubtableDefaultRules = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
350
363
  if (getControlIsHide(item)) {
351
364
  return;
352
365
  }
@@ -365,9 +378,9 @@ item) {
365
378
  // @ts-ignore
366
379
  if (((_item_props_dataBind_dataBindKey = item.props.dataBind[dataBindKey]) === null || _item_props_dataBind_dataBindKey === void 0 ? void 0 : _item_props_dataBind_dataBindKey.fieldCode) != "") {
367
380
  var // @ts-ignore
368
- _item_props_dataBind_dataBindKey1, _result_;
381
+ _item_props_dataBind_dataBindKey1, _findFields;
369
382
  // @ts-ignore
370
- data[(_item_props_dataBind_dataBindKey1 = item.props.dataBind[dataBindKey]) === null || _item_props_dataBind_dataBindKey1 === void 0 ? void 0 : _item_props_dataBind_dataBindKey1.fieldCode] = ((_result_ = result[0]) === null || _result_ === void 0 ? void 0 : _result_.fields[dataBindKey]) || [];
383
+ data[(_item_props_dataBind_dataBindKey1 = item.props.dataBind[dataBindKey]) === null || _item_props_dataBind_dataBindKey1 === void 0 ? void 0 : _item_props_dataBind_dataBindKey1.fieldCode] = ((_findFields = findFields(result)) === null || _findFields === void 0 ? void 0 : _findFields[dataBindKey]) || [];
371
384
  }
372
385
  }
373
386
  }
@@ -378,7 +391,11 @@ item) {
378
391
  type: "array",
379
392
  fields: {}
380
393
  };
381
- item.children.forEach(function(row, index) {
394
+ (isSubtableDefaultRules === true ? [
395
+ {
396
+ children: item.props.headers
397
+ }
398
+ ] : item.children).forEach(function(row, index) {
382
399
  loopFormSchema(row.children, function(formControl) {
383
400
  if (itemRules.fields) {
384
401
  if (!itemRules.fields[index]) {
@@ -394,10 +411,10 @@ item) {
394
411
  var _formControl_props_dataBind_dataBindKey;
395
412
  // @ts-ignore
396
413
  if (((_formControl_props_dataBind_dataBindKey = formControl.props.dataBind[dataBindKey]) === null || _formControl_props_dataBind_dataBindKey === void 0 ? void 0 : _formControl_props_dataBind_dataBindKey.fieldCode) != "") {
397
- var _childResult_;
414
+ var _findFields;
398
415
  // @ts-ignore
399
416
  itemRules.fields[index].fields[// @ts-ignore
400
- formControl.props.dataBind[dataBindKey].fieldCode] = ((_childResult_ = childResult[0]) === null || _childResult_ === void 0 ? void 0 : _childResult_.fields[dataBindKey]) || [];
417
+ formControl.props.dataBind[dataBindKey].fieldCode] = ((_findFields = findFields(childResult)) === null || _findFields === void 0 ? void 0 : _findFields[dataBindKey]) || [];
401
418
  }
402
419
  }
403
420
  } else {
@@ -414,8 +431,18 @@ item) {
414
431
  data[(_item_props_datasourceBind1 = item.props.datasourceBind) === null || _item_props_datasourceBind1 === void 0 ? void 0 : _item_props_datasourceBind1.dataCode].push(itemRules);
415
432
  }
416
433
  }
434
+ function findFields(childResult) {
435
+ var ruleItem = {};
436
+ childResult.map(function(item) {
437
+ if (item.fields) {
438
+ ruleItem = item;
439
+ }
440
+ });
441
+ return ruleItem === null || ruleItem === void 0 ? void 0 : ruleItem.fields;
442
+ }
417
443
  function buildControlAntdRules(antdRules, // @ts-ignore
418
444
  item) {
445
+ var isSubtableDefaultRules = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
419
446
  if (getControlIsHide(item)) {
420
447
  return;
421
448
  }
@@ -426,7 +453,11 @@ item) {
426
453
  antdRules[item.id] = result;
427
454
  } else if (item.type === CONTROL_TYPE.SUBTABLE && item.children.length) {
428
455
  antdRules[item.id] = [];
429
- item.children.forEach(function(row) {
456
+ (isSubtableDefaultRules === true ? [
457
+ {
458
+ children: item.props.headers
459
+ }
460
+ ] : item.children).forEach(function(row) {
430
461
  var rules = {};
431
462
  loopFormSchema(row.children, function(formControl) {
432
463
  // rules[formControl.id] = (formControl as RuntimeFormControl).rules