amis-core 6.6.0 → 6.8.0

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 (312) hide show
  1. package/esm/Root.js +4 -3
  2. package/esm/RootRenderer.d.ts +1 -1
  3. package/esm/RootRenderer.js +1 -1
  4. package/esm/SchemaRenderer.d.ts +0 -1
  5. package/esm/SchemaRenderer.js +19 -10
  6. package/esm/Scoped.js +2 -1
  7. package/esm/StatusScoped.js +1 -1
  8. package/esm/WithRootStore.js +1 -1
  9. package/esm/WithStore.js +8 -8
  10. package/esm/actions/Action.js +33 -31
  11. package/esm/actions/AjaxAction.js +1 -1
  12. package/esm/actions/BreakAction.js +1 -1
  13. package/esm/actions/BroadcastAction.js +1 -1
  14. package/esm/actions/CmptAction.js +55 -48
  15. package/esm/actions/ContinueAction.js +1 -1
  16. package/esm/actions/CopyAction.js +1 -1
  17. package/esm/actions/CustomAction.js +12 -3
  18. package/esm/actions/DialogAction.js +3 -1
  19. package/esm/actions/DrawerAction.js +2 -1
  20. package/esm/actions/EmailAction.js +1 -1
  21. package/esm/actions/EventAction.js +2 -1
  22. package/esm/actions/LinkAction.js +1 -1
  23. package/esm/actions/LoopAction.js +2 -1
  24. package/esm/actions/PageAction.js +1 -1
  25. package/esm/actions/ParallelAction.js +1 -1
  26. package/esm/actions/PrintAction.js +1 -1
  27. package/esm/actions/StatusAction.js +1 -1
  28. package/esm/actions/SwitchAction.js +1 -1
  29. package/esm/actions/ToastAction.js +1 -1
  30. package/esm/actions/WaitAction.js +1 -1
  31. package/esm/components/CustomStyle.js +1 -1
  32. package/esm/components/ErrorBoundary.js +1 -1
  33. package/esm/components/LazyComponent.js +1 -1
  34. package/esm/components/Overlay.js +2 -1
  35. package/esm/components/PopOver.d.ts +2 -0
  36. package/esm/components/PopOver.js +5 -4
  37. package/esm/env.d.ts +4 -0
  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.js +3 -3
  42. package/esm/locale.js +2 -1
  43. package/esm/polyfills.js +1 -1
  44. package/esm/renderers/Form.js +123 -25
  45. package/esm/renderers/Item.d.ts +97 -12
  46. package/esm/renderers/Item.js +180 -126
  47. package/esm/renderers/Options.js +2 -1
  48. package/esm/renderers/Placeholder.js +1 -1
  49. package/esm/renderers/builtin.js +1 -1
  50. package/esm/renderers/register.js +1 -1
  51. package/esm/renderers/wrapControl.js +2 -1
  52. package/esm/store/app.d.ts +1 -0
  53. package/esm/store/app.js +2 -1
  54. package/esm/store/combo.d.ts +411 -0
  55. package/esm/store/combo.js +1 -1
  56. package/esm/store/crud.d.ts +1 -0
  57. package/esm/store/crud.js +2 -1
  58. package/esm/store/form.d.ts +171 -0
  59. package/esm/store/form.js +2 -1
  60. package/esm/store/formItem.d.ts +5 -0
  61. package/esm/store/formItem.js +30 -8
  62. package/esm/store/iRenderer.d.ts +1 -0
  63. package/esm/store/iRenderer.js +8 -3
  64. package/esm/store/index.js +1 -1
  65. package/esm/store/list.d.ts +1 -0
  66. package/esm/store/list.js +1 -1
  67. package/esm/store/manager.js +1 -1
  68. package/esm/store/modal.d.ts +1 -0
  69. package/esm/store/modal.js +1 -1
  70. package/esm/store/node.js +1 -1
  71. package/esm/store/pagination.d.ts +1 -0
  72. package/esm/store/pagination.js +2 -1
  73. package/esm/store/root.d.ts +1 -0
  74. package/esm/store/root.js +2 -1
  75. package/esm/store/service.d.ts +1 -0
  76. package/esm/store/service.js +2 -1
  77. package/esm/store/status.js +1 -1
  78. package/esm/store/table.d.ts +382 -21
  79. package/esm/store/table.js +84 -54
  80. package/esm/store/table2.d.ts +1 -0
  81. package/esm/store/table2.js +1 -1
  82. package/esm/theme.js +1 -1
  83. package/esm/types.d.ts +1 -1
  84. package/esm/utils/Animation.js +1 -1
  85. package/esm/utils/ColorScale.js +1 -1
  86. package/esm/utils/DataSchema.js +1 -1
  87. package/esm/utils/DataScope.js +2 -2
  88. package/esm/utils/RootClose.js +1 -1
  89. package/esm/utils/SimpleMap.js +1 -1
  90. package/esm/utils/api.js +2 -2
  91. package/esm/utils/arraySlice.js +1 -1
  92. package/esm/utils/attachmentAdpator.js +1 -1
  93. package/esm/utils/autobind.js +1 -1
  94. package/esm/utils/browser.js +1 -1
  95. package/esm/utils/columnsSplit.js +1 -1
  96. package/esm/utils/concatData.js +1 -1
  97. package/esm/utils/dataMapping.js +1 -1
  98. package/esm/utils/date.js +1 -1
  99. package/esm/utils/debug.js +17 -3
  100. package/esm/utils/decodeEntity.js +1 -1
  101. package/esm/utils/dom.js +1 -1
  102. package/esm/utils/errors.js +1 -1
  103. package/esm/utils/escapeHtml.js +1 -1
  104. package/esm/utils/filter-schema.js +1 -1
  105. package/esm/utils/filter.js +1 -1
  106. package/esm/utils/formatDuration.js +1 -1
  107. package/esm/utils/formula.js +2 -1
  108. package/esm/utils/getVariable.js +1 -1
  109. package/esm/utils/grammar.js +1 -1
  110. package/esm/utils/handleAction.js +1 -1
  111. package/esm/utils/helper.d.ts +5 -1
  112. package/esm/utils/helper.js +37 -8
  113. package/esm/utils/highlight.js +1 -1
  114. package/esm/utils/icon.js +1 -1
  115. package/esm/utils/image.js +1 -1
  116. package/esm/utils/isPureVariable.js +2 -2
  117. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  118. package/esm/utils/keyToPath.js +1 -1
  119. package/esm/utils/labelToString.js +1 -1
  120. package/esm/utils/makeSorter.js +1 -1
  121. package/esm/utils/math.js +1 -1
  122. package/esm/utils/memoryParse.d.ts +2 -1
  123. package/esm/utils/memoryParse.js +10 -6
  124. package/esm/utils/normalizeLink.js +1 -1
  125. package/esm/utils/normalizeOptions.js +1 -1
  126. package/esm/utils/object.d.ts +2 -4
  127. package/esm/utils/object.js +1 -1
  128. package/esm/utils/offset.js +1 -1
  129. package/esm/utils/offsetParent.js +1 -1
  130. package/esm/utils/optionValueCompare.js +1 -1
  131. package/esm/utils/position.js +1 -1
  132. package/esm/utils/prettyBytes.js +1 -1
  133. package/esm/utils/printElement.js +1 -1
  134. package/esm/utils/renderer-event.js +5 -3
  135. package/esm/utils/replaceText.js +1 -1
  136. package/esm/utils/resize-sensor.js +30 -1
  137. package/esm/utils/resolveCondition.js +2 -1
  138. package/esm/utils/resolveVariable.js +1 -1
  139. package/esm/utils/resolveVariableAndFilter.js +1 -1
  140. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  141. package/esm/utils/scrollPosition.js +1 -1
  142. package/esm/utils/string2regExp.js +1 -1
  143. package/esm/utils/stripNumber.js +1 -1
  144. package/esm/utils/style-helper.d.ts +4 -2
  145. package/esm/utils/style-helper.js +27 -13
  146. package/esm/utils/style.js +2 -1
  147. package/esm/utils/toNumber.js +1 -1
  148. package/esm/utils/tokenize.js +1 -1
  149. package/esm/utils/tpl-builtin.js +2 -1
  150. package/esm/utils/tpl-lodash.js +2 -1
  151. package/esm/utils/tpl.js +1 -1
  152. package/esm/utils/uncontrollable.js +1 -1
  153. package/esm/utils/validateId.js +3 -3
  154. package/esm/utils/validations.js +2 -1
  155. package/esm/utils/visitedCache.d.ts +46 -0
  156. package/esm/utils/visitedCache.js +124 -0
  157. package/lib/Root.js +4 -3
  158. package/lib/RootRenderer.js +1 -1
  159. package/lib/SchemaRenderer.d.ts +0 -1
  160. package/lib/SchemaRenderer.js +19 -10
  161. package/lib/Scoped.js +2 -1
  162. package/lib/StatusScoped.js +1 -1
  163. package/lib/WithRootStore.js +1 -1
  164. package/lib/WithStore.js +8 -8
  165. package/lib/actions/Action.js +33 -31
  166. package/lib/actions/AjaxAction.js +1 -1
  167. package/lib/actions/BreakAction.js +1 -1
  168. package/lib/actions/BroadcastAction.js +1 -1
  169. package/lib/actions/CmptAction.js +55 -48
  170. package/lib/actions/ContinueAction.js +1 -1
  171. package/lib/actions/CopyAction.js +1 -1
  172. package/lib/actions/CustomAction.js +12 -3
  173. package/lib/actions/DialogAction.js +3 -1
  174. package/lib/actions/DrawerAction.js +2 -1
  175. package/lib/actions/EmailAction.js +1 -1
  176. package/lib/actions/EventAction.js +2 -1
  177. package/lib/actions/LinkAction.js +1 -1
  178. package/lib/actions/LoopAction.js +2 -1
  179. package/lib/actions/PageAction.js +1 -1
  180. package/lib/actions/ParallelAction.js +1 -1
  181. package/lib/actions/PrintAction.js +1 -1
  182. package/lib/actions/StatusAction.js +1 -1
  183. package/lib/actions/SwitchAction.js +1 -1
  184. package/lib/actions/ToastAction.js +1 -1
  185. package/lib/actions/WaitAction.js +1 -1
  186. package/lib/components/CustomStyle.js +1 -1
  187. package/lib/components/ErrorBoundary.js +1 -1
  188. package/lib/components/LazyComponent.js +1 -1
  189. package/lib/components/Overlay.js +2 -1
  190. package/lib/components/PopOver.d.ts +2 -0
  191. package/lib/components/PopOver.js +5 -4
  192. package/lib/env.d.ts +4 -0
  193. package/lib/env.js +1 -1
  194. package/lib/envOverwrite.js +1 -1
  195. package/lib/factory.js +1 -1
  196. package/lib/index.js +3 -2
  197. package/lib/locale.js +2 -1
  198. package/lib/polyfills.js +1 -1
  199. package/lib/renderers/Form.js +122 -24
  200. package/lib/renderers/Item.d.ts +97 -12
  201. package/lib/renderers/Item.js +179 -125
  202. package/lib/renderers/Options.js +2 -1
  203. package/lib/renderers/Placeholder.js +1 -1
  204. package/lib/renderers/builtin.js +1 -1
  205. package/lib/renderers/register.js +1 -1
  206. package/lib/renderers/wrapControl.js +2 -1
  207. package/lib/store/app.d.ts +1 -0
  208. package/lib/store/app.js +2 -1
  209. package/lib/store/combo.d.ts +435 -24
  210. package/lib/store/combo.js +1 -1
  211. package/lib/store/crud.d.ts +1 -0
  212. package/lib/store/crud.js +2 -1
  213. package/lib/store/form.d.ts +181 -10
  214. package/lib/store/form.js +2 -1
  215. package/lib/store/formItem.d.ts +5 -0
  216. package/lib/store/formItem.js +30 -8
  217. package/lib/store/iRenderer.d.ts +1 -0
  218. package/lib/store/iRenderer.js +8 -3
  219. package/lib/store/index.js +1 -1
  220. package/lib/store/list.d.ts +1 -0
  221. package/lib/store/list.js +1 -1
  222. package/lib/store/manager.js +1 -1
  223. package/lib/store/modal.d.ts +1 -0
  224. package/lib/store/modal.js +1 -1
  225. package/lib/store/node.js +1 -1
  226. package/lib/store/pagination.d.ts +1 -0
  227. package/lib/store/pagination.js +2 -1
  228. package/lib/store/root.d.ts +1 -0
  229. package/lib/store/root.js +2 -1
  230. package/lib/store/service.d.ts +1 -0
  231. package/lib/store/service.js +2 -1
  232. package/lib/store/status.js +1 -1
  233. package/lib/store/table.d.ts +402 -41
  234. package/lib/store/table.js +84 -54
  235. package/lib/store/table2.d.ts +1 -0
  236. package/lib/store/table2.js +1 -1
  237. package/lib/theme.js +1 -1
  238. package/lib/types.d.ts +1 -1
  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 +2 -2
  243. package/lib/utils/RootClose.js +1 -1
  244. package/lib/utils/SimpleMap.js +1 -1
  245. package/lib/utils/api.js +2 -2
  246. package/lib/utils/arraySlice.js +1 -1
  247. package/lib/utils/attachmentAdpator.js +1 -1
  248. package/lib/utils/autobind.js +1 -1
  249. package/lib/utils/browser.js +1 -1
  250. package/lib/utils/columnsSplit.js +1 -1
  251. package/lib/utils/concatData.js +1 -1
  252. package/lib/utils/dataMapping.js +1 -1
  253. package/lib/utils/date.js +1 -1
  254. package/lib/utils/debug.js +17 -3
  255. package/lib/utils/decodeEntity.js +1 -1
  256. package/lib/utils/dom.js +1 -1
  257. package/lib/utils/errors.js +1 -1
  258. package/lib/utils/escapeHtml.js +1 -1
  259. package/lib/utils/filter-schema.js +1 -1
  260. package/lib/utils/filter.js +1 -1
  261. package/lib/utils/formatDuration.js +1 -1
  262. package/lib/utils/formula.js +2 -1
  263. package/lib/utils/getVariable.js +1 -1
  264. package/lib/utils/grammar.js +1 -1
  265. package/lib/utils/handleAction.js +1 -1
  266. package/lib/utils/helper.d.ts +5 -1
  267. package/lib/utils/helper.js +36 -6
  268. package/lib/utils/highlight.js +1 -1
  269. package/lib/utils/icon.js +1 -1
  270. package/lib/utils/image.js +1 -1
  271. package/lib/utils/isPureVariable.js +2 -2
  272. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  273. package/lib/utils/keyToPath.js +1 -1
  274. package/lib/utils/labelToString.js +1 -1
  275. package/lib/utils/makeSorter.js +1 -1
  276. package/lib/utils/math.js +1 -1
  277. package/lib/utils/memoryParse.d.ts +2 -1
  278. package/lib/utils/memoryParse.js +10 -6
  279. package/lib/utils/normalizeLink.js +1 -1
  280. package/lib/utils/normalizeOptions.js +1 -1
  281. package/lib/utils/object.d.ts +2 -4
  282. package/lib/utils/object.js +1 -1
  283. package/lib/utils/offset.js +1 -1
  284. package/lib/utils/offsetParent.js +1 -1
  285. package/lib/utils/optionValueCompare.js +1 -1
  286. package/lib/utils/position.js +1 -1
  287. package/lib/utils/prettyBytes.js +1 -1
  288. package/lib/utils/printElement.js +1 -1
  289. package/lib/utils/renderer-event.js +5 -3
  290. package/lib/utils/replaceText.js +1 -1
  291. package/lib/utils/resize-sensor.js +30 -1
  292. package/lib/utils/resolveCondition.js +2 -1
  293. package/lib/utils/resolveVariable.js +1 -1
  294. package/lib/utils/resolveVariableAndFilter.js +1 -1
  295. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  296. package/lib/utils/scrollPosition.js +1 -1
  297. package/lib/utils/string2regExp.js +1 -1
  298. package/lib/utils/stripNumber.js +1 -1
  299. package/lib/utils/style-helper.d.ts +4 -2
  300. package/lib/utils/style-helper.js +27 -13
  301. package/lib/utils/style.js +2 -1
  302. package/lib/utils/toNumber.js +1 -1
  303. package/lib/utils/tokenize.js +1 -1
  304. package/lib/utils/tpl-builtin.js +2 -1
  305. package/lib/utils/tpl-lodash.js +2 -1
  306. package/lib/utils/tpl.js +1 -1
  307. package/lib/utils/uncontrollable.js +1 -1
  308. package/lib/utils/validateId.js +3 -3
  309. package/lib/utils/validations.js +2 -1
  310. package/lib/utils/visitedCache.d.ts +46 -0
  311. package/lib/utils/visitedCache.js +128 -0
  312. package/package.json +2 -2
