amis-core 6.13.0-beta.16 → 6.13.0-beta.18

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 (297) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.js +1 -1
  3. package/esm/SchemaRenderer.js +1 -1
  4. package/esm/Scoped.js +1 -1
  5. package/esm/StatusScoped.js +1 -1
  6. package/esm/StyleManager.js +1 -1
  7. package/esm/WithRootStore.js +1 -1
  8. package/esm/WithStore.js +1 -1
  9. package/esm/actions/Action.js +36 -6
  10. package/esm/actions/AjaxAction.js +1 -1
  11. package/esm/actions/BreakAction.js +1 -1
  12. package/esm/actions/BroadcastAction.js +1 -1
  13. package/esm/actions/CmptAction.js +40 -42
  14. package/esm/actions/ContinueAction.js +1 -1
  15. package/esm/actions/CopyAction.js +1 -1
  16. package/esm/actions/CustomAction.js +1 -1
  17. package/esm/actions/DialogAction.js +1 -1
  18. package/esm/actions/DrawerAction.js +1 -1
  19. package/esm/actions/EmailAction.js +1 -1
  20. package/esm/actions/EventAction.js +1 -1
  21. package/esm/actions/LinkAction.js +1 -1
  22. package/esm/actions/LoopAction.js +1 -1
  23. package/esm/actions/PageAction.js +1 -1
  24. package/esm/actions/ParallelAction.js +1 -1
  25. package/esm/actions/PrintAction.js +1 -1
  26. package/esm/actions/StatusAction.js +1 -1
  27. package/esm/actions/SwitchAction.js +1 -1
  28. package/esm/actions/ToastAction.js +1 -1
  29. package/esm/actions/WaitAction.js +1 -1
  30. package/esm/components/Animations.js +1 -1
  31. package/esm/components/CustomStyle.js +1 -1
  32. package/esm/components/ErrorBoundary.js +1 -1
  33. package/esm/components/LazyComponent.js +1 -1
  34. package/esm/components/Overlay.js +1 -1
  35. package/esm/components/PopOver.js +1 -1
  36. package/esm/env.js +1 -1
  37. package/esm/envOverwrite.js +1 -1
  38. package/esm/factory.js +1 -1
  39. package/esm/globalVar.js +1 -1
  40. package/esm/globalVarClientHandler.js +1 -1
  41. package/esm/globalVarDefaultValueHandler.js +1 -1
  42. package/esm/index.js +5 -5
  43. package/esm/locale.js +1 -1
  44. package/esm/polyfills.js +1 -1
  45. package/esm/renderers/Form.d.ts +3 -1
  46. package/esm/renderers/Form.js +49 -16
  47. package/esm/renderers/Item.js +1 -1
  48. package/esm/renderers/Options.js +1 -1
  49. package/esm/renderers/Placeholder.js +1 -1
  50. package/esm/renderers/builtin.js +1 -1
  51. package/esm/renderers/register.js +1 -1
  52. package/esm/renderers/wrapControl.d.ts +0 -1
  53. package/esm/renderers/wrapControl.js +21 -11
  54. package/esm/store/app.js +1 -1
  55. package/esm/store/combo.d.ts +126 -0
  56. package/esm/store/combo.js +24 -2
  57. package/esm/store/crud.js +1 -1
  58. package/esm/store/form.d.ts +50 -0
  59. package/esm/store/form.js +1 -1
  60. package/esm/store/formItem.d.ts +1 -0
  61. package/esm/store/formItem.js +3 -1
  62. package/esm/store/iRenderer.js +1 -1
  63. package/esm/store/index.js +1 -1
  64. package/esm/store/list.js +1 -1
  65. package/esm/store/manager.js +1 -1
  66. package/esm/store/modal.js +1 -1
  67. package/esm/store/node.js +1 -1
  68. package/esm/store/pagination.js +1 -1
  69. package/esm/store/root.js +10 -9
  70. package/esm/store/service.js +1 -1
  71. package/esm/store/status.js +1 -1
  72. package/esm/store/table.d.ts +100 -0
  73. package/esm/store/table.js +1 -1
  74. package/esm/store/table2.js +1 -1
  75. package/esm/theme.js +1 -1
  76. package/esm/utils/Animation.js +1 -1
  77. package/esm/utils/ColorScale.js +1 -1
  78. package/esm/utils/DataSchema.js +1 -1
  79. package/esm/utils/DataScope.js +1 -1
  80. package/esm/utils/RootClose.js +1 -1
  81. package/esm/utils/SimpleMap.js +1 -1
  82. package/esm/utils/animations.js +1 -1
  83. package/esm/utils/api.js +1 -1
  84. package/esm/utils/arraySlice.js +1 -1
  85. package/esm/utils/attachmentAdpator.js +1 -1
  86. package/esm/utils/autobind.js +1 -1
  87. package/esm/utils/browser.js +1 -1
  88. package/esm/utils/columnsSplit.js +1 -1
  89. package/esm/utils/concatData.js +1 -1
  90. package/esm/utils/dataMapping.js +1 -1
  91. package/esm/utils/date.js +4 -7
  92. package/esm/utils/debug.js +1 -1
  93. package/esm/utils/decodeEntity.js +1 -1
  94. package/esm/utils/dom.js +1 -1
  95. package/esm/utils/errors.js +1 -1
  96. package/esm/utils/escapeHtml.js +1 -1
  97. package/esm/utils/filter-schema.js +1 -1
  98. package/esm/utils/filter.js +1 -1
  99. package/esm/utils/formatDuration.js +1 -1
  100. package/esm/utils/formula.js +1 -1
  101. package/esm/utils/getPageId.js +1 -1
  102. package/esm/utils/getVariable.js +1 -1
  103. package/esm/utils/grammar.js +1 -1
  104. package/esm/utils/handleAction.js +1 -1
  105. package/esm/utils/helper.js +1 -1
  106. package/esm/utils/highlight.js +1 -1
  107. package/esm/utils/icon.js +1 -1
  108. package/esm/utils/image.js +1 -1
  109. package/esm/utils/index.js +2 -2
  110. package/esm/utils/isPureVariable.js +1 -1
  111. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  112. package/esm/utils/keyToPath.js +1 -1
  113. package/esm/utils/labelToString.js +1 -1
  114. package/esm/utils/loopTooMuch.js +1 -1
  115. package/esm/utils/makeSorter.js +1 -1
  116. package/esm/utils/math.js +1 -1
  117. package/esm/utils/memoryParse.js +1 -1
  118. package/esm/utils/normalizeLink.js +1 -1
  119. package/esm/utils/normalizeOptions.js +1 -1
  120. package/esm/utils/object.js +1 -1
  121. package/esm/utils/offset.js +1 -1
  122. package/esm/utils/offsetParent.js +1 -1
  123. package/esm/utils/optionValueCompare.js +1 -1
  124. package/esm/utils/position.js +1 -1
  125. package/esm/utils/prettyBytes.js +1 -1
  126. package/esm/utils/printElement.js +1 -1
  127. package/esm/utils/renderer-event.js +1 -1
  128. package/esm/utils/replaceText.js +1 -1
  129. package/esm/utils/resize-sensor.d.ts +3 -1
  130. package/esm/utils/resize-sensor.js +63 -29
  131. package/esm/utils/resolveCondition.js +1 -1
  132. package/esm/utils/resolveVariable.js +1 -1
  133. package/esm/utils/resolveVariableAndFilter.js +1 -1
  134. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  135. package/esm/utils/scrollPosition.js +1 -1
  136. package/esm/utils/string2regExp.js +1 -1
  137. package/esm/utils/stripNumber.js +1 -1
  138. package/esm/utils/style-helper.js +1 -1
  139. package/esm/utils/style.js +1 -1
  140. package/esm/utils/toNumber.js +1 -1
  141. package/esm/utils/tokenize.js +1 -1
  142. package/esm/utils/tpl-builtin.js +1 -1
  143. package/esm/utils/tpl-lodash.js +1 -1
  144. package/esm/utils/tpl.js +1 -1
  145. package/esm/utils/uncontrollable.js +1 -1
  146. package/esm/utils/validateId.js +1 -1
  147. package/esm/utils/validations.js +1 -1
  148. package/esm/utils/visitedCache.js +1 -1
  149. package/lib/Root.js +1 -1
  150. package/lib/RootRenderer.js +1 -1
  151. package/lib/SchemaRenderer.js +1 -1
  152. package/lib/Scoped.js +1 -1
  153. package/lib/StatusScoped.js +1 -1
  154. package/lib/StyleManager.js +1 -1
  155. package/lib/WithRootStore.js +1 -1
  156. package/lib/WithStore.js +1 -1
  157. package/lib/actions/Action.js +38 -5
  158. package/lib/actions/AjaxAction.js +1 -1
  159. package/lib/actions/BreakAction.js +1 -1
  160. package/lib/actions/BroadcastAction.js +1 -1
  161. package/lib/actions/CmptAction.js +40 -42
  162. package/lib/actions/ContinueAction.js +1 -1
  163. package/lib/actions/CopyAction.js +1 -1
  164. package/lib/actions/CustomAction.js +1 -1
  165. package/lib/actions/DialogAction.js +1 -1
  166. package/lib/actions/DrawerAction.js +1 -1
  167. package/lib/actions/EmailAction.js +1 -1
  168. package/lib/actions/EventAction.js +1 -1
  169. package/lib/actions/LinkAction.js +1 -1
  170. package/lib/actions/LoopAction.js +1 -1
  171. package/lib/actions/PageAction.js +1 -1
  172. package/lib/actions/ParallelAction.js +1 -1
  173. package/lib/actions/PrintAction.js +1 -1
  174. package/lib/actions/StatusAction.js +1 -1
  175. package/lib/actions/SwitchAction.js +1 -1
  176. package/lib/actions/ToastAction.js +1 -1
  177. package/lib/actions/WaitAction.js +1 -1
  178. package/lib/components/Animations.js +1 -1
  179. package/lib/components/CustomStyle.js +1 -1
  180. package/lib/components/ErrorBoundary.js +1 -1
  181. package/lib/components/LazyComponent.js +1 -1
  182. package/lib/components/Overlay.js +1 -1
  183. package/lib/components/PopOver.js +1 -1
  184. package/lib/env.js +1 -1
  185. package/lib/envOverwrite.js +1 -1
  186. package/lib/factory.js +1 -1
  187. package/lib/globalVar.js +1 -1
  188. package/lib/globalVarClientHandler.js +1 -1
  189. package/lib/globalVarDefaultValueHandler.js +1 -1
  190. package/lib/index.js +6 -4
  191. package/lib/locale.js +1 -1
  192. package/lib/polyfills.js +1 -1
  193. package/lib/renderers/Form.d.ts +3 -1
  194. package/lib/renderers/Form.js +48 -15
  195. package/lib/renderers/Item.js +1 -1
  196. package/lib/renderers/Options.js +1 -1
  197. package/lib/renderers/Placeholder.js +1 -1
  198. package/lib/renderers/builtin.js +1 -1
  199. package/lib/renderers/register.js +1 -1
  200. package/lib/renderers/wrapControl.d.ts +0 -1
  201. package/lib/renderers/wrapControl.js +21 -11
  202. package/lib/store/app.js +1 -1
  203. package/lib/store/combo.d.ts +126 -0
  204. package/lib/store/combo.js +24 -2
  205. package/lib/store/crud.js +1 -1
  206. package/lib/store/form.d.ts +50 -0
  207. package/lib/store/form.js +1 -1
  208. package/lib/store/formItem.d.ts +1 -0
  209. package/lib/store/formItem.js +3 -1
  210. package/lib/store/iRenderer.js +1 -1
  211. package/lib/store/index.js +1 -1
  212. package/lib/store/list.js +1 -1
  213. package/lib/store/manager.js +1 -1
  214. package/lib/store/modal.js +1 -1
  215. package/lib/store/node.js +1 -1
  216. package/lib/store/pagination.js +1 -1
  217. package/lib/store/root.js +9 -8
  218. package/lib/store/service.js +1 -1
  219. package/lib/store/status.js +1 -1
  220. package/lib/store/table.d.ts +100 -0
  221. package/lib/store/table.js +1 -1
  222. package/lib/store/table2.js +1 -1
  223. package/lib/theme.js +1 -1
  224. package/lib/utils/Animation.js +1 -1
  225. package/lib/utils/ColorScale.js +1 -1
  226. package/lib/utils/DataSchema.js +1 -1
  227. package/lib/utils/DataScope.js +1 -1
  228. package/lib/utils/RootClose.js +1 -1
  229. package/lib/utils/SimpleMap.js +1 -1
  230. package/lib/utils/animations.js +1 -1
  231. package/lib/utils/api.js +1 -1
  232. package/lib/utils/arraySlice.js +1 -1
  233. package/lib/utils/attachmentAdpator.js +1 -1
  234. package/lib/utils/autobind.js +1 -1
  235. package/lib/utils/browser.js +1 -1
  236. package/lib/utils/columnsSplit.js +1 -1
  237. package/lib/utils/concatData.js +1 -1
  238. package/lib/utils/dataMapping.js +1 -1
  239. package/lib/utils/date.js +4 -7
  240. package/lib/utils/debug.js +1 -1
  241. package/lib/utils/decodeEntity.js +1 -1
  242. package/lib/utils/dom.js +1 -1
  243. package/lib/utils/errors.js +1 -1
  244. package/lib/utils/escapeHtml.js +1 -1
  245. package/lib/utils/filter-schema.js +1 -1
  246. package/lib/utils/filter.js +1 -1
  247. package/lib/utils/formatDuration.js +1 -1
  248. package/lib/utils/formula.js +1 -1
  249. package/lib/utils/getPageId.js +1 -1
  250. package/lib/utils/getVariable.js +1 -1
  251. package/lib/utils/grammar.js +1 -1
  252. package/lib/utils/handleAction.js +1 -1
  253. package/lib/utils/helper.js +1 -1
  254. package/lib/utils/highlight.js +1 -1
  255. package/lib/utils/icon.js +1 -1
  256. package/lib/utils/image.js +1 -1
  257. package/lib/utils/index.js +3 -1
  258. package/lib/utils/isPureVariable.js +1 -1
  259. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  260. package/lib/utils/keyToPath.js +1 -1
  261. package/lib/utils/labelToString.js +1 -1
  262. package/lib/utils/loopTooMuch.js +1 -1
  263. package/lib/utils/makeSorter.js +1 -1
  264. package/lib/utils/math.js +1 -1
  265. package/lib/utils/memoryParse.js +1 -1
  266. package/lib/utils/normalizeLink.js +1 -1
  267. package/lib/utils/normalizeOptions.js +1 -1
  268. package/lib/utils/object.js +1 -1
  269. package/lib/utils/offset.js +1 -1
  270. package/lib/utils/offsetParent.js +1 -1
  271. package/lib/utils/optionValueCompare.js +1 -1
  272. package/lib/utils/position.js +1 -1
  273. package/lib/utils/prettyBytes.js +1 -1
  274. package/lib/utils/printElement.js +1 -1
  275. package/lib/utils/renderer-event.js +1 -1
  276. package/lib/utils/replaceText.js +1 -1
  277. package/lib/utils/resize-sensor.d.ts +3 -1
  278. package/lib/utils/resize-sensor.js +64 -28
  279. package/lib/utils/resolveCondition.js +1 -1
  280. package/lib/utils/resolveVariable.js +1 -1
  281. package/lib/utils/resolveVariableAndFilter.js +1 -1
  282. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  283. package/lib/utils/scrollPosition.js +1 -1
  284. package/lib/utils/string2regExp.js +1 -1
  285. package/lib/utils/stripNumber.js +1 -1
  286. package/lib/utils/style-helper.js +1 -1
  287. package/lib/utils/style.js +1 -1
  288. package/lib/utils/toNumber.js +1 -1
  289. package/lib/utils/tokenize.js +1 -1
  290. package/lib/utils/tpl-builtin.js +1 -1
  291. package/lib/utils/tpl-lodash.js +1 -1
  292. package/lib/utils/tpl.js +1 -1
  293. package/lib/utils/uncontrollable.js +1 -1
  294. package/lib/utils/validateId.js +1 -1
  295. package/lib/utils/validations.js +1 -1
  296. package/lib/utils/visitedCache.js +1 -1
  297. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.16
