amis-core 6.8.0 → 6.9.0-rc.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 (313) 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.js +29 -15
  5. package/esm/Scoped.js +1 -1
  6. package/esm/StatusScoped.js +1 -1
  7. package/esm/WithRootStore.js +1 -1
  8. package/esm/WithStore.js +10 -10
  9. package/esm/actions/Action.js +1 -1
  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 +1 -1
  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/CustomStyle.js +1 -1
  31. package/esm/components/ErrorBoundary.js +1 -1
  32. package/esm/components/LazyComponent.d.ts +40 -2
  33. package/esm/components/LazyComponent.js +13 -7
  34. package/esm/components/Overlay.js +1 -1
  35. package/esm/components/PopOver.d.ts +1 -1
  36. package/esm/components/PopOver.js +1 -1
  37. package/esm/env.js +1 -1
  38. package/esm/envOverwrite.js +1 -1
  39. package/esm/factory.d.ts +13 -2
  40. package/esm/factory.js +159 -45
  41. package/esm/index.d.ts +4 -4
  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 -3
  46. package/esm/renderers/Form.js +17 -9
  47. package/esm/renderers/Item.d.ts +18 -12
  48. package/esm/renderers/Item.js +6 -6
  49. package/esm/renderers/Options.d.ts +3 -3
  50. package/esm/renderers/Options.js +42 -19
  51. package/esm/renderers/Placeholder.js +1 -1
  52. package/esm/renderers/builtin.js +1 -1
  53. package/esm/renderers/register.js +1 -1
  54. package/esm/renderers/wrapControl.d.ts +3 -3
  55. package/esm/renderers/wrapControl.js +19 -6
  56. package/esm/store/app.d.ts +3 -3
  57. package/esm/store/app.js +1 -1
  58. package/esm/store/combo.d.ts +15 -15
  59. package/esm/store/combo.js +1 -1
  60. package/esm/store/crud.d.ts +3 -3
  61. package/esm/store/crud.js +1 -1
  62. package/esm/store/form.d.ts +7 -7
  63. package/esm/store/form.js +24 -6
  64. package/esm/store/formItem.js +1 -1
  65. package/esm/store/iRenderer.d.ts +4 -3
  66. package/esm/store/iRenderer.js +28 -4
  67. package/esm/store/index.d.ts +1 -0
  68. package/esm/store/index.js +3 -2
  69. package/esm/store/list.d.ts +3 -3
  70. package/esm/store/list.js +1 -1
  71. package/esm/store/manager.js +1 -1
  72. package/esm/store/modal.d.ts +3 -3
  73. package/esm/store/modal.js +1 -1
  74. package/esm/store/node.js +1 -1
  75. package/esm/store/pagination.d.ts +3 -3
  76. package/esm/store/pagination.js +1 -1
  77. package/esm/store/root.d.ts +5 -3
  78. package/esm/store/root.js +45 -21
  79. package/esm/store/service.d.ts +3 -3
  80. package/esm/store/service.js +10 -4
  81. package/esm/store/status.js +1 -1
  82. package/esm/store/table.d.ts +15 -15
  83. package/esm/store/table.js +1 -1
  84. package/esm/store/table2.d.ts +3 -3
  85. package/esm/store/table2.js +1 -1
  86. package/esm/theme.js +1 -1
  87. package/esm/types.d.ts +19 -2
  88. package/esm/utils/Animation.js +1 -1
  89. package/esm/utils/ColorScale.js +1 -1
  90. package/esm/utils/DataSchema.js +1 -1
  91. package/esm/utils/DataScope.js +1 -1
  92. package/esm/utils/RootClose.js +1 -1
  93. package/esm/utils/SimpleMap.js +1 -1
  94. package/esm/utils/api.d.ts +21 -1
  95. package/esm/utils/api.js +133 -41
  96. package/esm/utils/arraySlice.js +1 -1
  97. package/esm/utils/attachmentAdpator.js +1 -1
  98. package/esm/utils/autobind.js +1 -1
  99. package/esm/utils/browser.js +1 -1
  100. package/esm/utils/columnsSplit.js +1 -1
  101. package/esm/utils/concatData.js +1 -1
  102. package/esm/utils/dataMapping.js +1 -1
  103. package/esm/utils/date.js +1 -1
  104. package/esm/utils/debug.js +1 -1
  105. package/esm/utils/decodeEntity.js +1 -1
  106. package/esm/utils/dom.js +1 -1
  107. package/esm/utils/errors.js +1 -1
  108. package/esm/utils/escapeHtml.js +1 -1
  109. package/esm/utils/filter-schema.js +1 -1
  110. package/esm/utils/filter.js +1 -1
  111. package/esm/utils/formatDuration.js +1 -1
  112. package/esm/utils/formula.js +1 -1
  113. package/esm/utils/getVariable.js +1 -1
  114. package/esm/utils/grammar.js +1 -1
  115. package/esm/utils/handleAction.js +1 -1
  116. package/esm/utils/helper.js +1 -1
  117. package/esm/utils/highlight.js +1 -1
  118. package/esm/utils/icon.js +1 -1
  119. package/esm/utils/image.js +1 -1
  120. package/esm/utils/isPureVariable.js +1 -1
  121. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  122. package/esm/utils/keyToPath.js +1 -1
  123. package/esm/utils/labelToString.js +4 -1
  124. package/esm/utils/makeSorter.js +1 -1
  125. package/esm/utils/math.js +1 -1
  126. package/esm/utils/memoryParse.js +1 -1
  127. package/esm/utils/normalizeLink.js +1 -1
  128. package/esm/utils/normalizeOptions.js +1 -1
  129. package/esm/utils/object.js +1 -1
  130. package/esm/utils/offset.js +1 -1
  131. package/esm/utils/offsetParent.js +1 -1
  132. package/esm/utils/optionValueCompare.js +1 -1
  133. package/esm/utils/position.js +1 -1
  134. package/esm/utils/prettyBytes.js +1 -1
  135. package/esm/utils/printElement.js +1 -1
  136. package/esm/utils/renderer-event.js +1 -1
  137. package/esm/utils/replaceText.js +1 -1
  138. package/esm/utils/resize-sensor.js +1 -1
  139. package/esm/utils/resolveCondition.js +1 -1
  140. package/esm/utils/resolveVariable.js +1 -1
  141. package/esm/utils/resolveVariableAndFilter.js +1 -1
  142. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  143. package/esm/utils/scrollPosition.js +1 -1
  144. package/esm/utils/string2regExp.js +1 -1
  145. package/esm/utils/stripNumber.js +1 -1
  146. package/esm/utils/style-helper.js +1 -1
  147. package/esm/utils/style.js +1 -1
  148. package/esm/utils/toNumber.js +1 -1
  149. package/esm/utils/tokenize.js +1 -1
  150. package/esm/utils/tpl-builtin.js +1 -1
  151. package/esm/utils/tpl-lodash.js +1 -1
  152. package/esm/utils/tpl.js +1 -1
  153. package/esm/utils/uncontrollable.js +1 -1
  154. package/esm/utils/validateId.js +1 -1
  155. package/esm/utils/validations.js +1 -1
  156. package/esm/utils/visitedCache.js +1 -1
  157. package/lib/Root.js +1 -1
  158. package/lib/RootRenderer.d.ts +1 -1
  159. package/lib/RootRenderer.js +23 -1
  160. package/lib/SchemaRenderer.js +27 -13
  161. package/lib/Scoped.js +1 -1
  162. package/lib/StatusScoped.js +1 -1
  163. package/lib/WithRootStore.js +1 -1
  164. package/lib/WithStore.js +10 -10
  165. package/lib/actions/Action.js +1 -1
  166. package/lib/actions/AjaxAction.js +1 -1
  167. package/lib/actions/BreakAction.js +1 -1
  168. package/lib/actions/BroadcastAction.js +1 -1
  169. package/lib/actions/CmptAction.js +1 -1
  170. package/lib/actions/ContinueAction.js +1 -1
  171. package/lib/actions/CopyAction.js +1 -1
  172. package/lib/actions/CustomAction.js +1 -1
  173. package/lib/actions/DialogAction.js +1 -1
  174. package/lib/actions/DrawerAction.js +1 -1
  175. package/lib/actions/EmailAction.js +1 -1
  176. package/lib/actions/EventAction.js +1 -1
  177. package/lib/actions/LinkAction.js +1 -1
  178. package/lib/actions/LoopAction.js +1 -1
  179. package/lib/actions/PageAction.js +1 -1
  180. package/lib/actions/ParallelAction.js +1 -1
  181. package/lib/actions/PrintAction.js +1 -1
  182. package/lib/actions/StatusAction.js +1 -1
  183. package/lib/actions/SwitchAction.js +1 -1
  184. package/lib/actions/ToastAction.js +1 -1
  185. package/lib/actions/WaitAction.js +1 -1
  186. package/lib/components/CustomStyle.js +1 -1
  187. package/lib/components/ErrorBoundary.js +1 -1
  188. package/lib/components/LazyComponent.d.ts +40 -2
  189. package/lib/components/LazyComponent.js +14 -7
  190. package/lib/components/Overlay.js +1 -1
  191. package/lib/components/PopOver.d.ts +1 -1
  192. package/lib/components/PopOver.js +1 -1
  193. package/lib/env.js +1 -1
  194. package/lib/envOverwrite.js +1 -1
  195. package/lib/factory.d.ts +13 -2
  196. package/lib/factory.js +163 -44
  197. package/lib/index.d.ts +4 -4
  198. package/lib/index.js +10 -2
  199. package/lib/locale.js +1 -1
  200. package/lib/polyfills.js +1 -1
  201. package/lib/renderers/Form.d.ts +3 -3
  202. package/lib/renderers/Form.js +15 -7
  203. package/lib/renderers/Item.d.ts +18 -12
  204. package/lib/renderers/Item.js +6 -6
  205. package/lib/renderers/Options.d.ts +3 -3
  206. package/lib/renderers/Options.js +42 -19
  207. package/lib/renderers/Placeholder.js +1 -1
  208. package/lib/renderers/builtin.js +1 -1
  209. package/lib/renderers/register.js +1 -1
  210. package/lib/renderers/wrapControl.d.ts +3 -3
  211. package/lib/renderers/wrapControl.js +19 -6
  212. package/lib/store/app.d.ts +3 -3
  213. package/lib/store/app.js +1 -1
  214. package/lib/store/combo.d.ts +15 -15
  215. package/lib/store/combo.js +1 -1
  216. package/lib/store/crud.d.ts +3 -3
  217. package/lib/store/crud.js +2 -2
  218. package/lib/store/form.d.ts +7 -7
  219. package/lib/store/form.js +24 -6
  220. package/lib/store/formItem.js +1 -1
  221. package/lib/store/iRenderer.d.ts +4 -3
  222. package/lib/store/iRenderer.js +28 -4
  223. package/lib/store/index.d.ts +1 -0
  224. package/lib/store/index.js +3 -1
  225. package/lib/store/list.d.ts +3 -3
  226. package/lib/store/list.js +1 -1
  227. package/lib/store/manager.js +1 -1
  228. package/lib/store/modal.d.ts +3 -3
  229. package/lib/store/modal.js +1 -1
  230. package/lib/store/node.js +1 -1
  231. package/lib/store/pagination.d.ts +3 -3
  232. package/lib/store/pagination.js +1 -1
  233. package/lib/store/root.d.ts +5 -3
  234. package/lib/store/root.js +43 -19
  235. package/lib/store/service.d.ts +3 -3
  236. package/lib/store/service.js +10 -4
  237. package/lib/store/status.js +1 -1
  238. package/lib/store/table.d.ts +15 -15
  239. package/lib/store/table.js +1 -1
  240. package/lib/store/table2.d.ts +3 -3
  241. package/lib/store/table2.js +1 -1
  242. package/lib/theme.js +1 -1
  243. package/lib/types.d.ts +19 -2
  244. package/lib/utils/Animation.js +1 -1
  245. package/lib/utils/ColorScale.js +1 -1
  246. package/lib/utils/DataSchema.js +1 -1
  247. package/lib/utils/DataScope.js +1 -1
  248. package/lib/utils/RootClose.js +1 -1
  249. package/lib/utils/SimpleMap.js +1 -1
  250. package/lib/utils/api.d.ts +21 -1
  251. package/lib/utils/api.js +136 -40
  252. package/lib/utils/arraySlice.js +1 -1
  253. package/lib/utils/attachmentAdpator.js +1 -1
  254. package/lib/utils/autobind.js +1 -1
  255. package/lib/utils/browser.js +1 -1
  256. package/lib/utils/columnsSplit.js +1 -1
  257. package/lib/utils/concatData.js +1 -1
  258. package/lib/utils/dataMapping.js +1 -1
  259. package/lib/utils/date.js +1 -1
  260. package/lib/utils/debug.js +2 -2
  261. package/lib/utils/decodeEntity.js +1 -1
  262. package/lib/utils/dom.js +1 -1
  263. package/lib/utils/errors.js +1 -1
  264. package/lib/utils/escapeHtml.js +1 -1
  265. package/lib/utils/filter-schema.js +1 -1
  266. package/lib/utils/filter.js +1 -1
  267. package/lib/utils/formatDuration.js +1 -1
  268. package/lib/utils/formula.js +1 -1
  269. package/lib/utils/getVariable.js +1 -1
  270. package/lib/utils/grammar.js +1 -1
  271. package/lib/utils/handleAction.js +1 -1
  272. package/lib/utils/helper.js +1 -1
  273. package/lib/utils/highlight.js +1 -1
  274. package/lib/utils/icon.js +1 -1
  275. package/lib/utils/image.js +1 -1
  276. package/lib/utils/isPureVariable.js +1 -1
  277. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  278. package/lib/utils/keyToPath.js +1 -1
  279. package/lib/utils/labelToString.js +4 -1
  280. package/lib/utils/makeSorter.js +1 -1
  281. package/lib/utils/math.js +1 -1
  282. package/lib/utils/memoryParse.js +1 -1
  283. package/lib/utils/normalizeLink.js +1 -1
  284. package/lib/utils/normalizeOptions.js +1 -1
  285. package/lib/utils/object.js +1 -1
  286. package/lib/utils/offset.js +1 -1
  287. package/lib/utils/offsetParent.js +1 -1
  288. package/lib/utils/optionValueCompare.js +1 -1
  289. package/lib/utils/position.js +1 -1
  290. package/lib/utils/prettyBytes.js +1 -1
  291. package/lib/utils/printElement.js +1 -1
  292. package/lib/utils/renderer-event.js +1 -1
  293. package/lib/utils/replaceText.js +1 -1
  294. package/lib/utils/resize-sensor.js +1 -1
  295. package/lib/utils/resolveCondition.js +1 -1
  296. package/lib/utils/resolveVariable.js +1 -1
  297. package/lib/utils/resolveVariableAndFilter.js +1 -1
  298. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  299. package/lib/utils/scrollPosition.js +1 -1
  300. package/lib/utils/string2regExp.js +1 -1
  301. package/lib/utils/stripNumber.js +1 -1
  302. package/lib/utils/style-helper.js +1 -1
  303. package/lib/utils/style.js +1 -1
  304. package/lib/utils/toNumber.js +1 -1
  305. package/lib/utils/tokenize.js +1 -1
  306. package/lib/utils/tpl-builtin.js +1 -1
  307. package/lib/utils/tpl-lodash.js +1 -1
  308. package/lib/utils/tpl.js +1 -1
  309. package/lib/utils/uncontrollable.js +1 -1
  310. package/lib/utils/validateId.js +1 -1
  311. package/lib/utils/validations.js +1 -1
  312. package/lib/utils/visitedCache.js +1 -1
  313. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-rc.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -10,6 +10,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
