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/esm/Root.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,5 +30,5 @@ export declare class RootRenderer extends React.Component<RootRendererProps> {
30
30
  renderError(): React.ReactNode;
31
31
  renderDialog(): React.ReactNode;
32
32
  renderDrawer(): React.ReactNode;
33
- render(): string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
33
+ render(): string | number | boolean | React.JSX.Element | Iterable<React.ReactNode> | null | undefined;
34
34
  }
@@ -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
 
@@ -8,7 +8,7 @@ import { observer } from 'mobx-react';
8
8
  import React from 'react';
9
9
  import { filterTarget, ScopedContext } from './Scoped.js';
10
10
  import { RootStore } from './store/root.js';
11
- import { guid, bulkBindFunctions, isVisible } from './utils/helper.js';
11
+ import { guid, bulkBindFunctions, JSONTraverse, isVisible } from './utils/helper.js';
12
12
  import { filter } from './utils/tpl.js';
13
13
  import qs from 'qs';
14
14
  import pick from 'lodash/pick';
@@ -16,6 +16,8 @@ import mapValues from 'lodash/mapValues';
16
16
  import { saveAs } from 'file-saver';
17
17
  import { normalizeApi } from './utils/api.js';
18
18
  import { findDOMNode } from 'react-dom';
19
+ import themedLazyComponent from './components/LazyComponent.js';
20
+ import { hasAsyncRenderers, loadAsyncRenderersByType } from './factory.js';
19
21
 
