amis-core 6.9.0-rc.1 → 6.9.0-rc.11

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 (315) 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 +76 -6
  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 +4 -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.d.ts +0 -4
  39. package/esm/env.js +1 -1
  40. package/esm/envOverwrite.js +1 -1
  41. package/esm/factory.d.ts +7 -1
  42. package/esm/factory.js +51 -5
  43. package/esm/index.d.ts +6 -4
  44. package/esm/index.js +13 -6
  45. package/esm/locale.d.ts +1 -1
  46. package/esm/locale.js +13 -2
  47. package/esm/polyfills.js +1 -1
  48. package/esm/renderers/Form.d.ts +2 -2
  49. package/esm/renderers/Form.js +11 -6
  50. package/esm/renderers/Item.d.ts +2 -1
  51. package/esm/renderers/Item.js +9 -10
  52. package/esm/renderers/Options.d.ts +46 -1
  53. package/esm/renderers/Options.js +921 -914
  54. package/esm/renderers/Placeholder.js +1 -1
  55. package/esm/renderers/builtin.js +1 -1
  56. package/esm/renderers/register.js +1 -1
  57. package/esm/renderers/wrapControl.d.ts +2 -1
  58. package/esm/renderers/wrapControl.js +8 -7
  59. package/esm/store/app.js +1 -1
  60. package/esm/store/combo.d.ts +2 -0
  61. package/esm/store/combo.js +1 -1
  62. package/esm/store/crud.js +1 -1
  63. package/esm/store/form.d.ts +1 -0
  64. package/esm/store/form.js +5 -1
  65. package/esm/store/formItem.js +4 -4
  66. package/esm/store/iRenderer.js +1 -1
  67. package/esm/store/index.js +1 -1
  68. package/esm/store/list.js +1 -1
  69. package/esm/store/manager.js +1 -1
  70. package/esm/store/modal.js +1 -1
  71. package/esm/store/node.js +1 -1
  72. package/esm/store/pagination.js +1 -1
  73. package/esm/store/root.js +1 -1
  74. package/esm/store/service.js +1 -1
  75. package/esm/store/status.js +1 -1
  76. package/esm/store/table.d.ts +2 -0
  77. package/esm/store/table.js +1 -1
  78. package/esm/store/table2.js +1 -1
  79. package/esm/theme.d.ts +1 -1
  80. package/esm/theme.js +13 -2
  81. package/esm/types.d.ts +2 -0
  82. package/esm/utils/Animation.js +1 -1
  83. package/esm/utils/ColorScale.js +1 -1
  84. package/esm/utils/DataSchema.js +1 -1
  85. package/esm/utils/DataScope.js +1 -1
  86. package/esm/utils/RootClose.js +1 -1
  87. package/esm/utils/SimpleMap.js +1 -1
  88. package/esm/utils/animations.d.ts +19 -0
  89. package/esm/utils/animations.js +58 -0
  90. package/esm/utils/api.d.ts +2 -1
  91. package/esm/utils/api.js +11 -4
  92. package/esm/utils/arraySlice.js +1 -1
  93. package/esm/utils/attachmentAdpator.js +4 -1
  94. package/esm/utils/autobind.js +1 -1
  95. package/esm/utils/browser.js +1 -1
  96. package/esm/utils/columnsSplit.js +1 -1
  97. package/esm/utils/concatData.js +1 -1
  98. package/esm/utils/dataMapping.js +1 -1
  99. package/esm/utils/date.js +1 -1
  100. package/esm/utils/debug.d.ts +3 -3
  101. package/esm/utils/debug.js +104 -37
  102. package/esm/utils/decodeEntity.js +1 -1
  103. package/esm/utils/dom.js +1 -1
  104. package/esm/utils/errors.js +1 -1
  105. package/esm/utils/escapeHtml.js +1 -1
  106. package/esm/utils/filter-schema.js +1 -1
  107. package/esm/utils/filter.js +1 -1
  108. package/esm/utils/formatDuration.js +1 -1
  109. package/esm/utils/formula.js +1 -1
  110. package/esm/utils/getVariable.js +1 -1
  111. package/esm/utils/grammar.js +1 -1
  112. package/esm/utils/handleAction.js +1 -1
  113. package/esm/utils/helper.d.ts +1 -0
  114. package/esm/utils/helper.js +15 -2
  115. package/esm/utils/highlight.js +1 -1
  116. package/esm/utils/icon.js +1 -1
  117. package/esm/utils/image.js +1 -1
  118. package/esm/utils/index.d.ts +1 -0
  119. package/esm/utils/isPureVariable.js +1 -1
  120. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  121. package/esm/utils/keyToPath.js +1 -1
  122. package/esm/utils/labelToString.js +2 -2
  123. package/esm/utils/loopTooMuch.d.ts +1 -0
  124. package/esm/utils/loopTooMuch.js +27 -0
  125. package/esm/utils/makeSorter.js +1 -1
  126. package/esm/utils/math.js +1 -1
  127. package/esm/utils/memoryParse.js +1 -1
  128. package/esm/utils/normalizeLink.js +1 -1
  129. package/esm/utils/normalizeOptions.js +1 -1
  130. package/esm/utils/object.js +1 -1
  131. package/esm/utils/offset.js +1 -1
  132. package/esm/utils/offsetParent.js +1 -1
  133. package/esm/utils/optionValueCompare.js +1 -1
  134. package/esm/utils/position.js +11 -6
  135. package/esm/utils/prettyBytes.js +1 -1
  136. package/esm/utils/printElement.js +1 -1
  137. package/esm/utils/renderer-event.js +1 -1
  138. package/esm/utils/replaceText.js +1 -1
  139. package/esm/utils/resize-sensor.js +1 -1
  140. package/esm/utils/resolveCondition.js +1 -1
  141. package/esm/utils/resolveVariable.js +1 -1
  142. package/esm/utils/resolveVariableAndFilter.js +1 -1
  143. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  144. package/esm/utils/scrollPosition.js +1 -1
  145. package/esm/utils/string2regExp.js +1 -1
  146. package/esm/utils/stripNumber.js +1 -1
  147. package/esm/utils/style-helper.js +1 -1
  148. package/esm/utils/style.js +1 -1
  149. package/esm/utils/toNumber.js +1 -1
  150. package/esm/utils/tokenize.js +1 -1
  151. package/esm/utils/tpl-builtin.js +1 -1
  152. package/esm/utils/tpl-lodash.js +1 -1
  153. package/esm/utils/tpl.js +1 -1
  154. package/esm/utils/uncontrollable.js +1 -1
  155. package/esm/utils/validateId.js +1 -1
  156. package/esm/utils/validations.js +17 -12
  157. package/esm/utils/visitedCache.js +1 -1
  158. package/lib/Root.js +1 -1
  159. package/lib/RootRenderer.js +1 -1
  160. package/lib/SchemaRenderer.d.ts +13 -0
  161. package/lib/SchemaRenderer.js +75 -5
  162. package/lib/Scoped.d.ts +1 -1
  163. package/lib/Scoped.js +1 -1
  164. package/lib/StatusScoped.js +1 -1
  165. package/lib/StyleManager.d.ts +18 -0
  166. package/lib/StyleManager.js +63 -0
  167. package/lib/WithRootStore.js +1 -1
  168. package/lib/WithStore.js +1 -1
  169. package/lib/actions/Action.js +4 -1
  170. package/lib/actions/AjaxAction.js +1 -1
  171. package/lib/actions/BreakAction.js +1 -1
  172. package/lib/actions/BroadcastAction.js +1 -1
  173. package/lib/actions/CmptAction.js +56 -49
  174. package/lib/actions/ContinueAction.js +1 -1
  175. package/lib/actions/CopyAction.js +1 -1
  176. package/lib/actions/CustomAction.js +1 -1
  177. package/lib/actions/DialogAction.js +1 -1
  178. package/lib/actions/DrawerAction.js +1 -1
  179. package/lib/actions/EmailAction.js +1 -1
  180. package/lib/actions/EventAction.js +1 -1
  181. package/lib/actions/LinkAction.js +1 -1
  182. package/lib/actions/LoopAction.js +1 -1
  183. package/lib/actions/PageAction.js +1 -1
  184. package/lib/actions/ParallelAction.js +1 -1
  185. package/lib/actions/PrintAction.js +1 -1
  186. package/lib/actions/StatusAction.js +1 -1
  187. package/lib/actions/SwitchAction.js +1 -1
  188. package/lib/actions/ToastAction.js +2 -2
  189. package/lib/actions/WaitAction.js +1 -1
  190. package/lib/components/CustomStyle.js +1 -1
  191. package/lib/components/ErrorBoundary.js +1 -1
  192. package/lib/components/LazyComponent.js +1 -1
  193. package/lib/components/Overlay.js +1 -1
  194. package/lib/components/PopOver.js +1 -1
  195. package/lib/env.d.ts +0 -4
  196. package/lib/env.js +1 -1
  197. package/lib/envOverwrite.js +1 -1
  198. package/lib/factory.d.ts +7 -1
  199. package/lib/factory.js +52 -4
  200. package/lib/index.d.ts +6 -4
  201. package/lib/index.js +17 -2
  202. package/lib/locale.d.ts +1 -1
  203. package/lib/locale.js +13 -2
  204. package/lib/polyfills.js +1 -1
  205. package/lib/renderers/Form.d.ts +2 -2
  206. package/lib/renderers/Form.js +11 -6
  207. package/lib/renderers/Item.d.ts +2 -1
  208. package/lib/renderers/Item.js +8 -9
  209. package/lib/renderers/Options.d.ts +46 -1
  210. package/lib/renderers/Options.js +920 -912
  211. package/lib/renderers/Placeholder.js +1 -1
  212. package/lib/renderers/builtin.js +1 -1
  213. package/lib/renderers/register.js +1 -1
  214. package/lib/renderers/wrapControl.d.ts +2 -1
  215. package/lib/renderers/wrapControl.js +8 -7
  216. package/lib/store/app.js +1 -1
  217. package/lib/store/combo.d.ts +2 -1
  218. package/lib/store/combo.js +1 -1
  219. package/lib/store/crud.js +1 -1
  220. package/lib/store/form.d.ts +1 -1
  221. package/lib/store/form.js +5 -1
  222. package/lib/store/formItem.js +4 -4
  223. package/lib/store/iRenderer.js +1 -1
  224. package/lib/store/index.js +1 -1
  225. package/lib/store/list.js +1 -1
  226. package/lib/store/manager.js +1 -1
  227. package/lib/store/modal.js +1 -1
  228. package/lib/store/node.js +1 -1
  229. package/lib/store/pagination.js +1 -1
  230. package/lib/store/root.js +1 -1
  231. package/lib/store/service.js +1 -1
  232. package/lib/store/status.js +1 -1
  233. package/lib/store/table.d.ts +2 -1
  234. package/lib/store/table.js +1 -1
  235. package/lib/store/table2.js +1 -1
  236. package/lib/theme.d.ts +1 -1
  237. package/lib/theme.js +13 -2
  238. package/lib/types.d.ts +2 -0
  239. package/lib/utils/Animation.js +1 -1
  240. package/lib/utils/ColorScale.js +1 -1
  241. package/lib/utils/DataSchema.js +1 -1
  242. package/lib/utils/DataScope.js +1 -1
  243. package/lib/utils/RootClose.js +1 -1
  244. package/lib/utils/SimpleMap.js +1 -1
  245. package/lib/utils/animations.d.ts +19 -0
  246. package/lib/utils/animations.js +62 -0
  247. package/lib/utils/api.d.ts +2 -1
  248. package/lib/utils/api.js +10 -2
  249. package/lib/utils/arraySlice.js +1 -1
  250. package/lib/utils/attachmentAdpator.js +4 -1
  251. package/lib/utils/autobind.js +1 -1
  252. package/lib/utils/browser.js +1 -1
  253. package/lib/utils/columnsSplit.js +1 -1
  254. package/lib/utils/concatData.js +1 -1
  255. package/lib/utils/dataMapping.js +1 -1
  256. package/lib/utils/date.js +1 -1
  257. package/lib/utils/debug.d.ts +3 -3
  258. package/lib/utils/debug.js +103 -36
  259. package/lib/utils/decodeEntity.js +1 -1
  260. package/lib/utils/dom.js +1 -1
  261. package/lib/utils/errors.js +1 -1
  262. package/lib/utils/escapeHtml.js +1 -1
  263. package/lib/utils/filter-schema.js +1 -1
  264. package/lib/utils/filter.js +1 -1
  265. package/lib/utils/formatDuration.js +1 -1
  266. package/lib/utils/formula.js +1 -1
  267. package/lib/utils/getVariable.js +1 -1
  268. package/lib/utils/grammar.js +1 -1
  269. package/lib/utils/handleAction.js +1 -1
  270. package/lib/utils/helper.d.ts +1 -0
  271. package/lib/utils/helper.js +15 -1
  272. package/lib/utils/highlight.js +1 -1
  273. package/lib/utils/icon.js +1 -1
  274. package/lib/utils/image.js +1 -1
  275. package/lib/utils/index.d.ts +1 -0
  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 +2 -2
  280. package/lib/utils/loopTooMuch.d.ts +1 -0
  281. package/lib/utils/loopTooMuch.js +31 -0
  282. package/lib/utils/makeSorter.js +1 -1
  283. package/lib/utils/math.js +1 -1
  284. package/lib/utils/memoryParse.js +1 -1
  285. package/lib/utils/normalizeLink.js +1 -1
  286. package/lib/utils/normalizeOptions.js +1 -1
  287. package/lib/utils/object.js +1 -1
  288. package/lib/utils/offset.js +1 -1
  289. package/lib/utils/offsetParent.js +1 -1
  290. package/lib/utils/optionValueCompare.js +1 -1
  291. package/lib/utils/position.js +11 -6
  292. package/lib/utils/prettyBytes.js +1 -1
  293. package/lib/utils/printElement.js +1 -1
  294. package/lib/utils/renderer-event.js +1 -1
  295. package/lib/utils/replaceText.js +1 -1
  296. package/lib/utils/resize-sensor.js +1 -1
  297. package/lib/utils/resolveCondition.js +1 -1
  298. package/lib/utils/resolveVariable.js +1 -1
  299. package/lib/utils/resolveVariableAndFilter.js +1 -1
  300. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  301. package/lib/utils/scrollPosition.js +1 -1
  302. package/lib/utils/string2regExp.js +1 -1
  303. package/lib/utils/stripNumber.js +1 -1
  304. package/lib/utils/style-helper.js +1 -1
  305. package/lib/utils/style.js +1 -1
  306. package/lib/utils/toNumber.js +1 -1
  307. package/lib/utils/tokenize.js +1 -1
  308. package/lib/utils/tpl-builtin.js +1 -1
  309. package/lib/utils/tpl-lodash.js +1 -1
  310. package/lib/utils/tpl.js +1 -1
  311. package/lib/utils/uncontrollable.js +1 -1
  312. package/lib/utils/validateId.js +1 -1
  313. package/lib/utils/validations.js +17 -12
  314. package/lib/utils/visitedCache.js +1 -1
  315. package/package.json +5 -4
