amis-core 3.4.3 → 3.5.0

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.
Files changed (269) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.js +12 -2
  3. package/esm/SchemaRenderer.js +1 -1
  4. package/esm/Scoped.js +1 -1
  5. package/esm/StatusScoped.js +1 -1
  6. package/esm/WithRootStore.js +1 -1
  7. package/esm/WithStore.js +1 -1
  8. package/esm/actions/Action.js +1 -1
  9. package/esm/actions/AjaxAction.js +1 -1
  10. package/esm/actions/BreakAction.js +1 -1
  11. package/esm/actions/BroadcastAction.js +1 -1
  12. package/esm/actions/CmptAction.js +1 -1
  13. package/esm/actions/ContinueAction.js +1 -1
  14. package/esm/actions/CopyAction.js +1 -1
  15. package/esm/actions/CustomAction.js +1 -1
  16. package/esm/actions/DialogAction.js +1 -1
  17. package/esm/actions/DrawerAction.js +1 -1
  18. package/esm/actions/EmailAction.js +1 -1
  19. package/esm/actions/LinkAction.js +1 -1
  20. package/esm/actions/LoopAction.js +1 -1
  21. package/esm/actions/PageAction.js +1 -1
  22. package/esm/actions/ParallelAction.js +1 -1
  23. package/esm/actions/StatusAction.js +1 -1
  24. package/esm/actions/SwitchAction.js +1 -1
  25. package/esm/actions/ToastAction.js +1 -1
  26. package/esm/components/CustomStyle.js +9 -9
  27. package/esm/components/LazyComponent.js +1 -1
  28. package/esm/components/Overlay.js +1 -1
  29. package/esm/components/PopOver.js +1 -1
  30. package/esm/env.d.ts +11 -3
  31. package/esm/env.js +1 -1
  32. package/esm/envOverwrite.js +1 -1
  33. package/esm/factory.js +1 -3
  34. package/esm/index.js +4 -4
  35. package/esm/locale.js +1 -1
  36. package/esm/polyfills.js +1 -1
  37. package/esm/renderers/Form.js +3 -3
  38. package/esm/renderers/Item.d.ts +2 -6
  39. package/esm/renderers/Item.js +10 -16
  40. package/esm/renderers/Options.js +1 -1
  41. package/esm/renderers/Placeholder.js +1 -1
  42. package/esm/renderers/builtin.js +1 -1
  43. package/esm/renderers/register.js +1 -1
  44. package/esm/renderers/wrapControl.js +40 -21
  45. package/esm/store/app.js +6 -4
  46. package/esm/store/combo.d.ts +120 -0
  47. package/esm/store/combo.js +3 -2
  48. package/esm/store/crud.d.ts +13 -1
  49. package/esm/store/crud.js +94 -36
  50. package/esm/store/form.d.ts +50 -0
  51. package/esm/store/form.js +1 -1
  52. package/esm/store/formItem.d.ts +1 -0
  53. package/esm/store/formItem.js +17 -5
  54. package/esm/store/iRenderer.js +1 -1
  55. package/esm/store/index.js +1 -1
  56. package/esm/store/list.js +1 -1
  57. package/esm/store/manager.js +1 -1
  58. package/esm/store/modal.js +1 -1
  59. package/esm/store/node.js +1 -1
  60. package/esm/store/pagination.js +1 -1
  61. package/esm/store/root.js +1 -1
  62. package/esm/store/service.js +1 -1
  63. package/esm/store/status.js +1 -1
  64. package/esm/store/table.d.ts +418 -65
  65. package/esm/store/table.js +106 -72
  66. package/esm/store/table2.js +1 -1
  67. package/esm/theme.js +1 -1
  68. package/esm/types.d.ts +6 -0
  69. package/esm/utils/Animation.js +1 -1
  70. package/esm/utils/ColorScale.js +1 -1
  71. package/esm/utils/DataSchema.js +1 -1
  72. package/esm/utils/DataScope.js +1 -1
  73. package/esm/utils/RootClose.js +1 -1
  74. package/esm/utils/SimpleMap.js +1 -1
  75. package/esm/utils/api.js +2 -1
  76. package/esm/utils/arraySlice.js +1 -1
  77. package/esm/utils/attachmentAdpator.d.ts +2 -1
  78. package/esm/utils/attachmentAdpator.js +17 -11
  79. package/esm/utils/autobind.js +1 -1
  80. package/esm/utils/columnsSplit.js +1 -1
  81. package/esm/utils/dataMapping.js +1 -1
  82. package/esm/utils/date.js +1 -1
  83. package/esm/utils/debug.js +1 -1
  84. package/esm/utils/decodeEntity.js +1 -1
  85. package/esm/utils/dom.js +1 -1
  86. package/esm/utils/errors.js +1 -1
  87. package/esm/utils/escapeHtml.js +1 -1
  88. package/esm/utils/filter-schema.d.ts +8 -0
  89. package/esm/utils/filter-schema.js +23 -9
  90. package/esm/utils/filter.js +1 -1
  91. package/esm/utils/formatDuration.js +1 -1
  92. package/esm/utils/formula.js +1 -1
  93. package/esm/utils/getVariable.js +1 -1
  94. package/esm/utils/grammar.js +1 -1
  95. package/esm/utils/handleAction.js +2 -1
  96. package/esm/utils/helper.d.ts +13 -0
  97. package/esm/utils/helper.js +46 -4
  98. package/esm/utils/highlight.js +1 -1
  99. package/esm/utils/icon.js +1 -1
  100. package/esm/utils/image.js +1 -1
  101. package/esm/utils/isPureVariable.js +1 -1
  102. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  103. package/esm/utils/keyToPath.js +1 -1
  104. package/esm/utils/makeSorter.js +1 -1
  105. package/esm/utils/math.js +1 -1
  106. package/esm/utils/memoryParse.js +1 -1
  107. package/esm/utils/normalizeLink.js +1 -1
  108. package/esm/utils/normalizeOptions.js +1 -1
  109. package/esm/utils/object.js +1 -1
  110. package/esm/utils/offset.js +1 -1
  111. package/esm/utils/offsetParent.js +1 -1
  112. package/esm/utils/optionValueCompare.js +1 -1
  113. package/esm/utils/position.js +1 -1
  114. package/esm/utils/prettyBytes.js +1 -1
  115. package/esm/utils/renderer-event.js +1 -1
  116. package/esm/utils/replaceText.d.ts +1 -1
  117. package/esm/utils/replaceText.js +9 -4
  118. package/esm/utils/resize-sensor.js +1 -1
  119. package/esm/utils/resolveCondition.js +1 -1
  120. package/esm/utils/resolveVariable.js +1 -1
  121. package/esm/utils/resolveVariableAndFilter.js +1 -1
  122. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  123. package/esm/utils/scrollPosition.js +1 -1
  124. package/esm/utils/string2regExp.js +1 -1
  125. package/esm/utils/stripNumber.js +1 -1
  126. package/esm/utils/style-helper.js +3 -3
  127. package/esm/utils/style.js +1 -1
  128. package/esm/utils/toNumber.js +1 -1
  129. package/esm/utils/tokenize.js +1 -1
  130. package/esm/utils/tpl-builtin.js +1 -1
  131. package/esm/utils/tpl-lodash.js +1 -1
  132. package/esm/utils/tpl.js +1 -1
  133. package/esm/utils/uncontrollable.js +1 -1
  134. package/esm/utils/validations.js +1 -1
  135. package/lib/Root.js +1 -1
  136. package/lib/RootRenderer.js +12 -2
  137. package/lib/SchemaRenderer.js +1 -1
  138. package/lib/Scoped.js +1 -1
  139. package/lib/StatusScoped.js +1 -1
  140. package/lib/WithRootStore.js +1 -1
  141. package/lib/WithStore.js +1 -1
  142. package/lib/actions/Action.js +1 -1
  143. package/lib/actions/AjaxAction.js +1 -1
  144. package/lib/actions/BreakAction.js +1 -1
  145. package/lib/actions/BroadcastAction.js +1 -1
  146. package/lib/actions/CmptAction.js +1 -1
  147. package/lib/actions/ContinueAction.js +1 -1
  148. package/lib/actions/CopyAction.js +1 -1
  149. package/lib/actions/CustomAction.js +1 -1
  150. package/lib/actions/DialogAction.js +1 -1
  151. package/lib/actions/DrawerAction.js +1 -1
  152. package/lib/actions/EmailAction.js +1 -1
  153. package/lib/actions/LinkAction.js +1 -1
  154. package/lib/actions/LoopAction.js +1 -1
  155. package/lib/actions/PageAction.js +1 -1
  156. package/lib/actions/ParallelAction.js +1 -1
  157. package/lib/actions/StatusAction.js +1 -1
  158. package/lib/actions/SwitchAction.js +1 -1
  159. package/lib/actions/ToastAction.js +1 -1
  160. package/lib/components/CustomStyle.js +9 -9
  161. package/lib/components/LazyComponent.js +1 -1
  162. package/lib/components/Overlay.js +1 -1
  163. package/lib/components/PopOver.js +1 -1
  164. package/lib/env.d.ts +11 -3
  165. package/lib/env.js +1 -1
  166. package/lib/envOverwrite.js +1 -1
  167. package/lib/factory.js +1 -3
  168. package/lib/index.js +6 -2
  169. package/lib/locale.js +1 -1
  170. package/lib/polyfills.js +1 -1
  171. package/lib/renderers/Form.js +3 -3
  172. package/lib/renderers/Item.d.ts +3 -7
  173. package/lib/renderers/Item.js +10 -16
  174. package/lib/renderers/Options.js +1 -1
  175. package/lib/renderers/Placeholder.js +1 -1
  176. package/lib/renderers/builtin.js +1 -1
  177. package/lib/renderers/register.js +1 -1
  178. package/lib/renderers/wrapControl.js +40 -21
  179. package/lib/store/app.js +5 -3
  180. package/lib/store/combo.d.ts +120 -1
  181. package/lib/store/combo.js +3 -2
  182. package/lib/store/crud.d.ts +13 -1
  183. package/lib/store/crud.js +94 -36
  184. package/lib/store/form.d.ts +50 -0
  185. package/lib/store/form.js +1 -1
  186. package/lib/store/formItem.d.ts +1 -0
  187. package/lib/store/formItem.js +15 -3
  188. package/lib/store/iRenderer.js +1 -1
  189. package/lib/store/index.js +1 -1
  190. package/lib/store/list.js +1 -1
  191. package/lib/store/manager.js +1 -1
  192. package/lib/store/modal.js +1 -1
  193. package/lib/store/node.js +1 -1
  194. package/lib/store/pagination.js +1 -1
  195. package/lib/store/root.js +1 -1
  196. package/lib/store/service.js +1 -1
  197. package/lib/store/status.js +1 -1
  198. package/lib/store/table.d.ts +418 -66
  199. package/lib/store/table.js +104 -70
  200. package/lib/store/table2.js +1 -1
  201. package/lib/theme.js +1 -1
  202. package/lib/types.d.ts +6 -0
  203. package/lib/utils/Animation.js +1 -1
  204. package/lib/utils/ColorScale.js +1 -1
  205. package/lib/utils/DataSchema.js +1 -1
  206. package/lib/utils/DataScope.js +1 -1
  207. package/lib/utils/RootClose.js +1 -1
  208. package/lib/utils/SimpleMap.js +1 -1
  209. package/lib/utils/api.js +2 -1
  210. package/lib/utils/arraySlice.js +1 -1
  211. package/lib/utils/attachmentAdpator.d.ts +2 -1
  212. package/lib/utils/attachmentAdpator.js +17 -11
  213. package/lib/utils/autobind.js +1 -1
  214. package/lib/utils/columnsSplit.js +1 -1
  215. package/lib/utils/dataMapping.js +1 -1
  216. package/lib/utils/date.js +1 -1
  217. package/lib/utils/debug.js +1 -1
  218. package/lib/utils/decodeEntity.js +1 -1
  219. package/lib/utils/dom.js +1 -1
  220. package/lib/utils/errors.js +1 -1
  221. package/lib/utils/escapeHtml.js +1 -1
  222. package/lib/utils/filter-schema.d.ts +8 -0
  223. package/lib/utils/filter-schema.js +22 -7
  224. package/lib/utils/filter.js +1 -1
  225. package/lib/utils/formatDuration.js +1 -1
  226. package/lib/utils/formula.js +1 -1
  227. package/lib/utils/getVariable.js +1 -1
  228. package/lib/utils/grammar.js +1 -1
  229. package/lib/utils/handleAction.js +2 -1
  230. package/lib/utils/helper.d.ts +13 -0
  231. package/lib/utils/helper.js +48 -3
  232. package/lib/utils/highlight.js +1 -1
  233. package/lib/utils/icon.js +1 -1
  234. package/lib/utils/image.js +1 -1
  235. package/lib/utils/isPureVariable.js +1 -1
  236. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  237. package/lib/utils/keyToPath.js +1 -1
  238. package/lib/utils/makeSorter.js +1 -1
  239. package/lib/utils/math.js +1 -1
  240. package/lib/utils/memoryParse.js +1 -1
  241. package/lib/utils/normalizeLink.js +1 -1
  242. package/lib/utils/normalizeOptions.js +1 -1
  243. package/lib/utils/object.js +1 -1
  244. package/lib/utils/offset.js +1 -1
  245. package/lib/utils/offsetParent.js +1 -1
  246. package/lib/utils/optionValueCompare.js +1 -1
  247. package/lib/utils/position.js +1 -1
  248. package/lib/utils/prettyBytes.js +1 -1
  249. package/lib/utils/renderer-event.js +1 -1
  250. package/lib/utils/replaceText.d.ts +1 -1
  251. package/lib/utils/replaceText.js +9 -4
  252. package/lib/utils/resize-sensor.js +1 -1
  253. package/lib/utils/resolveCondition.js +1 -1
  254. package/lib/utils/resolveVariable.js +1 -1
  255. package/lib/utils/resolveVariableAndFilter.js +1 -1
  256. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  257. package/lib/utils/scrollPosition.js +1 -1
  258. package/lib/utils/string2regExp.js +1 -1
  259. package/lib/utils/stripNumber.js +1 -1
  260. package/lib/utils/style-helper.js +3 -3
  261. package/lib/utils/style.js +1 -1
  262. package/lib/utils/toNumber.js +1 -1
  263. package/lib/utils/tokenize.js +1 -1
  264. package/lib/utils/tpl-builtin.js +1 -1
  265. package/lib/utils/tpl-lodash.js +1 -1
  266. package/lib/utils/tpl.js +1 -1
  267. package/lib/utils/uncontrollable.js +1 -1
  268. package/lib/utils/validations.js +1 -1
  269. package/package.json +4 -3
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.4.3
2
+ * amis-core v3.5.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -23,6 +23,7 @@ import { callStrFunction } from '../utils/api.js';
23
23
  import '../utils/ColorScale.js';
