amis-core 6.9.0-rc.6 → 6.9.0-rc.7

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 (285) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.js +1 -1
  3. package/esm/SchemaRenderer.d.ts +13 -0
  4. package/esm/SchemaRenderer.js +69 -4
  5. package/esm/Scoped.d.ts +1 -1
  6. package/esm/Scoped.js +1 -1
  7. package/esm/StatusScoped.js +1 -1
  8. package/esm/StyleManager.d.ts +18 -0
  9. package/esm/StyleManager.js +55 -0
  10. package/esm/WithRootStore.js +1 -1
  11. package/esm/WithStore.js +1 -1
  12. package/esm/actions/Action.js +1 -1
  13. package/esm/actions/AjaxAction.js +1 -1
  14. package/esm/actions/BreakAction.js +1 -1
  15. package/esm/actions/BroadcastAction.js +1 -1
  16. package/esm/actions/CmptAction.js +57 -50
  17. package/esm/actions/ContinueAction.js +1 -1
  18. package/esm/actions/CopyAction.js +1 -1
  19. package/esm/actions/CustomAction.js +1 -1
  20. package/esm/actions/DialogAction.js +1 -1
  21. package/esm/actions/DrawerAction.js +1 -1
  22. package/esm/actions/EmailAction.js +1 -1
  23. package/esm/actions/EventAction.js +1 -1
  24. package/esm/actions/LinkAction.js +1 -1
  25. package/esm/actions/LoopAction.js +1 -1
  26. package/esm/actions/PageAction.js +1 -1
  27. package/esm/actions/ParallelAction.js +1 -1
  28. package/esm/actions/PrintAction.js +1 -1
  29. package/esm/actions/StatusAction.js +1 -1
  30. package/esm/actions/SwitchAction.js +1 -1
  31. package/esm/actions/ToastAction.js +3 -3
  32. package/esm/actions/WaitAction.js +1 -1
  33. package/esm/components/CustomStyle.js +1 -1
  34. package/esm/components/ErrorBoundary.js +1 -1
  35. package/esm/components/LazyComponent.js +1 -1
  36. package/esm/components/Overlay.js +1 -1
  37. package/esm/components/PopOver.js +1 -1
  38. package/esm/env.js +1 -1
  39. package/esm/envOverwrite.js +1 -1
  40. package/esm/factory.js +1 -1
  41. package/esm/index.d.ts +4 -2
  42. package/esm/index.js +7 -5
  43. package/esm/locale.js +1 -1
  44. package/esm/polyfills.js +1 -1
  45. package/esm/renderers/Form.d.ts +1 -1
  46. package/esm/renderers/Form.js +7 -4
  47. package/esm/renderers/Item.js +1 -1
  48. package/esm/renderers/Options.js +1 -1
  49. package/esm/renderers/Placeholder.js +1 -1
  50. package/esm/renderers/builtin.js +1 -1
  51. package/esm/renderers/register.js +1 -1
  52. package/esm/renderers/wrapControl.js +1 -1
  53. package/esm/store/app.js +1 -1
  54. package/esm/store/combo.js +1 -1
  55. package/esm/store/crud.js +1 -1
  56. package/esm/store/form.js +1 -1
  57. package/esm/store/formItem.js +1 -1
  58. package/esm/store/iRenderer.js +1 -1
  59. package/esm/store/index.js +1 -1
  60. package/esm/store/list.js +1 -1
  61. package/esm/store/manager.js +1 -1
  62. package/esm/store/modal.js +1 -1
  63. package/esm/store/node.js +1 -1
  64. package/esm/store/pagination.js +1 -1
  65. package/esm/store/root.js +1 -1
  66. package/esm/store/service.js +1 -1
  67. package/esm/store/status.js +1 -1
  68. package/esm/store/table.js +1 -1
  69. package/esm/store/table2.js +1 -1
  70. package/esm/theme.js +1 -1
  71. package/esm/types.d.ts +2 -0
  72. package/esm/utils/Animation.js +1 -1
  73. package/esm/utils/ColorScale.js +1 -1
  74. package/esm/utils/DataSchema.js +1 -1
  75. package/esm/utils/DataScope.js +1 -1
  76. package/esm/utils/RootClose.js +1 -1
  77. package/esm/utils/SimpleMap.js +1 -1
  78. package/esm/utils/animations.d.ts +17 -0
  79. package/esm/utils/animations.js +52 -0
  80. package/esm/utils/api.js +6 -1
  81. package/esm/utils/arraySlice.js +1 -1
  82. package/esm/utils/attachmentAdpator.js +1 -1
  83. package/esm/utils/autobind.js +1 -1
  84. package/esm/utils/browser.js +1 -1
  85. package/esm/utils/columnsSplit.js +1 -1
  86. package/esm/utils/concatData.js +1 -1
  87. package/esm/utils/dataMapping.js +1 -1
  88. package/esm/utils/date.js +1 -1
  89. package/esm/utils/debug.js +1 -1
  90. package/esm/utils/decodeEntity.js +1 -1
  91. package/esm/utils/dom.js +1 -1
  92. package/esm/utils/errors.js +1 -1
  93. package/esm/utils/escapeHtml.js +1 -1
  94. package/esm/utils/filter-schema.js +1 -1
  95. package/esm/utils/filter.js +1 -1
  96. package/esm/utils/formatDuration.js +1 -1
  97. package/esm/utils/formula.js +1 -1
  98. package/esm/utils/getVariable.js +1 -1
  99. package/esm/utils/grammar.js +1 -1
  100. package/esm/utils/handleAction.js +1 -1
  101. package/esm/utils/helper.d.ts +1 -0
  102. package/esm/utils/helper.js +15 -2
  103. package/esm/utils/highlight.js +1 -1
  104. package/esm/utils/icon.js +1 -1
  105. package/esm/utils/image.js +1 -1
  106. package/esm/utils/isPureVariable.js +1 -1
  107. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  108. package/esm/utils/keyToPath.js +1 -1
  109. package/esm/utils/labelToString.js +1 -1
  110. package/esm/utils/makeSorter.js +1 -1
  111. package/esm/utils/math.js +1 -1
  112. package/esm/utils/memoryParse.js +1 -1
  113. package/esm/utils/normalizeLink.js +1 -1
  114. package/esm/utils/normalizeOptions.js +1 -1
  115. package/esm/utils/object.js +1 -1
  116. package/esm/utils/offset.js +1 -1
  117. package/esm/utils/offsetParent.js +1 -1
  118. package/esm/utils/optionValueCompare.js +1 -1
  119. package/esm/utils/position.js +1 -1
  120. package/esm/utils/prettyBytes.js +1 -1
  121. package/esm/utils/printElement.js +1 -1
  122. package/esm/utils/renderer-event.js +1 -1
  123. package/esm/utils/replaceText.js +1 -1
  124. package/esm/utils/resize-sensor.js +1 -1
  125. package/esm/utils/resolveCondition.js +1 -1
  126. package/esm/utils/resolveVariable.js +1 -1
  127. package/esm/utils/resolveVariableAndFilter.js +1 -1
  128. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  129. package/esm/utils/scrollPosition.js +1 -1
  130. package/esm/utils/string2regExp.js +1 -1
  131. package/esm/utils/stripNumber.js +1 -1
  132. package/esm/utils/style-helper.js +1 -1
  133. package/esm/utils/style.js +1 -1
  134. package/esm/utils/toNumber.js +1 -1
  135. package/esm/utils/tokenize.js +1 -1
  136. package/esm/utils/tpl-builtin.js +1 -1
  137. package/esm/utils/tpl-lodash.js +1 -1
  138. package/esm/utils/tpl.js +1 -1
  139. package/esm/utils/uncontrollable.js +1 -1
  140. package/esm/utils/validateId.js +1 -1
  141. package/esm/utils/validations.js +13 -10
  142. package/esm/utils/visitedCache.js +1 -1
  143. package/lib/Root.js +1 -1
  144. package/lib/RootRenderer.js +1 -1
  145. package/lib/SchemaRenderer.d.ts +13 -0
  146. package/lib/SchemaRenderer.js +68 -3
  147. package/lib/Scoped.d.ts +1 -1
  148. package/lib/Scoped.js +1 -1
  149. package/lib/StatusScoped.js +1 -1
  150. package/lib/StyleManager.d.ts +18 -0
  151. package/lib/StyleManager.js +63 -0
  152. package/lib/WithRootStore.js +1 -1
  153. package/lib/WithStore.js +1 -1
  154. package/lib/actions/Action.js +1 -1
  155. package/lib/actions/AjaxAction.js +1 -1
  156. package/lib/actions/BreakAction.js +1 -1
  157. package/lib/actions/BroadcastAction.js +1 -1
  158. package/lib/actions/CmptAction.js +56 -49
  159. package/lib/actions/ContinueAction.js +1 -1
  160. package/lib/actions/CopyAction.js +1 -1
  161. package/lib/actions/CustomAction.js +1 -1
  162. package/lib/actions/DialogAction.js +1 -1
  163. package/lib/actions/DrawerAction.js +1 -1
  164. package/lib/actions/EmailAction.js +1 -1
  165. package/lib/actions/EventAction.js +1 -1
  166. package/lib/actions/LinkAction.js +1 -1
  167. package/lib/actions/LoopAction.js +1 -1
  168. package/lib/actions/PageAction.js +1 -1
  169. package/lib/actions/ParallelAction.js +1 -1
  170. package/lib/actions/PrintAction.js +1 -1
  171. package/lib/actions/StatusAction.js +1 -1
  172. package/lib/actions/SwitchAction.js +1 -1
  173. package/lib/actions/ToastAction.js +2 -2
  174. package/lib/actions/WaitAction.js +1 -1
  175. package/lib/components/CustomStyle.js +1 -1
  176. package/lib/components/ErrorBoundary.js +1 -1
  177. package/lib/components/LazyComponent.js +1 -1
  178. package/lib/components/Overlay.js +1 -1
  179. package/lib/components/PopOver.js +1 -1
  180. package/lib/env.js +1 -1
  181. package/lib/envOverwrite.js +1 -1
  182. package/lib/factory.js +1 -1
  183. package/lib/index.d.ts +4 -2
  184. package/lib/index.js +9 -4
  185. package/lib/locale.js +1 -1
  186. package/lib/polyfills.js +1 -1
  187. package/lib/renderers/Form.d.ts +1 -1
  188. package/lib/renderers/Form.js +7 -4
  189. package/lib/renderers/Item.js +1 -1
  190. package/lib/renderers/Options.js +1 -1
  191. package/lib/renderers/Placeholder.js +1 -1
  192. package/lib/renderers/builtin.js +1 -1
  193. package/lib/renderers/register.js +1 -1
  194. package/lib/renderers/wrapControl.js +1 -1
  195. package/lib/store/app.js +1 -1
  196. package/lib/store/combo.js +1 -1
  197. package/lib/store/crud.js +1 -1
  198. package/lib/store/form.js +1 -1
  199. package/lib/store/formItem.js +1 -1
  200. package/lib/store/iRenderer.js +1 -1
  201. package/lib/store/index.js +1 -1
  202. package/lib/store/list.js +1 -1
  203. package/lib/store/manager.js +1 -1
  204. package/lib/store/modal.js +1 -1
  205. package/lib/store/node.js +1 -1
  206. package/lib/store/pagination.js +1 -1
  207. package/lib/store/root.js +1 -1
  208. package/lib/store/service.js +1 -1
  209. package/lib/store/status.js +1 -1
  210. package/lib/store/table.js +1 -1
  211. package/lib/store/table2.js +1 -1
  212. package/lib/theme.js +1 -1
  213. package/lib/types.d.ts +2 -0
  214. package/lib/utils/Animation.js +1 -1
  215. package/lib/utils/ColorScale.js +1 -1
  216. package/lib/utils/DataSchema.js +1 -1
  217. package/lib/utils/DataScope.js +1 -1
  218. package/lib/utils/RootClose.js +1 -1
  219. package/lib/utils/SimpleMap.js +1 -1
  220. package/lib/utils/animations.d.ts +17 -0
  221. package/lib/utils/animations.js +56 -0
  222. package/lib/utils/api.js +6 -1
  223. package/lib/utils/arraySlice.js +1 -1
  224. package/lib/utils/attachmentAdpator.js +1 -1
  225. package/lib/utils/autobind.js +1 -1
  226. package/lib/utils/browser.js +1 -1
  227. package/lib/utils/columnsSplit.js +1 -1
  228. package/lib/utils/concatData.js +1 -1
  229. package/lib/utils/dataMapping.js +1 -1
  230. package/lib/utils/date.js +1 -1
  231. package/lib/utils/debug.js +1 -1
  232. package/lib/utils/decodeEntity.js +1 -1
  233. package/lib/utils/dom.js +1 -1
  234. package/lib/utils/errors.js +1 -1
  235. package/lib/utils/escapeHtml.js +1 -1
  236. package/lib/utils/filter-schema.js +1 -1
  237. package/lib/utils/filter.js +1 -1
  238. package/lib/utils/formatDuration.js +1 -1
  239. package/lib/utils/formula.js +1 -1
  240. package/lib/utils/getVariable.js +1 -1
  241. package/lib/utils/grammar.js +1 -1
  242. package/lib/utils/handleAction.js +1 -1
  243. package/lib/utils/helper.d.ts +1 -0
  244. package/lib/utils/helper.js +15 -1
  245. package/lib/utils/highlight.js +1 -1
  246. package/lib/utils/icon.js +1 -1
  247. package/lib/utils/image.js +1 -1
  248. package/lib/utils/isPureVariable.js +1 -1
  249. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  250. package/lib/utils/keyToPath.js +1 -1
  251. package/lib/utils/labelToString.js +1 -1
  252. package/lib/utils/makeSorter.js +1 -1
  253. package/lib/utils/math.js +1 -1
  254. package/lib/utils/memoryParse.js +1 -1
  255. package/lib/utils/normalizeLink.js +1 -1
  256. package/lib/utils/normalizeOptions.js +1 -1
  257. package/lib/utils/object.js +1 -1
  258. package/lib/utils/offset.js +1 -1
  259. package/lib/utils/offsetParent.js +1 -1
  260. package/lib/utils/optionValueCompare.js +1 -1
  261. package/lib/utils/position.js +1 -1
  262. package/lib/utils/prettyBytes.js +1 -1
  263. package/lib/utils/printElement.js +1 -1
  264. package/lib/utils/renderer-event.js +1 -1
  265. package/lib/utils/replaceText.js +1 -1
  266. package/lib/utils/resize-sensor.js +1 -1
  267. package/lib/utils/resolveCondition.js +1 -1
  268. package/lib/utils/resolveVariable.js +1 -1
  269. package/lib/utils/resolveVariableAndFilter.js +1 -1
  270. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  271. package/lib/utils/scrollPosition.js +1 -1
  272. package/lib/utils/string2regExp.js +1 -1
  273. package/lib/utils/stripNumber.js +1 -1
  274. package/lib/utils/style-helper.js +1 -1
  275. package/lib/utils/style.js +1 -1
  276. package/lib/utils/toNumber.js +1 -1
  277. package/lib/utils/tokenize.js +1 -1
  278. package/lib/utils/tpl-builtin.js +1 -1
  279. package/lib/utils/tpl-lodash.js +1 -1
  280. package/lib/utils/tpl.js +1 -1
  281. package/lib/utils/uncontrollable.js +1 -1
  282. package/lib/utils/validateId.js +1 -1
  283. package/lib/utils/validations.js +13 -10
  284. package/lib/utils/visitedCache.js +1 -1
  285. package/package.json +2 -2
