amis-core 6.7.0 → 6.9.0-beta.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 (332) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.d.ts +1 -1
  3. package/esm/RootRenderer.js +24 -2
  4. package/esm/SchemaRenderer.d.ts +0 -1
  5. package/esm/SchemaRenderer.js +44 -20
  6. package/esm/Scoped.d.ts +1 -1
  7. package/esm/Scoped.js +2 -1
  8. package/esm/StatusScoped.js +1 -1
  9. package/esm/WithRootStore.js +1 -1
  10. package/esm/WithStore.js +14 -14
  11. package/esm/actions/Action.js +2 -1
  12. package/esm/actions/AjaxAction.js +1 -1
  13. package/esm/actions/BreakAction.js +1 -1
  14. package/esm/actions/BroadcastAction.js +1 -1
  15. package/esm/actions/CmptAction.js +57 -50
  16. package/esm/actions/ContinueAction.js +1 -1
  17. package/esm/actions/CopyAction.js +1 -1
  18. package/esm/actions/CustomAction.js +2 -1
  19. package/esm/actions/DialogAction.js +3 -1
  20. package/esm/actions/DrawerAction.js +2 -1
  21. package/esm/actions/EmailAction.js +1 -1
  22. package/esm/actions/EventAction.js +2 -1
  23. package/esm/actions/LinkAction.js +1 -1
  24. package/esm/actions/LoopAction.js +2 -1
  25. package/esm/actions/PageAction.js +1 -1
  26. package/esm/actions/ParallelAction.js +1 -1
  27. package/esm/actions/PrintAction.js +1 -1
  28. package/esm/actions/StatusAction.js +1 -1
  29. package/esm/actions/SwitchAction.js +1 -1
  30. package/esm/actions/ToastAction.js +3 -3
  31. package/esm/actions/WaitAction.js +1 -1
  32. package/esm/components/CustomStyle.js +1 -1
  33. package/esm/components/ErrorBoundary.js +1 -1
  34. package/esm/components/LazyComponent.d.ts +40 -2
  35. package/esm/components/LazyComponent.js +13 -7
  36. package/esm/components/Overlay.js +2 -1
  37. package/esm/components/PopOver.d.ts +1 -1
  38. package/esm/components/PopOver.js +2 -1
  39. package/esm/env.d.ts +0 -4
  40. package/esm/env.js +1 -1
  41. package/esm/envOverwrite.js +1 -1
  42. package/esm/factory.d.ts +19 -2
  43. package/esm/factory.js +205 -45
  44. package/esm/index.d.ts +4 -4
  45. package/esm/index.js +9 -5
  46. package/esm/locale.d.ts +1 -1
  47. package/esm/locale.js +14 -2
  48. package/esm/polyfills.js +1 -1
  49. package/esm/renderers/Form.d.ts +5 -5
  50. package/esm/renderers/Form.js +68 -29
  51. package/esm/renderers/Item.d.ts +109 -18
  52. package/esm/renderers/Item.js +164 -126
  53. package/esm/renderers/Options.d.ts +3 -3
  54. package/esm/renderers/Options.js +43 -19
  55. package/esm/renderers/Placeholder.js +1 -1
  56. package/esm/renderers/builtin.js +1 -1
  57. package/esm/renderers/register.js +1 -1
  58. package/esm/renderers/wrapControl.d.ts +3 -3
  59. package/esm/renderers/wrapControl.js +25 -10
  60. package/esm/store/app.d.ts +3 -3
  61. package/esm/store/app.js +2 -1
  62. package/esm/store/combo.d.ts +425 -15
  63. package/esm/store/combo.js +1 -1
  64. package/esm/store/crud.d.ts +3 -3
  65. package/esm/store/crud.js +2 -1
  66. package/esm/store/form.d.ts +178 -7
  67. package/esm/store/form.js +29 -6
  68. package/esm/store/formItem.d.ts +5 -0
  69. package/esm/store/formItem.js +32 -10
  70. package/esm/store/iRenderer.d.ts +4 -3
  71. package/esm/store/iRenderer.js +29 -4
  72. package/esm/store/index.d.ts +1 -0
  73. package/esm/store/index.js +3 -2
  74. package/esm/store/list.d.ts +3 -3
  75. package/esm/store/list.js +1 -1
  76. package/esm/store/manager.js +1 -1
  77. package/esm/store/modal.d.ts +3 -3
  78. package/esm/store/modal.js +1 -1
  79. package/esm/store/node.js +1 -1
  80. package/esm/store/pagination.d.ts +3 -3
  81. package/esm/store/pagination.js +2 -1
  82. package/esm/store/root.d.ts +5 -3
  83. package/esm/store/root.js +46 -21
  84. package/esm/store/service.d.ts +3 -3
  85. package/esm/store/service.js +11 -4
  86. package/esm/store/status.js +1 -1
  87. package/esm/store/table.d.ts +396 -36
  88. package/esm/store/table.js +84 -54
  89. package/esm/store/table2.d.ts +3 -3
  90. package/esm/store/table2.js +1 -1
  91. package/esm/theme.d.ts +1 -1
  92. package/esm/theme.js +13 -2
  93. package/esm/types.d.ts +19 -2
  94. package/esm/utils/Animation.js +1 -1
  95. package/esm/utils/ColorScale.js +1 -1
  96. package/esm/utils/DataSchema.js +1 -1
  97. package/esm/utils/DataScope.js +1 -1
  98. package/esm/utils/RootClose.js +1 -1
  99. package/esm/utils/SimpleMap.js +1 -1
  100. package/esm/utils/api.d.ts +21 -1
  101. package/esm/utils/api.js +138 -41
  102. package/esm/utils/arraySlice.js +1 -1
  103. package/esm/utils/attachmentAdpator.js +1 -1
  104. package/esm/utils/autobind.js +1 -1
  105. package/esm/utils/browser.js +1 -1
  106. package/esm/utils/columnsSplit.js +1 -1
  107. package/esm/utils/concatData.js +1 -1
  108. package/esm/utils/dataMapping.js +1 -1
  109. package/esm/utils/date.js +1 -1
  110. package/esm/utils/debug.js +17 -3
  111. package/esm/utils/decodeEntity.js +1 -1
  112. package/esm/utils/dom.js +1 -1
  113. package/esm/utils/errors.js +1 -1
  114. package/esm/utils/escapeHtml.js +1 -1
  115. package/esm/utils/filter-schema.js +1 -1
  116. package/esm/utils/filter.js +1 -1
  117. package/esm/utils/formatDuration.js +1 -1
  118. package/esm/utils/formula.js +2 -1
  119. package/esm/utils/getVariable.js +1 -1
  120. package/esm/utils/grammar.js +1 -1
  121. package/esm/utils/handleAction.js +1 -1
  122. package/esm/utils/helper.d.ts +4 -1
  123. package/esm/utils/helper.js +20 -4
  124. package/esm/utils/highlight.js +1 -1
  125. package/esm/utils/icon.js +1 -1
  126. package/esm/utils/image.js +1 -1
  127. package/esm/utils/isPureVariable.js +2 -2
  128. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  129. package/esm/utils/keyToPath.js +1 -1
  130. package/esm/utils/labelToString.js +4 -1
  131. package/esm/utils/makeSorter.js +1 -1
  132. package/esm/utils/math.js +1 -1
  133. package/esm/utils/memoryParse.d.ts +2 -1
  134. package/esm/utils/memoryParse.js +10 -6
  135. package/esm/utils/normalizeLink.js +1 -1
  136. package/esm/utils/normalizeOptions.js +1 -1
  137. package/esm/utils/object.d.ts +2 -4
  138. package/esm/utils/object.js +1 -1
  139. package/esm/utils/offset.js +1 -1
  140. package/esm/utils/offsetParent.js +1 -1
  141. package/esm/utils/optionValueCompare.js +1 -1
  142. package/esm/utils/position.js +1 -1
  143. package/esm/utils/prettyBytes.js +1 -1
  144. package/esm/utils/printElement.js +1 -1
  145. package/esm/utils/renderer-event.js +1 -1
  146. package/esm/utils/replaceText.js +1 -1
  147. package/esm/utils/resize-sensor.js +30 -1
  148. package/esm/utils/resolveCondition.js +2 -1
  149. package/esm/utils/resolveVariable.js +1 -1
  150. package/esm/utils/resolveVariableAndFilter.js +1 -1
  151. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  152. package/esm/utils/scrollPosition.js +1 -1
  153. package/esm/utils/string2regExp.js +1 -1
  154. package/esm/utils/stripNumber.js +1 -1
  155. package/esm/utils/style-helper.js +1 -1
  156. package/esm/utils/style.js +2 -1
  157. package/esm/utils/toNumber.js +1 -1
  158. package/esm/utils/tokenize.js +1 -1
  159. package/esm/utils/tpl-builtin.js +2 -1
  160. package/esm/utils/tpl-lodash.js +2 -1
  161. package/esm/utils/tpl.js +1 -1
  162. package/esm/utils/uncontrollable.js +1 -1
  163. package/esm/utils/validateId.js +1 -1
  164. package/esm/utils/validations.js +2 -1
  165. package/esm/utils/visitedCache.d.ts +46 -0
  166. package/esm/utils/visitedCache.js +124 -0
  167. package/lib/Root.js +1 -1
  168. package/lib/RootRenderer.js +23 -1
  169. package/lib/SchemaRenderer.d.ts +0 -1
  170. package/lib/SchemaRenderer.js +42 -18
  171. package/lib/Scoped.d.ts +1 -1
  172. package/lib/Scoped.js +2 -1
  173. package/lib/StatusScoped.js +1 -1
  174. package/lib/WithRootStore.js +1 -1
  175. package/lib/WithStore.js +14 -14
  176. package/lib/actions/Action.js +2 -1
  177. package/lib/actions/AjaxAction.js +1 -1
  178. package/lib/actions/BreakAction.js +1 -1
  179. package/lib/actions/BroadcastAction.js +1 -1
  180. package/lib/actions/CmptAction.js +56 -49
  181. package/lib/actions/ContinueAction.js +1 -1
  182. package/lib/actions/CopyAction.js +1 -1
  183. package/lib/actions/CustomAction.js +2 -1
  184. package/lib/actions/DialogAction.js +3 -1
  185. package/lib/actions/DrawerAction.js +2 -1
  186. package/lib/actions/EmailAction.js +1 -1
  187. package/lib/actions/EventAction.js +2 -1
  188. package/lib/actions/LinkAction.js +1 -1
  189. package/lib/actions/LoopAction.js +2 -1
  190. package/lib/actions/PageAction.js +1 -1
  191. package/lib/actions/ParallelAction.js +1 -1
  192. package/lib/actions/PrintAction.js +1 -1
  193. package/lib/actions/StatusAction.js +1 -1
  194. package/lib/actions/SwitchAction.js +1 -1
  195. package/lib/actions/ToastAction.js +2 -2
  196. package/lib/actions/WaitAction.js +1 -1
  197. package/lib/components/CustomStyle.js +1 -1
  198. package/lib/components/ErrorBoundary.js +1 -1
  199. package/lib/components/LazyComponent.d.ts +40 -2
  200. package/lib/components/LazyComponent.js +14 -7
  201. package/lib/components/Overlay.js +2 -1
  202. package/lib/components/PopOver.d.ts +1 -1
  203. package/lib/components/PopOver.js +2 -1
  204. package/lib/env.d.ts +0 -4
  205. package/lib/env.js +1 -1
  206. package/lib/envOverwrite.js +1 -1
  207. package/lib/factory.d.ts +19 -2
  208. package/lib/factory.js +211 -44
  209. package/lib/index.d.ts +4 -4
  210. package/lib/index.js +16 -2
  211. package/lib/locale.d.ts +1 -1
  212. package/lib/locale.js +14 -2
  213. package/lib/polyfills.js +1 -1
  214. package/lib/renderers/Form.d.ts +5 -5
  215. package/lib/renderers/Form.js +65 -26
  216. package/lib/renderers/Item.d.ts +110 -19
  217. package/lib/renderers/Item.js +163 -125
  218. package/lib/renderers/Options.d.ts +3 -3
  219. package/lib/renderers/Options.js +43 -19
  220. package/lib/renderers/Placeholder.js +1 -1
  221. package/lib/renderers/builtin.js +1 -1
  222. package/lib/renderers/register.js +1 -1
  223. package/lib/renderers/wrapControl.d.ts +3 -3
  224. package/lib/renderers/wrapControl.js +25 -10
  225. package/lib/store/app.d.ts +3 -3
  226. package/lib/store/app.js +2 -1
  227. package/lib/store/combo.d.ts +449 -40
  228. package/lib/store/combo.js +1 -1
  229. package/lib/store/crud.d.ts +3 -3
  230. package/lib/store/crud.js +3 -2
  231. package/lib/store/form.d.ts +188 -18
  232. package/lib/store/form.js +29 -6
  233. package/lib/store/formItem.d.ts +5 -0
  234. package/lib/store/formItem.js +32 -10
  235. package/lib/store/iRenderer.d.ts +4 -3
  236. package/lib/store/iRenderer.js +29 -4
  237. package/lib/store/index.d.ts +1 -0
  238. package/lib/store/index.js +3 -1
  239. package/lib/store/list.d.ts +3 -3
  240. package/lib/store/list.js +1 -1
  241. package/lib/store/manager.js +1 -1
  242. package/lib/store/modal.d.ts +3 -3
  243. package/lib/store/modal.js +1 -1
  244. package/lib/store/node.js +1 -1
  245. package/lib/store/pagination.d.ts +3 -3
  246. package/lib/store/pagination.js +2 -1
  247. package/lib/store/root.d.ts +5 -3
  248. package/lib/store/root.js +44 -19
  249. package/lib/store/service.d.ts +3 -3
  250. package/lib/store/service.js +11 -4
  251. package/lib/store/status.js +1 -1
  252. package/lib/store/table.d.ts +416 -57
  253. package/lib/store/table.js +84 -54
  254. package/lib/store/table2.d.ts +3 -3
  255. package/lib/store/table2.js +1 -1
  256. package/lib/theme.d.ts +1 -1
  257. package/lib/theme.js +13 -2
  258. package/lib/types.d.ts +19 -2
  259. package/lib/utils/Animation.js +1 -1
  260. package/lib/utils/ColorScale.js +1 -1
  261. package/lib/utils/DataSchema.js +1 -1
  262. package/lib/utils/DataScope.js +1 -1
  263. package/lib/utils/RootClose.js +1 -1
  264. package/lib/utils/SimpleMap.js +1 -1
  265. package/lib/utils/api.d.ts +21 -1
  266. package/lib/utils/api.js +141 -40
  267. package/lib/utils/arraySlice.js +1 -1
  268. package/lib/utils/attachmentAdpator.js +1 -1
  269. package/lib/utils/autobind.js +1 -1
  270. package/lib/utils/browser.js +1 -1
  271. package/lib/utils/columnsSplit.js +1 -1
  272. package/lib/utils/concatData.js +1 -1
  273. package/lib/utils/dataMapping.js +1 -1
  274. package/lib/utils/date.js +1 -1
  275. package/lib/utils/debug.js +18 -4
  276. package/lib/utils/decodeEntity.js +1 -1
  277. package/lib/utils/dom.js +1 -1
  278. package/lib/utils/errors.js +1 -1
  279. package/lib/utils/escapeHtml.js +1 -1
  280. package/lib/utils/filter-schema.js +1 -1
  281. package/lib/utils/filter.js +1 -1
  282. package/lib/utils/formatDuration.js +1 -1
  283. package/lib/utils/formula.js +2 -1
  284. package/lib/utils/getVariable.js +1 -1
  285. package/lib/utils/grammar.js +1 -1
  286. package/lib/utils/handleAction.js +1 -1
  287. package/lib/utils/helper.d.ts +4 -1
  288. package/lib/utils/helper.js +19 -3
  289. package/lib/utils/highlight.js +1 -1
  290. package/lib/utils/icon.js +1 -1
  291. package/lib/utils/image.js +1 -1
  292. package/lib/utils/isPureVariable.js +2 -2
  293. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  294. package/lib/utils/keyToPath.js +1 -1
  295. package/lib/utils/labelToString.js +4 -1
  296. package/lib/utils/makeSorter.js +1 -1
  297. package/lib/utils/math.js +1 -1
  298. package/lib/utils/memoryParse.d.ts +2 -1
  299. package/lib/utils/memoryParse.js +10 -6
  300. package/lib/utils/normalizeLink.js +1 -1
  301. package/lib/utils/normalizeOptions.js +1 -1
  302. package/lib/utils/object.d.ts +2 -4
  303. package/lib/utils/object.js +1 -1
  304. package/lib/utils/offset.js +1 -1
  305. package/lib/utils/offsetParent.js +1 -1
  306. package/lib/utils/optionValueCompare.js +1 -1
  307. package/lib/utils/position.js +1 -1
  308. package/lib/utils/prettyBytes.js +1 -1
  309. package/lib/utils/printElement.js +1 -1
  310. package/lib/utils/renderer-event.js +1 -1
  311. package/lib/utils/replaceText.js +1 -1
  312. package/lib/utils/resize-sensor.js +30 -1
  313. package/lib/utils/resolveCondition.js +2 -1
  314. package/lib/utils/resolveVariable.js +1 -1
  315. package/lib/utils/resolveVariableAndFilter.js +1 -1
  316. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  317. package/lib/utils/scrollPosition.js +1 -1
  318. package/lib/utils/string2regExp.js +1 -1
  319. package/lib/utils/stripNumber.js +1 -1
  320. package/lib/utils/style-helper.js +1 -1
  321. package/lib/utils/style.js +2 -1
  322. package/lib/utils/toNumber.js +1 -1
  323. package/lib/utils/tokenize.js +1 -1
  324. package/lib/utils/tpl-builtin.js +2 -1
  325. package/lib/utils/tpl-lodash.js +2 -1
  326. package/lib/utils/tpl.js +1 -1
  327. package/lib/utils/uncontrollable.js +1 -1
  328. package/lib/utils/validateId.js +1 -1
  329. package/lib/utils/validations.js +2 -1
  330. package/lib/utils/visitedCache.d.ts +46 -0
  331. package/lib/utils/visitedCache.js +128 -0
  332. package/package.json +2 -2
