amis-core 6.8.0 → 6.9.0-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.
Files changed (332) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.d.ts +1 -1
  3. package/esm/RootRenderer.js +24 -2
  4. package/esm/SchemaRenderer.d.ts +13 -0
  5. package/esm/SchemaRenderer.js +104 -20
  6. package/esm/Scoped.d.ts +1 -1
  7. package/esm/Scoped.js +1 -1
  8. package/esm/StatusScoped.js +1 -1
  9. package/esm/StyleManager.d.ts +18 -0
  10. package/esm/StyleManager.js +55 -0
  11. package/esm/WithRootStore.js +1 -1
  12. package/esm/WithStore.js +10 -10
  13. package/esm/actions/Action.js +1 -1
  14. package/esm/actions/AjaxAction.js +1 -1
  15. package/esm/actions/BreakAction.js +1 -1
  16. package/esm/actions/BroadcastAction.js +1 -1
  17. package/esm/actions/CmptAction.js +57 -50
  18. package/esm/actions/ContinueAction.js +1 -1
  19. package/esm/actions/CopyAction.js +1 -1
  20. package/esm/actions/CustomAction.js +1 -1
  21. package/esm/actions/DialogAction.js +1 -1
  22. package/esm/actions/DrawerAction.js +1 -1
  23. package/esm/actions/EmailAction.js +1 -1
  24. package/esm/actions/EventAction.js +1 -1
  25. package/esm/actions/LinkAction.js +1 -1
  26. package/esm/actions/LoopAction.js +1 -1
  27. package/esm/actions/PageAction.js +1 -1
  28. package/esm/actions/ParallelAction.js +1 -1
  29. package/esm/actions/PrintAction.js +1 -1
  30. package/esm/actions/StatusAction.js +1 -1
  31. package/esm/actions/SwitchAction.js +1 -1
  32. package/esm/actions/ToastAction.js +3 -3
  33. package/esm/actions/WaitAction.js +1 -1
  34. package/esm/components/CustomStyle.js +1 -1
  35. package/esm/components/ErrorBoundary.js +1 -1
  36. package/esm/components/LazyComponent.d.ts +40 -2
  37. package/esm/components/LazyComponent.js +13 -7
  38. package/esm/components/Overlay.js +1 -1
  39. package/esm/components/PopOver.d.ts +1 -1
  40. package/esm/components/PopOver.js +1 -1
  41. package/esm/env.d.ts +0 -4
  42. package/esm/env.js +1 -1
  43. package/esm/envOverwrite.js +1 -1
  44. package/esm/factory.d.ts +19 -2
  45. package/esm/factory.js +205 -45
  46. package/esm/index.d.ts +6 -4
  47. package/esm/index.js +12 -6
  48. package/esm/locale.d.ts +1 -1
  49. package/esm/locale.js +13 -2
  50. package/esm/polyfills.js +1 -1
  51. package/esm/renderers/Form.d.ts +5 -5
  52. package/esm/renderers/Form.js +27 -14
  53. package/esm/renderers/Item.d.ts +19 -13
  54. package/esm/renderers/Item.js +13 -14
  55. package/esm/renderers/Options.d.ts +3 -3
  56. package/esm/renderers/Options.js +42 -19
  57. package/esm/renderers/Placeholder.js +1 -1
  58. package/esm/renderers/builtin.js +1 -1
  59. package/esm/renderers/register.js +1 -1
  60. package/esm/renderers/wrapControl.d.ts +3 -3
  61. package/esm/renderers/wrapControl.js +24 -10
  62. package/esm/store/app.d.ts +3 -3
  63. package/esm/store/app.js +1 -1
  64. package/esm/store/combo.d.ts +17 -15
  65. package/esm/store/combo.js +1 -1
  66. package/esm/store/crud.d.ts +3 -3
  67. package/esm/store/crud.js +1 -1
  68. package/esm/store/form.d.ts +8 -7
  69. package/esm/store/form.js +28 -6
  70. package/esm/store/formItem.js +3 -3
  71. package/esm/store/iRenderer.d.ts +4 -3
  72. package/esm/store/iRenderer.js +28 -4
  73. package/esm/store/index.d.ts +1 -0
  74. package/esm/store/index.js +3 -2
  75. package/esm/store/list.d.ts +3 -3
  76. package/esm/store/list.js +1 -1
  77. package/esm/store/manager.js +1 -1
  78. package/esm/store/modal.d.ts +3 -3
  79. package/esm/store/modal.js +1 -1
  80. package/esm/store/node.js +1 -1
  81. package/esm/store/pagination.d.ts +3 -3
  82. package/esm/store/pagination.js +1 -1
  83. package/esm/store/root.d.ts +5 -3
  84. package/esm/store/root.js +45 -21
  85. package/esm/store/service.d.ts +3 -3
  86. package/esm/store/service.js +10 -4
  87. package/esm/store/status.js +1 -1
  88. package/esm/store/table.d.ts +17 -15
  89. package/esm/store/table.js +1 -1
  90. package/esm/store/table2.d.ts +3 -3
  91. package/esm/store/table2.js +1 -1
  92. package/esm/theme.d.ts +1 -1
  93. package/esm/theme.js +13 -2
  94. package/esm/types.d.ts +21 -2
  95. package/esm/utils/Animation.js +1 -1
  96. package/esm/utils/ColorScale.js +1 -1
  97. package/esm/utils/DataSchema.js +1 -1
  98. package/esm/utils/DataScope.js +1 -1
  99. package/esm/utils/RootClose.js +1 -1
  100. package/esm/utils/SimpleMap.js +1 -1
  101. package/esm/utils/animations.d.ts +19 -0
  102. package/esm/utils/animations.js +58 -0
  103. package/esm/utils/api.d.ts +21 -1
  104. package/esm/utils/api.js +138 -41
  105. package/esm/utils/arraySlice.js +1 -1
  106. package/esm/utils/attachmentAdpator.js +1 -1
  107. package/esm/utils/autobind.js +1 -1
  108. package/esm/utils/browser.js +1 -1
  109. package/esm/utils/columnsSplit.js +1 -1
  110. package/esm/utils/concatData.js +1 -1
  111. package/esm/utils/dataMapping.js +1 -1
  112. package/esm/utils/date.js +1 -1
  113. package/esm/utils/debug.js +1 -1
  114. package/esm/utils/decodeEntity.js +1 -1
  115. package/esm/utils/dom.js +1 -1
  116. package/esm/utils/errors.js +1 -1
  117. package/esm/utils/escapeHtml.js +1 -1
  118. package/esm/utils/filter-schema.js +1 -1
  119. package/esm/utils/filter.js +1 -1
  120. package/esm/utils/formatDuration.js +1 -1
  121. package/esm/utils/formula.js +1 -1
  122. package/esm/utils/getVariable.js +1 -1
  123. package/esm/utils/grammar.js +1 -1
  124. package/esm/utils/handleAction.js +1 -1
  125. package/esm/utils/helper.d.ts +1 -0
  126. package/esm/utils/helper.js +15 -2
  127. package/esm/utils/highlight.js +1 -1
  128. package/esm/utils/icon.js +1 -1
  129. package/esm/utils/image.js +1 -1
  130. package/esm/utils/isPureVariable.js +1 -1
  131. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  132. package/esm/utils/keyToPath.js +1 -1
  133. package/esm/utils/labelToString.js +4 -1
  134. package/esm/utils/makeSorter.js +1 -1
  135. package/esm/utils/math.js +1 -1
  136. package/esm/utils/memoryParse.js +1 -1
  137. package/esm/utils/normalizeLink.js +1 -1
  138. package/esm/utils/normalizeOptions.js +1 -1
  139. package/esm/utils/object.js +1 -1
  140. package/esm/utils/offset.js +1 -1
  141. package/esm/utils/offsetParent.js +1 -1
  142. package/esm/utils/optionValueCompare.js +1 -1
  143. package/esm/utils/position.js +1 -1
  144. package/esm/utils/prettyBytes.js +1 -1
  145. package/esm/utils/printElement.js +1 -1
  146. package/esm/utils/renderer-event.js +1 -1
  147. package/esm/utils/replaceText.js +1 -1
  148. package/esm/utils/resize-sensor.js +1 -1
  149. package/esm/utils/resolveCondition.js +1 -1
  150. package/esm/utils/resolveVariable.js +1 -1
  151. package/esm/utils/resolveVariableAndFilter.js +1 -1
  152. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  153. package/esm/utils/scrollPosition.js +1 -1
  154. package/esm/utils/string2regExp.js +1 -1
  155. package/esm/utils/stripNumber.js +1 -1
  156. package/esm/utils/style-helper.js +1 -1
  157. package/esm/utils/style.js +1 -1
  158. package/esm/utils/toNumber.js +1 -1
  159. package/esm/utils/tokenize.js +1 -1
  160. package/esm/utils/tpl-builtin.js +1 -1
  161. package/esm/utils/tpl-lodash.js +1 -1
  162. package/esm/utils/tpl.js +1 -1
  163. package/esm/utils/uncontrollable.js +1 -1
  164. package/esm/utils/validateId.js +1 -1
  165. package/esm/utils/validations.js +13 -10
  166. package/esm/utils/visitedCache.js +1 -1
  167. package/lib/Root.js +1 -1
  168. package/lib/RootRenderer.js +23 -1
  169. package/lib/SchemaRenderer.d.ts +13 -0
  170. package/lib/SchemaRenderer.js +101 -17
  171. package/lib/Scoped.d.ts +1 -1
  172. package/lib/Scoped.js +1 -1
  173. package/lib/StatusScoped.js +1 -1
  174. package/lib/StyleManager.d.ts +18 -0
  175. package/lib/StyleManager.js +63 -0
  176. package/lib/WithRootStore.js +1 -1
  177. package/lib/WithStore.js +10 -10
  178. package/lib/actions/Action.js +1 -1
  179. package/lib/actions/AjaxAction.js +1 -1
  180. package/lib/actions/BreakAction.js +1 -1
  181. package/lib/actions/BroadcastAction.js +1 -1
  182. package/lib/actions/CmptAction.js +56 -49
  183. package/lib/actions/ContinueAction.js +1 -1
  184. package/lib/actions/CopyAction.js +1 -1
  185. package/lib/actions/CustomAction.js +1 -1
  186. package/lib/actions/DialogAction.js +1 -1
  187. package/lib/actions/DrawerAction.js +1 -1
  188. package/lib/actions/EmailAction.js +1 -1
  189. package/lib/actions/EventAction.js +1 -1
  190. package/lib/actions/LinkAction.js +1 -1
  191. package/lib/actions/LoopAction.js +1 -1
  192. package/lib/actions/PageAction.js +1 -1
  193. package/lib/actions/ParallelAction.js +1 -1
  194. package/lib/actions/PrintAction.js +1 -1
  195. package/lib/actions/StatusAction.js +1 -1
  196. package/lib/actions/SwitchAction.js +1 -1
  197. package/lib/actions/ToastAction.js +2 -2
  198. package/lib/actions/WaitAction.js +1 -1
  199. package/lib/components/CustomStyle.js +1 -1
  200. package/lib/components/ErrorBoundary.js +1 -1
  201. package/lib/components/LazyComponent.d.ts +40 -2
  202. package/lib/components/LazyComponent.js +14 -7
  203. package/lib/components/Overlay.js +1 -1
  204. package/lib/components/PopOver.d.ts +1 -1
  205. package/lib/components/PopOver.js +1 -1
  206. package/lib/env.d.ts +0 -4
  207. package/lib/env.js +1 -1
  208. package/lib/envOverwrite.js +1 -1
  209. package/lib/factory.d.ts +19 -2
  210. package/lib/factory.js +211 -44
  211. package/lib/index.d.ts +6 -4
  212. package/lib/index.js +21 -2
  213. package/lib/locale.d.ts +1 -1
  214. package/lib/locale.js +13 -2
  215. package/lib/polyfills.js +1 -1
  216. package/lib/renderers/Form.d.ts +5 -5
  217. package/lib/renderers/Form.js +25 -12
  218. package/lib/renderers/Item.d.ts +19 -13
  219. package/lib/renderers/Item.js +12 -13
  220. package/lib/renderers/Options.d.ts +3 -3
  221. package/lib/renderers/Options.js +42 -19
  222. package/lib/renderers/Placeholder.js +1 -1
  223. package/lib/renderers/builtin.js +1 -1
  224. package/lib/renderers/register.js +1 -1
  225. package/lib/renderers/wrapControl.d.ts +3 -3
  226. package/lib/renderers/wrapControl.js +24 -10
  227. package/lib/store/app.d.ts +3 -3
  228. package/lib/store/app.js +1 -1
  229. package/lib/store/combo.d.ts +41 -39
  230. package/lib/store/combo.js +1 -1
  231. package/lib/store/crud.d.ts +3 -3
  232. package/lib/store/crud.js +2 -2
  233. package/lib/store/form.d.ts +18 -17
  234. package/lib/store/form.js +28 -6
  235. package/lib/store/formItem.js +3 -3
  236. package/lib/store/iRenderer.d.ts +4 -3
  237. package/lib/store/iRenderer.js +28 -4
  238. package/lib/store/index.d.ts +1 -0
  239. package/lib/store/index.js +3 -1
  240. package/lib/store/list.d.ts +3 -3
  241. package/lib/store/list.js +1 -1
  242. package/lib/store/manager.js +1 -1
  243. package/lib/store/modal.d.ts +3 -3
  244. package/lib/store/modal.js +1 -1
  245. package/lib/store/node.js +1 -1
  246. package/lib/store/pagination.d.ts +3 -3
  247. package/lib/store/pagination.js +1 -1
  248. package/lib/store/root.d.ts +5 -3
  249. package/lib/store/root.js +43 -19
  250. package/lib/store/service.d.ts +3 -3
  251. package/lib/store/service.js +10 -4
  252. package/lib/store/status.js +1 -1
  253. package/lib/store/table.d.ts +37 -35
  254. package/lib/store/table.js +1 -1
  255. package/lib/store/table2.d.ts +3 -3
  256. package/lib/store/table2.js +1 -1
  257. package/lib/theme.d.ts +1 -1
  258. package/lib/theme.js +13 -2
  259. package/lib/types.d.ts +21 -2
  260. package/lib/utils/Animation.js +1 -1
  261. package/lib/utils/ColorScale.js +1 -1
  262. package/lib/utils/DataSchema.js +1 -1
  263. package/lib/utils/DataScope.js +1 -1
  264. package/lib/utils/RootClose.js +1 -1
  265. package/lib/utils/SimpleMap.js +1 -1
  266. package/lib/utils/animations.d.ts +19 -0
  267. package/lib/utils/animations.js +62 -0
  268. package/lib/utils/api.d.ts +21 -1
  269. package/lib/utils/api.js +141 -40
  270. package/lib/utils/arraySlice.js +1 -1
  271. package/lib/utils/attachmentAdpator.js +1 -1
  272. package/lib/utils/autobind.js +1 -1
  273. package/lib/utils/browser.js +1 -1
  274. package/lib/utils/columnsSplit.js +1 -1
  275. package/lib/utils/concatData.js +1 -1
  276. package/lib/utils/dataMapping.js +1 -1
  277. package/lib/utils/date.js +1 -1
  278. package/lib/utils/debug.js +2 -2
  279. package/lib/utils/decodeEntity.js +1 -1
  280. package/lib/utils/dom.js +1 -1
  281. package/lib/utils/errors.js +1 -1
  282. package/lib/utils/escapeHtml.js +1 -1
  283. package/lib/utils/filter-schema.js +1 -1
  284. package/lib/utils/filter.js +1 -1
  285. package/lib/utils/formatDuration.js +1 -1
  286. package/lib/utils/formula.js +1 -1
  287. package/lib/utils/getVariable.js +1 -1
  288. package/lib/utils/grammar.js +1 -1
  289. package/lib/utils/handleAction.js +1 -1
  290. package/lib/utils/helper.d.ts +1 -0
  291. package/lib/utils/helper.js +15 -1
  292. package/lib/utils/highlight.js +1 -1
  293. package/lib/utils/icon.js +1 -1
  294. package/lib/utils/image.js +1 -1
  295. package/lib/utils/isPureVariable.js +1 -1
  296. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  297. package/lib/utils/keyToPath.js +1 -1
  298. package/lib/utils/labelToString.js +4 -1
  299. package/lib/utils/makeSorter.js +1 -1
  300. package/lib/utils/math.js +1 -1
  301. package/lib/utils/memoryParse.js +1 -1
  302. package/lib/utils/normalizeLink.js +1 -1
  303. package/lib/utils/normalizeOptions.js +1 -1
  304. package/lib/utils/object.js +1 -1
  305. package/lib/utils/offset.js +1 -1
  306. package/lib/utils/offsetParent.js +1 -1
  307. package/lib/utils/optionValueCompare.js +1 -1
  308. package/lib/utils/position.js +1 -1
  309. package/lib/utils/prettyBytes.js +1 -1
  310. package/lib/utils/printElement.js +1 -1
  311. package/lib/utils/renderer-event.js +1 -1
  312. package/lib/utils/replaceText.js +1 -1
  313. package/lib/utils/resize-sensor.js +1 -1
  314. package/lib/utils/resolveCondition.js +1 -1
  315. package/lib/utils/resolveVariable.js +1 -1
  316. package/lib/utils/resolveVariableAndFilter.js +1 -1
  317. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  318. package/lib/utils/scrollPosition.js +1 -1
  319. package/lib/utils/string2regExp.js +1 -1
  320. package/lib/utils/stripNumber.js +1 -1
  321. package/lib/utils/style-helper.js +1 -1
  322. package/lib/utils/style.js +1 -1
  323. package/lib/utils/toNumber.js +1 -1
  324. package/lib/utils/tokenize.js +1 -1
  325. package/lib/utils/tpl-builtin.js +1 -1
  326. package/lib/utils/tpl-lodash.js +1 -1
  327. package/lib/utils/tpl.js +1 -1
  328. package/lib/utils/uncontrollable.js +1 -1
  329. package/lib/utils/validateId.js +1 -1
  330. package/lib/utils/validations.js +13 -10
  331. package/lib/utils/visitedCache.js +1 -1
  332. package/package.json +3 -2