package/esm/Root.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.6
2
+ * amis-core v6.9.0-rc.7
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.6
2
+ * amis-core v6.9.0-rc.7
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -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.9.0-rc.6
2
+ * amis-core v6.9.0-rc.7
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -14,7 +14,7 @@ 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,35 @@ 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 = (animations.enter.duration || 1) * 1000;
91
+ _this.animationClassNames.enter = "".concat(animations.enter.type, "-").concat(id, "-enter");
92
+ _this.animationClassNames.appear = _this.animationClassNames.enter;
93
+ }
94
+ if (animations.exit) {
95
+ _this.animationTimeout.exit = (animations.exit.duration || 1) * 1000;
96
+ _this.animationClassNames.exit = "".concat(animations.exit.type, "-").concat(id, "-exit");
97
+ }
98
+ }
78
99
  _this.refFn = _this.refFn.bind(_this);
79
100
  _this.renderChild = _this.renderChild.bind(_this);
80
101
  _this.reRender = _this.reRender.bind(_this);
81
102
  _this.resolveRenderer(_this.props);
82
103
  _this.dispatchEvent = _this.dispatchEvent.bind(_this);
104
+ _this.addAnimationAttention = _this.addAnimationAttention.bind(_this);
105
+ _this.removeAnimationAttention = _this.removeAnimationAttention.bind(_this);
83
106
  // 监听statusStore更新