package/esm/Root.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.6.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -65,6 +65,7 @@ function renderChildren(prefix, node, props) {
65
65
  return renderChild(prefix, node, props);
66
66
  }
67
67
  function renderChild(prefix, node, props) {
68
+ var _a, _b;
68
69
  if (Array.isArray(node)) {
69
70
  return renderChildren(prefix, node, props);
70
71
  }
@@ -91,9 +92,9 @@ function renderChild(prefix, node, props) {
91
92
  // 找渲染器也是在那,所以没办法在之前根据渲染器信息来包裹个组件下发 statusStore
92
93
  // 所以这里先根据 type 来处理一下
93
94
  // 等后续把状态处理再抽一层,可以把此处放到 SchemaRenderer 里面去
94
- return (React.createElement(StatusScopedSchemaRenderer, __assign({ render: renderChild }, props, { schema: schema, propKey: schema.key, "$path": "".concat(prefix ? "".concat(prefix, "/") : '').concat((schema && schema.type) || '') })));
95
+ return (React.createElement(StatusScopedSchemaRenderer, __assign({ render: renderChild }, props, { key: (_a = props.key) !== null && _a !== void 0 ? _a : schema.key, schema: schema, propKey: schema.key, "$path": "".concat(prefix ? "".concat(prefix, "/") : '').concat((schema && schema.type) || '') })));
95
96
  }
96
- return (React.createElement(SchemaRenderer, __assign({ render: renderChild }, props, { schema: schema, propKey: schema.key, "$path": "".concat(prefix ? "".concat(prefix, "/") : '').concat((schema && schema.type) || '') })));
97
+ return (React.createElement(SchemaRenderer, __assign({ render: renderChild }, props, { key: (_b = props.key) !== null && _b !== void 0 ? _b : schema.key, schema: schema, propKey: schema.key, "$path": "".concat(prefix ? "".concat(prefix, "/") : '').concat((schema && schema.type) || '') })));
97
98
  }
