amis-core 6.2.2 → 6.4.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 (329) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.d.ts +1 -1
  3. package/esm/RootRenderer.js +28 -10
  4. package/esm/SchemaRenderer.js +17 -7
  5. package/esm/Scoped.d.ts +2 -1
  6. package/esm/Scoped.js +30 -14
  7. package/esm/StatusScoped.js +4 -2
  8. package/esm/WithRootStore.js +1 -1
  9. package/esm/WithStore.js +28 -17
  10. package/esm/actions/Action.js +5 -3
  11. package/esm/actions/AjaxAction.js +29 -19
  12. package/esm/actions/BreakAction.js +1 -1
  13. package/esm/actions/BroadcastAction.js +1 -1
  14. package/esm/actions/CmptAction.js +3 -3
  15. package/esm/actions/ContinueAction.js +1 -1
  16. package/esm/actions/CopyAction.js +1 -1
  17. package/esm/actions/CustomAction.js +2 -2
  18. package/esm/actions/DialogAction.d.ts +8 -0
  19. package/esm/actions/DialogAction.js +116 -40
  20. package/esm/actions/DrawerAction.d.ts +5 -0
  21. package/esm/actions/DrawerAction.js +74 -11
  22. package/esm/actions/EmailAction.js +1 -1
  23. package/esm/actions/EventAction.d.ts +20 -0
  24. package/esm/actions/EventAction.js +102 -0
  25. package/esm/actions/LinkAction.js +1 -1
  26. package/esm/actions/LoopAction.js +1 -1
  27. package/esm/actions/PageAction.js +1 -1
  28. package/esm/actions/ParallelAction.js +1 -1
  29. package/esm/actions/PrintAction.d.ts +2 -2
  30. package/esm/actions/PrintAction.js +6 -6
  31. package/esm/actions/StatusAction.js +1 -1
  32. package/esm/actions/SwitchAction.js +1 -1
  33. package/esm/actions/ToastAction.js +1 -1
  34. package/esm/actions/WaitAction.d.ts +18 -0
  35. package/esm/actions/WaitAction.js +41 -0
  36. package/esm/actions/index.d.ts +2 -0
  37. package/esm/components/CustomStyle.js +1 -4
  38. package/esm/components/ErrorBoundary.js +1 -1
  39. package/esm/components/LazyComponent.js +1 -1
  40. package/esm/components/Overlay.d.ts +3 -0
  41. package/esm/components/Overlay.js +7 -4
  42. package/esm/components/PopOver.js +2 -2
  43. package/esm/env.js +1 -1
  44. package/esm/envOverwrite.js +1 -1
  45. package/esm/factory.d.ts +3 -0
  46. package/esm/factory.js +1 -1
  47. package/esm/index.js +6 -4
  48. package/esm/locale.js +4 -2
  49. package/esm/polyfills.js +1 -1
  50. package/esm/renderers/Form.d.ts +6 -4
  51. package/esm/renderers/Form.js +134 -66
  52. package/esm/renderers/Item.d.ts +123 -79
  53. package/esm/renderers/Item.js +159 -60
  54. package/esm/renderers/Options.d.ts +0 -11
  55. package/esm/renderers/Options.js +20 -84
  56. package/esm/renderers/Placeholder.js +1 -1
  57. package/esm/renderers/builtin.js +1 -1
  58. package/esm/renderers/register.js +1 -1
  59. package/esm/renderers/wrapControl.d.ts +2 -1
  60. package/esm/renderers/wrapControl.js +34 -28
  61. package/esm/store/app.d.ts +5 -5
  62. package/esm/store/app.js +1 -1
  63. package/esm/store/combo.d.ts +255 -63
  64. package/esm/store/combo.js +1 -1
  65. package/esm/store/crud.d.ts +5 -5
  66. package/esm/store/crud.js +12 -6
  67. package/esm/store/form.d.ts +105 -25
  68. package/esm/store/form.js +33 -15
  69. package/esm/store/formItem.d.ts +6 -2
  70. package/esm/store/formItem.js +68 -5
  71. package/esm/store/iRenderer.d.ts +5 -5
  72. package/esm/store/iRenderer.js +28 -12
  73. package/esm/store/index.js +1 -1
  74. package/esm/store/list.d.ts +18 -5
  75. package/esm/store/list.js +14 -1
  76. package/esm/store/manager.js +1 -1
  77. package/esm/store/modal.d.ts +5 -5
  78. package/esm/store/modal.js +1 -1
  79. package/esm/store/node.js +1 -1
  80. package/esm/store/pagination.d.ts +5 -5
  81. package/esm/store/pagination.js +1 -1
  82. package/esm/store/root.d.ts +5 -5
  83. package/esm/store/root.js +1 -1
  84. package/esm/store/service.d.ts +5 -5
  85. package/esm/store/service.js +2 -2
  86. package/esm/store/status.js +1 -1
  87. package/esm/store/table.d.ts +244 -55
  88. package/esm/store/table.js +27 -9
  89. package/esm/store/table2.d.ts +5 -5
  90. package/esm/store/table2.js +1 -1
  91. package/esm/theme.js +4 -2
  92. package/esm/types.d.ts +7 -1
  93. package/esm/utils/Animation.js +1 -1
  94. package/esm/utils/ColorScale.js +1 -1
  95. package/esm/utils/DataSchema.js +1 -1
  96. package/esm/utils/DataScope.js +1 -1
  97. package/esm/utils/RootClose.js +1 -1
  98. package/esm/utils/SimpleMap.js +1 -1
  99. package/esm/utils/api.js +1 -1
  100. package/esm/utils/arraySlice.js +1 -1
  101. package/esm/utils/attachmentAdpator.js +1 -1
  102. package/esm/utils/autobind.js +1 -1
  103. package/esm/utils/browser.js +1 -1
  104. package/esm/utils/columnsSplit.js +1 -1
  105. package/esm/utils/concatData.js +1 -1
  106. package/esm/utils/dataMapping.js +1 -1
  107. package/esm/utils/date.js +1 -1
  108. package/esm/utils/debug.js +1 -1
  109. package/esm/utils/decodeEntity.js +1 -1
  110. package/esm/utils/dom.d.ts +2 -2
  111. package/esm/utils/dom.js +72 -13
  112. package/esm/utils/errors.js +1 -1
  113. package/esm/utils/escapeHtml.js +1 -1
  114. package/esm/utils/filter-schema.js +1 -1
  115. package/esm/utils/filter.js +1 -1
  116. package/esm/utils/formatDuration.js +1 -1
  117. package/esm/utils/formula.js +2 -2
  118. package/esm/utils/getVariable.js +1 -1
  119. package/esm/utils/grammar.js +1 -1
  120. package/esm/utils/handleAction.js +1 -1
  121. package/esm/utils/helper.d.ts +12 -6
  122. package/esm/utils/helper.js +41 -18
  123. package/esm/utils/highlight.js +1 -1
  124. package/esm/utils/icon.js +1 -1
  125. package/esm/utils/image.js +1 -1
  126. package/esm/utils/isPureVariable.js +1 -1
  127. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  128. package/esm/utils/keyToPath.js +1 -1
  129. package/esm/utils/labelToString.js +1 -1
  130. package/esm/utils/makeSorter.js +1 -1
  131. package/esm/utils/math.js +1 -1
  132. package/esm/utils/memoryParse.js +1 -1
  133. package/esm/utils/normalizeLink.js +1 -1
  134. package/esm/utils/normalizeOptions.js +1 -1
  135. package/esm/utils/object.js +1 -1
  136. package/esm/utils/offset.js +1 -1
  137. package/esm/utils/offsetParent.js +1 -1
  138. package/esm/utils/optionValueCompare.js +1 -1
  139. package/esm/utils/position.js +1 -1
  140. package/esm/utils/prettyBytes.js +1 -1
  141. package/esm/utils/printElement.js +1 -1
  142. package/esm/utils/renderer-event.d.ts +13 -0
  143. package/esm/utils/renderer-event.js +111 -2
  144. package/esm/utils/replaceText.js +1 -1
  145. package/esm/utils/resize-sensor.js +1 -1
  146. package/esm/utils/resolveCondition.js +1 -1
  147. package/esm/utils/resolveVariable.js +1 -1
  148. package/esm/utils/resolveVariableAndFilter.js +1 -1
  149. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  150. package/esm/utils/scrollPosition.js +1 -1
  151. package/esm/utils/string2regExp.js +1 -1
  152. package/esm/utils/stripNumber.d.ts +1 -1
  153. package/esm/utils/stripNumber.js +4 -3
  154. package/esm/utils/style-helper.d.ts +21 -2
  155. package/esm/utils/style-helper.js +55 -10
  156. package/esm/utils/style.js +1 -1
  157. package/esm/utils/toNumber.js +1 -1
  158. package/esm/utils/tokenize.js +1 -1
  159. package/esm/utils/tpl-builtin.js +1 -1
  160. package/esm/utils/tpl-lodash.js +1 -1
  161. package/esm/utils/tpl.js +4 -4
  162. package/esm/utils/uncontrollable.js +1 -1
  163. package/esm/utils/validateId.js +5 -2
  164. package/esm/utils/validations.js +1 -1
  165. package/lib/Root.js +1 -1
  166. package/lib/RootRenderer.d.ts +2 -2
  167. package/lib/RootRenderer.js +28 -10
  168. package/lib/SchemaRenderer.js +16 -6
  169. package/lib/Scoped.d.ts +2 -1
  170. package/lib/Scoped.js +30 -14
  171. package/lib/StatusScoped.js +4 -2
  172. package/lib/WithRootStore.js +1 -1
  173. package/lib/WithStore.js +28 -17
  174. package/lib/actions/Action.js +5 -3
  175. package/lib/actions/AjaxAction.js +29 -19
  176. package/lib/actions/BreakAction.js +1 -1
  177. package/lib/actions/BroadcastAction.js +1 -1
  178. package/lib/actions/CmptAction.js +3 -3
  179. package/lib/actions/ContinueAction.js +1 -1
  180. package/lib/actions/CopyAction.js +1 -1
  181. package/lib/actions/CustomAction.js +1 -1
  182. package/lib/actions/DialogAction.d.ts +8 -0
  183. package/lib/actions/DialogAction.js +119 -40
  184. package/lib/actions/DrawerAction.d.ts +5 -0
  185. package/lib/actions/DrawerAction.js +77 -11
  186. package/lib/actions/EmailAction.js +1 -1
  187. package/lib/actions/EventAction.d.ts +20 -0
  188. package/lib/actions/EventAction.js +109 -0
  189. package/lib/actions/LinkAction.js +1 -1
  190. package/lib/actions/LoopAction.js +1 -1
  191. package/lib/actions/PageAction.js +1 -1
  192. package/lib/actions/ParallelAction.js +1 -1
  193. package/lib/actions/PrintAction.d.ts +2 -2
  194. package/lib/actions/PrintAction.js +6 -6
  195. package/lib/actions/StatusAction.js +1 -1
  196. package/lib/actions/SwitchAction.js +1 -1
  197. package/lib/actions/ToastAction.js +1 -1
  198. package/lib/actions/WaitAction.d.ts +18 -0
  199. package/lib/actions/WaitAction.js +45 -0
  200. package/lib/actions/index.d.ts +2 -0
  201. package/lib/components/CustomStyle.js +1 -4
  202. package/lib/components/ErrorBoundary.js +1 -1
  203. package/lib/components/LazyComponent.js +1 -1
  204. package/lib/components/Overlay.d.ts +3 -0
  205. package/lib/components/Overlay.js +7 -4
  206. package/lib/components/PopOver.js +1 -1
  207. package/lib/env.js +1 -1
  208. package/lib/envOverwrite.js +1 -1
  209. package/lib/factory.d.ts +3 -0
  210. package/lib/factory.js +1 -1
  211. package/lib/index.js +6 -4
  212. package/lib/locale.js +4 -2
  213. package/lib/polyfills.js +1 -1
  214. package/lib/renderers/Form.d.ts +6 -4
  215. package/lib/renderers/Form.js +135 -65
  216. package/lib/renderers/Item.d.ts +123 -79
  217. package/lib/renderers/Item.js +158 -58
  218. package/lib/renderers/Options.d.ts +0 -11
  219. package/lib/renderers/Options.js +19 -84
  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 +2 -1
  224. package/lib/renderers/wrapControl.js +34 -28
  225. package/lib/store/app.d.ts +5 -5
  226. package/lib/store/app.js +1 -1
  227. package/lib/store/combo.d.ts +279 -88
  228. package/lib/store/combo.js +1 -1
  229. package/lib/store/crud.d.ts +5 -5
  230. package/lib/store/crud.js +12 -6
  231. package/lib/store/form.d.ts +115 -36
  232. package/lib/store/form.js +33 -15
  233. package/lib/store/formItem.d.ts +6 -2
  234. package/lib/store/formItem.js +67 -4
  235. package/lib/store/iRenderer.d.ts +5 -5
  236. package/lib/store/iRenderer.js +27 -11
  237. package/lib/store/index.js +1 -1
  238. package/lib/store/list.d.ts +18 -5
  239. package/lib/store/list.js +14 -1
  240. package/lib/store/manager.js +1 -1
  241. package/lib/store/modal.d.ts +5 -5
  242. package/lib/store/modal.js +1 -1
  243. package/lib/store/node.js +1 -1
  244. package/lib/store/pagination.d.ts +5 -5
  245. package/lib/store/pagination.js +1 -1
  246. package/lib/store/root.d.ts +5 -5
  247. package/lib/store/root.js +1 -1
  248. package/lib/store/service.d.ts +5 -5
  249. package/lib/store/service.js +2 -2
  250. package/lib/store/status.js +1 -1
  251. package/lib/store/table.d.ts +264 -76
  252. package/lib/store/table.js +27 -9
  253. package/lib/store/table2.d.ts +5 -5
  254. package/lib/store/table2.js +1 -1
  255. package/lib/theme.js +4 -2
  256. package/lib/types.d.ts +7 -1
  257. package/lib/utils/Animation.js +1 -1
  258. package/lib/utils/ColorScale.js +1 -1
  259. package/lib/utils/DataSchema.js +1 -1
  260. package/lib/utils/DataScope.js +1 -1
  261. package/lib/utils/RootClose.js +1 -1
  262. package/lib/utils/SimpleMap.js +1 -1
  263. package/lib/utils/api.js +1 -1
  264. package/lib/utils/arraySlice.js +1 -1
  265. package/lib/utils/attachmentAdpator.js +1 -1
  266. package/lib/utils/autobind.js +1 -1
  267. package/lib/utils/browser.js +1 -1
  268. package/lib/utils/columnsSplit.js +1 -1
  269. package/lib/utils/concatData.js +1 -1
  270. package/lib/utils/dataMapping.js +1 -1
  271. package/lib/utils/date.js +1 -1
  272. package/lib/utils/debug.js +1 -1
  273. package/lib/utils/decodeEntity.js +1 -1
  274. package/lib/utils/dom.d.ts +2 -2
  275. package/lib/utils/dom.js +72 -13
  276. package/lib/utils/errors.js +1 -1
  277. package/lib/utils/escapeHtml.js +1 -1
  278. package/lib/utils/filter-schema.js +1 -1
  279. package/lib/utils/filter.js +1 -1
  280. package/lib/utils/formatDuration.js +1 -1
  281. package/lib/utils/formula.js +2 -2
  282. package/lib/utils/getVariable.js +1 -1
  283. package/lib/utils/grammar.js +1 -1
  284. package/lib/utils/handleAction.js +1 -1
  285. package/lib/utils/helper.d.ts +12 -6
  286. package/lib/utils/helper.js +41 -20
  287. package/lib/utils/highlight.js +1 -1
  288. package/lib/utils/icon.js +1 -1
  289. package/lib/utils/image.js +1 -1
  290. package/lib/utils/isPureVariable.js +1 -1
  291. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  292. package/lib/utils/keyToPath.js +1 -1
  293. package/lib/utils/labelToString.js +1 -1
  294. package/lib/utils/makeSorter.js +1 -1
  295. package/lib/utils/math.js +1 -1
  296. package/lib/utils/memoryParse.js +1 -1
  297. package/lib/utils/normalizeLink.js +1 -1
  298. package/lib/utils/normalizeOptions.js +1 -1
  299. package/lib/utils/object.js +1 -1
  300. package/lib/utils/offset.js +1 -1
  301. package/lib/utils/offsetParent.js +1 -1
  302. package/lib/utils/optionValueCompare.js +1 -1
  303. package/lib/utils/position.js +1 -1
  304. package/lib/utils/prettyBytes.js +1 -1
  305. package/lib/utils/printElement.js +1 -1
  306. package/lib/utils/renderer-event.d.ts +13 -0
  307. package/lib/utils/renderer-event.js +111 -1
  308. package/lib/utils/replaceText.js +1 -1
  309. package/lib/utils/resize-sensor.js +1 -1
  310. package/lib/utils/resolveCondition.js +1 -1
  311. package/lib/utils/resolveVariable.js +1 -1
  312. package/lib/utils/resolveVariableAndFilter.js +1 -1
  313. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  314. package/lib/utils/scrollPosition.js +1 -1
  315. package/lib/utils/string2regExp.js +1 -1
  316. package/lib/utils/stripNumber.d.ts +1 -1
  317. package/lib/utils/stripNumber.js +4 -3
  318. package/lib/utils/style-helper.d.ts +21 -2
  319. package/lib/utils/style-helper.js +55 -10
  320. package/lib/utils/style.js +1 -1
  321. package/lib/utils/toNumber.js +1 -1
  322. package/lib/utils/tokenize.js +1 -1
  323. package/lib/utils/tpl-builtin.js +1 -1
  324. package/lib/utils/tpl-lodash.js +1 -1
  325. package/lib/utils/tpl.js +4 -4
  326. package/lib/utils/uncontrollable.js +1 -1
  327. package/lib/utils/validateId.js +9 -2
  328. package/lib/utils/validations.js +1 -1
  329. package/package.json +5 -3