84
107
  _this.reaction = reaction(function () {
85
108
  var _a, _b, _c;
@@ -89,10 +112,18 @@ var SchemaRenderer = /** @class */ (function (_super) {
89
112
  }, function () { return _this.forceUpdate(); });
90
113
  return _this;
91
114
  }
115
+ SchemaRenderer.prototype.componentDidMount = function () {
116
+ if (this.props.schema.animations) {
117
+ var _a = this.props.schema, animations = _a.animations, id = _a.id;
118
+ id = formateId(id);
119
+ createAnimationStyle(id, animations);
120
+ }
121
+ };
92
122
  SchemaRenderer.prototype.componentWillUnmount = function () {
93
123
  var _a, _b;
94
124
  (_a = this.reaction) === null || _a === void 0 ? void 0 : _a.call(this);
95
125
  (_b = this.unbindEvent) === null || _b === void 0 ? void 0 : _b.call(this);
126
+ this.removeAnimationStyle();
96
127
  };
97
128
  // 限制:只有 schema 除外的 props 变化,或者 schema 里面的某个成员值发生变化才更新。
98
129
  SchemaRenderer.prototype.shouldComponentUpdate = function (nextProps) {
@@ -115,6 +146,13 @@ var SchemaRenderer = /** @class */ (function (_super) {
115
146
  }
116
147
  return false;
117
148
  };
149
+ SchemaRenderer.prototype.removeAnimationStyle = function () {
150
+ if (this.props.schema.animations) {
151
+ var id = this.props.schema.id;
152
+ id = formateId(id);
153
+ styleManager.removeStyles(id);
154
+ }
155
+ };
118
156
  SchemaRenderer.prototype.resolveRenderer = function (props, force) {
119
157
  if (force === void 0) { force = false; }
120
158
  var schema = props.schema;
@@ -220,6 +258,24 @@ var SchemaRenderer = /** @class */ (function (_super) {
220
258
  this.resolveRenderer(this.props, true);
221
259
  this.forceUpdate();
222
260
  };
261
+ SchemaRenderer.prototype.addAnimationAttention = function (node) {
262
+ var schema = (this.props || {}).schema;
263
+ var attention = ((schema === null || schema === void 0 ? void 0 : schema.animations) || {}).attention;
264
+ if (attention) {
265
+ var id = schema.id;
266
+ id = formateId(id);
267
+ node.classList.add("".concat(attention.type, "-").concat(id, "-attention"));
268
+ }
269
+ };
270
+ SchemaRenderer.prototype.removeAnimationAttention = function (node) {
271
+ var schema = (this.props || {}).schema;
272
+ var attention = ((schema === null || schema === void 0 ? void 0 : schema.animations) || {}).attention;
273
+ if (attention) {
274
+ var id = schema.id;
275
+ id = formateId(id);
276
+ node.classList.remove("".concat(attention.type, "-").concat(id, "-attention"));
277
+ }
278
+ };
223
279
  SchemaRenderer.prototype.render = function () {
224
280
  var e_1, _a;
225
281
  var _this = this;
@@ -322,6 +378,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
322
378
  schema = filterSchema(schema, renderer, rest);
323
379
  var defaultData = schema.data, defaultValue = schema.value, defaultActiveKey = schema.activeKey, restSchema = __rest(schema, ["data", "value", "activeKey"]);
324
380
  var Component = renderer.component;
381
+ var animationIn = true;
325
382
  // 原来表单项的 visible: false 和 hidden: true 表单项的值和验证是有效的
326
383
  // 而 visibleOn 和 hiddenOn 是无效的,
327
384
  // 这个本来就是个bug,但是已经被广泛使用了
@@ -331,7 +388,12 @@ var SchemaRenderer = /** @class */ (function (_super) {
331
388
  exprProps.visible === false ||
332
389
  !renderer.isFormItem ||
333
390
  (schema.visible !== false && !schema.hidden))) {
334
- return null;
391
+ if (schema.animations) {
392
+ animationIn = false;
393
+ }
394
+ else {
395
+ return null;
396
+ }
335
397
  }
336
398
  // withStore 里面会处理,而且会实时处理
337
399
  // 这里处理反而导致了问题
@@ -381,6 +443,9 @@ var SchemaRenderer = /** @class */ (function (_super) {
381
443
  }
382
444
  }
383
445
  var component = supportRef ? (React.createElement(Component, __assign({}, props, { ref: this.childRef }))) : (React.createElement(Component, __assign({}, props, { forwardedRef: this.childRef })));
446
+ if (schema.animations) {
447
+ component = (React.createElement(CSSTransition, { in: animationIn, timeout: this.animationTimeout, classNames: this.animationClassNames, onEntered: this.addAnimationAttention, onExit: this.removeAnimationAttention, appear: true, unmountOnExit: true }, component));
448
+ }
384
449
  return this.props.env.enableAMISDebug ? (React.createElement(DebugWrapper, { renderer: renderer }, component)) : (component);
385
450
  };
386
451
  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.9.0-rc.6
2
+ * amis-core v6.9.0-rc.7
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.6
2
+ * amis-core v6.9.0-rc.7
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-rc.7
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.9.0-rc.6
2
+ * amis-core v6.9.0-rc.7
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.9.0-rc.6
2
+ * amis-core v6.9.0-rc.7
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.6
2
+ * amis-core v6.9.0-rc.7
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.6
2
+ * amis-core v6.9.0-rc.7
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.6
2
+ * amis-core v6.9.0-rc.7
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.6
2
+ * amis-core v6.9.0-rc.7
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.6
2
+ * amis-core v6.9.0-rc.7
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -7,7 +7,7 @@ import { __awaiter, __generator } from 'tslib';
7
7
  import '../utils/helper.js';
8
8
  import { registerAction } from './Action.js';
9
9
  import { getRendererByName } from '../factory.js';
10
- import { createObject } from '../utils/object.js';
10
+ import { createObject, extendObject } from '../utils/object.js';
11
11
 
12
12
  /**
13
13
  * 组件动作
@@ -22,10 +22,10 @@ var CmptAction = /** @class */ (function () {
22
22
  CmptAction.prototype.run = function (action, renderer, event) {
23
23
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5;
24
24
  return __awaiter(this, void 0, void 0, function () {
25
- var key, dataMergeMode, path, beforeSetData, res, component, msg, _6, dispatchEvent_1, data, valid, _7, e_1, result, e_2;
26
- var _8, _9, _10, _11, _12;
27
- return __generator(this, function (_13) {
28
- switch (_13.label) {
25
+ var key, dataMergeMode, path, beforeSetData, res, component, msg, result, _6, dispatchEvent_1, data, valid, _7, e_1, result, e_2;
26
+ var _8, _9, _10, _11, _12, _13;
27
+ return __generator(this, function (_14) {
28
+ switch (_14.label) {
29
29
  case 0:
30
30
  key = action.componentId || action.componentName;
31
31
  dataMergeMode = action.dataMergeMode || 'merge';
@@ -35,11 +35,11 @@ var CmptAction = /** @class */ (function () {
35
35
  if (!(beforeSetData && typeof beforeSetData === 'function')) return [3 /*break*/, 2];
36
36
  return [4 /*yield*/, beforeSetData(renderer, action, event)];
37
37
  case 1:
38
- res = _13.sent();
38
+ res = _14.sent();
39
39
  if (res === false) {
40
40
  return [2 /*return*/];
41
41
  }
42
- _13.label = 2;
42
+ _14.label = 2;
43
43
  case 2:
44
44
  component = key
45
45
  ? (_d = event.context.scoped) === null || _d === void 0 ? void 0 : _d[action.componentId ? 'getComponentById' : 'getComponentByName'](key)
@@ -62,82 +62,89 @@ var CmptAction = /** @class */ (function () {
62
62
  return [2 /*return*/, (_j = component === null || component === void 0 ? void 0 : (_h = component.props).onChange) === null || _j === void 0 ? void 0 : _j.call(_h, (_k = action.args) === null || _k === void 0 ? void 0 : _k.value)];
63
63
  }
64
64
  }
65
- // 刷新
66
- if (action.actionType === 'reload') {
67
- return [2 /*return*/, (_l = component === null || component === void 0 ? void 0 : component.reload) === null || _l === void 0 ? void 0 : _l.call(component, undefined, action.data, event.data, undefined, dataMergeMode === 'override', action.args)];
65
+ if (!(action.actionType === 'reload')) return [3 /*break*/, 4];
66
+ return [4 /*yield*/, ((_l = component === null || component === void 0 ? void 0 : component.reload) === null || _l === void 0 ? void 0 : _l.call(component, undefined, action.data, event.data, undefined, dataMergeMode === 'override', action.args))];
67
+ case 3:
68
+ result = _14.sent();
69
+ if (result && action.outputVar) {
70
+ event.setData(extendObject(event.data, (_8 = {},
71
+ _8[action.outputVar] = result,
72
+ _8)));
68
73
  }
74
+ return [2 /*return*/, result];
75
+ case 4:
69
76
  if (!(action.actionType === 'validateFormItem' &&
70
- ((_o = getRendererByName((_m = component === null || component === void 0 ? void 0 : component.props) === null || _m === void 0 ? void 0 : _m.type)) === null || _o === void 0 ? void 0 : _o.isFormItem))) return [3 /*break*/, 9];
77
+ ((_o = getRendererByName((_m = component === null || component === void 0 ? void 0 : component.props) === null || _m === void 0 ? void 0 : _m.type)) === null || _o === void 0 ? void 0 : _o.isFormItem))) return [3 /*break*/, 11];
71
78
  _6 = (component === null || component === void 0 ? void 0 : component.props) || {}, dispatchEvent_1 = _6.dispatchEvent, data = _6.data;
72
- _13.label = 3;
73
- case 3:
74
- _13.trys.push([3, 7, , 8]);
75
- return [4 /*yield*/, ((_q = component === null || component === void 0 ? void 0 : (_p = component.props).onValidate) === null || _q === void 0 ? void 0 : _q.call(_p))];
76
- case 4:
77
- _7 = (_13.sent());
78
- if (_7) return [3 /*break*/, 6];
79
- return [4 /*yield*/, ((_r = component === null || component === void 0 ? void 0 : component.validate) === null || _r === void 0 ? void 0 : _r.call(component))];
79
+ _14.label = 5;
80
80
  case 5:
81
- _7 = (_13.sent());
82
- _13.label = 6;
81
+ _14.trys.push([5, 9, , 10]);
82
+ return [4 /*yield*/, ((_q = component === null || component === void 0 ? void 0 : (_p = component.props).onValidate) === null || _q === void 0 ? void 0 : _q.call(_p))];
83
83
  case 6:
84
+ _7 = (_14.sent());
85
+ if (_7) return [3 /*break*/, 8];
86
+ return [4 /*yield*/, ((_r = component === null || component === void 0 ? void 0 : component.validate) === null || _r === void 0 ? void 0 : _r.call(component))];
87
+ case 7:
88
+ _7 = (_14.sent());
89
+ _14.label = 8;
90
+ case 8:
84
91
  valid = _7;
85
92
  if (valid) {
86
- event.setData(createObject(event.data, (_8 = {},
87
- _8[action.outputVar || "".concat(action.actionType, "Result")] = {
93
+ event.setData(createObject(event.data, (_9 = {},
94
+ _9[action.outputVar || "".concat(action.actionType, "Result")] = {
88
95
  error: '',
89
96
  value: (_t = (_s = component === null || component === void 0 ? void 0 : component.props) === null || _s === void 0 ? void 0 : _s.formItem) === null || _t === void 0 ? void 0 : _t.value
90
97
  },
91
- _8)));
98
+ _9)));
92
99
  dispatchEvent_1 && dispatchEvent_1('formItemValidateSucc', data);
93
100
  }
94
101
  else {
95
- event.setData(createObject(event.data, (_9 = {},
96
- _9[action.outputVar || "".concat(action.actionType, "Result")] = {
102
+ event.setData(createObject(event.data, (_10 = {},
103
+ _10[action.outputVar || "".concat(action.actionType, "Result")] = {
97
104
  error: (((_v = (_u = component === null || component === void 0 ? void 0 : component.props) === null || _u === void 0 ? void 0 : _u.formItem) === null || _v === void 0 ? void 0 : _v.errors) || []).join(','),
98
105
  value: (_x = (_w = component === null || component === void 0 ? void 0 : component.props) === null || _w === void 0 ? void 0 : _w.formItem) === null || _x === void 0 ? void 0 : _x.value
99
106
  },
100
- _9)));
107
+ _10)));
101
108
  dispatchEvent_1 && dispatchEvent_1('formItemValidateError', data);
102
109
  }
103
- return [3 /*break*/, 8];
104
- case 7:
105
- e_1 = _13.sent();
106
- event.setData(createObject(event.data, (_10 = {},
107
- _10[action.outputVar || "".concat(action.actionType, "Result")] = {
110
+ return [3 /*break*/, 10];
111
+ case 9:
112
+ e_1 = _14.sent();
113
+ event.setData(createObject(event.data, (_11 = {},
114
+ _11[action.outputVar || "".concat(action.actionType, "Result")] = {
108
115
  error: e_1.message || '未知错误',
109
116
  value: (_z = (_y = component === null || component === void 0 ? void 0 : component.props) === null || _y === void 0 ? void 0 : _y.formItem) === null || _z === void 0 ? void 0 : _z.value
110
117
  },
111
- _10)));
118
+ _11)));
112
119
  dispatchEvent_1 && dispatchEvent_1('formItemValidateError', data);
113
- return [3 /*break*/, 8];
114
- case 8: return [2 /*return*/];
115
- case 9:
116
- _13.trys.push([9, 11, , 12]);
120
+ return [3 /*break*/, 10];
121
+ case 10: return [2 /*return*/];
122
+ case 11:
123
+ _14.trys.push([11, 13, , 14]);
117
124
  return [4 /*yield*/, ((_0 = component === null || component === void 0 ? void 0 : component.doAction) === null || _0 === void 0 ? void 0 : _0.call(component, action, event.data, true, action.args))];
118
- case 10:
119
- result = _13.sent();
125
+ case 12:
126
+ result = _14.sent();
120
127
  if (['validate', 'submit'].includes(action.actionType)) {
121
- event.setData(createObject(event.data, (_11 = {},
122
- _11[action.outputVar || "".concat(action.actionType, "Result")] = {
128
+ event.setData(createObject(event.data, (_12 = {},
129
+ _12[action.outputVar || "".concat(action.actionType, "Result")] = {
123
130
  error: '',
124
131
  payload: (_1 = result === null || result === void 0 ? void 0 : result.__payload) !== null && _1 !== void 0 ? _1 : (_3 = (_2 = component === null || component === void 0 ? void 0 : component.props) === null || _2 === void 0 ? void 0 : _2.store) === null || _3 === void 0 ? void 0 : _3.data,
125
132
  responseData: result === null || result === void 0 ? void 0 : result.__response
126
133
  },
127
- _11)));
134
+ _12)));
128
135
  }
129
136
  return [2 /*return*/, result];
130
- case 11:
131
- e_2 = _13.sent();
132
- event.setData(createObject(event.data, (_12 = {},
133
- _12[action.outputVar || "".concat(action.actionType, "Result")] = {
137
+ case 13:
138
+ e_2 = _14.sent();
139
+ event.setData(createObject(event.data, (_13 = {},
140
+ _13[action.outputVar || "".concat(action.actionType, "Result")] = {
134
141
  error: e_2.message,
135
142
  errors: e_2.name === 'ValidateError' ? e_2.detail : e_2,
136
143
  payload: (_5 = (_4 = component === null || component === void 0 ? void 0 : component.props) === null || _4 === void 0 ? void 0 : _4.store) === null || _5 === void 0 ? void 0 : _5.data
137
144
  },
138
- _12)));
139
- return [3 /*break*/, 12];
140
- case 12: return [2 /*return*/];
145
+ _13)));
146
+ return [3 /*break*/, 14];
147
+ case 14: return [2 /*return*/];
141
148
  }
142
149
  });
143
150
  });
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.6
2
+ * amis-core v6.9.0-rc.7
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.6
2
+ * amis-core v6.9.0-rc.7
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.6
2
+ * amis-core v6.9.0-rc.7
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.6
2
+ * amis-core v6.9.0-rc.7
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.6
2
+ * amis-core v6.9.0-rc.7
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.6
2
+ * amis-core v6.9.0-rc.7
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.6
2
+ * amis-core v6.9.0-rc.7
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.6
2
+ * amis-core v6.9.0-rc.7
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.6
2
+ * amis-core v6.9.0-rc.7
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.6
2
+ * amis-core v6.9.0-rc.7
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.6
2
+ * amis-core v6.9.0-rc.7
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.6
2
+ * amis-core v6.9.0-rc.7
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.6
2
+ * amis-core v6.9.0-rc.7
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.6
2
+ * amis-core v6.9.0-rc.7
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5