24
24
  import 'lodash/chunk';
25
25
  import 'amis-formula';
26
+ import { tokenize } from '../utils/tokenize.js';
26
27
  import 'lodash/isPlainObject';
27
28
  import { getVariable } from '../utils/getVariable.js';
28
29
  import '../utils/DataSchema.js';
@@ -64,7 +65,7 @@ function wrapControl(ComposedComponent) {
64
65
  trailing: true,
65
66
  leading: false
66
67
  });
67
- var _c = _this.props, form = _c.formStore, formItem = _c.formItem, rootStore = _c.rootStore, store = _c.store, onChange = _c.onChange, data = _c.data, inputGroupControl = _c.inputGroupControl, colIndex = _c.colIndex, rowIndex = _c.rowIndex, _d = _c.$schema, name = _d.name, id = _d.id, type = _d.type, required = _d.required, validations = _d.validations, validationErrors = _d.validationErrors, unique = _d.unique, value = _d.value, extraName = _d.extraName; _d.multiple; var delimiter = _d.delimiter, valueField = _d.valueField, labelField = _d.labelField, joinValues = _d.joinValues, extractValue = _d.extractValue, selectFirst = _d.selectFirst, autoFill = _d.autoFill, clearValueOnHidden = _d.clearValueOnHidden, validateApi = _d.validateApi, minLength = _d.minLength, maxLength = _d.maxLength, validateOnChange = _d.validateOnChange, label = _d.label;
68
+ var _c = _this.props, form = _c.formStore, formItem = _c.formItem, rootStore = _c.rootStore, store = _c.store, onChange = _c.onChange, data = _c.data, inputGroupControl = _c.inputGroupControl, colIndex = _c.colIndex, rowIndex = _c.rowIndex, _d = _c.$schema, id = _d.id, type = _d.type, required = _d.required, validations = _d.validations, validationErrors = _d.validationErrors, unique = _d.unique, value = _d.value, extraName = _d.extraName; _d.multiple; var delimiter = _d.delimiter, valueField = _d.valueField, labelField = _d.labelField, joinValues = _d.joinValues, extractValue = _d.extractValue, selectFirst = _d.selectFirst, autoFill = _d.autoFill, clearValueOnHidden = _d.clearValueOnHidden, validateApi = _d.validateApi, minLength = _d.minLength, maxLength = _d.maxLength, validateOnChange = _d.validateOnChange, label = _d.label;
68
69
  _this.getValue = _this.getValue.bind(_this);