98
99
  var ScopedRootRenderer = StatusScoped(HocScoped(Root));
99
100
 
@@ -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 | React.JSX.Element | Iterable<React.ReactNode> | null | undefined;
33
+ render(): string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
34
34
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.6.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -23,7 +23,6 @@ export declare class SchemaRenderer extends React.Component<SchemaRendererProps,
23
23
  unbindEvent: (() => void) | undefined;
24
24
  isStatic: any;
25
25
  constructor(props: SchemaRendererProps);
26
- componentDidMount(): void;
27
26
  componentWillUnmount(): void;
28
27
  shouldComponentUpdate(nextProps: SchemaRendererProps): boolean;
29
28
  resolveRenderer(props: SchemaRendererProps, force?: boolean): any;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.6.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -22,6 +22,7 @@ import { reaction } from 'mobx';
22
22
  import 'amis-formula';
23
23
  import 'moment';
24
24
  import 'lodash/isPlainObject';
25
+ import './utils/memoryParse.js';
25
26
  import '@rc-component/mini-decimal';
26
27
  import { resolveVariableAndFilter } from './utils/resolveVariableAndFilter.js';
27
28
  import './utils/filter.js';
@@ -88,10 +89,6 @@ var SchemaRenderer = /** @class */ (function (_super) {
88
89
  }, function () { return _this.forceUpdate(); });