20
22
  var RootRenderer = /** @class */ (function (_super) {
21
23
  __extends(RootRenderer, _super);
@@ -41,6 +43,23 @@ var RootRenderer = /** @class */ (function (_super) {
41
43
  'handleDrawerClose',
42
44
  'handlePageVisibilityChange'
43
45
  ]);
46
+ _this.store.init(function () {
47
+ if (!hasAsyncRenderers()) {
48
+ return;
49
+ }
50
+ var schema = props.schema;
51
+ var types = ['tpl', 'dialog', 'drawer'];
52
+ JSONTraverse(schema, function (value, key) {
53
+ if (key === 'type') {
54
+ types.push(value);
55
+ // form 依赖 panel
56
+ if (value === 'form') {
57
+ types.push('panel');
58
+ }
59
+ }
60
+ });
61
+ return loadAsyncRenderersByType(types, true);
62
+ });
44
63
  return _this;
45
64
  }
46
65
  RootRenderer.prototype.componentDidMount = function () {
@@ -339,6 +358,9 @@ var RootRenderer = /** @class */ (function (_super) {
339
358
  if (store.runtimeError) {
340
359
  return this.renderRuntimeError();
341
360
  }
361
+ else if (!store.ready) {
362
+ return React.createElement(themedLazyComponent, { className: "RootLoader" });
363
+ }
342
364
  return (React.createElement(React.Fragment, null,
343
365
  render(pathPrefix, schema, __assign(__assign({}, rest), { topStore: this.store, data: this.store.downStream, context: store.context, onAction: this.handleAction })),
344
366
  this.renderSpinner(),
@@ -19,12 +19,23 @@ export declare class SchemaRenderer extends React.Component<SchemaRendererProps,
19
19
  cRef: any;
20
20
  schema: any;
21
21
  path: string;
22
+ animationTimeout: {
23
+ enter?: number;
24
+ exit?: number;
25
+ };
26
+ animationClassNames: {
27
+ appear?: string;
28
+ enter?: string;
29
+ exit?: string;
30
+ };
22
31
  reaction: any;
23
32
  unbindEvent: (() => void) | undefined;
24
33
  isStatic: any;
25
34
  constructor(props: SchemaRendererProps);
35
+ componentDidMount(): void;
26
36
  componentWillUnmount(): void;
27
37
  shouldComponentUpdate(nextProps: SchemaRendererProps): boolean;
38
+ removeAnimationStyle(): void;
28
39
  resolveRenderer(props: SchemaRendererProps, force?: boolean): any;
29
40
  getWrappedInstance(): any;
30
41
  refFn(ref: any): void;
@@ -35,6 +46,8 @@ export declare class SchemaRenderer extends React.Component<SchemaRendererProps,
35
46
  [propName: string]: any;
36
47
  }): any;
37
48
  reRender(): void;
49
+ addAnimationAttention(node: HTMLElement): void;
50
+ removeAnimationAttention(node: HTMLElement): void;
38
51
  render(): JSX.Element | null;
39
52
  }
40
53
  export {};
@@ -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
 
@@ -8,13 +8,13 @@ import difference from 'lodash/difference';
8
8
  import omit from 'lodash/omit';
9
9
  import React from 'react';
10
10
  import { isValidElementType } from 'react-is';
11
- import LazyComponent from './components/LazyComponent.js';
12
- import { resolveRenderer, loadRenderer, filterSchema } from './factory.js';
11
+ import themedLazyComponent from './components/LazyComponent.js';
12
+ import { resolveRenderer, loadRendererError, loadAsyncRenderer, filterSchema } from './factory.js';
13
13
  import { asFormItem } from './renderers/Item.js';
14
14
  import { ScopedContext } from './Scoped.js';
15
15
  import { DebugWrapper } from './utils/debug.js';
16
16
  import { getExprProperties } from './utils/filter-schema.js';
17
- import { anyChanged, chainEvents, TestIdBuilder, autobind } from './utils/helper.js';
17
+ import { formateId, anyChanged, chainEvents, TestIdBuilder, autobind } from './utils/helper.js';
18
18
  import { SimpleMap } from './utils/SimpleMap.js';
19
19
  import { bindEvent, dispatchEvent } from './utils/renderer-event.js';
20
20
  import { isAlive } from 'mobx-state-tree';
@@ -29,6 +29,9 @@ import './utils/filter.js';
29
29
  import { buildStyle } from './utils/style.js';
30
30
  import { isExpression } from './utils/formula.js';
31
31
  import { filter, evalExpression } from './utils/tpl.js';
32
+ import { CSSTransition } from 'react-transition-group';
33
+ import { createAnimationStyle } from './utils/animations.js';
34
+ import styleManager from './StyleManager.js';
32
35
 
33
36
  var RENDERER_TRANSMISSION_OMIT_PROPS = [
34
37
  'type',
@@ -71,15 +74,39 @@ var componentCache = new SimpleMap();
71
74
  var SchemaRenderer = /** @class */ (function (_super) {
72
75
  __extends(SchemaRenderer, _super);
73
76
  function SchemaRenderer(props) {
74
- var _this = _super.call(this, props) || this;
77
+ var _this = this;
78
+ var _a;
79
+ _this = _super.call(this, props) || this;
75
80
  _this.rendererKey = '';
81
+ _this.animationTimeout = {};
82
+ _this.animationClassNames = {};
76
83
  _this.unbindEvent = undefined;
77
84
  _this.isStatic = undefined;
85
+ var animations = (_a = props === null || props === void 0 ? void 0 : props.schema) === null || _a === void 0 ? void 0 : _a.animations;
86
+ if (animations) {
87
+ var id = props === null || props === void 0 ? void 0 : props.schema.id;
88
+ id = formateId(id);
89
+ if (animations.enter) {
90
+ _this.animationTimeout.enter =
91
+ ((animations.enter.duration || 1) + (animations.enter.delay || 0)) *
92
+ 1000;
93
+ _this.animationClassNames.enter = "".concat(animations.enter.type, "-").concat(id, "-enter");
94
+ _this.animationClassNames.appear = _this.animationClassNames.enter;
95
+ }
96
+ if (animations.exit) {
97
+ _this.animationTimeout.exit =
98
+ ((animations.exit.duration || 1) + (animations.exit.delay || 0)) *
99
+ 1000;
100
+ _this.animationClassNames.exit = "".concat(animations.exit.type, "-").concat(id, "-exit");
101
+ }
102
+ }
78
103
  _this.refFn = _this.refFn.bind(_this);
79
104
  _this.renderChild = _this.renderChild.bind(_this);
80
105
  _this.reRender = _this.reRender.bind(_this);
81
106
  _this.resolveRenderer(_this.props);
82
107
  _this.dispatchEvent = _this.dispatchEvent.bind(_this);
108
+ _this.addAnimationAttention = _this.addAnimationAttention.bind(_this);
109
+ _this.removeAnimationAttention = _this.removeAnimationAttention.bind(_this);
83
110
  // 监听statusStore更新
84
111
  _this.reaction = reaction(function () {
85
112
  var _a, _b, _c;
@@ -89,10 +116,18 @@ var SchemaRenderer = /** @class */ (function (_super) {
89
116
  }, function () { return _this.forceUpdate(); });
90
117
  return _this;
91
118
  }
119
+ SchemaRenderer.prototype.componentDidMount = function () {
120
+ if (this.props.schema.animations) {
121
+ var _a = this.props.schema, animations = _a.animations, id = _a.id;
122
+ id = formateId(id);
123
+ createAnimationStyle(id, animations);
124
+ }
125
+ };
92
126
  SchemaRenderer.prototype.componentWillUnmount = function () {
93
127
  var _a, _b;
94
128
  (_a = this.reaction) === null || _a === void 0 ? void 0 : _a.call(this);
95
129
  (_b = this.unbindEvent) === null || _b === void 0 ? void 0 : _b.call(this);
130
+ this.removeAnimationStyle();
96
131
  };
97
132
  // 限制:只有 schema 除外的 props 变化,或者 schema 里面的某个成员值发生变化才更新。
98
133
  SchemaRenderer.prototype.shouldComponentUpdate = function (nextProps) {
@@ -115,6 +150,13 @@ var SchemaRenderer = /** @class */ (function (_super) {
115
150
  }
116
151
  return false;
117
152
  };
153
+ SchemaRenderer.prototype.removeAnimationStyle = function () {
154
+ if (this.props.schema.animations) {
155
+ var id = this.props.schema.id;
156
+ id = formateId(id);
157
+ styleManager.removeStyles(id);
158
+ }
159
+ };
118
160
  SchemaRenderer.prototype.resolveRenderer = function (props, force) {
119
161
  if (force === void 0) { force = false; }
120
162
  var schema = props.schema;
@@ -164,7 +206,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
164
206
  };
165
207
  SchemaRenderer.prototype.childRef = function (ref) {
166
208
  var _this = this;
167
- var _a;
209
+ var _a, _b;
168
210
  // todo 这里有个问题,就是注意以下的这段注释
169
211
  // > // 原来表单项的 visible: false 和 hidden: true 表单项的值和验证是有效的
170
212
  // > 而 visibleOn 和 hiddenOn 是无效的,
@@ -182,7 +224,8 @@ var SchemaRenderer = /** @class */ (function (_super) {
182
224
  }
183
225
  if (ref) {
184
226
  // 这里无法区分监听的是不是广播,所以又bind一下,主要是为了绑广播
185
- this.unbindEvent = bindEvent(this.ref);
227
+ (_b = this.unbindEvent) === null || _b === void 0 ? void 0 : _b.call(this);
228
+ this.unbindEvent = bindEvent(ref);
186
229
  }
187
230
  this.cRef = ref;
188
231
  };
@@ -205,7 +248,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
205
248
  var omitList = RENDERER_TRANSMISSION_OMIT_PROPS.concat();
206
249
  if (this.renderer) {
207
250
  var Component = this.renderer.component;
208
- Component.propsList &&
251
+ (Component === null || Component === void 0 ? void 0 : Component.propsList) &&
209
252
  omitList.push.apply(omitList, Component.propsList);
210
253
  }
211
254
  return render("".concat($path).concat(region ? "/".concat(region) : ''), node || '', __assign(__assign(__assign(__assign({}, omit(rest, omitList)), { defaultStatic: (_c = (_b = (((_a = this.renderer) === null || _a === void 0 ? void 0 : _a.type) &&
@@ -219,15 +262,33 @@ var SchemaRenderer = /** @class */ (function (_super) {
219
262
  this.resolveRenderer(this.props, true);
220
263
  this.forceUpdate();
221
264
  };
265
+ SchemaRenderer.prototype.addAnimationAttention = function (node) {
266
+ var schema = (this.props || {}).schema;
267
+ var attention = ((schema === null || schema === void 0 ? void 0 : schema.animations) || {}).attention;
268
+ if (attention) {
269
+ var id = schema.id;
270
+ id = formateId(id);
271
+ node.classList.add("".concat(attention.type, "-").concat(id, "-attention"));
272
+ }
273
+ };
274
+ SchemaRenderer.prototype.removeAnimationAttention = function (node) {
275
+ var schema = (this.props || {}).schema;
276
+ var attention = ((schema === null || schema === void 0 ? void 0 : schema.animations) || {}).attention;
277
+ if (attention) {
278
+ var id = schema.id;
279
+ id = formateId(id);
280
+ node.classList.remove("".concat(attention.type, "-").concat(id, "-attention"));
281
+ }
282
+ };
222
283
  SchemaRenderer.prototype.render = function () {
223
284
  var e_1, _a;
224
285
  var _this = this;
225
- var _b, _c, _d, _e, _f, _g;
226
- var _h = this.props; _h.$path; var __ = _h.schema, rootStore = _h.rootStore, statusStore = _h.statusStore, render = _h.render, propKey = _h.key, rest = __rest(_h, ["$path", "schema", "rootStore", "statusStore", "render", "key"]);
286
+ var _b, _c, _d, _e, _f, _g, _h;
287
+ var _j = this.props; _j.$path; var __ = _j.schema, rootStore = _j.rootStore, statusStore = _j.statusStore, render = _j.render, propKey = _j.key, rest = __rest(_j, ["$path", "schema", "rootStore", "statusStore", "render", "key"]);
227
288
  if (__ == null) {
228
289
  return null;
229
290
  }
230
- var _j = this.resolveRenderer(this.props), $path = _j.path, schema = _j.schema;
291
+ var _k = this.resolveRenderer(this.props), $path = _k.path, schema = _k.schema;
231
292
  var theme = this.props.env.theme;
232
293
  if (Array.isArray(schema)) {
233
294
  return render($path, schema, rest);
@@ -284,7 +345,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
284
345
  return null;
285
346
  }
286
347
  else if (!this.renderer) {
287
- return rest.invisible ? null : (React.createElement(LazyComponent, __assign({}, rest, exprProps, { getComponent: function () { return __awaiter(_this, void 0, void 0, function () {
348
+ return rest.invisible ? null : (React.createElement(themedLazyComponent, { defaultVisible: true, getComponent: function () { return __awaiter(_this, void 0, void 0, function () {
288
349
  var result;
289
350
  return __generator(this, function (_a) {
290
351
  switch (_a.label) {
@@ -298,15 +359,30 @@ var SchemaRenderer = /** @class */ (function (_super) {
298
359
  return [2 /*return*/, function () { return result; }];
299
360
  }
300
361
  this.reRender();
301
- return [2 /*return*/, function () { return loadRenderer(schema, $path); }];
362
+ return [2 /*return*/, function () { return loadRendererError(schema, $path); }];
302
363
  }
303
364
  });
304
- }); }, "$path": $path, "$schema": schema, retry: this.reRender, rootStore: rootStore, statusStore: statusStore, dispatchEvent: this.dispatchEvent })));
365
+ }); } }));
366
+ }
367
+ else if (this.renderer.getComponent && !this.renderer.component) {
368
+ // 处理异步渲染器
369
+ return rest.invisible ? null : (React.createElement(themedLazyComponent, { defaultVisible: true, getComponent: function () { return __awaiter(_this, void 0, void 0, function () {
370
+ return __generator(this, function (_a) {
371
+ switch (_a.label) {
372
+ case 0: return [4 /*yield*/, loadAsyncRenderer(this.renderer)];
373
+ case 1:
374
+ _a.sent();
375
+ this.reRender();
376
+ return [2 /*return*/, function () { return null; }];
377
+ }
378
+ });
379
+ }); } }));
305
380
  }
306
381
  var renderer = this.renderer;
307
382
  schema = filterSchema(schema, renderer, rest);
308
383
  var defaultData = schema.data, defaultValue = schema.value, defaultActiveKey = schema.activeKey, restSchema = __rest(schema, ["data", "value", "activeKey"]);
309
384
  var Component = renderer.component;
385
+ var animationIn = true;
310
386
  // 原来表单项的 visible: false 和 hidden: true 表单项的值和验证是有效的
311
387
  // 而 visibleOn 和 hiddenOn 是无效的,
312
388
  // 这个本来就是个bug,但是已经被广泛使用了
@@ -316,7 +392,12 @@ var SchemaRenderer = /** @class */ (function (_super) {
316
392
  exprProps.visible === false ||
317
393
  !renderer.isFormItem ||
318
394
  (schema.visible !== false && !schema.hidden))) {
319
- return null;
395
+ if (schema.animations) {
396
+ animationIn = false;
397
+ }
398
+ else {
399
+ return null;
400
+ }
320
401
  }
321
402
  // withStore 里面会处理,而且会实时处理
322
403
  // 这里处理反而导致了问题
@@ -325,9 +406,9 @@ var SchemaRenderer = /** @class */ (function (_super) {
325
406
  }
326
407
  var supportRef = ((_e = Component.prototype) === null || _e === void 0 ? void 0 : _e.isReactComponent) ||
327
408
  Component.$$typeof === Symbol.for('react.forward_ref');
328
- var props = __assign(__assign(__assign(__assign(__assign({}, theme.getRendererConfig(renderer.name)), restSchema), chainEvents(rest, restSchema)), exprProps), {
409
+ var props = __assign(__assign(__assign(__assign(__assign(__assign({}, (_f = renderer.defaultProps) === null || _f === void 0 ? void 0 : _f.call(renderer, schema.type, schema)), theme.getRendererConfig(renderer.name)), restSchema), chainEvents(rest, restSchema)), exprProps), {
329
410
  // value: defaultValue, // 备注: 此处并没有将value传递给渲染器
330
- defaultData: (_f = restSchema.defaultData) !== null && _f !== void 0 ? _f : defaultData, defaultValue: (_g = restSchema.defaultValue) !== null && _g !== void 0 ? _g : defaultValue, defaultActiveKey: defaultActiveKey, propKey: propKey, $path: $path, $schema: schema, render: this.renderChild, rootStore: rootStore, statusStore: statusStore, dispatchEvent: this.dispatchEvent, mobileUI: schema.useMobileUI === false ? false : rest.mobileUI });
411
+ defaultData: (_g = restSchema.defaultData) !== null && _g !== void 0 ? _g : defaultData, defaultValue: (_h = restSchema.defaultValue) !== null && _h !== void 0 ? _h : defaultValue, defaultActiveKey: defaultActiveKey, propKey: propKey, $path: $path, $schema: schema, render: this.renderChild, rootStore: rootStore, statusStore: statusStore, dispatchEvent: this.dispatchEvent, mobileUI: schema.useMobileUI === false ? false : rest.mobileUI });
331
412
  // style 支持公式
332
413
  if (schema.style) {
333
414
  props.style = buildStyle(schema.style, detectData);
@@ -350,8 +431,8 @@ var SchemaRenderer = /** @class */ (function (_super) {
350
431
  // 自动解析变量模式,主要是方便直接引入第三方组件库,无需为了支持变量封装一层
351
432
  if (renderer.autoVar) {
352
433
  try {
353
- for (var _k = __values(Object.keys(schema)), _l = _k.next(); !_l.done; _l = _k.next()) {
354
- var key = _l.value;
434
+ for (var _l = __values(Object.keys(schema)), _m = _l.next(); !_m.done; _m = _l.next()) {
435
+ var key = _m.value;
355
436
  if (typeof props[key] === 'string' && isExpression(props[key])) {
356
437
  props[key] = resolveVariableAndFilter(props[key], props.data, '| raw');
357
438
  }
@@ -360,12 +441,15 @@ var SchemaRenderer = /** @class */ (function (_super) {
360
441
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
361
442
  finally {
362
443
  try {
363
- if (_l && !_l.done && (_a = _k.return)) _a.call(_k);
444
+ if (_m && !_m.done && (_a = _l.return)) _a.call(_l);
364
445
  }
365
446
  finally { if (e_1) throw e_1.error; }
366
447
  }
367
448
  }
368
449
  var component = supportRef ? (React.createElement(Component, __assign({}, props, { ref: this.childRef }))) : (React.createElement(Component, __assign({}, props, { forwardedRef: this.childRef })));
450
+ if (schema.animations) {
451
+ component = (React.createElement(CSSTransition, { in: animationIn, timeout: this.animationTimeout, classNames: this.animationClassNames, onEntered: this.addAnimationAttention, onExit: this.removeAnimationAttention, appear: true, unmountOnExit: true }, component));
452
+ }
369
453
  return this.props.env.enableAMISDebug ? (React.createElement(DebugWrapper, { renderer: renderer }, component)) : (component);
370
454
  };
371
455
  SchemaRenderer.displayName = 'Renderer';
package/esm/Scoped.d.ts CHANGED
@@ -39,7 +39,7 @@ export interface IScopedContext {
39
39
  getComponentById: (id: string) => ScopedComponentType | undefined;
40
40
  getComponentByIdUnderCurrentScope: (id: string, ignoreScope?: IScopedContext) => ScopedComponentType | undefined;
41
41
  getComponents: () => Array<ScopedComponentType>;
42
- reload: (target: string, ctx: RendererData) => void;
42
+ reload: (target: string, ctx: RendererData) => void | Promise<void>;
43
43
  send: (target: string, ctx: RendererData) => void;
44
44
  close: (target: string) => void;
45
45
  closeById: (target: string) => void;
package/esm/Scoped.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
 
@@ -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
 
@@ -0,0 +1,18 @@
1
+ interface Style {
2
+ [id: string]: {
3
+ [className: string]: {
4
+ [propName: string]: string | number;
5
+ };
6
+ };
7
+ }
8
+ declare class StyleManager {
9
+ styles: Style;
10
+ styleDom: HTMLStyleElement;
11
+ styleText: string;
12
+ constructor();
13
+ updateStyle(style: Style): void;
14
+ removeStyles(id: string): void;
15
+ updateStyleDom(): void;
16
+ }
17
+ declare const _default: StyleManager;
18
+ export default _default;
@@ -0,0 +1,55 @@
1
+ /**
2
+ * amis-core v6.9.0-beta.1
3
+ * Copyright 2018-2024 fex
4
+ */
5
+
6
+ import { __assign } from 'tslib';
7
+ import kebabCase from 'lodash/kebabCase';
8
+
9
+ var StyleManager = /** @class */ (function () {
10
+ function StyleManager() {
11
+ this.styles = {};
12
+ this.styleDom = document.createElement('style');
13
+ this.styleDom.id = 'amis-styles';
14
+ document.head.appendChild(this.styleDom);
15
+ }
16
+ StyleManager.prototype.updateStyle = function (style) {
17
+ var _this = this;
18
+ Object.keys(style).forEach(function (className) {
19
+ if (!_this.styles[className]) {
20
+ _this.styles[className] = style[className];
21
+ }
22
+ else {
23
+ _this.styles[className] = __assign(__assign({}, _this.styles[className]), style[className]);
24
+ }
25
+ });
26
+ this.updateStyleDom();
27
+ };
28
+ StyleManager.prototype.removeStyles = function (id) {
29
+ delete this.styles[id];
30
+ this.updateStyleDom();
31
+ };
32
+ StyleManager.prototype.updateStyleDom = function () {
33
+ var _this = this;
34
+ var styleText = Object.keys(this.styles)
35
+ .map(function (id) {
36
+ var style = _this.styles[id];
37
+ return Object.keys(style)
38
+ .map(function (className) {
39
+ return "".concat(className, " {").concat(Object.keys(style[className])
40
+ .map(function (propName) {
41
+ return "".concat(kebabCase(propName), ": ").concat(style[className][propName], ";");
42
+ })
43
+ .join(''), "}");
44
+ })
45
+ .join('');
46
+ })
47
+ .join('');
48
+ this.styleDom.innerHTML = styleText;
49
+ this.styleText = styleText;
50
+ };
51
+ return StyleManager;
52
+ }());
53
+ var styleManager = new StyleManager();
54
+
55
+ export { styleManager as default };
@@ -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
 
package/esm/WithStore.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
 
@@ -97,7 +97,7 @@ function HocStoreFactory(renderer) {
97
97
  };
98
98
  StoreFactory.prototype.componentDidUpdate = function (prevProps) {
99
99
  var _this = this;
100
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
100
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
101
101
  var props = this.props;
102
102
  var store = this.store;
103
103
  // dialog 场景下 schema 是显示的时候更新的,
@@ -131,7 +131,7 @@ function HocStoreFactory(renderer) {
131
131
  (props.data &&
132
132
  prevProps.data &&
133
133
  props.data.__super !== prevProps.data.__super))) {
134
- store.initData(extendObject(props.data, __assign(__assign(__assign(__assign({}, this.formatData(dataMapping(this.props.defaultData, this.props.data, ignoreSchemaProps))), (store.hasRemoteData ? store.data : null)), this.formatData(props.defaultData)), this.formatData(props.data))), ((_c = props.updatePristineAfterStoreDataReInit) !== null && _c !== void 0 ? _c : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
134
+ store.initData(extendObject(props.data, __assign(__assign(__assign(__assign({}, this.formatData(dataMapping(this.props.defaultData, this.props.data, ignoreSchemaProps))), (store.hasRemoteData ? store.data : null)), this.formatData(props.defaultData)), this.formatData(props.data))), ((_c = props.updatePristineAfterStoreDataReInit) !== null && _c !== void 0 ? _c : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false, (_d = props.data) === null || _d === void 0 ? void 0 : _d.__changeReason);
135
135
  }
136
136
  }
137
137
  else if (shouldSync === true ||
@@ -143,7 +143,7 @@ function HocStoreFactory(renderer) {
143
143
  isSuperDataModified(props.data, prevProps.data, store)))) {
144
144
  if (props.store && props.scope === props.data) {
145
145
  store.initData(createObject(props.store.data, __assign(__assign({}, this.formatData(dataMapping(this.props.defaultData, this.props.data, ignoreSchemaProps))), (props.syncSuperStore === false
146
- ? __assign({}, store.data) : syncDataFromSuper(store.data, props.store.data, prevProps.scope, store, props.syncSuperStore === true)))), ((_d = props.updatePristineAfterStoreDataReInit) !== null && _d !== void 0 ? _d : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
146
+ ? __assign({}, store.data) : syncDataFromSuper(store.data, props.store.data, prevProps.scope, store, props.syncSuperStore === true)))), ((_e = props.updatePristineAfterStoreDataReInit) !== null && _e !== void 0 ? _e : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false, (_f = props.data) === null || _f === void 0 ? void 0 : _f.__changeReason);
147
147
  }
148
148
  else if (props.data && props.data.__super) {
149
149
  store.initData(extendObject(props.data, __assign(__assign({}, this.formatData(dataMapping(this.props.defaultData, this.props.data, ignoreSchemaProps))), // 有远程数据
@@ -151,12 +151,12 @@ function HocStoreFactory(renderer) {
151
151
  (store.hasRemoteData || !store.path.includes('/')
152
152
  ? __assign(__assign({}, store.data), props.data) : // combo 不需要同步,如果要同步,在 Combo.tsx 里面已经实现了相关逻辑
153
153
  // 目前主要的问题是,如果 combo 中表单项名字和 combo 本身的名字一样,会导致里面的值会被覆盖成数组
154
- ((_e = props.store) === null || _e === void 0 ? void 0 : _e.storeType) === 'ComboStore'
154
+ ((_g = props.store) === null || _g === void 0 ? void 0 : _g.storeType) === 'ComboStore'
155
155
  ? undefined
156
- : syncDataFromSuper(__assign(__assign({}, store.pristineDiff), props.data), props.data.__super, prevProps.data.__super, store, false)))), ((_f = props.updatePristineAfterStoreDataReInit) !== null && _f !== void 0 ? _f : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
156
+ : syncDataFromSuper(__assign(__assign({}, store.pristineDiff), props.data), props.data.__super, prevProps.data.__super, store, false)))), ((_h = props.updatePristineAfterStoreDataReInit) !== null && _h !== void 0 ? _h : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false, (_j = props.data) === null || _j === void 0 ? void 0 : _j.__changeReason);
157
157
  }
158
158
  else {
159
- store.initData(createObject(props.scope, props.data), ((_g = props.updatePristineAfterStoreDataReInit) !== null && _g !== void 0 ? _g : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
159
+ store.initData(createObject(props.scope, props.data), ((_k = props.updatePristineAfterStoreDataReInit) !== null && _k !== void 0 ? _k : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false, (_l = props.data) === null || _l === void 0 ? void 0 : _l.__changeReason);
160
160
  }
161
161
  }
162
162
  else if (!props.trackExpression &&
@@ -166,9 +166,9 @@ function HocStoreFactory(renderer) {
166
166
  // 这个用法很少,当 data.__super 值发生变化时,更新 store.data
167
167
  if (!prevProps.data ||
168
168
  isObjectShallowModified(props.data.__super, prevProps.data.__super, false)) {
169
- store.initData(createObject(props.data.__super, __assign(__assign({}, props.data), store.data)), ((_h = props.updatePristineAfterStoreDataReInit) !== null && _h !== void 0 ? _h : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false ||
169
+ store.initData(createObject(props.data.__super, __assign(__assign({}, props.data), store.data)), ((_m = props.updatePristineAfterStoreDataReInit) !== null && _m !== void 0 ? _m : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false ||
170
170
  (store.storeType === 'FormStore' &&
171
- ((_j = prevProps.store) === null || _j === void 0 ? void 0 : _j.storeType) === 'CRUDStore'));
171
+ ((_o = prevProps.store) === null || _o === void 0 ? void 0 : _o.storeType) === 'CRUDStore'), (_p = props.data) === null || _p === void 0 ? void 0 : _p.__changeReason);
172
172
  }
173
173
  // nextProps.data.__super !== props.data.__super) &&
174
174
  }
@@ -178,7 +178,7 @@ function HocStoreFactory(renderer) {
178
178
  prevProps.data !== props.data) {
179
179
  // 只有父级数据变动的时候才应该进来,
180
180
  // 目前看来这个 case 很少有情况下能进来
181
- store.initData(createObject(props.scope, __assign({}, store.data)), ((_k = props.updatePristineAfterStoreDataReInit) !== null && _k !== void 0 ? _k : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
181
+ store.initData(createObject(props.scope, __assign({}, store.data)), ((_q = props.updatePristineAfterStoreDataReInit) !== null && _q !== void 0 ? _q : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false, (_r = props.data) === null || _r === void 0 ? void 0 : _r.__changeReason);
182
182
  }
183
183
  };
184
184
  StoreFactory.prototype.componentWillUnmount = function () {
@@ -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
 
@@ -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
 
@@ -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
 
@@ -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