10
10
  var tslib = require('tslib');
11
11
  var React = require('react');
12
12
  var reactIntersectionObserver = require('react-intersection-observer');
13
+ var theme = require('../theme.js');
13
14
 
14
15
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
16
 
@@ -21,19 +22,21 @@ var _J$X_ = (__react_jsx__["default"] || __react_jsx__).createElement;
21
22
  var LazyComponent = /** @class */ (function (_super) {
22
23
  tslib.__extends(LazyComponent, _super);
23
24
  function LazyComponent(props) {
24
- var _this = _super.call(this, props) || this;
25
+ var _this = this;
26
+ var _a;
27
+ _this = _super.call(this, props) || this;
25
28
  _this.mounted = false;
26
29
  _this.handleVisibleChange = _this.handleVisibleChange.bind(_this);
27
30
  _this.mounted = true;
28
31
  _this.state = {
29
- visible: false,
32
+ visible: (_a = props.defaultVisible) !== null && _a !== void 0 ? _a : false,
30
33
  component: props.component
31
34
  };
32
35
  return _this;
33
36
  }
34
37
  LazyComponent.prototype.componentDidMount = function () {
35
38
  // jest 里面有点异常,先手动让它总是可见
36
- if (typeof jest !== 'undefined') {
39
+ if (typeof jest !== 'undefined' || this.state.visible) {
37
40
  this.handleVisibleChange(true);
38
41
  }
39
42
  };
@@ -65,7 +68,8 @@ var LazyComponent = /** @class */ (function (_super) {
65
68
  });
66
69
  };
67
70
  LazyComponent.prototype.render = function () {
68
- var _a = this.props, placeholder = _a.placeholder, unMountOnHidden = _a.unMountOnHidden, childProps = _a.childProps, partialVisibility = _a.partialVisibility, children = _a.children, rest = tslib.__rest(_a, ["placeholder", "unMountOnHidden", "childProps", "partialVisibility", "children"]);
71
+ var _a = this.props, placeholder = _a.placeholder, unMountOnHidden = _a.unMountOnHidden, childProps = _a.childProps, partialVisibility = _a.partialVisibility, children = _a.children, className = _a.className, rest = tslib.__rest(_a, ["placeholder", "unMountOnHidden", "childProps", "partialVisibility", "children", "className"]);
72
+ var cx = this.props.classnames;
69
73
  var _b = this.state, visible = _b.visible, Component = _b.component;
70
74
  // 需要监听从可见到不可见。
71
75
  if (unMountOnHidden) {
@@ -87,7 +91,7 @@ var LazyComponent = /** @class */ (function (_super) {
87
91
  else if (children) {
88
92
  return children;
89
93
  }
90
- return _J$X_("div", null, placeholder);
94
+ return _J$X_("div", { className: cx('LazyComponent', className) }, placeholder);
91
95
  };
92
96
  LazyComponent.defaultProps = {
93
97
  placeholder: _J$X_("span", null, "Loading..."),
@@ -96,5 +100,8 @@ var LazyComponent = /** @class */ (function (_super) {
96
100
  };
97
101
  return LazyComponent;
98
102
  }(React__default["default"].Component));
103
+ var themedLazyComponent = theme.themeable(LazyComponent);
104
+ themedLazyComponent.defaultProps = LazyComponent.defaultProps;
99
105
 
100
- exports["default"] = LazyComponent;
106
+ exports.LazyComponent = LazyComponent;
107
+ exports["default"] = themedLazyComponent;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-rc.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -6,7 +6,7 @@
6
6
  /// <reference types="hoist-non-react-statics" />
7
7
  import React from 'react';
8
8
  import { ClassNamesFn } from '../theme';
9
- import type { TestIdBuilder } from 'amis-core';
9
+ import { TestIdBuilder } from '../utils';
10
10
  export interface Offset {
11
11
  x: number;
12
12
  y: number;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-rc.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/lib/env.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-rc.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-rc.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/lib/factory.d.ts CHANGED
@@ -13,8 +13,10 @@ export interface TestFunc {
13
13
  export interface RendererBasicConfig {
14
14
  test?: RegExp | TestFunc;
15
15
  type?: string;
16
+ alias?: Array<string>;
16
17
  name?: string;
17
18
  storeType?: string;
19
+ defaultProps?: (type: string, schema: any) => any;
18
20
  shouldSyncSuperStore?: (store: any, props: any, prevProps: any) => boolean | undefined;
19
21
  storeExtendsData?: boolean | ((props: any) => boolean);
20
22
  weight?: number;
@@ -47,7 +49,11 @@ export type RendererComponent = React.ComponentType<RendererProps> & {
47
49
  propsList?: Array<any>;
48
50
  };
49
51
  export interface RendererConfig extends RendererBasicConfig {
50
- component: RendererComponent;
52
+ component?: RendererComponent;
53
+ getComponent?: () => Promise<{
54
+ default: RendererComponent;
55
+ } | any>;
56
+ override?: boolean;
51
57
  Renderer?: RendererComponent;
52
58
  }
53
59
  export interface RenderSchemaFilter {
@@ -77,7 +83,12 @@ export declare function filterSchema(schema: Schema, render: RendererConfig, pro
77
83
  export declare function Renderer(config: RendererBasicConfig): <T extends RendererComponent>(component: T) => T;
78
84
  export declare function registerRenderer(config: RendererConfig): RendererConfig;
79
85
  export declare function unRegisterRenderer(config: RendererConfig | string): void;
80
- export declare function loadRenderer(schema: Schema, path: string): React.JSX.Element;
86
+ export declare function loadRendererError(schema: Schema, path: string): React.JSX.Element;
87
+ export declare function loadAsyncRenderer(renderer: RendererConfig): Promise<void>;
88
+ export declare function isAsyncRenderer(item: RendererConfig): false | (() => Promise<any>) | undefined;
89
+ export declare function hasAsyncRenderers(): boolean;
90
+ export declare function loadAsyncRenderersByType(type: string | Array<string>, ignore?: boolean): Promise<void>;
91
+ export declare function loadAllAsyncRenderers(): Promise<void>;
81
92
  export declare const defaultOptions: RenderOptions;
82
93
  export declare const stores: {
83
94
  [propName: string]: IRendererStore;
package/lib/factory.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-rc.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,87 @@ function Renderer(config) {
45
47
  return renderer.component;
46
48
  };
47
49
  }
50
+ // 将 renderer 转成组件
51
+ function rendererToComponent(component, config) {
52
+ if (config.storeType && config.component) {
53
+ component = WithStore.HocStoreFactory({
54
+ storeType: config.storeType,
55
+ extendsData: config.storeExtendsData,
56
+ shouldSyncSuperStore: config.shouldSyncSuperStore
57
+ })(mobxReact.observer(component));
58
+ }
59
+ if (config.isolateScope) {
60
+ component = Scoped.HocScoped(component, config.type);
61
+ }
62
+ return component;
63
+ }
48
64
  function registerRenderer(config) {
49
65
  if (!config.test && !config.type) {
50
- throw new TypeError('please set config.test or config.type');
66
+ throw new TypeError('please set config.type or config.test');
51
67
  }
52
- else if (!config.component) {
53
- throw new TypeError('config.component is required');
68
+ else if (!config.type && config.name !== 'static') {
69
+ // todo static 目前还没办法不用 test 来实现
70
+ console.warn("config.type is recommended for register renderer(".concat(config.test, ")"));
54
71
  }
55
72
  if (typeof config.type === 'string' && config.type) {
56
73
  config.type = config.type.toLowerCase();
57
74
  config.test =
58
- config.test || new RegExp("(^|/)".concat(string2regExp.string2regExp(config.type), "$"), 'i');
75
+ config.test ||
76
+ new RegExp("(^|/)(?:".concat((config.alias || [])
77
+ .concat(config.type)
78
+ .map(function (type) { return string2regExp.string2regExp(type); })
79
+ .join('|'), ")$"), 'i');
59
80
  }
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!"));
81
+ var exists = renderersTypeMap[config.type || ''];
82
+ var renderer = tslib.__assign({}, config);
83
+ if (exists &&
84
+ exists.component &&
85
+ exists.component !== Placeholder.Placeholder &&
86
+ config.component &&
87
+ !config.override) {
88
+ throw new Error("The renderer with type \"".concat(config.type, "\" has already exists, please try another type!"));
65
89
  }
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);
90
+ else if (exists) {
91
+ // 如果已经存在,合并配置,并用合并后的配置
92
+ Object.assign(exists, config);
93
+ renderer = exists;
70
94
  }
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));
95
+ renderer.weight = renderer.weight || 0;
96
+ renderer.name =
97
+ renderer.name || renderer.type || "anonymous-".concat(anonymousIndex++);
98
+ if (config.component) {
99
+ renderer.Renderer = config.component;
100
+ renderer.component = rendererToComponent(config.component, renderer);
77
101
  }
78
- if (config.isolateScope) {
79
- config.component = Scoped.HocScoped(config.component, config.type);
102
+ if (!exists) {
103
+ var idx = helper.findIndex(renderers, function (item) { return config.weight < item.weight; });
104
+ ~idx ? renderers.splice(idx, 0, renderer) : renderers.push(renderer);
80
105
  }
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;
106
+ renderersMap[renderer.name] = !!(renderer.component && renderer.component !== Placeholder.Placeholder);
107
+ renderer.type && (renderersTypeMap[renderer.type] = renderer);
108
+ (renderer.alias || []).forEach(function (alias) { return (renderersTypeMap[alias] = renderer); });
109
+ return renderer;
85
110
  }
86
111
  function unRegisterRenderer(config) {
112
+ var _a;
87
113
  var name = (typeof config === 'string' ? config : config.name);
88
114
  var idx = renderers.findIndex(function (item) { return item.name === name; });
89
- ~idx && renderers.splice(idx, 1);
90
- delete renderersMap[name];
91
- // 清空渲染器定位缓存
92
- cache = {};
115
+ if (~idx) {
116
+ var renderer_1 = renderers[idx];
117
+ renderers.splice(idx, 1);
118
+ delete renderersMap[name];
119
+ delete renderersTypeMap[renderer_1.type || ''];
120
+ (_a = renderer_1.alias) === null || _a === void 0 ? void 0 : _a.forEach(function (alias) { return delete renderersTypeMap[alias]; });
121
+ // 清空渲染器定位缓存
122
+ Object.keys(cache).forEach(function (key) {
123
+ var value = cache[key];
124
+ if (value === renderer_1) {
125
+ delete cache[key];
126
+ }
127
+ });
128
+ }
93
129
  }
94
- function loadRenderer(schema, path) {
130
+ function loadRendererError(schema, path) {
95
131
  return (_J$X_("div", { className: "RuntimeError" },
96
132
  _J$X_("p", null, "Error: \u627E\u4E0D\u5230\u5BF9\u5E94\u7684\u6E32\u67D3\u5668"),
97
133
  _J$X_("p", null,
@@ -100,12 +136,97 @@ function loadRenderer(schema, path) {
100
136
  _J$X_("pre", null,
101
137
  _J$X_("code", null, JSON.stringify(schema, null, 2)))));
102
138
  }
139
+ function loadAsyncRenderer(renderer) {
140
+ return tslib.__awaiter(this, void 0, void 0, function () {
141
+ var result;
142
+ return tslib.__generator(this, function (_a) {
143
+ switch (_a.label) {
144
+ case 0:
145
+ if (!isAsyncRenderer(renderer)) {
146
+ // already loaded
147
+ return [2 /*return*/];
148
+ }
149
+ return [4 /*yield*/, renderer.getComponent()];
150
+ case 1:
151
+ result = _a.sent();
152
+ // 如果异步加载的组件没有注册渲染器
153
+ // 同时默认导出了一个组件,则自动注册
154
+ if (!renderer.component && result.default) {
155
+ registerRenderer(tslib.__assign(tslib.__assign({}, renderer), { component: result.default }));
156
+ }
157
+ return [2 /*return*/];
158
+ }
159
+ });
160
+ });
161
+ }
162
+ function isAsyncRenderer(item) {
163
+ return (item &&
164
+ (!item.component || item.component === Placeholder.Placeholder) &&
165
+ item.getComponent);
166
+ }
167
+ function hasAsyncRenderers() {
168
+ return renderers.some(isAsyncRenderer);
169
+ }
170
+ function loadAsyncRenderersByType(type, ignore) {
171
+ if (ignore === void 0) { ignore = false; }
172
+ return tslib.__awaiter(this, void 0, void 0, function () {
173
+ var types, asyncRenderers;
174
+ return tslib.__generator(this, function (_a) {
175
+ switch (_a.label) {
176
+ case 0:
177
+ types = Array.isArray(type) ? type : [type];
178
+ asyncRenderers = types
179
+ .map(function (type) {
180
+ var renderer = renderersTypeMap[type];
181
+ if (!renderer && !ignore) {
182
+ throw new Error("Can not find the renderer by type: ".concat(type));
183
+ }
184
+ return renderer;
185
+ })
186
+ .filter(isAsyncRenderer);
187
+ if (!asyncRenderers.length) return [3 /*break*/, 2];
188
+ return [4 /*yield*/, Promise.all(asyncRenderers.map(function (item) { return loadAsyncRenderer(item); }))];
189
+ case 1:
190
+ _a.sent();
191
+ _a.label = 2;
192
+ case 2: return [2 /*return*/];
193
+ }
194
+ });
195
+ });
196
+ }
197
+ function loadAllAsyncRenderers() {
198
+ return tslib.__awaiter(this, void 0, void 0, function () {
199
+ var asyncRenderers;
200
+ var _this = this;
201
+ return tslib.__generator(this, function (_a) {
202
+ switch (_a.label) {
203
+ case 0:
204
+ asyncRenderers = renderers.filter(isAsyncRenderer);
205
+ if (!asyncRenderers.length) return [3 /*break*/, 2];
206
+ return [4 /*yield*/, Promise.all(renderers.map(function (renderer) { return tslib.__awaiter(_this, void 0, void 0, function () {
207
+ return tslib.__generator(this, function (_a) {
208
+ switch (_a.label) {
209
+ case 0: return [4 /*yield*/, loadAsyncRenderer(renderer)];
210
+ case 1:
211
+ _a.sent();
212
+ return [2 /*return*/];
213
+ }
214
+ });
215
+ }); }))];
216
+ case 1:
217
+ _a.sent();
218
+ _a.label = 2;
219
+ case 2: return [2 /*return*/];
220
+ }
221
+ });
222
+ });
223
+ }
103
224
  var defaultOptions = {
104
225
  session: 'global',
105
226
  richTextToken: '',
106
227
  useMobileUI: true,
107
228
  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,
229
+ loadRenderer: loadRendererError,
109
230
  fetcher: function () {
110
231
  return Promise.reject('fetcher is required');
111
232
  },
@@ -272,8 +393,9 @@ function extendDefaultEnv(env) {
272
393
  var cache = {};
273
394
  function resolveRenderer(path, schema) {
274
395
  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];
396
+ // 直接匹配类型,后续注册渲染都应该用这个方式而不是之前的判断路径。
397
+ if (type && renderersTypeMap[type]) {
398
+ return renderersTypeMap[type];
277
399
  }
278
400
  else if (cache[path]) {
279
401
  return cache[path];
@@ -284,15 +406,7 @@ function resolveRenderer(path, schema) {
284
406
  var renderer = null;
285
407
  renderers.some(function (item) {
286
408
  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') {
409
+ if (typeof item.test === 'function') {
296
410
  // 不应该搞得这么复杂的,让每个渲染器唯一 id,自己不晕别人用起来也不晕。
297
411
  matched = item.test(path, schema, resolveRenderer);
298
412
  }
@@ -331,7 +445,12 @@ exports.extendDefaultEnv = extendDefaultEnv;
331
445
  exports.filterSchema = filterSchema;
332
446
  exports.getRendererByName = getRendererByName;
333
447
  exports.getRenderers = getRenderers;
334
- exports.loadRenderer = loadRenderer;
448
+ exports.hasAsyncRenderers = hasAsyncRenderers;
449
+ exports.isAsyncRenderer = isAsyncRenderer;
450
+ exports.loadAllAsyncRenderers = loadAllAsyncRenderers;
451
+ exports.loadAsyncRenderer = loadAsyncRenderer;
452
+ exports.loadAsyncRenderersByType = loadAsyncRenderersByType;
453
+ exports.loadRendererError = loadRendererError;
335
454
  exports.registerRenderer = registerRenderer;
336
455
  exports.renderersMap = renderersMap;
337
456
  exports.resolveRenderer = resolveRenderer;
package/lib/index.d.ts CHANGED
@@ -6,8 +6,8 @@
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 } 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';
@@ -15,7 +15,7 @@ export * from './utils/index';
15
15
  export * from './types';
16
16
  export * from './store';
17
17
  import * as utils from './utils/helper';
18
- import { RegisterStore } from './store';
18
+ import { RegisterStore, registerStore } from './store';
19
19
  import type { IColumn, IColumn2, IRow, IRow2 } from './store';
20
20
  import { setDefaultLocale, getDefaultLocale, makeTranslator, register as registerLocale, extendLocale, removeLocaleData, localeable } from './locale';
21
21
  import type { LocaleProps, TranslateFn } from './locale';
@@ -51,5 +51,5 @@ import type { IItem } from './store/list';
51
51
  import CustomStyle from './components/CustomStyle';
52
52
  import { StatusScoped } from './StatusScoped';
53
53
  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 };
54
+ export { 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 };
55
55
  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-rc.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -139,7 +139,7 @@ var _J$X_ = (__react_jsx__["default"] || __react_jsx__).createElement;
139
139
  (__react_jsx__["default"] || __react_jsx__).Fragment;
140
140
  var classPrefix = theme.getClassPrefix();
141
141
  // @ts-ignore
142
- var version = '6.8.0';
142
+ var version = '6.9.0-rc.1';
143
143
  function render(schema, props, options, pathPrefix) {
144
144
  if (props === void 0) { props = {}; }
145
145
  if (options === void 0) { options = {}; }
@@ -215,10 +215,15 @@ exports.extendDefaultEnv = factory.extendDefaultEnv;
215
215
  exports.filterSchema = factory.filterSchema;
216
216
  exports.getRendererByName = factory.getRendererByName;
217
217
  exports.getRenderers = factory.getRenderers;
218
+ exports.loadAllAsyncRenderers = factory.loadAllAsyncRenderers;
219
+ exports.loadAsyncRenderer = factory.loadAsyncRenderer;
220
+ exports.loadAsyncRenderersByType = factory.loadAsyncRenderersByType;
218
221
  exports.registerRenderer = factory.registerRenderer;
219
222
  exports.resolveRenderer = factory.resolveRenderer;
220
223
  exports.unRegisterRenderer = factory.unRegisterRenderer;
221
224
  exports.updateEnv = factory.updateEnv;
225
+ exports.addApiRequestAdaptor = api.addApiRequestAdaptor;
226
+ exports.addApiResponseAdator = api.addApiResponseAdator;
222
227
  exports.buildApi = api.buildApi;
223
228
  exports.callStrFunction = api.callStrFunction;
224
229
  exports.clearApiCache = api.clearApiCache;
@@ -232,6 +237,8 @@ exports.jsFetcher = api.jsFetcher;
232
237
  exports.jsonpFetcher = api.jsonpFetcher;
233
238
  exports.normalizeApi = api.normalizeApi;
234
239
  exports.normalizeApiResponseData = api.normalizeApiResponseData;
240
+ exports.removeApiRequestAdaptor = api.removeApiRequestAdaptor;
241
+ exports.removeApiResponseAdaptor = api.removeApiResponseAdaptor;
235
242
  exports.responseAdaptor = api.responseAdaptor;
236
243
  exports.setApiCache = api.setApiCache;
237
244
  exports.str2AsyncFunction = api.str2AsyncFunction;
@@ -473,6 +480,7 @@ exports.safeSub = math.safeSub;
473
480
  exports.animation = Animation["default"];
474
481
  exports.RegisterStore = index.RegisterStore;
475
482
  exports.RendererStore = index.RendererStore;
483
+ exports.registerStore = index.registerStore;
476
484
  exports.extendLocale = locale.extendLocale;
477
485
  exports.getDefaultLocale = locale.getDefaultLocale;
478
486
  exports.localeable = locale.localeable;
package/lib/locale.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-rc.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/lib/polyfills.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-rc.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 {
@@ -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>;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-rc.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -196,7 +196,9 @@ var Form = /** @class */ (function (_super) {
196
196
  successMessage: fetchSuccess,
197
197
  errorMessage: fetchFailed,
198
198
  onSuccess: function (json, data) {
199
- store.setValues(data);
199
+ store.setValues(data, undefined, undefined, undefined, {
200
+ type: 'api'
201
+ });
200
202
  if (!api.isEffectiveApi(initAsyncApi, store.data) ||
201
203
  store.data[initFinishedField || 'finished']) {
202
204
  return;
@@ -463,7 +465,9 @@ var Form = /** @class */ (function (_super) {
463
465
  Form.prototype.setValues = function (value, replace) {
464
466
  var store = this.props.store;
465
467
  this.flush();
466
- store.setValues(value, undefined, replace);
468
+ store.setValues(value, undefined, replace, undefined, {
469
+ type: 'action'
470
+ });
467
471
  };
468
472
  Form.prototype.submit = function (fn, throwErrors, skipFlush) {
469
473
  if (throwErrors === void 0) { throwErrors = false; }
@@ -573,13 +577,15 @@ var Form = /** @class */ (function (_super) {
573
577
  }
574
578
  }
575
579
  };
576
- Form.prototype.handleChange = function (value, name, submit, changePristine) {
580
+ Form.prototype.handleChange = function (value, name, submit, changePristine, changeReason) {
577
581
  if (changePristine === void 0) { changePristine = false; }
578
582
  var _a = this.props, store = _a.store, formLazyChange = _a.formLazyChange, persistDataKeys = _a.persistDataKeys;
579
583
  if (typeof name !== 'string') {
580
584
  return;
581
585
  }
582
- store.changeValue(name, value, changePristine);
586
+ store.changeValue(name, value, changePristine, undefined, undefined, changeReason || {
587
+ type: 'input'
588
+ });
583
589
  if (!changePristine || typeof value !== 'undefined') {
584
590
  (formLazyChange === false ? this.emitChange : this.lazyEmitChange)(submit);
585
591
  }
@@ -637,9 +643,11 @@ var Form = /** @class */ (function (_super) {
637
643
  });
638
644
  });
639
645
  };
640
- Form.prototype.handleBulkChange = function (values, submit) {
646
+ Form.prototype.handleBulkChange = function (values, submit, changeReason) {
641
647
  var _a = this.props; _a.onChange; var store = _a.store, formLazyChange = _a.formLazyChange;
642
- store.setValues(values);
648
+ store.setValues(values, undefined, undefined, undefined, changeReason || {
649
+ type: 'input'
650
+ });
643
651
  // store.updateData(values);
644
652
  // store.items.forEach(formItem => {
645
653
  // const updatedValue = getVariable(values, formItem.name, false);