package/lib/factory.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -30,6 +30,8 @@ var _J$X_ = (__react_jsx__["default"] || __react_jsx__).createElement;
30
30
  (__react_jsx__["default"] || __react_jsx__).Fragment;
31
31
  var _a, _b;
32
32
  var renderers = [];
33
+ // type 与 RendererConfig 的映射关系
34
+ var renderersTypeMap = {};
33
35
  var renderersMap = {};
34
36
  var schemaFilters = [];
35
37
  var anonymousIndex = 1;
@@ -45,53 +47,124 @@ function Renderer(config) {
45
47
  return renderer.component;
46
48
  };
47
49
  }
50
+ // mobx-react 的 observer 会修改原型链的 render 方法
51
+ // 如果想继承覆盖组件的 render 方法,需要把原型链 render 还原回来
52
+ // 否则无法调用 super.render 方法
53
+ function fixMobxInjectRender(klass) {
54
+ var _a;
55
+ var target = klass.prototype;
56
+ // mobx-react 篡改之前先记录原始 render
57
+ if (target === null || target === void 0 ? void 0 : target.render) {
58
+ target.__originRender = target.render;
59
+ }
60
+ // 将父级类上面被 mobx 篡改的 render 方法还原回来
61
+ // 而且当前类的 render 也是会被篡改的,所以父级上的其实不需要篡改
62
+ if ((_a = target === null || target === void 0 ? void 0 : target.__proto__) === null || _a === void 0 ? void 0 : _a.hasOwnProperty('__originRender')) {
63
+ var originProto = target.__proto__;
64
+ target.__proto__ = Object.create(originProto.__proto__ || Object);
65
+ Object.assign(target.__proto__, originProto);
66
+ target.__proto__.render = originProto.__originRender;
67
+ }
68
+ return klass;
69
+ }
70
+ // 将 renderer 转成组件
71
+ function rendererToComponent(component, config) {
72
+ if (config.storeType && config.component) {
73
+ component = WithStore.HocStoreFactory({
74
+ storeType: config.storeType,
75
+ extendsData: config.storeExtendsData,
76
+ shouldSyncSuperStore: config.shouldSyncSuperStore
77
+ })(mobxReact.observer(fixMobxInjectRender(component)));
78
+ }
79
+ if (config.isolateScope) {
80
+ component = Scoped.HocScoped(component, config.type);
81
+ }
82
+ return component;
83
+ }
48
84
  function registerRenderer(config) {
49
85
  if (!config.test && !config.type) {
50
- throw new TypeError('please set config.test or config.type');
86
+ throw new TypeError('please set config.type or config.test');
51
87
  }
52
- else if (!config.component) {
53
- throw new TypeError('config.component is required');
88
+ else if (!config.type && config.name !== 'static') {
89
+ // todo static 目前还没办法不用 test 来实现
90
+ console.warn("config.type is recommended for register renderer(".concat(config.test, ")"));
54
91
  }
55
92
  if (typeof config.type === 'string' && config.type) {
56
93
  config.type = config.type.toLowerCase();
57
94
  config.test =
58
- config.test || new RegExp("(^|/)".concat(string2regExp.string2regExp(config.type), "$"), 'i');
95
+ config.test ||
96
+ new RegExp("(^|/)(?:".concat((config.alias || [])
97
+ .concat(config.type)
98
+ .map(function (type) { return string2regExp.string2regExp(type); })
99
+ .join('|'), ")$"), 'i');
59
100
  }
60
- config.weight = config.weight || 0;
61
- config.Renderer = config.component;
62
- config.name = config.name || config.type || "anonymous-".concat(anonymousIndex++);
63
- if (renderersMap[config.name]) {
64
- throw new Error("The renderer with name \"".concat(config.name, "\" has already exists, please try another name!"));
101
+ var exists = renderersTypeMap[config.type || ''];
102
+ var renderer = tslib.__assign({}, config);
103
+ if (exists &&
104
+ exists.component &&
105
+ exists.component !== Placeholder.Placeholder &&
106
+ config.component &&
107
+ !exists.origin &&
108
+ !config.override) {
109
+ throw new Error("The renderer with type \"".concat(config.type, "\" has already exists, please try another type!"));
65
110
  }
66
- else if (renderersMap.hasOwnProperty(config.name)) {
67
- // 后面补充的
68
- var idx_1 = helper.findIndex(renderers, function (item) { return item.name === config.name; });
69
- ~idx_1 && renderers.splice(idx_1, 0, config);
111
+ else if (exists) {
112
+ // 如果已经存在,合并配置,并用合并后的配置
113
+ Object.assign(exists, config);
114
+ renderer = exists;
70
115
  }
71
- if (config.storeType && config.component) {
72
- config.component = WithStore.HocStoreFactory({
73
- storeType: config.storeType,
74
- extendsData: config.storeExtendsData,
75
- shouldSyncSuperStore: config.shouldSyncSuperStore
76
- })(mobxReact.observer(config.component));
116
+ renderer.weight = renderer.weight || 0;
117
+ renderer.name =
118
+ renderer.name || renderer.type || "anonymous-".concat(anonymousIndex++);
119
+ if (config.component) {
120
+ renderer.Renderer = config.component;
121
+ renderer.component = rendererToComponent(config.component, renderer);
77
122
  }
78
- if (config.isolateScope) {
79
- config.component = Scoped.HocScoped(config.component, config.type);
123
+ if (!exists) {
124
+ var idx = helper.findIndex(renderers, function (item) { return config.weight < item.weight; });
125
+ ~idx ? renderers.splice(idx, 0, renderer) : renderers.push(renderer);
80
126
  }
81
- var idx = helper.findIndex(renderers, function (item) { return config.weight < item.weight; });
82
- ~idx ? renderers.splice(idx, 0, config) : renderers.push(config);
83
- renderersMap[config.name] = config.component !== Placeholder.Placeholder;
84
- return config;
127
+ renderersMap[renderer.name] = !!(renderer.component && renderer.component !== Placeholder.Placeholder);
128
+ renderer.type && (renderersTypeMap[renderer.type] = renderer);
129
+ (renderer.alias || []).forEach(function (alias) {
130
+ var fork = tslib.__assign(tslib.__assign({}, renderer), { type: alias, name: alias, alias: undefined, origin: renderer });
131
+ var idx = renderers.findIndex(function (item) { return item.name === alias; });
132
+ if (~idx) {
133
+ Object.assign(renderers[idx], fork);
134
+ }
135
+ else {
136
+ renderers.push(fork);
137
+ }
138
+ renderersTypeMap[alias] = fork;
139
+ renderersMap[alias] = true;
140
+ });
141
+ return renderer;
85
142
  }
86
143
  function unRegisterRenderer(config) {
144
+ var _a;
87
145
  var name = (typeof config === 'string' ? config : config.name);
88
146
  var idx = renderers.findIndex(function (item) { return item.name === name; });
89
- ~idx && renderers.splice(idx, 1);
90
- delete renderersMap[name];
91
- // 清空渲染器定位缓存
92
- cache = {};
147
+ if (~idx) {
148
+ var renderer_1 = renderers[idx];
149
+ renderers.splice(idx, 1);
150
+ delete renderersMap[name];
151
+ delete renderersTypeMap[renderer_1.type || ''];
152
+ (_a = renderer_1.alias) === null || _a === void 0 ? void 0 : _a.forEach(function (alias) {
153
+ var idx = renderers.findIndex(function (item) { return item.name === alias; });
154
+ idx > -1 && renderers.splice(idx, 1);
155
+ delete renderersTypeMap[alias];
156
+ delete renderersMap[alias];
157
+ });
158
+ // 清空渲染器定位缓存
159
+ Object.keys(cache).forEach(function (key) {
160
+ var value = cache[key];
161
+ if (value === renderer_1) {
162
+ delete cache[key];
163
+ }
164
+ });
165
+ }
93
166
  }
94
- function loadRenderer(schema, path) {
167
+ function loadRendererError(schema, path) {
95
168
  return (_J$X_("div", { className: "RuntimeError" },
96
169
  _J$X_("p", null, "Error: \u627E\u4E0D\u5230\u5BF9\u5E94\u7684\u6E32\u67D3\u5668"),
97
170
  _J$X_("p", null,
@@ -100,12 +173,97 @@ function loadRenderer(schema, path) {
100
173
  _J$X_("pre", null,
101
174
  _J$X_("code", null, JSON.stringify(schema, null, 2)))));
102
175
  }
176
+ function loadAsyncRenderer(renderer) {
177
+ return tslib.__awaiter(this, void 0, void 0, function () {
178
+ var result;
179
+ return tslib.__generator(this, function (_a) {
180
+ switch (_a.label) {
181
+ case 0:
182
+ if (!isAsyncRenderer(renderer)) {
183
+ // already loaded
184
+ return [2 /*return*/];
185
+ }
186
+ return [4 /*yield*/, renderer.getComponent()];
187
+ case 1:
188
+ result = _a.sent();
189
+ // 如果异步加载的组件没有注册渲染器
190
+ // 同时默认导出了一个组件,则自动注册
191
+ if (!renderer.component && result.default) {
192
+ registerRenderer(tslib.__assign(tslib.__assign({}, renderer), { component: result.default }));
193
+ }
194
+ return [2 /*return*/];
195
+ }
196
+ });
197
+ });
198
+ }
199
+ function isAsyncRenderer(item) {
200
+ return (item &&
201
+ (!item.component || item.component === Placeholder.Placeholder) &&
202
+ item.getComponent);
203
+ }
204
+ function hasAsyncRenderers() {
205
+ return renderers.some(isAsyncRenderer);
206
+ }
207
+ function loadAsyncRenderersByType(type, ignore) {
208
+ if (ignore === void 0) { ignore = false; }
209
+ return tslib.__awaiter(this, void 0, void 0, function () {
210
+ var types, asyncRenderers;
211
+ return tslib.__generator(this, function (_a) {
212
+ switch (_a.label) {
213
+ case 0:
214
+ types = Array.isArray(type) ? type : [type];
215
+ asyncRenderers = types
216
+ .map(function (type) {
217
+ var renderer = renderersTypeMap[type];
218
+ if (!renderer && !ignore) {
219
+ throw new Error("Can not find the renderer by type: ".concat(type));
220
+ }
221
+ return renderer;
222
+ })
223
+ .filter(isAsyncRenderer);
224
+ if (!asyncRenderers.length) return [3 /*break*/, 2];
225
+ return [4 /*yield*/, Promise.all(asyncRenderers.map(function (item) { return loadAsyncRenderer(item); }))];
226
+ case 1:
227
+ _a.sent();
228
+ _a.label = 2;
229
+ case 2: return [2 /*return*/];
230
+ }
231
+ });
232
+ });
233
+ }
234
+ function loadAllAsyncRenderers() {
235
+ return tslib.__awaiter(this, void 0, void 0, function () {
236
+ var asyncRenderers;
237
+ var _this = this;
238
+ return tslib.__generator(this, function (_a) {
239
+ switch (_a.label) {
240
+ case 0:
241
+ asyncRenderers = renderers.filter(isAsyncRenderer);
242
+ if (!asyncRenderers.length) return [3 /*break*/, 2];
243
+ return [4 /*yield*/, Promise.all(renderers.map(function (renderer) { return tslib.__awaiter(_this, void 0, void 0, function () {
244
+ return tslib.__generator(this, function (_a) {
245
+ switch (_a.label) {
246
+ case 0: return [4 /*yield*/, loadAsyncRenderer(renderer)];
247
+ case 1:
248
+ _a.sent();
249
+ return [2 /*return*/];
250
+ }
251
+ });
252
+ }); }))];
253
+ case 1:
254
+ _a.sent();
255
+ _a.label = 2;
256
+ case 2: return [2 /*return*/];
257
+ }
258
+ });
259
+ });
260
+ }
103
261
  var defaultOptions = {
104
262
  session: 'global',
105
263
  richTextToken: '',
106
264
  useMobileUI: true,
107
265
  enableAMISDebug: (_b = (_a = window.enableAMISDebug) !== null && _a !== void 0 ? _a : location.search.indexOf('amisDebug=1') !== -1) !== null && _b !== void 0 ? _b : false,
108
- loadRenderer: loadRenderer,
266
+ loadRenderer: loadRendererError,
109
267
  fetcher: function () {
110
268
  return Promise.reject('fetcher is required');
111
269
  },
@@ -272,8 +430,9 @@ function extendDefaultEnv(env) {
272
430
  var cache = {};
273
431
  function resolveRenderer(path, schema) {
274
432
  var type = typeof (schema === null || schema === void 0 ? void 0 : schema.type) == 'string' ? schema.type.toLowerCase() : '';
275
- if (type && cache[type]) {
276
- return cache[type];
433
+ // 直接匹配类型,后续注册渲染都应该用这个方式而不是之前的判断路径。
434
+ if (type && renderersTypeMap[type]) {
435
+ return renderersTypeMap[type];
277
436
  }
278
437
  else if (cache[path]) {
279
438
  return cache[path];
@@ -284,15 +443,7 @@ function resolveRenderer(path, schema) {
284
443
  var renderer = null;
285
444
  renderers.some(function (item) {
286
445
  var matched = false;
287
- // 直接匹配类型,后续注册渲染都应该用这个方式而不是之前的判断路径。
288
- if (item.type && type) {
289
- matched = item.type === type;
290
- // 如果是type来命中的,那么cache的key直接用 type 即可。
291
- if (matched) {
292
- cache[type] = item;
293
- }
294
- }
295
- else if (typeof item.test === 'function') {
446
+ if (typeof item.test === 'function') {
296
447
  // 不应该搞得这么复杂的,让每个渲染器唯一 id,自己不晕别人用起来也不晕。
297
448
  matched = item.test(path, schema, resolveRenderer);
298
449
  }
@@ -322,6 +473,15 @@ function getRenderers() {
322
473
  function getRendererByName(name) {
323
474
  return find__default["default"](renderers, function (item) { return item.name === name; });
324
475
  }
476
+ var GlobalOptions = {
477
+ pdfjsWorkerSrc: ''
478
+ };
479
+ function setGlobalOptions(options) {
480
+ Object.assign(GlobalOptions, options);
481
+ }
482
+ function getGlobalOptions() {
483
+ return GlobalOptions;
484
+ }
325
485
 
326
486
  exports.Renderer = Renderer;
327
487
  exports.addSchemaFilter = addSchemaFilter;
@@ -329,12 +489,19 @@ exports.clearStoresCache = clearStoresCache;
329
489
  exports.defaultOptions = defaultOptions;
330
490
  exports.extendDefaultEnv = extendDefaultEnv;
331
491
  exports.filterSchema = filterSchema;
492
+ exports.getGlobalOptions = getGlobalOptions;
332
493
  exports.getRendererByName = getRendererByName;
333
494
  exports.getRenderers = getRenderers;
334
- exports.loadRenderer = loadRenderer;
495
+ exports.hasAsyncRenderers = hasAsyncRenderers;
496
+ exports.isAsyncRenderer = isAsyncRenderer;
497
+ exports.loadAllAsyncRenderers = loadAllAsyncRenderers;
498
+ exports.loadAsyncRenderer = loadAsyncRenderer;
499
+ exports.loadAsyncRenderersByType = loadAsyncRenderersByType;
500
+ exports.loadRendererError = loadRendererError;
335
501
  exports.registerRenderer = registerRenderer;
336
502
  exports.renderersMap = renderersMap;
337
503
  exports.resolveRenderer = resolveRenderer;
504
+ exports.setGlobalOptions = setGlobalOptions;
338
505
  exports.stores = stores;
339
506
  exports.unRegisterRenderer = unRegisterRenderer;
340
507
  exports.updateEnv = updateEnv;
package/lib/index.d.ts CHANGED
@@ -6,16 +6,17 @@
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  */
8
8
  /// <reference types="react" />
9
- import { Renderer, getRendererByName, getRenderers, registerRenderer, unRegisterRenderer, resolveRenderer, filterSchema, clearStoresCache, updateEnv, addSchemaFilter, extendDefaultEnv } from './factory';
10
- import type { RenderOptions, RendererConfig, RendererProps } from './factory';
9
+ import { Renderer, getRendererByName, getRenderers, loadAllAsyncRenderers, loadAsyncRenderersByType, loadAsyncRenderer, registerRenderer, unRegisterRenderer, resolveRenderer, filterSchema, clearStoresCache, updateEnv, addSchemaFilter, extendDefaultEnv, getGlobalOptions, setGlobalOptions } from './factory';
10
+ import type { RenderOptions, RendererConfig, RendererProps, hasAsyncRenderers } from './factory';
11
11
  import './polyfills';
12
12
  import './renderers/builtin';
13
13
  import './renderers/register';
14
14
  export * from './utils/index';
15
+ export * from './utils/animations';
15
16
  export * from './types';
16
17
  export * from './store';
17
18
  import * as utils from './utils/helper';
18
- import { RegisterStore } from './store';
19
+ import { RegisterStore, registerStore } from './store';
19
20
  import type { IColumn, IColumn2, IRow, IRow2 } from './store';
20
21
  import { setDefaultLocale, getDefaultLocale, makeTranslator, register as registerLocale, extendLocale, removeLocaleData, localeable } from './locale';
21
22
  import type { LocaleProps, TranslateFn } from './locale';
@@ -50,6 +51,7 @@ import { RENDERER_TRANSMISSION_OMIT_PROPS } from './SchemaRenderer';
50
51
  import type { IItem } from './store/list';
51
52
  import CustomStyle from './components/CustomStyle';
52
53
  import { StatusScoped } from './StatusScoped';
54
+ import styleManager from './StyleManager';
53
55
  export declare const version = "__buildVersion";
54
- export { clearStoresCache, updateEnv, Renderer, RendererProps, RenderOptions, RendererEnv, EnvContext, RegisterStore, FormItem, FormItemWrap, FormItemProps, OptionsControl, FormRenderer, FormHorizontal, utils, getRendererByName, registerRenderer, unRegisterRenderer, getRenderers, registerFormItem, getFormItemByName, registerOptionsControl, resolveRenderer, filterSchema, Scoped, ScopedContext, IScopedContext, StatusScoped, setDefaultTheme, theme, themeable, ThemeProps, getTheme, classPrefix, getClassPrefix, classnames, makeClassnames, getDefaultLocale, setDefaultLocale, registerLocale, makeTranslator, extendLocale, removeLocaleData, localeable, LocaleProps, TranslateFn, ClassNamesFn, parse, lexer, Evaluator, AsyncEvaluator, FilterContext, filters, getFilters, registerFilter, extendsFilters, registerFunction, evaluate, evaluateForAsync, LazyComponent, Overlay, PopOver, ErrorBoundary, addSchemaFilter, OptionsControlProps, FormOptionsControl, FormControlProps, FormBaseControl, extendDefaultEnv, addRootWrapper, RendererConfig, styleMap, RENDERER_TRANSMISSION_OMIT_PROPS, ScopedComponentType, IItem, IColumn, IRow, IColumn2, IRow2, OnEventProps, FormSchemaBase, filterTarget, splitTarget, CustomStyle, enableDebug, disableDebug, envOverwrite };
56
+ export { styleManager, clearStoresCache, updateEnv, Renderer, RendererProps, RenderOptions, RendererEnv, EnvContext, RegisterStore, registerStore, FormItem, FormItemWrap, FormItemProps, OptionsControl, FormRenderer, FormHorizontal, utils, getRendererByName, registerRenderer, unRegisterRenderer, getRenderers, loadAllAsyncRenderers, loadAsyncRenderersByType, loadAsyncRenderer, hasAsyncRenderers, registerFormItem, getFormItemByName, registerOptionsControl, resolveRenderer, filterSchema, Scoped, ScopedContext, IScopedContext, StatusScoped, setDefaultTheme, theme, themeable, ThemeProps, getTheme, classPrefix, getClassPrefix, classnames, makeClassnames, getDefaultLocale, setDefaultLocale, registerLocale, makeTranslator, extendLocale, removeLocaleData, localeable, LocaleProps, TranslateFn, ClassNamesFn, parse, lexer, Evaluator, AsyncEvaluator, FilterContext, filters, getFilters, registerFilter, extendsFilters, registerFunction, evaluate, evaluateForAsync, LazyComponent, Overlay, PopOver, ErrorBoundary, addSchemaFilter, OptionsControlProps, FormOptionsControl, FormControlProps, FormBaseControl, extendDefaultEnv, addRootWrapper, RendererConfig, styleMap, RENDERER_TRANSMISSION_OMIT_PROPS, ScopedComponentType, IItem, IColumn, IRow, IColumn2, IRow2, OnEventProps, FormSchemaBase, filterTarget, splitTarget, CustomStyle, enableDebug, disableDebug, envOverwrite, getGlobalOptions, setGlobalOptions };
55
57
  export declare function render(schema: Schema, props?: RootRenderProps, options?: RenderOptions, pathPrefix?: string): JSX.Element;
package/lib/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -74,6 +74,7 @@ var resolveCondition = require('./utils/resolveCondition.js');
74
74
  var arraySlice = require('./utils/arraySlice.js');
75
75
  var math = require('./utils/math.js');
76
76
  var Animation = require('./utils/Animation.js');
77
+ var animations = require('./utils/animations.js');
77
78
  var index = require('./store/index.js');
78
79
  var mobxStateTree = require('mobx-state-tree');
79
80
  var locale = require('./locale.js');
@@ -115,6 +116,7 @@ var Form = require('./renderers/Form.js');
115
116
  var SchemaRenderer = require('./SchemaRenderer.js');
116
117
  var CustomStyle = require('./components/CustomStyle.js');
117
118
  var StatusScoped = require('./StatusScoped.js');
119
+ var StyleManager = require('./StyleManager.js');
118
120
  var stripNumber = require('./utils/stripNumber.js');
119
121
  var iRenderer = require('./store/iRenderer.js');
120
122
  var service = require('./store/service.js');
@@ -139,7 +141,11 @@ var _J$X_ = (__react_jsx__["default"] || __react_jsx__).createElement;
139
141
  (__react_jsx__["default"] || __react_jsx__).Fragment;
140
142
  var classPrefix = theme.getClassPrefix();
141
143
  // @ts-ignore
142
- var version = '6.8.0';
144
+ var version = '6.9.0-beta.1';
145
+ window.amisVersionInfo = {
146
+ version: '6.9.0-beta.1',
147
+ buildTime: '2024-10-30T01:54:47.114Z'
148
+ };
143
149
  function render(schema, props, options, pathPrefix) {
144
150
  if (props === void 0) { props = {}; }
145
151
  if (options === void 0) { options = {}; }
@@ -213,12 +219,19 @@ exports.addSchemaFilter = factory.addSchemaFilter;
213
219
  exports.clearStoresCache = factory.clearStoresCache;
214
220
  exports.extendDefaultEnv = factory.extendDefaultEnv;
215
221
  exports.filterSchema = factory.filterSchema;
222
+ exports.getGlobalOptions = factory.getGlobalOptions;
216
223
  exports.getRendererByName = factory.getRendererByName;
217
224
  exports.getRenderers = factory.getRenderers;
225
+ exports.loadAllAsyncRenderers = factory.loadAllAsyncRenderers;
226
+ exports.loadAsyncRenderer = factory.loadAsyncRenderer;
227
+ exports.loadAsyncRenderersByType = factory.loadAsyncRenderersByType;
218
228
  exports.registerRenderer = factory.registerRenderer;
219
229
  exports.resolveRenderer = factory.resolveRenderer;
230
+ exports.setGlobalOptions = factory.setGlobalOptions;
220
231
  exports.unRegisterRenderer = factory.unRegisterRenderer;
221
232
  exports.updateEnv = factory.updateEnv;
233
+ exports.addApiRequestAdaptor = api.addApiRequestAdaptor;
234
+ exports.addApiResponseAdator = api.addApiResponseAdator;
222
235
  exports.buildApi = api.buildApi;
223
236
  exports.callStrFunction = api.callStrFunction;
224
237
  exports.clearApiCache = api.clearApiCache;
@@ -232,6 +245,8 @@ exports.jsFetcher = api.jsFetcher;
232
245
  exports.jsonpFetcher = api.jsonpFetcher;
233
246
  exports.normalizeApi = api.normalizeApi;
234
247
  exports.normalizeApiResponseData = api.normalizeApiResponseData;
248
+ exports.removeApiRequestAdaptor = api.removeApiRequestAdaptor;
249
+ exports.removeApiResponseAdaptor = api.removeApiResponseAdaptor;
235
250
  exports.responseAdaptor = api.responseAdaptor;
236
251
  exports.setApiCache = api.setApiCache;
237
252
  exports.str2AsyncFunction = api.str2AsyncFunction;
@@ -314,6 +329,7 @@ exports.findTreeAll = helper.findTreeAll;
314
329
  exports.findTreeIndex = helper.findTreeIndex;
315
330
  exports.flattenTree = helper.flattenTree;
316
331
  exports.flattenTreeWithLeafNodes = helper.flattenTreeWithLeafNodes;
332
+ exports.formateId = helper.formateId;
317
333
  exports.getLevelFromClassName = helper.getLevelFromClassName;
318
334
  exports.getPropValue = helper.getPropValue;
319
335
  exports.getRange = helper.getRange;
@@ -471,8 +487,10 @@ exports.numberFormatter = math.numberFormatter;
471
487
  exports.safeAdd = math.safeAdd;
472
488
  exports.safeSub = math.safeSub;
473
489
  exports.animation = Animation["default"];
490
+ exports.createAnimationStyle = animations.createAnimationStyle;
474
491
  exports.RegisterStore = index.RegisterStore;
475
492
  exports.RendererStore = index.RendererStore;
493
+ exports.registerStore = index.registerStore;
476
494
  exports.extendLocale = locale.extendLocale;
477
495
  exports.getDefaultLocale = locale.getDefaultLocale;
478
496
  exports.localeable = locale.localeable;
@@ -560,6 +578,7 @@ exports.FormRenderer = Form.FormRenderer;
560
578
  exports.RENDERER_TRANSMISSION_OMIT_PROPS = SchemaRenderer.RENDERER_TRANSMISSION_OMIT_PROPS;
561
579
  exports.CustomStyle = CustomStyle["default"];
562
580
  exports.StatusScoped = StatusScoped.StatusScoped;
581
+ exports.styleManager = StyleManager["default"];
563
582
  exports.stripNumber = stripNumber.stripNumber;
564
583
  exports.iRendererStore = iRenderer.iRendererStore;
565
584
  exports.ServiceStore = service.ServiceStore;
package/lib/locale.d.ts CHANGED
@@ -16,7 +16,7 @@ export interface LocaleProps {
16
16
  translate: TranslateFn;
17
17
  }
18
18
  export declare const LocaleContext: React.Context<string>;
19
- export declare function localeable<T extends React.ComponentType<React.ComponentProps<T> & LocaleProps>>(ComposedComponent: T): {
19
+ export declare function localeable<T extends React.ComponentType<React.ComponentProps<T> & LocaleProps>>(ComposedComponent: T, methods?: Array<string>): {
20
20
  new (props: JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, keyof LocaleProps>> & {
21
21
  locale?: string | undefined;
22
22
  translate?: ((str: string, ...args: any[]) => string) | undefined;
package/lib/locale.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -99,7 +99,7 @@ function setDefaultLocale(locale) {
99
99
  defaultLocale = locale;
100
100
  }
101
101
  var LocaleContext = React__default["default"].createContext('');
102
- function localeable(ComposedComponent) {
102
+ function localeable(ComposedComponent, methods) {
103
103
  var _a;
104
104
  var result = hoistNonReactStatic__default["default"]((_a = /** @class */ (function (_super) {
105
105
  tslib.__extends(class_1, _super);
@@ -141,6 +141,17 @@ function localeable(ComposedComponent) {
141
141
  _a.contextType = LocaleContext,
142
142
  _a.ComposedComponent = ComposedComponent,
143
143
  _a), ComposedComponent);
144
+ if (Array.isArray(methods)) {
145
+ methods.forEach(function (method) {
146
+ if (ComposedComponent.prototype[method]) {
147
+ result.prototype[method] = function () {
148
+ var _a;
149
+ var fn = (_a = this.ref) === null || _a === void 0 ? void 0 : _a[method];
150
+ return fn ? fn.apply(this.ref, arguments) : undefined;
151
+ };
152
+ }
153
+ });
154
+ }
144
155
  return result;
145
156
  }
146
157
 
package/lib/polyfills.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -2,7 +2,7 @@
2
2
  import React from 'react';
3
3
  import { RendererProps } from '../factory';
4
4
  import { IFormStore } from '../store/form';
5
- import { SchemaNode, ActionObject, ClassName, BaseApiObject, SchemaExpression, SchemaClassName } from '../types';
5
+ import { SchemaNode, ActionObject, ClassName, BaseApiObject, SchemaExpression, SchemaClassName, DataChangeReason } from '../types';
6
6
  import { IScopedContext } from '../Scoped';
7
7
  import type { LabelAlign } from './Item';
8
8
  export interface FormHorizontal {
@@ -263,7 +263,7 @@ export interface FormProps extends RendererProps, Omit<FormSchemaBase, 'mode' |
263
263
  onSubmit?: (values: object, action: any) => any;
264
264
  onChange?: (values: object, diff: object, props: any) => any;
265
265
  onFailed?: (reason: string, errors: any) => any;
266
- onFinished: (values: object, action: any) => any;
266
+ onFinished: (values: object, action: ActionObject, store: IFormStore) => any;
267
267
  onValidate: (values: object, form: any) => any;
268
268
  onValidChange?: (valid: boolean, props: any) => void;
269
269
  messages: {
@@ -338,7 +338,7 @@ export default class Form extends React.Component<FormProps, object> {
338
338
  onInit(): Promise<void>;
339
339
  reload(subPath?: string, query?: any, ctx?: any, silent?: boolean): Promise<any>;
340
340
  receive(values: object, name?: string, replace?: boolean): Promise<any>;
341
- silentReload(target?: string, query?: any): void;
341
+ silentReload(target?: string, query?: any): Promise<any>;
342
342
  initInterval(value: any): any;
343
343
  isValidated(): boolean;
344
344
  validate(forceValidate?: boolean, throwErrors?: boolean, toastErrors?: boolean, skipFlush?: boolean): Promise<boolean>;
@@ -354,12 +354,12 @@ export default class Form extends React.Component<FormProps, object> {
354
354
  reset(): void;
355
355
  addHook(fn: () => any, type?: 'validate' | 'init' | 'flush', enforce?: 'prev' | 'post'): () => void;
356
356
  removeHook(fn: () => any, type?: string): void;
357
- handleChange(value: any, name: string, submit: boolean, changePristine?: boolean): void;
357
+ handleChange(value: any, name: string, submit: boolean, changePristine?: boolean, changeReason?: DataChangeReason): void;
358
358
  formItemDispatchEvent(type: string, data: any): Promise<import("../utils").RendererEvent<any, any>>;
359
359
  emittedData: any;
360
360
  emitting: boolean;
361
361
  emitChange(submit: boolean, emitedFromWatch?: boolean): Promise<void>;
362
- handleBulkChange(values: Object, submit: boolean): void;
362
+ handleBulkChange(values: Object, submit: boolean, changeReason?: DataChangeReason): void;
363
363
  handleFormSubmit(e: React.UIEvent<any>): any;
364
364
  handleReset(action: any): (data: any) => void;
365
365
  handleAction(e: React.UIEvent<any> | void, action: ActionObject, data: object, throwErrors?: boolean, delegate?: IScopedContext): Promise<any>;