package/esm/Root.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -18,7 +18,7 @@ export declare class RootRenderer extends React.Component<RootRendererProps> {
18
18
  componentDidCatch(error: any, errorInfo: any): void;
19
19
  componentWillUnmount(): void;
20
20
  handlePageVisibilityChange(): void;
21
- handleAction(e: React.UIEvent<any> | void, action: ActionObject, ctx: object, throwErrors?: boolean, delegate?: IScopedContext): void;
21
+ handleAction(e: React.UIEvent<any> | void, action: ActionObject, ctx: object, throwErrors?: boolean, delegate?: IScopedContext): any;
22
22
  handleDialogConfirm(values: object[], action: ActionObject, ...args: Array<any>): void;
23
23
  handleDialogClose(confirmed?: boolean): void;
24
24
  handleDrawerConfirm(values: object[], action: ActionObject, ...args: Array<any>): void;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -128,12 +128,30 @@ var RootRenderer = /** @class */ (function (_super) {
128
128
  window.open(mailto);
129
129
  }
130
130
  else if (action.actionType === 'dialog') {
131
- store.setCurrentAction(action);
132
- store.openDialog(ctx, undefined, action.callback, delegate || this.context);
131
+ store.setCurrentAction(action, this.props.resolveDefinitions);
132
+ return new Promise(function (resolve) {
133
+ store.openDialog(ctx, undefined, function (confirmed, value) {
134
+ var _a;
135
+ (_a = action.callback) === null || _a === void 0 ? void 0 : _a.call(action, confirmed, value);
136
+ resolve({
137
+ confirmed: confirmed,
138
+ value: value
139
+ });
140
+ }, delegate || _this.context);
141
+ });
133
142
  }
134
143
  else if (action.actionType === 'drawer') {
135
- store.setCurrentAction(action);
136
- store.openDrawer(ctx, undefined, undefined, delegate);
144
+ store.setCurrentAction(action, this.props.resolveDefinitions);
145
+ return new Promise(function (resolve) {
146
+ store.openDrawer(ctx, undefined, function (confirmed, value) {
147
+ var _a;
148
+ (_a = action.callback) === null || _a === void 0 ? void 0 : _a.call(action, confirmed, value);
149
+ resolve({
150
+ confirmed: confirmed,
151
+ value: value
152
+ });
153
+ }, delegate);
154
+ });
137
155
  }
138
156
  else if (action.actionType === 'toast') {
139
157
  (_b = (_a = action.toast) === null || _a === void 0 ? void 0 : _a.items) === null || _b === void 0 ? void 0 : _b.forEach(function (item) {
@@ -145,7 +163,7 @@ var RootRenderer = /** @class */ (function (_super) {
145
163
  });
146
164
  }
147
165
  else if (action.actionType === 'ajax') {
148
- store.setCurrentAction(action);
166
+ store.setCurrentAction(action, this.props.resolveDefinitions);
149
167
  store
150
168
  .saveRemote(action.api, ctx, {
151
169
  successMessage: (action.messages && action.messages.success) ||
@@ -217,7 +235,7 @@ var RootRenderer = /** @class */ (function (_super) {
217
235
  var dialogAction = store.action;
218
236
  var reload = (_a = action.reload) !== null && _a !== void 0 ? _a : dialogAction.reload;
219
237
  var scoped = store.getDialogScoped() || this.context;
220
- store.closeDialog(true);
238
+ store.closeDialog(true, values);
221
239
  if (reload) {
222
240
  scoped.reload(reload, store.data);
223
241
  }
@@ -246,7 +264,7 @@ var RootRenderer = /** @class */ (function (_super) {
246
264
  var drawerAction = store.action;
247
265
  var reload = (_a = action.reload) !== null && _a !== void 0 ? _a : drawerAction.reload;
248
266
  var scoped = store.getDrawerScoped() || this.context;
249
- store.closeDrawer();
267
+ store.closeDrawer(true, values);
250
268
  // 稍等会,等动画结束。
251
269
  setTimeout(function () {
252
270
  if (reload) {
@@ -256,7 +274,7 @@ var RootRenderer = /** @class */ (function (_super) {
256
274
  };
257
275
  RootRenderer.prototype.handleDrawerClose = function () {
258
276
  var store = this.store;
259
- store.closeDrawer();
277
+ store.closeDrawer(false);
260
278
  };
261
279
  RootRenderer.prototype.openFeedback = function (dialog, ctx) {
262
280
  var _this = this;
@@ -266,7 +284,7 @@ var RootRenderer = /** @class */ (function (_super) {
266
284
  type: 'button',
267
285
  actionType: 'dialog',
268
286
  dialog: dialog
269
- });
287
+ }, _this.props.resolveDefinitions);
270
288
  store.openDialog(ctx, undefined, function (confirmed) {
271
289
  resolve(confirmed);
272
290
  }, _this.context);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -7,13 +7,14 @@ import { __extends, __assign, __awaiter, __generator, __rest, __values, __decora
7
7
  import difference from 'lodash/difference';
8
8
  import omit from 'lodash/omit';
9
9
  import React from 'react';
10
+ import { isValidElementType } from 'react-is';
10
11
  import LazyComponent from './components/LazyComponent.js';
11
12
  import { resolveRenderer, loadRenderer, filterSchema } from './factory.js';
12
13
  import { asFormItem } from './renderers/Item.js';
13
14
  import { ScopedContext } from './Scoped.js';
14
15
  import { DebugWrapper } from './utils/debug.js';
15
16
  import { getExprProperties } from './utils/filter-schema.js';
16
- import { anyChanged, chainEvents, autobind } from './utils/helper.js';
17
+ import { anyChanged, chainEvents, TestIdBuilder, autobind } from './utils/helper.js';
17
18
  import { SimpleMap } from './utils/SimpleMap.js';
18
19
  import { bindEvent, dispatchEvent } from './utils/renderer-event.js';
19
20
  import { isAlive } from 'mobx-state-tree';
@@ -24,6 +25,7 @@ import 'lodash/isPlainObject';
24
25
  import { resolveVariableAndFilter } from './utils/resolveVariableAndFilter.js';
25
26
  import './utils/filter.js';
26
27
  import { buildStyle } from './utils/style.js';
28
+ import { isExpression } from './utils/formula.js';
27
29
  import { filter, evalExpression } from './utils/tpl.js';
28
30
 
29
31
  var RENDERER_TRANSMISSION_OMIT_PROPS = [
@@ -36,6 +38,7 @@ var RENDERER_TRANSMISSION_OMIT_PROPS = [
36
38
  'children',
37
39
  'ref',
38
40
  'visible',
41
+ 'loading',
39
42
  'visibleOn',
40
43
  'hidden',
41
44
  'hiddenOn',
@@ -58,7 +61,8 @@ var RENDERER_TRANSMISSION_OMIT_PROPS = [
58
61
  'renderLabel',
59
62
  'trackExpression',
60
63
  'editorSetting',
61
- 'updatePristineAfterStoreDataReInit'
64
+ 'updatePristineAfterStoreDataReInit',
65
+ 'source'
62
66
  ];
63
67
  var componentCache = new SimpleMap();
64
68
  var SchemaRenderer = /** @class */ (function (_super) {
@@ -247,7 +251,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
247
251
  ? schema.children
248
252
  : schema.children(__assign(__assign(__assign({}, rest), exprProps), { $path: $path, $schema: schema, render: this.renderChild, forwardedRef: this.refFn, rootStore: rootStore, statusStore: statusStore, dispatchEvent: this.dispatchEvent }));
249
253
  }
250
- else if (typeof schema.component === 'function') {
254
+ else if (schema.component && isValidElementType(schema.component)) {
251
255
  var isSFC = !(schema.component.prototype instanceof React.Component);
252
256
  var defaultData_1 = schema.data, defaultValue_1 = schema.value, // render时的value改放defaultValue中
253
257
  defaultActiveKey_1 = schema.activeKey, propKey_1 = schema.key, restSchema_1 = __rest(schema, ["data", "value", "activeKey", "key"]);
@@ -314,15 +318,21 @@ var SchemaRenderer = /** @class */ (function (_super) {
314
318
  if (isStatic !== undefined) {
315
319
  props.static = isStatic;
316
320
  }
317
- if (rest.env.enableTestid && props.id && !props.testid) {
318
- props.testid = props.id;
321
+ // 优先使用组件自己的testid或者id,这个解决不了table行内的一些子元素
322
+ // 每一行都会出现这个testid的元素,只在测试工具中直接使用nth拿序号
323
+ if (rest.env.enableTestid) {
324
+ if (props.testid || props.id || props.testIdBuilder == null) {
325
+ if (!(props.testIdBuilder instanceof TestIdBuilder)) {
326
+ props.testIdBuilder = new TestIdBuilder(props.testid || props.id);
327
+ }
328
+ }
319
329
  }
320
330
  // 自动解析变量模式,主要是方便直接引入第三方组件库,无需为了支持变量封装一层
321
331
  if (renderer.autoVar) {
322
332
  try {
323
333
  for (var _k = __values(Object.keys(schema)), _l = _k.next(); !_l.done; _l = _k.next()) {
324
334
  var key = _l.value;
325
- if (typeof props[key] === 'string') {
335
+ if (typeof props[key] === 'string' && isExpression(props[key])) {
326
336
  props[key] = resolveVariableAndFilter(props[key], props.data, '| raw');
327
337
  }
328
338
  }
package/esm/Scoped.d.ts CHANGED
@@ -22,7 +22,7 @@ export declare function filterTarget(target: string, data: Record<string, any>):
22
22
  export declare function splitTarget(target: string): Array<string>;
23
23
  export interface ScopedComponentType extends React.Component<RendererProps> {
24
24
  focus?: () => void;
25
- doAction?: (action: ActionObject, data: RendererData, throwErrors?: boolean) => void;
25
+ doAction?: (action: ActionObject, data: RendererData, throwErrors?: boolean, args?: any) => void;
26
26
  receive?: (values: RendererData, subPath?: string, replace?: boolean) => void;
27
27
  reload?: (subPath?: string, query?: RendererData | null, ctx?: RendererData) => void;
28
28
  context: any;
@@ -37,6 +37,7 @@ export interface IScopedContext {
37
37
  unRegisterComponent: (component: ScopedComponentType) => void;
38
38
  getComponentByName: (name: string) => ScopedComponentType;
39
39
  getComponentById: (id: string) => ScopedComponentType | undefined;
40
+ getComponentByIdUnderCurrentScope: (id: string, ignoreScope?: IScopedContext) => ScopedComponentType | undefined;
40
41
  getComponents: () => Array<ScopedComponentType>;
41
42
  reload: (target: string, ctx: RendererData) => void;
42
43
  send: (target: string, ctx: RendererData) => void;
package/esm/Scoped.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -62,8 +62,10 @@ import './actions/CopyAction.js';
62
62
  import './actions/DialogAction.js';
63
63
  import './actions/DrawerAction.js';
64
64
  import './actions/EmailAction.js';
65
+ import './actions/EventAction.js';
65
66
  import './actions/LinkAction.js';
66
67
  import './actions/ToastAction.js';
68
+ import './actions/WaitAction.js';
67
69
  import './actions/PageAction.js';
68
70
  import './actions/PrintAction.js';
69
71
  import { runActions } from './actions/Action.js';
@@ -170,24 +172,38 @@ function createScopedTools(path, parent, env, rendererType) {
170
172
  });
171
173
  return resolved || (parent && parent.getComponentByName(name));
172
174
  },
175
+ getComponentByIdUnderCurrentScope: function (id, ignoreScope) {
176
+ var component = undefined;
177
+ findTree([this], function (item) {
178
+ return item !== ignoreScope &&
179
+ item.getComponents().find(function (cmpt) {
180
+ if (filter(cmpt.props.id, cmpt.props.data) === id) {
181
+ component = cmpt;
182
+ return true;
183
+ }
184
+ return false;
185
+ });
186
+ });
187
+ return component;
188
+ },
173
189
  getComponentById: function (id) {
174
190
  var root = this;
191
+ var ignoreScope = undefined;
175
192
  // 找到顶端scoped
176
- while (root.parent && root.parent !== rootScopedContext) {
193
+ while (root) {
194
+ // 优先从当前scope查找
195
+ // 直接跑到顶层查找,对于有历史标签一次渲染多个页面的情况,会有问题
196
+ var component = root.getComponentByIdUnderCurrentScope(id, ignoreScope);
197
+ if (component) {
198
+ return component;
199
+ }
200
+ if (!root.parent || root.parent === rootScopedContext) {
201
+ break;
202
+ }
203
+ ignoreScope = root;
177
204
  root = root.parent;
178
205
  }
179
- // 向下查找
180
- var component = undefined;
181
- findTree([root], function (item) {
182
- return item.getComponents().find(function (cmpt) {
183
- if (filter(cmpt.props.id, cmpt.props.data) === id) {
184
- component = cmpt;
185
- return true;
186
- }
187
- return false;
188
- });
189
- });
190
- return component;
206
+ return undefined;
191
207
  },
192
208
  /**
193
209
  * 基于绑定的变量名称查找组件
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -38,7 +38,9 @@ function StatusScoped(ComposedComponent) {
38
38
  var injectedProps = {
39
39
  statusStore: this.store
40
40
  };
41
- var refConfig = ((_a = ComposedComponent.prototype) === null || _a === void 0 ? void 0 : _a.isReactComponent)
41
+ var refConfig = ((_a = ComposedComponent.prototype) === null || _a === void 0 ? void 0 : _a.isReactComponent) ||
42
+ ComposedComponent.$$typeof ===
43
+ Symbol.for('react.forward_ref')
42
44
  ? { ref: this.childRef }
43
45
  : { forwardedRef: this.childRef };
44
46
  return (React.createElement(ComposedComponent, __assign({}, this.props, injectedProps, refConfig)));
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.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.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -19,6 +19,17 @@ import { dataMapping } from './utils/dataMapping.js';
19
19
  import './utils/filter.js';
20
20
  import { RootStoreContext } from './WithRootStore.js';
21
21
 
22
+ /**
23
+ * 忽略静态数据中的 schema 属性
24
+ *
25
+ * 比如 https://github.com/baidu/amis/issues/8972 中的用法
26
+ */
27
+ function ignoreSchemaProps(key, value) {
28
+ if (['clickAction'].includes(key) && typeof value !== 'string') {
29
+ return true;
30
+ }
31
+ return false;
32
+ }
22
33
  function HocStoreFactory(renderer) {
23
34
  return function (Component) {
24
35
  var StoreFactory = /** @class */ (function (_super) {
@@ -42,19 +53,19 @@ function HocStoreFactory(renderer) {
42
53
  if (extendsData === false) {
43
54
  store.initData(createObject(_this.props.data
44
55
  ? _this.props.data.__super
45
- : null, __assign(__assign({}, _this.formatData(dataMapping(_this.props.defaultData, _this.props.data))), _this.formatData(_this.props.data))));
56
+ : null, __assign(__assign({}, _this.formatData(dataMapping(_this.props.defaultData, _this.props.data, ignoreSchemaProps))), _this.formatData(_this.props.data))));
46
57
  }
47
58
  else if (_this.props.scope ||
48
59
  (_this.props.data && _this.props.data.__super)) {
49
- if (_this.props.store && _this.props.data === _this.props.store.data) {
50
- store.initData(createObject(_this.props.store.data, __assign({}, _this.formatData(dataMapping(_this.props.defaultData, _this.props.data)))));
60
+ if (_this.props.store && _this.props.data === _this.props.scope) {
61
+ store.initData(createObject(_this.props.store.data, __assign({}, _this.formatData(dataMapping(_this.props.defaultData, _this.props.data, ignoreSchemaProps)))));
51
62
  }
52
63
  else {
53
- store.initData(createObject(_this.props.data.__super || _this.props.scope, __assign(__assign({}, _this.formatData(dataMapping(_this.props.defaultData, _this.props.data))), _this.formatData(_this.props.data))));
64
+ store.initData(createObject(_this.props.data.__super || _this.props.scope, __assign(__assign({}, _this.formatData(dataMapping(_this.props.defaultData, _this.props.data, ignoreSchemaProps))), _this.formatData(_this.props.data))));
54
65
  }
55
66
  }
56
67
  else {
57
- store.initData(__assign(__assign({}, _this.formatData(dataMapping(_this.props.defaultData, _this.props.data))), _this.formatData(_this.props.data)));
68
+ store.initData(__assign(__assign({}, _this.formatData(dataMapping(_this.props.defaultData, _this.props.data, ignoreSchemaProps))), _this.formatData(_this.props.data)));
58
69
  }
59
70
  _this.state = {};
60
71
  var detectField = props.detectField, rest = __rest(props, ["detectField"]);
@@ -84,7 +95,7 @@ function HocStoreFactory(renderer) {
84
95
  };
85
96
  StoreFactory.prototype.componentDidUpdate = function (prevProps) {
86
97
  var _this = this;
87
- var _a, _b, _c, _d;
98
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
88
99
  var props = this.props;
89
100
  var store = this.store;
90
101
  // dialog 场景下 schema 是显示的时候更新的,
@@ -118,7 +129,7 @@ function HocStoreFactory(renderer) {
118
129
  (props.data &&
119
130
  prevProps.data &&
120
131
  props.data.__super !== prevProps.data.__super))) {
121
- store.initData(extendObject(props.data, __assign(__assign(__assign({}, (store.hasRemoteData ? store.data : null)), this.formatData(props.defaultData)), this.formatData(props.data))), props.updatePristineAfterStoreDataReInit === false);
132
+ 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);
122
133
  }
123
134
  }
124
135
  else if (shouldSync === true ||
@@ -128,9 +139,9 @@ function HocStoreFactory(renderer) {
128
139
  : isObjectShallowModified(prevProps.data, props.data) ||
129
140
  (props.syncSuperStore !== false &&
130
141
  isSuperDataModified(props.data, prevProps.data, store)))) {
131
- if (props.store && props.store.data === props.data) {
142
+ if (props.store && props.scope === props.data) {
132
143
  store.initData(createObject(props.store.data, props.syncSuperStore === false
133
- ? __assign({}, store.data) : syncDataFromSuper(store.data, props.store.data, prevProps.scope, store, props.syncSuperStore === true)), props.updatePristineAfterStoreDataReInit === false);
144
+ ? __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);
134
145
  }
135
146
  else if (props.data && props.data.__super) {
136
147
  store.initData(extendObject(props.data,
@@ -139,24 +150,24 @@ function HocStoreFactory(renderer) {
139
150
  store.hasRemoteData || !store.path.includes('/')
140
151
  ? __assign(__assign({}, store.data), props.data) : // combo 不需要同步,如果要同步,在 Combo.tsx 里面已经实现了相关逻辑
141
152
  // 目前主要的问题是,如果 combo 中表单项名字和 combo 本身的名字一样,会导致里面的值会被覆盖成数组
142
- ((_c = props.store) === null || _c === void 0 ? void 0 : _c.storeType) === 'ComboStore'
153
+ ((_e = props.store) === null || _e === void 0 ? void 0 : _e.storeType) === 'ComboStore'
143
154
  ? undefined
144
- : syncDataFromSuper(__assign(__assign({}, store.data), props.data), props.data.__super, prevProps.data.__super, store, false)), props.updatePristineAfterStoreDataReInit === false);
155
+ : syncDataFromSuper(__assign(__assign({}, store.data), props.data), props.data.__super, prevProps.data.__super, store, false)), ((_f = props.updatePristineAfterStoreDataReInit) !== null && _f !== void 0 ? _f : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
145
156
  }
146
157
  else {
147
- store.initData(createObject(props.scope, props.data), props.updatePristineAfterStoreDataReInit === false);
158
+ store.initData(createObject(props.scope, props.data), ((_g = props.updatePristineAfterStoreDataReInit) !== null && _g !== void 0 ? _g : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
148
159
  }
149
160
  }
150
161
  else if (!props.trackExpression &&
151
- (!props.store || props.data !== props.store.data) &&
162
+ (!props.store || props.data !== props.scope) &&
152
163
  props.data &&
153
164
  props.data.__super) {
154
165
  // 这个用法很少,当 data.__super 值发生变化时,更新 store.data
155
166
  if (!prevProps.data ||
156
167
  isObjectShallowModified(props.data.__super, prevProps.data.__super, false)) {
157
- store.initData(createObject(props.data.__super, __assign(__assign({}, props.data), store.data)), props.updatePristineAfterStoreDataReInit === false ||
168
+ 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 ||
158
169
  (store.storeType === 'FormStore' &&
159
- ((_d = prevProps.store) === null || _d === void 0 ? void 0 : _d.storeType) === 'CRUDStore'));
170
+ ((_j = prevProps.store) === null || _j === void 0 ? void 0 : _j.storeType) === 'CRUDStore'));
160
171
  }
161
172
  // nextProps.data.__super !== props.data.__super) &&
162
173
  }
@@ -166,7 +177,7 @@ function HocStoreFactory(renderer) {
166
177
  prevProps.data !== props.data) {
167
178
  // 只有父级数据变动的时候才应该进来,
168
179
  // 目前看来这个 case 很少有情况下能进来
169
- store.initData(createObject(props.scope, __assign({}, store.data)), props.updatePristineAfterStoreDataReInit === false);
180
+ store.initData(createObject(props.scope, __assign({}, store.data)), ((_k = props.updatePristineAfterStoreDataReInit) !== null && _k !== void 0 ? _k : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
170
181
  }
171
182
  };
172
183
  StoreFactory.prototype.componentWillUnmount = function () {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -255,7 +255,9 @@ var runAction = function (actionInstrance, actionConfig, renderer, event) { retu
255
255
  'table': ['condition'],
256
256
  'table2': ['condition'],
257
257
  'crud': ['condition'],
258
- 'combo': ['condition']
258
+ 'combo': ['condition'],
259
+ 'list': ['condition'],
260
+ 'cards': ['condition']
259
261
  };
260
262
  var curCmptType = (_a = targetComponent === null || targetComponent === void 0 ? void 0 : targetComponent.props) === null || _a === void 0 ? void 0 : _a.type;
261
263
  var curActionType = action.actionType;
@@ -273,7 +275,7 @@ var runAction = function (actionInstrance, actionConfig, renderer, event) { retu
273
275
  (_u = console.group) === null || _u === void 0 ? void 0 : _u.call(console, "run action ".concat(action.actionType));
274
276
  console.debug("[".concat(action.actionType, "] action args, data"), args, data);
275
277
  stopped = false;
276
- return [4 /*yield*/, actionInstrance.run(__assign(__assign(__assign({}, action), { args: args, data: action.actionType === 'reload' ? actionData : data }), key), renderer, event, mergeData)];
278
+ return [4 /*yield*/, actionInstrance.run(__assign(__assign(__assign({}, action), { args: args, rawData: actionConfig.data, data: action.actionType === 'reload' ? actionData : data }), key), renderer, event, mergeData)];
277
279
  case 5:
278
280
  actionResult = _w.sent();
279
281
  // 二次确认弹窗如果取消,则终止后续动作
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -7,6 +7,7 @@ import { __awaiter, __generator, __assign } from 'tslib';
7
7
  import { normalizeApiResponseData, normalizeApi } from '../utils/api.js';
8
8
  import { ServerError } from '../utils/errors.js';
9
9
  import { isEmpty } from '../utils/helper.js';
10
+ import { evalExpressionWithConditionBuilder } from '../utils/tpl.js';
10
11
  import { registerAction } from './Action.js';
11
12
  import { createObject } from '../utils/object.js';
12
13
 
@@ -23,12 +24,12 @@ var AjaxAction = /** @class */ (function () {
23
24
  this.fetcherType = fetcherType;
24
25
  }
25
26
  AjaxAction.prototype.run = function (action, renderer, event) {
26
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
27
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
27
28
  return __awaiter(this, void 0, void 0, function () {
28
- var env, silent, messages, api, result, responseData, msg, e_1, result;
29
- var _o;
30
- return __generator(this, function (_p) {
31
- switch (_p.label) {
29
+ var env, silent, messages, api, sendOn, result, responseData, msg, e_1, result;
30
+ var _p;
31
+ return __generator(this, function (_q) {
32
+ switch (_q.label) {
32
33
  case 0:
33
34
  if (!((_a = event.context.env) === null || _a === void 0 ? void 0 : _a.fetcher)) {
34
35
  throw new Error('env.fetcher is required!');
@@ -45,27 +46,36 @@ var AjaxAction = /** @class */ (function () {
45
46
  silent = ((_b = action === null || action === void 0 ? void 0 : action.options) === null || _b === void 0 ? void 0 : _b.silent) || (action === null || action === void 0 ? void 0 : action.api).silent;
46
47
  messages = (_c = action === null || action === void 0 ? void 0 : action.api) === null || _c === void 0 ? void 0 : _c.messages;
47
48
  api = normalizeApi(action.api);
49
+ if (!(api.sendOn !== undefined)) return [3 /*break*/, 2];
50
+ return [4 /*yield*/, evalExpressionWithConditionBuilder(api.sendOn, (_d = action.data) !== null && _d !== void 0 ? _d : {}, false)];
51
+ case 1:
52
+ sendOn = _q.sent();
53
+ if (!sendOn) {
54
+ return [2 /*return*/];
55
+ }
56
+ _q.label = 2;
57
+ case 2:
48
58
  // 如果没配置data数据映射,则给一个空对象,避免将当前数据域作为接口请求参数
49
59
  if ((api === null || api === void 0 ? void 0 : api.data) == undefined) {
50
60
  api = __assign(__assign({}, api), { data: {} });
51
61
  }
52
- _p.label = 1;
53
- case 1:
54
- _p.trys.push([1, 3, , 4]);
55
- return [4 /*yield*/, env.fetcher(api, (_d = action.data) !== null && _d !== void 0 ? _d : {}, (_e = action === null || action === void 0 ? void 0 : action.options) !== null && _e !== void 0 ? _e : {})];
56
- case 2:
57
- result = _p.sent();
62
+ _q.label = 3;
63
+ case 3:
64
+ _q.trys.push([3, 5, , 6]);
65
+ return [4 /*yield*/, env.fetcher(api, (_e = action.data) !== null && _e !== void 0 ? _e : {}, (_f = action === null || action === void 0 ? void 0 : action.options) !== null && _f !== void 0 ? _f : {})];
66
+ case 4:
67
+ result = _q.sent();
58
68
  responseData = !isEmpty(result.data) || result.ok
59
69
  ? normalizeApiResponseData(result.data)
60
70
  : null;
61
71
  // 记录请求返回的数据
62
- event.setData(createObject(event.data, __assign(__assign({}, responseData), (_o = { responseData: responseData }, _o[action.outputVar || 'responseResult'] = __assign(__assign({}, responseData), { responseData: responseData, responseStatus: result.status, responseMsg: result.msg }), _o))));
72
+ event.setData(createObject(event.data, __assign(__assign({}, responseData), (_p = { responseData: responseData }, _p[action.outputVar || 'responseResult'] = __assign(__assign({}, responseData), { responseData: responseData, responseStatus: result.status, responseMsg: result.msg }), _p))));
63
73
  if (!silent) {
64
74
  if (!result.ok) {
65
- throw new ServerError((_h = (_f = messages === null || messages === void 0 ? void 0 : messages.failed) !== null && _f !== void 0 ? _f : (_g = action.messages) === null || _g === void 0 ? void 0 : _g.failed) !== null && _h !== void 0 ? _h : result.msg, result);
75
+ throw new ServerError((_j = (_g = messages === null || messages === void 0 ? void 0 : messages.failed) !== null && _g !== void 0 ? _g : (_h = action.messages) === null || _h === void 0 ? void 0 : _h.failed) !== null && _j !== void 0 ? _j : result.msg, result);
66
76
  }
67
77
  else {
68
- msg = (_m = (_l = (_j = messages === null || messages === void 0 ? void 0 : messages.success) !== null && _j !== void 0 ? _j : (_k = action.messages) === null || _k === void 0 ? void 0 : _k.success) !== null && _l !== void 0 ? _l : result.msg) !== null && _m !== void 0 ? _m : result.defaultMsg;
78
+ msg = (_o = (_m = (_k = messages === null || messages === void 0 ? void 0 : messages.success) !== null && _k !== void 0 ? _k : (_l = action.messages) === null || _l === void 0 ? void 0 : _l.success) !== null && _m !== void 0 ? _m : result.msg) !== null && _o !== void 0 ? _o : result.defaultMsg;
69
79
  msg &&
70
80
  env.notify('success', msg, result.msgTimeout !== undefined
71
81
  ? {
@@ -76,8 +86,8 @@ var AjaxAction = /** @class */ (function () {
76
86
  }
77
87
  }
78
88
  return [2 /*return*/, result.data];
79
- case 3:
80
- e_1 = _p.sent();
89
+ case 5:
90
+ e_1 = _q.sent();
81
91
  if (!silent) {
82
92
  if (e_1.type === 'ServerError') {
83
93
  result = e_1.response;
@@ -92,8 +102,8 @@ var AjaxAction = /** @class */ (function () {
92
102
  env.notify('error', e_1.message);
93
103
  }
94
104
  }
95
- return [3 /*break*/, 4];
96
- case 4: return [2 /*return*/];
105
+ return [3 /*break*/, 6];
106
+ case 6: return [2 /*return*/];
97
107
  }
98
108
  });
99
109
  });
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -46,7 +46,7 @@ var CmptAction = /** @class */ (function () {
46
46
  : renderer;
47
47
  // 如果key指定了,但是没找到组件,则报错
48
48
  if (key && !component) {
49
- msg = '尝试执行一个不存在的目标组件动作,请检查目标组件非隐藏状态,且正确指定了componentId或componentName';
49
+ msg = "\u5C1D\u8BD5\u6267\u884C\u4E00\u4E2A\u4E0D\u5B58\u5728\u7684\u76EE\u6807\u7EC4\u4EF6\u52A8\u4F5C\uFF08".concat(key, "\uFF09\uFF0C\u8BF7\u68C0\u67E5\u76EE\u6807\u7EC4\u4EF6\u975E\u9690\u85CF\u72B6\u6001\uFF0C\u4E14\u6B63\u786E\u6307\u5B9A\u4E86componentId\u6216componentName");
50
50
  if (action.ignoreError === false) {
51
51
  throw Error(msg);
52
52
  }
@@ -107,7 +107,7 @@ var CmptAction = /** @class */ (function () {
107
107
  case 6: return [2 /*return*/];
108
108
  case 7:
109
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, action.args, true))];
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
111
  case 8:
112
112
  result = _11.sent();
113
113
  if (['validate', 'submit'].includes(action.actionType)) {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -16,9 +16,9 @@ import '../utils/DataScope.js';
16
16
  import 'moment';
17
17
  import '../utils/debug.js';
18
18
  import 'react-dom';
19
+ import '../utils/helper.js';
19
20
  import '../utils/errors.js';
20
21
  import '../utils/tpl.js';
21
- import '../utils/helper.js';
22
22
  import '../utils/filter.js';
23
23
  import 'lodash/isObject';
24
24
  import 'lodash/isString';
@@ -23,6 +23,14 @@ export interface IDialogAction extends ListenerAction {
23
23
  dialog: SchemaNode;
24
24
  };
25
25
  dialog?: SchemaNode;
26
+ /**
27
+ * 是否等待确认结果
28
+ */
29
+ waitForAction?: boolean;
30
+ /**
31
+ * 如果等待结果,将弹窗结果保存到此处变量
32
+ */
33
+ outputVar?: string;
26
34
  }
27
35
  export interface IConfirmDialogAction extends ListenerAction {
28
36
  actionType: 'confirmDialog';