89
90
  return _this;
90
91
  }
91
- SchemaRenderer.prototype.componentDidMount = function () {
92
- // 这里无法区分监听的是不是广播,所以又bind一下,主要是为了绑广播
93
- this.unbindEvent = bindEvent(this.cRef);
94
- };
95
92
  SchemaRenderer.prototype.componentWillUnmount = function () {
96
93
  var _a, _b;
97
94
  (_a = this.reaction) === null || _a === void 0 ? void 0 : _a.call(this);
@@ -167,7 +164,15 @@ var SchemaRenderer = /** @class */ (function (_super) {
167
164
  };
168
165
  SchemaRenderer.prototype.childRef = function (ref) {
169
166
  var _this = this;
170
- while (ref && ref.getWrappedInstance) {
167
+ var _a;
168
+ // todo 这里有个问题,就是注意以下的这段注释
169
+ // > // 原来表单项的 visible: false 和 hidden: true 表单项的值和验证是有效的
170
+ // > 而 visibleOn 和 hiddenOn 是无效的,
171
+ // > 这个本来就是个bug,但是已经被广泛使用了
172
+ // > 我只能继续实现这个bug了
173
+ // 这样会让子组件去根据是 hidden 的情况去渲染个 null,这样会导致这里 ref 有值,但是 ref.getWrappedInstance() 为 null
174
+ // 这样会和直接渲染的组件时有些区别,至少 cRef 的指向是不一样的
175
+ while ((_a = ref === null || ref === void 0 ? void 0 : ref.getWrappedInstance) === null || _a === void 0 ? void 0 : _a.call(ref)) {
171
176
  ref = ref.getWrappedInstance();
172
177
  }
173
178
  if (ref && !ref.props) {
@@ -175,6 +180,10 @@ var SchemaRenderer = /** @class */ (function (_super) {
175
180
  get: function () { return _this.props; }
176
181
  });
177
182
  }
183
+ if (ref) {
184
+ // 这里无法区分监听的是不是广播,所以又bind一下,主要是为了绑广播
185
+ this.unbindEvent = bindEvent(this.ref);
186
+ }
178
187
  this.cRef = ref;
179
188
  };
180
189
  SchemaRenderer.prototype.dispatchEvent = function (e, data, renderer // for didmount
@@ -214,7 +223,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
214
223
  var e_1, _a;
215
224
  var _this = this;
216
225
  var _b, _c, _d, _e, _f, _g;
217
- var _h = this.props; _h.$path; var __ = _h.schema, rootStore = _h.rootStore, statusStore = _h.statusStore, render = _h.render, rest = __rest(_h, ["$path", "schema", "rootStore", "statusStore", "render"]);
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"]);
218
227
  if (__ == null) {
219
228
  return null;
220
229
  }
@@ -264,12 +273,12 @@ var SchemaRenderer = /** @class */ (function (_super) {
264
273
  else if (schema.component && isValidElementType(schema.component)) {
265
274
  var isSFC = !(schema.component.prototype instanceof React.Component);
266
275
  var defaultData_1 = schema.data, defaultValue_1 = schema.value, // render时的value改放defaultValue中
267
- defaultActiveKey_1 = schema.activeKey, propKey_1 = schema.key, restSchema_1 = __rest(schema, ["data", "value", "activeKey", "key"]);
276
+ defaultActiveKey_1 = schema.activeKey, restSchema_1 = __rest(schema, ["data", "value", "activeKey"]);
268
277
  return rest.invisible
269
278
  ? null
270
279
  : React.createElement(schema.component, __assign(__assign(__assign(__assign({}, rest), restSchema_1), exprProps), {
271
280
  // value: defaultValue, // 备注: 此处并没有将value传递给渲染器
272
- defaultData: defaultData_1, defaultValue: defaultValue_1, defaultActiveKey: defaultActiveKey_1, propKey: propKey_1, $path: $path, $schema: schema, ref: isSFC ? undefined : this.refFn, forwardedRef: isSFC ? this.refFn : undefined, render: this.renderChild, rootStore: rootStore, statusStore: statusStore, dispatchEvent: this.dispatchEvent }));
281
+ defaultData: defaultData_1, defaultValue: defaultValue_1, defaultActiveKey: defaultActiveKey_1, propKey: propKey, $path: $path, $schema: schema, ref: isSFC ? undefined : this.refFn, forwardedRef: isSFC ? this.refFn : undefined, render: this.renderChild, rootStore: rootStore, statusStore: statusStore, dispatchEvent: this.dispatchEvent }));
273
282
  }
274
283
  else if (Object.keys(schema).length === 0) {
275
284
  return null;
@@ -296,7 +305,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
296
305
  }
297
306
  var renderer = this.renderer;
298
307
  schema = filterSchema(schema, renderer, rest);
299
- var defaultData = schema.data, defaultValue = schema.value, propKey = schema.key, defaultActiveKey = schema.activeKey, restSchema = __rest(schema, ["data", "value", "key", "activeKey"]);
308
+ var defaultData = schema.data, defaultValue = schema.value, defaultActiveKey = schema.activeKey, restSchema = __rest(schema, ["data", "value", "activeKey"]);
300
309
  var Component = renderer.component;
301
310
  // 原来表单项的 visible: false 和 hidden: true 表单项的值和验证是有效的
302
311
  // 而 visibleOn 和 hiddenOn 是无效的,
package/esm/Scoped.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.6.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -15,6 +15,7 @@ import { memoParse } from './utils/tokenize.js';
15
15
  import { isPureVariable } from './utils/isPureVariable.js';
16
16
  import '@rc-component/mini-decimal';
17
17
  import { getVariable } from './utils/getVariable.js';
18
+ import './utils/memoryParse.js';
18
19
  import { dataMapping } from './utils/dataMapping.js';
19
20
  import './utils/filter.js';
20
21
  import { findTree, eachTree, qsparse, qsstringify, parseQuery, autobind } from './utils/helper.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.6.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.6.0
2
+ * amis-core v6.8.0
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.6.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -15,6 +15,7 @@ import 'amis-formula';
15
15
  import 'moment';
16
16
  import { createObject, extendObject } from './utils/object.js';
17
17
  import { tokenize } from './utils/tokenize.js';
18
+ import './utils/memoryParse.js';
18
19
  import '@rc-component/mini-decimal';
19
20
  import { dataMapping } from './utils/dataMapping.js';
20
21
  import './utils/filter.js';
@@ -130,7 +131,7 @@ function HocStoreFactory(renderer) {
130
131
  (props.data &&
131
132
  prevProps.data &&
132
133
  props.data.__super !== prevProps.data.__super))) {
133
- store.initData(extendObject(props.data, __assign(__assign(__assign({}, (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);
134
135
  }
135
136
  }
136
137
  else if (shouldSync === true ||
@@ -141,19 +142,18 @@ function HocStoreFactory(renderer) {
141
142
  (props.syncSuperStore !== false &&
142
143
  isSuperDataModified(props.data, prevProps.data, store)))) {
143
144
  if (props.store && props.scope === props.data) {
144
- store.initData(createObject(props.store.data, props.syncSuperStore === false
145
- ? __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);
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
147
  }
147
148
  else if (props.data && props.data.__super) {
148
- store.initData(extendObject(props.data,
149
- // 有远程数据
149
+ store.initData(extendObject(props.data, __assign(__assign({}, this.formatData(dataMapping(this.props.defaultData, this.props.data, ignoreSchemaProps))), // 有远程数据
150
150
  // 或者顶级 store
151
- store.hasRemoteData || !store.path.includes('/')
151
+ (store.hasRemoteData || !store.path.includes('/')
152
152
  ? __assign(__assign({}, store.data), props.data) : // combo 不需要同步,如果要同步,在 Combo.tsx 里面已经实现了相关逻辑
153
153
  // 目前主要的问题是,如果 combo 中表单项名字和 combo 本身的名字一样,会导致里面的值会被覆盖成数组
154
154
  ((_e = props.store) === null || _e === void 0 ? void 0 : _e.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)))), ((_f = props.updatePristineAfterStoreDataReInit) !== null && _f !== void 0 ? _f : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
157
157
  }
158
158
  else {
159
159
  store.initData(createObject(props.scope, props.data), ((_g = props.updatePristineAfterStoreDataReInit) !== null && _g !== void 0 ? _g : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.6.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -10,6 +10,7 @@ import { evalExpressionWithConditionBuilderAsync } from '../utils/tpl.js';
10
10
  import 'amis-formula';
11
11
  import 'moment';
12
12
  import { createObject } from '../utils/object.js';
13
+ import '../utils/memoryParse.js';
13
14
  import '@rc-component/mini-decimal';
14
15
  import { dataMapping } from '../utils/dataMapping.js';
15
16
  import '../utils/filter.js';
@@ -182,33 +183,34 @@ var runActions = function (actions, renderer, event) { return __awaiter(void 0,
182
183
  }); };
183
184
  // 执行动作,与原有动作处理打通
184
185
  var runAction = function (actionInstrance, actionConfig, renderer, event) { return __awaiter(void 0, void 0, void 0, function () {
185
- var additional, action, mergeData, expression, isStop, preventDefault, key, api, cmptFlag, targetComponent, args, afterMappingData, actionData, data, stopped, actionResult, stopPropagation;
186
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
187
- return __generator(this, function (_w) {
188
- switch (_w.label) {
186
+ var additional, action, rendererProto, mergeData, expression, isStop, preventDefault, key, api, cmptFlag, targetComponent, args, afterMappingData, actionData, data, stopped, actionResult, stopPropagation;
187
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
188
+ return __generator(this, function (_z) {
189
+ switch (_z.label) {
189
190
  case 0:
190
191
  additional = {
191
192
  event: event
192
193
  };
193
194
  action = __assign({}, actionConfig);
194
195
  action.args = __assign({}, actionConfig.args);
196
+ rendererProto = (_c = (_b = (_a = renderer.props).getData) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : renderer.props.data;
195
197
  // __rendererData默认为renderer.props.data,兼容表单项值变化时的data读取
196
- if (!((_a = event.data) === null || _a === void 0 ? void 0 : _a.__rendererData)) {
198
+ if (!((_d = event.data) === null || _d === void 0 ? void 0 : _d.__rendererData)) {
197
199
  additional = {
198
200
  event: event,
199
- __rendererData: renderer.props.data // 部分组件交互后会有更新,如果想要获取那部分数据,可以通过事件数据获取
201
+ __rendererData: rendererProto // 部分组件交互后会有更新,如果想要获取那部分数据,可以通过事件数据获取
200
202
  };
201
203
  }
202
- mergeData = createObject(createObject(renderer.props.data.__super
203
- ? createObject(renderer.props.data.__super, additional)
204
- : additional, renderer.props.data), event.data);
205
- expression = (_b = action.expression) !== null && _b !== void 0 ? _b : action.execOn;
204
+ mergeData = createObject(createObject(rendererProto.__super
205
+ ? createObject(rendererProto.__super, additional)
206
+ : additional, rendererProto), event.data);
207
+ expression = (_e = action.expression) !== null && _e !== void 0 ? _e : action.execOn;
206
208
  isStop = false;
207
209
  if (!expression) return [3 /*break*/, 2];
208
210
  return [4 /*yield*/, evalExpressionWithConditionBuilderAsync(expression, mergeData, true)];
209
211
  case 1:
210
- isStop = !(_w.sent());
211
- _w.label = 2;
212
+ isStop = !(_z.sent());
213
+ _z.label = 2;
212
214
  case 2:
213
215
  if (isStop) {
214
216
  return [2 /*return*/];
@@ -217,8 +219,8 @@ var runAction = function (actionInstrance, actionConfig, renderer, event) { retu
217
219
  if (!action.preventDefault) return [3 /*break*/, 4];
218
220
  return [4 /*yield*/, evalExpressionWithConditionBuilderAsync(action.preventDefault, mergeData, false)];
219
221
  case 3:
220
- preventDefault = _w.sent();
221
- _w.label = 4;
222
+ preventDefault = _z.sent();
223
+ _z.label = 4;
222
224
  case 4:
223
225
  key = {
224
226
  componentId: dataMapping(action.componentId, mergeData),
@@ -226,25 +228,25 @@ var runAction = function (actionInstrance, actionConfig, renderer, event) { retu
226
228
  };
227
229
  // 兼容args包裹的用法
228
230
  if (action.actionType === 'dialog') {
229
- action.dialog = __assign({}, ((_c = action.dialog) !== null && _c !== void 0 ? _c : (_d = action.args) === null || _d === void 0 ? void 0 : _d.dialog));
230
- (_e = action.args) === null || _e === void 0 ? true : delete _e.dialog;
231
+ action.dialog = __assign({}, ((_f = action.dialog) !== null && _f !== void 0 ? _f : (_g = action.args) === null || _g === void 0 ? void 0 : _g.dialog));
232
+ (_h = action.args) === null || _h === void 0 ? true : delete _h.dialog;
231
233
  }
232
234
  else if (action.actionType === 'drawer') {
233
- action.drawer = __assign({}, ((_f = action.drawer) !== null && _f !== void 0 ? _f : (_g = action.args) === null || _g === void 0 ? void 0 : _g.drawer));
234
- (_h = action.args) === null || _h === void 0 ? true : delete _h.drawer;
235
+ action.drawer = __assign({}, ((_j = action.drawer) !== null && _j !== void 0 ? _j : (_k = action.args) === null || _k === void 0 ? void 0 : _k.drawer));
236
+ (_l = action.args) === null || _l === void 0 ? true : delete _l.drawer;
235
237
  }
236
238
  else if (['ajax', 'download'].includes(action.actionType)) {
237
- api = (_j = action.api) !== null && _j !== void 0 ? _j : (_k = action.args) === null || _k === void 0 ? void 0 : _k.api;
239
+ api = (_m = action.api) !== null && _m !== void 0 ? _m : (_o = action.args) === null || _o === void 0 ? void 0 : _o.api;
238
240
  action.api = typeof api === 'string' ? api : __assign({}, api);
239
- action.options = __assign({}, ((_l = action.options) !== null && _l !== void 0 ? _l : (_m = action.args) === null || _m === void 0 ? void 0 : _m.options));
240
- action.messages = __assign({}, ((_o = action.messages) !== null && _o !== void 0 ? _o : (_p = action.args) === null || _p === void 0 ? void 0 : _p.messages));
241
- (_q = action.args) === null || _q === void 0 ? true : delete _q.api;
242
- (_r = action.args) === null || _r === void 0 ? true : delete _r.options;
243
- (_s = action.args) === null || _s === void 0 ? true : delete _s.messages;
241
+ action.options = __assign({}, ((_p = action.options) !== null && _p !== void 0 ? _p : (_q = action.args) === null || _q === void 0 ? void 0 : _q.options));
242
+ action.messages = __assign({}, ((_r = action.messages) !== null && _r !== void 0 ? _r : (_s = action.args) === null || _s === void 0 ? void 0 : _s.messages));
243
+ (_t = action.args) === null || _t === void 0 ? true : delete _t.api;
244
+ (_u = action.args) === null || _u === void 0 ? true : delete _u.options;
245
+ (_v = action.args) === null || _v === void 0 ? true : delete _v.messages;
244
246
  }
245
247
  cmptFlag = key.componentId || key.componentName;
246
248
  targetComponent = cmptFlag
247
- ? (_t = event.context.scoped) === null || _t === void 0 ? void 0 : _t[action.componentId ? 'getComponentById' : 'getComponentByName'](cmptFlag)
249
+ ? (_w = event.context.scoped) === null || _w === void 0 ? void 0 : _w[action.componentId ? 'getComponentById' : 'getComponentByName'](cmptFlag)
248
250
  : renderer;
249
251
  args = dataMapping(action.args, mergeData, function (key) {
250
252
  var _a;
@@ -273,12 +275,12 @@ var runAction = function (actionInstrance, actionConfig, renderer, event) { retu
273
275
  !['ajax', 'download', 'dialog', 'drawer'].includes(action.actionType) // 避免非法配置影响对actionData的判断,导致动作配置中的数据映射失败
274
276
  ? actionData
275
277
  : mergeData;
276
- (_u = console.group) === null || _u === void 0 ? void 0 : _u.call(console, "run action ".concat(action.actionType));
278
+ (_x = console.group) === null || _x === void 0 ? void 0 : _x.call(console, "run action ".concat(action.actionType));
277
279
  console.debug("[".concat(action.actionType, "] action args, data"), args, data);
278
280
  stopped = false;
279
281
  return [4 /*yield*/, actionInstrance.run(__assign(__assign(__assign({}, action), { args: args, rawData: actionConfig.data, data: action.actionType === 'reload' ? actionData : data }), key), renderer, event, mergeData)];
280
282
  case 5:
281
- actionResult = _w.sent();
283
+ actionResult = _z.sent();
282
284
  // 二次确认弹窗如果取消,则终止后续动作
283
285
  if ((action === null || action === void 0 ? void 0 : action.actionType) === 'confirmDialog' && !actionResult) {
284
286
  stopped = true;
@@ -288,11 +290,11 @@ var runAction = function (actionInstrance, actionConfig, renderer, event) { retu
288
290
  if (!action.stopPropagation) return [3 /*break*/, 7];
289
291
  return [4 /*yield*/, evalExpressionWithConditionBuilderAsync(action.stopPropagation, mergeData, false)];
290
292
  case 6:
291
- stopPropagation = _w.sent();
292
- _w.label = 7;
293
+ stopPropagation = _z.sent();
294
+ _z.label = 7;
293
295
  case 7:
294
296
  console.debug("[".concat(action.actionType, "] action end event"), event);
295
- (_v = console.groupEnd) === null || _v === void 0 ? void 0 : _v.call(console);
297
+ (_y = console.groupEnd) === null || _y === void 0 ? void 0 : _y.call(console);
296
298
  // 阻止原有动作执行
297
299
  preventDefault && event.preventDefault();
298
300
  // 阻止后续动作执行
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.6.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.6.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.6.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.6.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -20,12 +20,12 @@ var CmptAction = /** @class */ (function () {
20
20
  function CmptAction() {
21
21
  }
22
22
  CmptAction.prototype.run = function (action, renderer, event) {
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;
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, _5, dispatchEvent_1, data, valid, e_1, result, e_2;
26
- var _6, _7, _8, _9, _10;
27
- return __generator(this, function (_11) {
28
- switch (_11.label) {
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) {
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 = _11.sent();
38
+ res = _13.sent();
39
39
  if (res === false) {
40
40
  return [2 /*return*/];
41
41
  }
42
- _11.label = 2;
42
+ _13.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)
@@ -67,70 +67,77 @@ var CmptAction = /** @class */ (function () {
67
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)];
68
68
  }
69
69
  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*/, 7];
71
- _5 = (component === null || component === void 0 ? void 0 : component.props) || {}, dispatchEvent_1 = _5.dispatchEvent, data = _5.data;
72
- _11.label = 3;
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];
71
+ _6 = (component === null || component === void 0 ? void 0 : component.props) || {}, dispatchEvent_1 = _6.dispatchEvent, data = _6.data;
72
+ _13.label = 3;
73
73
  case 3:
74
- _11.trys.push([3, 5, , 6]);
74
+ _13.trys.push([3, 7, , 8]);
75
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
76
  case 4:
77
- valid = _11.sent();
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))];
80
+ case 5:
81
+ _7 = (_13.sent());
82
+ _13.label = 6;
83
+ case 6:
84
+ valid = _7;
78
85
  if (valid) {
79
- event.setData(createObject(event.data, (_6 = {},
80
- _6[action.outputVar || "".concat(action.actionType, "Result")] = {
86
+ event.setData(createObject(event.data, (_8 = {},
87
+ _8[action.outputVar || "".concat(action.actionType, "Result")] = {
81
88
  error: '',
82
- value: (_s = (_r = component === null || component === void 0 ? void 0 : component.props) === null || _r === void 0 ? void 0 : _r.formItem) === null || _s === void 0 ? void 0 : _s.value
89
+ 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
83
90
  },
84
- _6)));
91
+ _8)));
85
92
  dispatchEvent_1 && dispatchEvent_1('formItemValidateSucc', data);
86
93
  }
87
94
  else {
88
- event.setData(createObject(event.data, (_7 = {},
89
- _7[action.outputVar || "".concat(action.actionType, "Result")] = {
90
- error: (((_u = (_t = component === null || component === void 0 ? void 0 : component.props) === null || _t === void 0 ? void 0 : _t.formItem) === null || _u === void 0 ? void 0 : _u.errors) || []).join(','),
91
- value: (_w = (_v = component === null || component === void 0 ? void 0 : component.props) === null || _v === void 0 ? void 0 : _v.formItem) === null || _w === void 0 ? void 0 : _w.value
95
+ event.setData(createObject(event.data, (_9 = {},
96
+ _9[action.outputVar || "".concat(action.actionType, "Result")] = {
97
+ 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
+ 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
92
99
  },
93
- _7)));
100
+ _9)));
94
101
  dispatchEvent_1 && dispatchEvent_1('formItemValidateError', data);
95
102
  }
96
- return [3 /*break*/, 6];
97
- case 5:
98
- e_1 = _11.sent();
99
- event.setData(createObject(event.data, (_8 = {},
100
- _8[action.outputVar || "".concat(action.actionType, "Result")] = {
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")] = {
101
108
  error: e_1.message || '未知错误',
102
- value: (_y = (_x = component === null || component === void 0 ? void 0 : component.props) === null || _x === void 0 ? void 0 : _x.formItem) === null || _y === void 0 ? void 0 : _y.value
109
+ 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
103
110
  },
104
- _8)));
111
+ _10)));
105
112
  dispatchEvent_1 && dispatchEvent_1('formItemValidateError', data);
106
- return [3 /*break*/, 6];
107
- case 6: return [2 /*return*/];
108
- case 7:
109
- _11.trys.push([7, 9, , 10]);
110
- return [4 /*yield*/, ((_z = component === null || component === void 0 ? void 0 : component.doAction) === null || _z === void 0 ? void 0 : _z.call(component, action, event.data, true, action.args))];
111
- case 8:
112
- result = _11.sent();
113
+ return [3 /*break*/, 8];
114
+ case 8: return [2 /*return*/];
115
+ case 9:
116
+ _13.trys.push([9, 11, , 12]);
117
+ 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();
113
120
  if (['validate', 'submit'].includes(action.actionType)) {
114
- event.setData(createObject(event.data, (_9 = {},
115
- _9[action.outputVar || "".concat(action.actionType, "Result")] = {
121
+ event.setData(createObject(event.data, (_11 = {},
122
+ _11[action.outputVar || "".concat(action.actionType, "Result")] = {
116
123
  error: '',
117
- payload: (_0 = result === null || result === void 0 ? void 0 : result.__payload) !== null && _0 !== void 0 ? _0 : (_2 = (_1 = component === null || component === void 0 ? void 0 : component.props) === null || _1 === void 0 ? void 0 : _1.store) === null || _2 === void 0 ? void 0 : _2.data,
124
+ 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,
118
125
  responseData: result === null || result === void 0 ? void 0 : result.__response
119
126
  },
120
- _9)));
127
+ _11)));
121
128
  }
122
129
  return [2 /*return*/, result];
123
- case 9:
124
- e_2 = _11.sent();
125
- event.setData(createObject(event.data, (_10 = {},
126
- _10[action.outputVar || "".concat(action.actionType, "Result")] = {
130
+ case 11:
131
+ e_2 = _13.sent();
132
+ event.setData(createObject(event.data, (_12 = {},
133
+ _12[action.outputVar || "".concat(action.actionType, "Result")] = {
127
134
  error: e_2.message,
128
135
  errors: e_2.name === 'ValidateError' ? e_2.detail : e_2,
129
- payload: (_4 = (_3 = component === null || component === void 0 ? void 0 : component.props) === null || _3 === void 0 ? void 0 : _3.store) === null || _4 === void 0 ? void 0 : _4.data
136
+ 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
130
137
  },
131
- _10)));
132
- return [3 /*break*/, 10];
133
- case 10: return [2 /*return*/];
138
+ _12)));
139
+ return [3 /*break*/, 12];
140
+ case 12: return [2 /*return*/];
134
141
  }
135
142
  });
136
143
  });
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.6.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.6.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.6.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -11,6 +11,7 @@ import 'react';
11
11
  import 'lodash/chunk';
12
12
  import 'lodash/isPlainObject';
13
13
  import 'amis-formula';
14
+ import '../utils/memoryParse.js';
14
15
  import '../utils/DataSchema.js';
15
16
  import '../utils/DataScope.js';
16
17
  import 'moment';
@@ -57,7 +58,7 @@ var CustomAction = /** @class */ (function () {
57
58
  CustomAction.prototype.run = function (action, renderer, event) {
58
59
  var _a, _b;
59
60
  return __awaiter(this, void 0, void 0, function () {
60
- var scriptFunc;
61
+ var scriptFunc, proxy;
61
62
  return __generator(this, function (_c) {
62
63
  switch (_c.label) {
63
64
  case 0:
@@ -65,7 +66,15 @@ var CustomAction = /** @class */ (function () {
65
66
  if (typeof scriptFunc === 'string') {
66
67
  scriptFunc = str2AsyncFunction(scriptFunc, 'context', 'doAction', 'event');
67
68
  }
68
- return [4 /*yield*/, (scriptFunc === null || scriptFunc === void 0 ? void 0 : scriptFunc.call(null, renderer, function (action) { return runActions(action, renderer, event); }, event, action))];
69
+ proxy = new Proxy({}, {
70
+ get: function (target, p, receiver) {
71
+ var _a, _b;
72
+ if (typeof p === 'string') {
73
+ return (_b = (_a = event.context.scoped) === null || _a === void 0 ? void 0 : _a.getComponentByName) === null || _b === void 0 ? void 0 : _b.call(_a, p);
74
+ }
75
+ }
76
+ });
77
+ return [4 /*yield*/, (scriptFunc === null || scriptFunc === void 0 ? void 0 : scriptFunc.call(proxy, renderer, function (action) { return runActions(action, renderer, event); }, event, action))];
69
78
  case 1:
70
79
  _c.sent();
71
80
  return [2 /*return*/];