package/esm/Root.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
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.1
2
+ * amis-core v6.9.0-rc.11
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,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
  };
@@ -219,6 +262,24 @@ 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;
@@ -321,6 +382,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
321
382
  schema = filterSchema(schema, renderer, rest);
322
383
  var defaultData = schema.data, defaultValue = schema.value, defaultActiveKey = schema.activeKey, restSchema = __rest(schema, ["data", "value", "activeKey"]);
323
384
  var Component = renderer.component;
385
+ var animationIn = true;
324
386
  // 原来表单项的 visible: false 和 hidden: true 表单项的值和验证是有效的
325
387
  // 而 visibleOn 和 hiddenOn 是无效的,
326
388
  // 这个本来就是个bug,但是已经被广泛使用了
@@ -330,7 +392,12 @@ var SchemaRenderer = /** @class */ (function (_super) {
330
392
  exprProps.visible === false ||
331
393
  !renderer.isFormItem ||
332
394
  (schema.visible !== false && !schema.hidden))) {
333
- return null;
395
+ if (schema.animations) {
396
+ animationIn = false;
397
+ }
398
+ else {
399
+ return null;
400
+ }
334
401
  }
335
402
  // withStore 里面会处理,而且会实时处理
336
403
  // 这里处理反而导致了问题
@@ -380,6 +447,9 @@ var SchemaRenderer = /** @class */ (function (_super) {
380
447
  }
381
448
  }