69
70
  _this.setValue = _this.setValue.bind(_this);
70
71
  _this.handleChange = _this.handleChange.bind(_this);
@@ -73,6 +74,13 @@ function wrapControl(ComposedComponent) {
73
74
  _this.handleBlur = _this.handleBlur.bind(_this);
74
75
  _this.validate = _this.validate.bind(_this);
75
76
  _this.flushChange = _this.flushChange.bind(_this);
77
+ _this.renderChild = _this.renderChild.bind(_this);
78
+ var name = _this.props.$schema.name;
79
+ // 如果 name 是表达式
80
+ // 扩充 each 用法
81
+ if (isExpression(name)) {
82
+ name = tokenize(name, data);
83
+ }
76
84
  if (!name) {
77
85
  // 一般情况下这些表单项都是需要 name 的,提示一下
78
86
  if (typeof type === 'string' &&
@@ -162,7 +170,7 @@ function wrapControl(ComposedComponent) {
162
170
  }
163
171
  class_1.prototype.componentDidMount = function () {
164
172
  var _this = this;
165
- var _a = this.props; _a.store; _a.formStore; var _b = _a.$schema, name = _b.name, validate = _b.validate, addHook = _a.addHook;
173
+ var _a = this.props; _a.store; _a.formStore; var validate = _a.$schema.validate, addHook = _a.addHook;
166
174
  // 提交前先把之前的 lazyEmit 执行一下。
167
175
  this.hook3 = function () {
168
176
  _this.lazyEmitChange.flush();
@@ -173,7 +181,7 @@ function wrapControl(ComposedComponent) {
173
181
  var finalValidate_1 = promisify(validate.bind(this.control));
174
182
  this.hook2 = function () {
175
183
  formItem.clearError('control:valdiate');
176
- return finalValidate_1(_this.props.data, _this.getValue(), name).then(function (ret) {
184
+ return finalValidate_1(_this.props.data, _this.getValue(), formItem.name).then(function (ret) {
177
185
  if ((typeof ret === 'string' || Array.isArray(ret)) && ret) {
178
186
  formItem.addError(ret, 'control:valdiate');
179
187
  }
@@ -312,7 +320,7 @@ function wrapControl(ComposedComponent) {
312
320
  };
313
321
  class_1.prototype.controlRef = function (control) {
314
322
  var _this = this;
315
- var _a = this.props, addHook = _a.addHook, removeHook = _a.removeHook; _a.formStore; var name = _a.$schema.name;
323
+ var _a = this.props, addHook = _a.addHook, removeHook = _a.removeHook; _a.formStore;
316
324
  // 因为 control 有可能被 n 层 hoc 包裹。
317
325
  while (control && control.getWrappedInstance) {
318
326
  control = control.getWrappedInstance();
@@ -322,9 +330,8 @@ function wrapControl(ComposedComponent) {
322
330
  var validate_1 = promisify(control.validate.bind(control));
323
331
  this.hook = function () {
324
332
  formItem_1.clearError('component:valdiate');
325
- return validate_1(_this.props.data, _this.getValue(), name).then(function (ret) {
326
- if ((typeof ret === 'string' || Array.isArray(ret)) &&
327
- ret) {
333
+ return validate_1(_this.props.data, _this.getValue(), formItem_1.name).then(function (ret) {
334
+ if ((typeof ret === 'string' || Array.isArray(ret)) && ret) {
328
335
  formItem_1.setError(ret, 'component:valdiate');
329
336
  }
330
337
  });
@@ -432,7 +439,7 @@ function wrapControl(ComposedComponent) {
432
439
  };
433
440
  class_1.prototype.emitChange = function (submitOnChange) {
434
441
  if (submitOnChange === void 0) { submitOnChange = this.props.$schema.submitOnChange; }
435
- var _a = this.props, form = _a.formStore, onChange = _a.onChange, _b = _a.$schema, name = _b.name, id = _b.id, label = _b.label, type = _b.type, onFormItemChange = _b.onChange; _b.maxLength; _b.minLength; var data = _a.data, env = _a.env; _a.validateOnChange; _a.formSubmited;
442
+ var _a = this.props, form = _a.formStore, onChange = _a.onChange, _b = _a.$schema, id = _b.id, label = _b.label, type = _b.type, onFormItemChange = _b.onChange; _b.maxLength; _b.minLength; var data = _a.data, env = _a.env; _a.validateOnChange; _a.formSubmited;
436
443
  if (!this.model) {
437
444
  return;
438
445
  }
@@ -452,7 +459,7 @@ function wrapControl(ComposedComponent) {
452
459
  eventType: 'formItemChange',
453
460
  eventData: {
454
461
  id: id,
455
- name: name,
462
+ name: model.name,
456
463
  label: label,
457
464
  type: type,
458
465
  value: value
@@ -469,11 +476,11 @@ function wrapControl(ComposedComponent) {
469
476
  }
470
477
  if (model.extraName) {
471
478
  var values = model.splitExtraValue(value);
472
- onChange === null || onChange === void 0 ? void 0 : onChange(values[0], name);
479
+ onChange === null || onChange === void 0 ? void 0 : onChange(values[0], model.name);
473
480
  onChange === null || onChange === void 0 ? void 0 : onChange(values[1], model.extraName, submitOnChange === true);
474
481
  }
475
482
  else {
476
- onChange === null || onChange === void 0 ? void 0 : onChange(value, name, submitOnChange === true);
483
+ onChange === null || onChange === void 0 ? void 0 : onChange(value, model.name, submitOnChange === true);
477
484
  }
478
485
  this.checkValidate();
479
486
  };
@@ -489,17 +496,17 @@ function wrapControl(ComposedComponent) {
489
496
  return;
490
497
  }
491
498
  var model = this.model;
492
- var _a = this.props; _a.formStore; var name = _a.name, pipeOut = _a.$schema.pipeOut, onChange = _a.onChange, oldValue = _a.value, data = _a.data;
499
+ var _a = this.props; _a.formStore; var pipeOut = _a.$schema.pipeOut, onChange = _a.onChange, oldValue = _a.value, data = _a.data;
493
500
  if (pipeOut) {
494
501
  value = callStrFunction.call(this, pipeOut, ['value', 'oldValue', 'data'], value, oldValue, data);
495
502
  }
496
503
  if (model.extraName) {
497
504
  var values = model.splitExtraValue(value);
498
- onChange === null || onChange === void 0 ? void 0 : onChange(values[0], name, false, true);
505
+ onChange === null || onChange === void 0 ? void 0 : onChange(values[0], model.name, false, true);
499
506
  onChange === null || onChange === void 0 ? void 0 : onChange(values[1], model.extraName, false, true);
500
507
  }
501
508
  else {
502
- onChange === null || onChange === void 0 ? void 0 : onChange(value, name, false, true);
509
+ onChange === null || onChange === void 0 ? void 0 : onChange(value, model.name, false, true);
503
510
  }
504
511
  };
505
512
  class_1.prototype.getValue = function () {
@@ -513,8 +520,8 @@ function wrapControl(ComposedComponent) {
513
520
  // 兼容老版本用法,新版本直接用 onChange 就可以。
514
521
  class_1.prototype.setValue = function (value, key) {
515
522
  var _a;
516
- var _b = this.props, name = _b.$schema.name, onBulkChange = _b.onBulkChange;
517
- if (!key || key === name) {
523
+ var onBulkChange = this.props.onBulkChange;
524
+ if (!key || (this.model && key === this.model.name)) {
518
525
  this.handleChange(value);
519
526
  }
520
527
  else {
@@ -524,9 +531,17 @@ function wrapControl(ComposedComponent) {
524
531
  _a));
525
532
  }
526
533
  };
534
+ class_1.prototype.renderChild = function (region, node, subProps) {
535
+ if (subProps === void 0) { subProps = {}; }
536
+ var _a = this.props, render = _a.render, data = _a.data, store = _a.store;
537
+ var model = this.model;
538
+ return render(region, node, __assign({ data: model
539
+ ? model.getMergedData(data || (store === null || store === void 0 ? void 0 : store.data))
540
+ : data || (store === null || store === void 0 ? void 0 : store.data) }, subProps));
541
+ };
527
542
  class_1.prototype.render = function () {
528
- var _a, _b;
529
- var _c = this.props, controlWidth = _c.controlWidth, disabled = _c.disabled, formMode = _c.formMode, control = _c.$schema, store = _c.store, data = _c.data, invisible = _c.invisible, defaultStatic = _c.defaultStatic;
543
+ var _a, _b, _c;
544
+ var _d = this.props, controlWidth = _d.controlWidth, disabled = _d.disabled, formMode = _d.formMode, control = _d.$schema, store = _d.store, data = _d.data, invisible = _d.invisible, defaultStatic = _d.defaultStatic;
530
545
  if (invisible) {
531
546
  return null;
532
547
  }
@@ -539,7 +554,10 @@ function wrapControl(ComposedComponent) {
539
554
  formItem: this.model,
540
555
  formMode: control.mode || formMode,
541
556
  ref: this.controlRef,
542
- data: data || (store === null || store === void 0 ? void 0 : store.data),
557
+ data: model
558
+ ? model.getMergedData(data || (store === null || store === void 0 ? void 0 : store.data))
559
+ : data || (store === null || store === void 0 ? void 0 : store.data),
560
+ name: (_c = model === null || model === void 0 ? void 0 : model.name) !== null && _c !== void 0 ? _c : control.name,
543
561
  value: value,
544
562
  changeMotivation: model === null || model === void 0 ? void 0 : model.changeMotivation,
545
563
  defaultValue: control.value,
@@ -551,7 +569,8 @@ function wrapControl(ComposedComponent) {
551
569
  prinstine: model ? model.prinstine : undefined,
552
570
  setPrinstineValue: this.setPrinstineValue,
553
571
  onValidate: this.validate,
554
- onFlushChange: this.flushChange
572
+ onFlushChange: this.flushChange,
573
+ render: this.renderChild // 如果覆盖,那么用的就是 form 上的 render,这个里面用到的 data 是比较旧的。
555
574
  // !没了这个, tree 里的 options 渲染会出问题
556
575
  // todo 理论上不应该影响,待确认
557
576
  // _filteredOptions: this.model?.filteredOptions
package/esm/store/app.js CHANGED
@@ -1,11 +1,11 @@
1
1
  /**
2
- * amis-core v3.4.3
2
+ * amis-core v3.5.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
6
6
  import { __assign } from 'tslib';
7
7
  import { types } from 'mobx-state-tree';
8
- import { mapTree, findTree, isVisible, guid } from '../utils/helper.js';
8
+ import { mapTree, findTree, isVisible, guid, replaceUrlParams } from '../utils/helper.js';
9
9
  import { ServiceStore } from './service.js';
10
10
  import '../utils/api.js';
11
11
  import '../utils/ColorScale.js';
@@ -157,7 +157,9 @@ var AppStore = ServiceStore.named('AppStore')
157
157
  var bcn = [];
158
158
  findTree(self.pages, function (item, index, level, paths) {
159
159
  if (item.id === page.id) {
160
- bcn = paths.filter(function (item) { return item.path && item.label; });
160
+ bcn = paths
161
+ .filter(function (item) { return item.path && item.label; })
162
+ .map(function (item) { return (__assign(__assign({}, item), { path: replaceUrlParams(item.path, params) })); });
161
163
  if (env.showFullBreadcrumbPath) {
162
164
  bcn = paths.filter(function (item) { return item.label; });
163
165
  }
@@ -186,7 +188,7 @@ var AppStore = ServiceStore.named('AppStore')
186
188
  self.fetchSchema(page.schemaApi, self.activePage, { method: 'get' });
187
189
  }
188
190
  else if (page.redirect) {
189
- env.jumpTo(page.redirect);
191
+ env.jumpTo(page.redirect, undefined, self.data);
190
192
  return;
191
193
  }
192
194
  else if (page.rewrite) {