package/esm/Root.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.9.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -30,5 +30,5 @@ export declare class RootRenderer extends React.Component<RootRendererProps> {
30
30
  renderError(): React.ReactNode;
31
31
  renderDialog(): React.ReactNode;
32
32
  renderDrawer(): React.ReactNode;
33
- render(): string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
33
+ render(): string | number | boolean | React.JSX.Element | Iterable<React.ReactNode> | null | undefined;
34
34
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.9.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -8,7 +8,7 @@ import { observer } from 'mobx-react';
8
8
  import React from 'react';
9
9
  import { filterTarget, ScopedContext } from './Scoped.js';
10
10
  import { RootStore } from './store/root.js';
11
- import { guid, bulkBindFunctions, isVisible } from './utils/helper.js';
11
+ import { guid, bulkBindFunctions, JSONTraverse, isVisible } from './utils/helper.js';
12
12
  import { filter } from './utils/tpl.js';
13
13
  import qs from 'qs';
14
14
  import pick from 'lodash/pick';
@@ -16,6 +16,8 @@ import mapValues from 'lodash/mapValues';
16
16
  import { saveAs } from 'file-saver';
17
17
  import { normalizeApi } from './utils/api.js';
18
18
  import { findDOMNode } from 'react-dom';
19
+ import themedLazyComponent from './components/LazyComponent.js';
20
+ import { hasAsyncRenderers, loadAsyncRenderersByType } from './factory.js';
19
21
 
20
22
  var RootRenderer = /** @class */ (function (_super) {
21
23
  __extends(RootRenderer, _super);
@@ -41,6 +43,23 @@ var RootRenderer = /** @class */ (function (_super) {
41
43
  'handleDrawerClose',
42
44
  'handlePageVisibilityChange'
43
45
  ]);
46
+ _this.store.init(function () {
47
+ if (!hasAsyncRenderers()) {
48
+ return;
49
+ }
50
+ var schema = props.schema;
51
+ var types = ['tpl', 'dialog', 'drawer'];
52
+ JSONTraverse(schema, function (value, key) {
53
+ if (key === 'type') {
54
+ types.push(value);
55
+ // form 依赖 panel
56
+ if (value === 'form') {
57
+ types.push('panel');
58
+ }
59
+ }
60
+ });
61
+ return loadAsyncRenderersByType(types, true);
62
+ });
44
63
  return _this;
45
64
  }
46
65
  RootRenderer.prototype.componentDidMount = function () {
@@ -339,6 +358,9 @@ var RootRenderer = /** @class */ (function (_super) {
339
358
  if (store.runtimeError) {
340
359
  return this.renderRuntimeError();
341
360
  }
361
+ else if (!store.ready) {
362
+ return React.createElement(themedLazyComponent, { className: "RootLoader" });
363
+ }
342
364
  return (React.createElement(React.Fragment, null,
343
365
  render(pathPrefix, schema, __assign(__assign({}, rest), { topStore: this.store, data: this.store.downStream, context: store.context, onAction: this.handleAction })),
344
366
  this.renderSpinner(),
@@ -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.7.0
2
+ * amis-core v6.9.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -8,8 +8,8 @@ import difference from 'lodash/difference';
8
8
  import omit from 'lodash/omit';
9
9
  import React from 'react';
10
10
  import { isValidElementType } from 'react-is';
11
- import LazyComponent from './components/LazyComponent.js';
12
- import { resolveRenderer, loadRenderer, filterSchema } from './factory.js';
11
+ import themedLazyComponent from './components/LazyComponent.js';
12
+ import { resolveRenderer, loadRendererError, loadAsyncRenderer, filterSchema } from './factory.js';
13
13
  import { asFormItem } from './renderers/Item.js';
14
14
  import { ScopedContext } from './Scoped.js';
15
15
  import { DebugWrapper } from './utils/debug.js';
@@ -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, _b;
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,11 @@ var SchemaRenderer = /** @class */ (function (_super) {
175
180
  get: function () { return _this.props; }
176
181
  });
177
182
  }
183
+ if (ref) {
184
+ // 这里无法区分监听的是不是广播,所以又bind一下,主要是为了绑广播
185
+ (_b = this.unbindEvent) === null || _b === void 0 ? void 0 : _b.call(this);
186
+ this.unbindEvent = bindEvent(ref);
187
+ }
178
188
  this.cRef = ref;
179
189
  };
180
190
  SchemaRenderer.prototype.dispatchEvent = function (e, data, renderer // for didmount
@@ -196,7 +206,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
196
206
  var omitList = RENDERER_TRANSMISSION_OMIT_PROPS.concat();
197
207
  if (this.renderer) {
198
208
  var Component = this.renderer.component;
199
- Component.propsList &&
209
+ (Component === null || Component === void 0 ? void 0 : Component.propsList) &&
200
210
  omitList.push.apply(omitList, Component.propsList);
201
211
  }
202
212
  return render("".concat($path).concat(region ? "/".concat(region) : ''), node || '', __assign(__assign(__assign(__assign({}, omit(rest, omitList)), { defaultStatic: (_c = (_b = (((_a = this.renderer) === null || _a === void 0 ? void 0 : _a.type) &&
@@ -213,12 +223,12 @@ var SchemaRenderer = /** @class */ (function (_super) {
213
223
  SchemaRenderer.prototype.render = function () {
214
224
  var e_1, _a;
215
225
  var _this = this;
216
- 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, propKey = _h.key, rest = __rest(_h, ["$path", "schema", "rootStore", "statusStore", "render", "key"]);
226
+ var _b, _c, _d, _e, _f, _g, _h;
227
+ var _j = this.props; _j.$path; var __ = _j.schema, rootStore = _j.rootStore, statusStore = _j.statusStore, render = _j.render, propKey = _j.key, rest = __rest(_j, ["$path", "schema", "rootStore", "statusStore", "render", "key"]);
218
228
  if (__ == null) {
219
229
  return null;
220
230
  }
221
- var _j = this.resolveRenderer(this.props), $path = _j.path, schema = _j.schema;
231
+ var _k = this.resolveRenderer(this.props), $path = _k.path, schema = _k.schema;
222
232
  var theme = this.props.env.theme;
223
233
  if (Array.isArray(schema)) {
224
234
  return render($path, schema, rest);
@@ -275,7 +285,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
275
285
  return null;
276
286
  }
277
287
  else if (!this.renderer) {
278
- return rest.invisible ? null : (React.createElement(LazyComponent, __assign({}, rest, exprProps, { getComponent: function () { return __awaiter(_this, void 0, void 0, function () {
288
+ return rest.invisible ? null : (React.createElement(themedLazyComponent, { defaultVisible: true, getComponent: function () { return __awaiter(_this, void 0, void 0, function () {
279
289
  var result;
280
290
  return __generator(this, function (_a) {
281
291
  switch (_a.label) {
@@ -289,10 +299,24 @@ var SchemaRenderer = /** @class */ (function (_super) {
289
299
  return [2 /*return*/, function () { return result; }];
290
300
  }
291
301
  this.reRender();
292
- return [2 /*return*/, function () { return loadRenderer(schema, $path); }];
302
+ return [2 /*return*/, function () { return loadRendererError(schema, $path); }];
303
+ }
304
+ });
305
+ }); } }));
306
+ }
307
+ else if (this.renderer.getComponent && !this.renderer.component) {
308
+ // 处理异步渲染器
309
+ return rest.invisible ? null : (React.createElement(themedLazyComponent, { defaultVisible: true, getComponent: function () { return __awaiter(_this, void 0, void 0, function () {
310
+ return __generator(this, function (_a) {
311
+ switch (_a.label) {
312
+ case 0: return [4 /*yield*/, loadAsyncRenderer(this.renderer)];
313
+ case 1:
314
+ _a.sent();
315
+ this.reRender();
316
+ return [2 /*return*/, function () { return null; }];
293
317
  }
294
318
  });
295
- }); }, "$path": $path, "$schema": schema, retry: this.reRender, rootStore: rootStore, statusStore: statusStore, dispatchEvent: this.dispatchEvent })));
319
+ }); } }));
296
320
  }
297
321
  var renderer = this.renderer;
298
322
  schema = filterSchema(schema, renderer, rest);
@@ -316,9 +340,9 @@ var SchemaRenderer = /** @class */ (function (_super) {
316
340
  }
317
341
  var supportRef = ((_e = Component.prototype) === null || _e === void 0 ? void 0 : _e.isReactComponent) ||
318
342
  Component.$$typeof === Symbol.for('react.forward_ref');
319
- var props = __assign(__assign(__assign(__assign(__assign({}, theme.getRendererConfig(renderer.name)), restSchema), chainEvents(rest, restSchema)), exprProps), {
343
+ var props = __assign(__assign(__assign(__assign(__assign(__assign({}, (_f = renderer.defaultProps) === null || _f === void 0 ? void 0 : _f.call(renderer, schema.type, schema)), theme.getRendererConfig(renderer.name)), restSchema), chainEvents(rest, restSchema)), exprProps), {
320
344
  // value: defaultValue, // 备注: 此处并没有将value传递给渲染器
321
- defaultData: (_f = restSchema.defaultData) !== null && _f !== void 0 ? _f : defaultData, defaultValue: (_g = restSchema.defaultValue) !== null && _g !== void 0 ? _g : defaultValue, defaultActiveKey: defaultActiveKey, propKey: propKey, $path: $path, $schema: schema, render: this.renderChild, rootStore: rootStore, statusStore: statusStore, dispatchEvent: this.dispatchEvent, mobileUI: schema.useMobileUI === false ? false : rest.mobileUI });
345
+ defaultData: (_g = restSchema.defaultData) !== null && _g !== void 0 ? _g : defaultData, defaultValue: (_h = restSchema.defaultValue) !== null && _h !== void 0 ? _h : defaultValue, defaultActiveKey: defaultActiveKey, propKey: propKey, $path: $path, $schema: schema, render: this.renderChild, rootStore: rootStore, statusStore: statusStore, dispatchEvent: this.dispatchEvent, mobileUI: schema.useMobileUI === false ? false : rest.mobileUI });
322
346
  // style 支持公式
323
347
  if (schema.style) {
324
348
  props.style = buildStyle(schema.style, detectData);
@@ -341,8 +365,8 @@ var SchemaRenderer = /** @class */ (function (_super) {
341
365
  // 自动解析变量模式,主要是方便直接引入第三方组件库,无需为了支持变量封装一层
342
366
  if (renderer.autoVar) {
343
367
  try {
344
- for (var _k = __values(Object.keys(schema)), _l = _k.next(); !_l.done; _l = _k.next()) {
345
- var key = _l.value;
368
+ for (var _l = __values(Object.keys(schema)), _m = _l.next(); !_m.done; _m = _l.next()) {
369
+ var key = _m.value;
346
370
  if (typeof props[key] === 'string' && isExpression(props[key])) {
347
371
  props[key] = resolveVariableAndFilter(props[key], props.data, '| raw');
348
372
  }
@@ -351,7 +375,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
351
375
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
352
376
  finally {
353
377
  try {
354
- if (_l && !_l.done && (_a = _k.return)) _a.call(_k);
378
+ if (_m && !_m.done && (_a = _l.return)) _a.call(_l);
355
379
  }
356
380
  finally { if (e_1) throw e_1.error; }
357
381
  }
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.7.0
2
+ * amis-core v6.9.0-beta.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.7.0
2
+ * amis-core v6.9.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.9.0-beta.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.7.0
2
+ * amis-core v6.9.0-beta.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';
@@ -96,7 +97,7 @@ function HocStoreFactory(renderer) {
96
97
  };
97
98
  StoreFactory.prototype.componentDidUpdate = function (prevProps) {
98
99
  var _this = this;
99
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
100
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
100
101
  var props = this.props;
101
102
  var store = this.store;
102
103
  // dialog 场景下 schema 是显示的时候更新的,
@@ -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, (_d = props.data) === null || _d === void 0 ? void 0 : _d.__changeReason);
134
135
  }
135
136
  }
136
137
  else if (shouldSync === true ||
@@ -141,22 +142,21 @@ 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)))), ((_e = props.updatePristineAfterStoreDataReInit) !== null && _e !== void 0 ? _e : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false, (_f = props.data) === null || _f === void 0 ? void 0 : _f.__changeReason);
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
- ((_e = props.store) === null || _e === void 0 ? void 0 : _e.storeType) === 'ComboStore'
154
+ ((_g = props.store) === null || _g === void 0 ? void 0 : _g.storeType) === 'ComboStore'
155
155
  ? undefined
156
- : syncDataFromSuper(__assign(__assign({}, store.pristineDiff), props.data), props.data.__super, prevProps.data.__super, store, false)), ((_f = props.updatePristineAfterStoreDataReInit) !== null && _f !== void 0 ? _f : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
156
+ : syncDataFromSuper(__assign(__assign({}, store.pristineDiff), props.data), props.data.__super, prevProps.data.__super, store, false)))), ((_h = props.updatePristineAfterStoreDataReInit) !== null && _h !== void 0 ? _h : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false, (_j = props.data) === null || _j === void 0 ? void 0 : _j.__changeReason);
157
157
  }
158
158
  else {
159
- store.initData(createObject(props.scope, props.data), ((_g = props.updatePristineAfterStoreDataReInit) !== null && _g !== void 0 ? _g : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
159
+ store.initData(createObject(props.scope, props.data), ((_k = props.updatePristineAfterStoreDataReInit) !== null && _k !== void 0 ? _k : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false, (_l = props.data) === null || _l === void 0 ? void 0 : _l.__changeReason);
160
160
  }
161
161
  }
162
162
  else if (!props.trackExpression &&
@@ -166,9 +166,9 @@ function HocStoreFactory(renderer) {
166
166
  // 这个用法很少,当 data.__super 值发生变化时,更新 store.data
167
167
  if (!prevProps.data ||
168
168
  isObjectShallowModified(props.data.__super, prevProps.data.__super, false)) {
169
- store.initData(createObject(props.data.__super, __assign(__assign({}, props.data), store.data)), ((_h = props.updatePristineAfterStoreDataReInit) !== null && _h !== void 0 ? _h : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false ||
169
+ store.initData(createObject(props.data.__super, __assign(__assign({}, props.data), store.data)), ((_m = props.updatePristineAfterStoreDataReInit) !== null && _m !== void 0 ? _m : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false ||
170
170
  (store.storeType === 'FormStore' &&
171
- ((_j = prevProps.store) === null || _j === void 0 ? void 0 : _j.storeType) === 'CRUDStore'));
171
+ ((_o = prevProps.store) === null || _o === void 0 ? void 0 : _o.storeType) === 'CRUDStore'), (_p = props.data) === null || _p === void 0 ? void 0 : _p.__changeReason);
172
172
  }
173
173
  // nextProps.data.__super !== props.data.__super) &&
174
174
  }
@@ -178,7 +178,7 @@ function HocStoreFactory(renderer) {
178
178
  prevProps.data !== props.data) {
179
179
  // 只有父级数据变动的时候才应该进来,
180
180
  // 目前看来这个 case 很少有情况下能进来
181
- store.initData(createObject(props.scope, __assign({}, store.data)), ((_k = props.updatePristineAfterStoreDataReInit) !== null && _k !== void 0 ? _k : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
181
+ store.initData(createObject(props.scope, __assign({}, store.data)), ((_q = props.updatePristineAfterStoreDataReInit) !== null && _q !== void 0 ? _q : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false, (_r = props.data) === null || _r === void 0 ? void 0 : _r.__changeReason);
182
182
  }
183
183
  };
184
184
  StoreFactory.prototype.componentWillUnmount = function () {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.9.0-beta.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';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.9.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.9.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.9.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.9.0-beta.0
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.7.0
2
+ * amis-core v6.9.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.9.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.9.0-beta.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';