2
+ * amis-core v6.13.0-beta.18
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -23,7 +23,7 @@ import { reaction } from 'mobx';
23
23
  import groupBy from 'lodash/groupBy';
24
24
  import isEqual from 'lodash/isEqual';
25
25
  import CustomStyle from '../components/CustomStyle.js';
26
- import { isObject, createObject, cloneObject, injectObjectChain } from '../utils/object.js';
26
+ import { isObject, injectObjectChain, createObject, cloneObject } from '../utils/object.js';
27
27
  import { setThemeClassName } from '../utils/style-helper.js';
28
28
  import { dataMapping } from '../utils/dataMapping.js';
29
29
 
@@ -38,6 +38,7 @@ var Form = /** @class */ (function (_super) {
38
38
  trailing: true,
39
39
  leading: false
40
40
  });
41
+ _this.formRef = React.createRef();
41
42
  // 如果开启了 lazyChange,需要一个 flush 方法把队列中值应用上。
42
43
  _this.flushing = false;
43
44
  _this.emittedData = null;
@@ -64,7 +65,7 @@ var Form = /** @class */ (function (_super) {
64
65
  _this.dispatchInited = _this.dispatchInited.bind(_this);
65
66
  _this.blockRouting = _this.blockRouting.bind(_this);
66
67
  _this.beforePageUnload = _this.beforePageUnload.bind(_this);
67
- _this.formItemDispatchEvent = _this.formItemDispatchEvent.bind(_this);
68
+ _this.dispatchEvent = _this.dispatchEvent.bind(_this);
68
69
  _this.flush = _this.flush.bind(_this);
69
70
  var store = props.store, canAccessSuperData = props.canAccessSuperData, persistData = props.persistData, simpleMode = props.simpleMode, formLazyChange = props.formLazyChange;
70
71
  store.setCanAccessSuperData(canAccessSuperData !== false);
@@ -162,6 +163,11 @@ var Form = /** @class */ (function (_super) {
162
163
  }
163
164
  })
164
165
  .then(this.initInterval)
166
+ .then(function () {
167
+ return _this.props.dispatchEvent('initApiFinished', injectObjectChain(store.data, {
168
+ __trigger: 'init'
169
+ }));
170
+ })
165
171
  .then(this.onInit);
166
172
  }