382
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
+ }
383
453
  return this.props.env.enableAMISDebug ? (React.createElement(DebugWrapper, { renderer: renderer }, component)) : (component);
384
454
  };
385
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.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
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.11
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.1
2
+ * amis-core v6.9.0-rc.11
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.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -14,6 +14,7 @@ import '../utils/memoryParse.js';
14
14
  import '@rc-component/mini-decimal';
15
15
  import { dataMapping } from '../utils/dataMapping.js';
16
16
  import '../utils/filter.js';
17
+ import { debug } from '../utils/debug.js';
17
18
 
18
19
  // 循环动作执行状态
19
20
  var LoopStatus;
@@ -277,6 +278,8 @@ var runAction = function (actionInstrance, actionConfig, renderer, event) { retu
277
278
  : mergeData;
278
279
  (_x = console.group) === null || _x === void 0 ? void 0 : _x.call(console, "run action ".concat(action.actionType));
279
280
  console.debug("[".concat(action.actionType, "] action args, data"), args, data);
281
+ debug('action', "run action ".concat(action.actionType, " with args"), args);
282
+ debug('action', "run action ".concat(action.actionType, " with data"), data);
280
283
  stopped = false;
281
284
  return [4 /*yield*/, actionInstrance.run(__assign(__assign(__assign({}, action), { args: args, rawData: actionConfig.data, data: action.actionType === 'reload' ? actionData : data }), key), renderer, event, mergeData)];
282
285
  case 5:
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
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.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5