167
173
  else {
@@ -330,7 +336,7 @@ var Form = /** @class */ (function (_super) {
330
336
  _c[initFinishedField || 'finished'] = false,
331
337
  _c));
332
338
  result = undefined;
333
- if (!isEffectiveApi(initApi, store.data)) return [3 /*break*/, 2];
339
+ if (!isEffectiveApi(initApi, store.data)) return [3 /*break*/, 4];
334
340
  return [4 /*yield*/, store.fetchInitData(initApi, store.data, {
335
341
  successMessage: fetchSuccess,
336
342
  errorMessage: fetchFailed,
@@ -346,15 +352,20 @@ var Form = /** @class */ (function (_super) {
346
352
  })];
347
353
  case 1:
348
354
  result = _d.sent();
349
- if (result === null || result === void 0 ? void 0 : result.ok) {
350
- this.initInterval(result);
351
- store.reset(undefined, false);
352
- }
353
- return [3 /*break*/, 3];
354
- case 2:
355
+ if (!(result === null || result === void 0 ? void 0 : result.ok)) return [3 /*break*/, 3];
356
+ this.initInterval(result);
355
357
  store.reset(undefined, false);
358
+ return [4 /*yield*/, this.props.dispatchEvent('initApiFinished', injectObjectChain(store.data, {
359
+ __trigger: 'reload'
360
+ }))];
361
+ case 2:
362
+ _d.sent();
356
363
  _d.label = 3;
357
- case 3:
364
+ case 3: return [3 /*break*/, 5];
365
+ case 4:
366
+ store.reset(undefined, false);
367
+ _d.label = 5;
368
+ case 5:
358
369
  // 派发初始化接口请求完成事件
359
370
  this.dispatchInited(result);
360
371
  return [2 /*return*/, store.data];
@@ -556,9 +567,31 @@ var Form = /** @class */ (function (_super) {
556
567
  store.setLocalPersistData(persistDataKeys);
557
568
  }
558
569
  };
559
- Form.prototype.formItemDispatchEvent = function (type, data) {
560
- var dispatchEvent = this.props.dispatchEvent;
561
- return dispatchEvent(type, data);
570
+ Form.prototype.dispatchEvent = function (e, data, renderer, // for didmount
571
+ scoped) {
572
+ var _a, _b;
573
+ // 把这两个事件转到 form 组件上,让 form 组件来处理
574
+ if ((e === 'formItemValidateSucc' || e === 'formItemValidateError') &&
575
+ (renderer === null || renderer === void 0 ? void 0 : renderer.props.type) !== 'form') {
576
+ if (e === 'formItemValidateError') {
577
+ // 当表单校验错误是,优先调用组件的 focus
578
+ // 如果没有 focus 方法,则滚动到错误信息的位置
579
+ if (typeof (renderer === null || renderer === void 0 ? void 0 : renderer.focus) === 'function') {
580
+ renderer.focus();
581
+ }
582
+ else {
583
+ (_b = (_a = this.formRef.current) === null || _a === void 0 ? void 0 : _a.querySelector('.cxd-Form-feedback')) === null || _b === void 0 ? void 0 : _b.scrollIntoView({
584
+ behavior: 'smooth',
585
+ block: 'center'
586
+ });
587
+ }
588
+ }
589
+ // 如果事件是 formItemValidateSucc 或者 formItemValidateError 转成当前组件触发的,
590
+ // 所以 onEvent 是配置在 form 层的而不是表单项层
591
+ renderer = undefined;
592
+ scoped = undefined;
593
+ }
594
+ return this.props.dispatchEvent(e, data, renderer, scoped);
562
595
  };
563
596
  Form.prototype.emitChange = function (submit, emitedFromWatch) {
564
597
  if (emitedFromWatch === void 0) { emitedFromWatch = false; }
@@ -1235,7 +1268,7 @@ var Form = /** @class */ (function (_super) {
1235
1268
  addHook: this.addHook,
1236
1269
  removeHook: this.removeHook,
1237
1270
  renderFormItems: this.renderFormItems,
1238
- formItemDispatchEvent: this.formItemDispatchEvent,
1271
+ dispatchEvent: this.dispatchEvent,
1239
1272
  formPristine: form.pristine,
1240
1273
  onFlushForm: this.flush
1241
1274
  // value: (control as any)?.name
@@ -1258,7 +1291,7 @@ var Form = /** @class */ (function (_super) {
1258
1291
  var padDom = repeatCount(columnCount && Array.isArray(body)
1259
1292
  ? (columnCount - (body.length % columnCount)) % columnCount
1260
1293
  : 0, function (index) { return (React.createElement("div", { className: cx("Form-item Form-item--".concat(mode, " is-placeholder")), key: index })); });
1261
- return (React.createElement(WrapperComponent, { className: cx("Form", "Form--".concat(mode || 'normal'), columnCount ? "Form--column Form--column-".concat(columnCount) : null, staticClassName && isStatic ? staticClassName : className, isStatic ? 'Form--isStatic' : null, setThemeClassName(__assign(__assign({}, this.props), { name: [
1294
+ return (React.createElement(WrapperComponent, { ref: this.formRef, className: cx("Form", "Form--".concat(mode || 'normal'), columnCount ? "Form--column Form--column-".concat(columnCount) : null, staticClassName && isStatic ? staticClassName : className, isStatic ? 'Form--isStatic' : null, setThemeClassName(__assign(__assign({}, this.props), { name: [
1262
1295
  'formControlClassName',
1263
1296
  'itemClassName',
1264
1297
  'staticClassName',
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.16
2
+ * amis-core v6.13.0-beta.18
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.16
2
+ * amis-core v6.13.0-beta.18
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.16
2
+ * amis-core v6.13.0-beta.18
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.16
2
+ * amis-core v6.13.0-beta.18
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.16
2
+ * amis-core v6.13.0-beta.18
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -42,7 +42,6 @@ export interface ControlOutterProps extends RendererProps {
42
42
  };
43
43
  store?: IIRendererStore;
44
44
  onChange?: (value: any, name: string, submit?: boolean, changePristine?: boolean, changeReason?: DataChangeReason) => void;
45
- formItemDispatchEvent: (type: string, data: any) => void;
46
45
  formItemRef?: (control: any) => void;
47
46
  }
48
47
  export interface ControlProps {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.16
2
+ * amis-core v6.13.0-beta.18
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -19,8 +19,10 @@ import hoistNonReactStatic from 'hoist-non-react-statics';
19
19
  import { withRootStore } from '../WithRootStore.js';
20
20
  import { TableStore } from '../store/table.js';
21
21
  import pick from 'lodash/pick';
22
+ import { reaction } from 'mobx';
22
23
  import '../utils/index.js';
23
24
  import { tokenize } from '../utils/tokenize.js';
25
+ import { injectObjectChain } from '../utils/object.js';
24
26
  import { getVariable } from '../utils/getVariable.js';
25
27
  import { callStrFunction } from '../utils/api.js';
26
28
 
@@ -125,6 +127,17 @@ function wrapControl(config, ComposedComponent) {
125
127
  onChange(model.tmpValue, model.name, false, true);
126
128
  }
127
129
  }
130
+ _this.reaction = reaction(function () { return model.validatedAt; }, function (validatedAt) {
131
+ var _a, _b, _c, _d;
132
+ (_b = (_a = _this.props).dispatchEvent) === null || _b === void 0 ? void 0 : _b.call(_a, model.valid
133
+ ? 'formItemValidateSucc'
134
+ : 'formItemValidateError', injectObjectChain((_d = (_c = _this.props.formStore) === null || _c === void 0 ? void 0 : _c.data) !== null && _d !== void 0 ? _d : _this.props.data, {
135
+ __errors: model.errors,
136
+ __formName: model.name,
137
+ __formValue: model.tmpValue,
138
+ __formControl: _this.control
139
+ }));
140
+ });
128
141
  return _this;
129
142
  }
130
143
  class_1.prototype.componentDidMount = function () {
@@ -379,15 +392,14 @@ function wrapControl(config, ComposedComponent) {
379
392
  }
380
393
  };
381
394
  class_1.prototype.validate = function () {
382
- var _a, _b;
383
395
  return __awaiter(this, void 0, void 0, function () {
384
- var _c, form, data, formItemDispatchEvent, result, combo, group, validPromises, valid;
385
- return __generator(this, function (_d) {
386
- switch (_d.label) {
396
+ var _a, form, data, dispatchEvent, result, combo, group, validPromises, valid;
397
+ return __generator(this, function (_b) {
398
+ switch (_b.label) {
387
399
  case 0:
388
400
  if (!this.model)
389
401
  return [2 /*return*/];
390
- _c = this.props, form = _c.formStore, data = _c.data, formItemDispatchEvent = _c.formItemDispatchEvent;
402
+ _a = this.props, form = _a.formStore, data = _a.data, dispatchEvent = _a.dispatchEvent;
391
403
  if (!(this.model.unique &&
392
404
  (form === null || form === void 0 ? void 0 : form.parentStore) &&
393
405
  form.parentStore.storeType === ComboStore.name)) return [3 /*break*/, 2];
@@ -398,16 +410,14 @@ function wrapControl(config, ComposedComponent) {
398
410
  });
399
411
  return [4 /*yield*/, Promise.all(validPromises)];
400
412
  case 1:
401
- result = _d.sent();
413
+ result = _b.sent();
402
414
  return [3 /*break*/, 4];
403
415
  case 2: return [4 /*yield*/, this.model.validate(data)];
404
416
  case 3:
405
- result = [_d.sent()];
406
- _d.label = 4;
417
+ result = [_b.sent()];
418
+ _b.label = 4;
407
419
  case 4:
408
420
  valid = !result.some(function (item) { return item === false; });
409
- (_a = (formItemDispatchEvent !== null && formItemDispatchEvent !== void 0 ? formItemDispatchEvent : this.props.dispatchEvent)) === null || _a === void 0 ? void 0 : _a(valid ? 'formItemValidateSucc' : 'formItemValidateError', (_b = form === null || form === void 0 ? void 0 : form.data) !== null && _b !== void 0 ? _b : this.props.data // form里的一定是最新的数据
410
- );
411
421
  return [2 /*return*/, valid];
412
422
  }
413
423
  });
package/esm/store/app.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.16
2
+ * amis-core v6.13.0-beta.18
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5