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
@@ -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
 
package/esm/utils/tpl.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
 
@@ -80,10 +80,10 @@ function evalExpression(expression, data) {
80
80
  return !!evalFormula(expression, data);
81
81
  }
82
82
  // 后续改用 FormulaExec['js']
83
- var debug = false;
83
+ var debug_1 = false;
84
84
  var idx = expression.indexOf('debugger');
85
85
  if (~idx) {
86
- debug = true;
86
+ debug_1 = true;
87
87
  expression = expression.replace(/debugger;?/, '');
88
88
  }
89
89
  var fn = void 0;
@@ -91,7 +91,7 @@ function evalExpression(expression, data) {
91
91
  fn = EVAL_CACHE[expression];
92
92
  }
93
93
  else {
94
- fn = new Function('data', 'utils', "with(data) {".concat(debug ? 'debugger;' : '', "return !!(").concat(expression, ");}"));
94
+ fn = new Function('data', 'utils', "with(data) {".concat(debug_1 ? 'debugger;' : '', "return !!(").concat(expression, ");}"));
95
95
  EVAL_CACHE[expression] = fn;
96
96
  }
97
97
  data = data || {};
@@ -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,9 +1,10 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  import { __read } from 'tslib';
7
+ import moment from 'moment';
7
8
 
8
9
  /**
9
10
  * 身份证号码校验,(没有校验城市和区县)
@@ -131,7 +132,9 @@ function verifyRegion(province, city, country) {
131
132
  return true;
132
133
  }
133
134
  function verifyBirthday(birthday) {
134
- return !isNaN(+birthday);
135
+ var min = moment(new Date('1850-01-01')); // 还有1850年前的人活着吗?
136
+ var max = moment().endOf('day'); // 最大值是今天
137
+ return !isNaN(+birthday) && moment(birthday).isBetween(min, max);
135
138
  }
136
139
  /**
137
140
  * 校验码计算方式
@@ -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/lib/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;
@@ -30,5 +30,5 @@ export declare class RootRenderer extends React.Component<RootRendererProps> {
30
30
  renderError(): React.ReactNode;
31
31
  renderDialog(): React.ReactNode;
32
32
  renderDrawer(): React.ReactNode;
33
- render(): string | number | boolean | React.JSX.Element | Iterable<React.ReactNode> | null | undefined;
33
+ render(): string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
34
34
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -142,12 +142,30 @@ var RootRenderer = /** @class */ (function (_super) {
142
142
  window.open(mailto);
143
143
  }
144
144
  else if (action.actionType === 'dialog') {
145
- store.setCurrentAction(action);
146
- store.openDialog(ctx, undefined, action.callback, delegate || this.context);
145
+ store.setCurrentAction(action, this.props.resolveDefinitions);
146
+ return new Promise(function (resolve) {
147
+ store.openDialog(ctx, undefined, function (confirmed, value) {
148
+ var _a;
149
+ (_a = action.callback) === null || _a === void 0 ? void 0 : _a.call(action, confirmed, value);
150
+ resolve({
151
+ confirmed: confirmed,
152
+ value: value
153
+ });
154
+ }, delegate || _this.context);
155
+ });
147
156
  }
148
157
  else if (action.actionType === 'drawer') {
149
- store.setCurrentAction(action);
150
- store.openDrawer(ctx, undefined, undefined, delegate);
158
+ store.setCurrentAction(action, this.props.resolveDefinitions);
159
+ return new Promise(function (resolve) {
160
+ store.openDrawer(ctx, undefined, function (confirmed, value) {
161
+ var _a;
162
+ (_a = action.callback) === null || _a === void 0 ? void 0 : _a.call(action, confirmed, value);
163
+ resolve({
164
+ confirmed: confirmed,
165
+ value: value
166
+ });
167
+ }, delegate);
168
+ });
151
169
  }
152
170
  else if (action.actionType === 'toast') {
153
171
  (_b = (_a = action.toast) === null || _a === void 0 ? void 0 : _a.items) === null || _b === void 0 ? void 0 : _b.forEach(function (item) {
@@ -159,7 +177,7 @@ var RootRenderer = /** @class */ (function (_super) {
159
177
  });
160
178
  }
161
179
  else if (action.actionType === 'ajax') {
162
- store.setCurrentAction(action);
180
+ store.setCurrentAction(action, this.props.resolveDefinitions);
163
181
  store
164
182
  .saveRemote(action.api, ctx, {
165
183
  successMessage: (action.messages && action.messages.success) ||
@@ -231,7 +249,7 @@ var RootRenderer = /** @class */ (function (_super) {
231
249
  var dialogAction = store.action;
232
250
  var reload = (_a = action.reload) !== null && _a !== void 0 ? _a : dialogAction.reload;
233
251
  var scoped = store.getDialogScoped() || this.context;
234
- store.closeDialog(true);
252
+ store.closeDialog(true, values);
235
253
  if (reload) {
236
254
  scoped.reload(reload, store.data);
237
255
  }
@@ -260,7 +278,7 @@ var RootRenderer = /** @class */ (function (_super) {
260
278
  var drawerAction = store.action;
261
279
  var reload = (_a = action.reload) !== null && _a !== void 0 ? _a : drawerAction.reload;
262
280
  var scoped = store.getDrawerScoped() || this.context;
263
- store.closeDrawer();
281
+ store.closeDrawer(true, values);
264
282
  // 稍等会,等动画结束。
265
283
  setTimeout(function () {
266
284
  if (reload) {
@@ -270,7 +288,7 @@ var RootRenderer = /** @class */ (function (_super) {
270
288
  };
271
289
  RootRenderer.prototype.handleDrawerClose = function () {
272
290
  var store = this.store;
273
- store.closeDrawer();
291
+ store.closeDrawer(false);
274
292
  };
275
293
  RootRenderer.prototype.openFeedback = function (dialog, ctx) {
276
294
  var _this = this;
@@ -280,7 +298,7 @@ var RootRenderer = /** @class */ (function (_super) {
280
298
  type: 'button',
281
299
  actionType: 'dialog',
282
300
  dialog: dialog
283
- });
301
+ }, _this.props.resolveDefinitions);
284
302
  store.openDialog(ctx, undefined, function (confirmed) {
285
303
  resolve(confirmed);
286
304
  }, _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
 
@@ -11,6 +11,7 @@ var tslib = require('tslib');
11
11
  var difference = require('lodash/difference');
12
12
  var omit = require('lodash/omit');
13
13
  var React = require('react');
14
+ var reactIs = require('react-is');
14
15
  var LazyComponent = require('./components/LazyComponent.js');
15
16
  var factory = require('./factory.js');
16
17
  var Item = require('./renderers/Item.js');
@@ -28,6 +29,7 @@ require('lodash/isPlainObject');
28
29
  var resolveVariableAndFilter = require('./utils/resolveVariableAndFilter.js');
29
30
  require('./utils/filter.js');
30
31
  var style = require('./utils/style.js');
32
+ var formula = require('./utils/formula.js');
31
33
  var tpl = require('./utils/tpl.js');
32
34
 
33
35
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -49,6 +51,7 @@ var RENDERER_TRANSMISSION_OMIT_PROPS = [
49
51
  'children',
50
52
  'ref',
51
53
  'visible',
54
+ 'loading',
52
55
  'visibleOn',
53
56
  'hidden',
54
57
  'hiddenOn',
@@ -71,7 +74,8 @@ var RENDERER_TRANSMISSION_OMIT_PROPS = [
71
74
  'renderLabel',
72
75
  'trackExpression',
73
76
  'editorSetting',
74
- 'updatePristineAfterStoreDataReInit'
77
+ 'updatePristineAfterStoreDataReInit',
78
+ 'source'
75
79
  ];
76
80
  var componentCache = new SimpleMap.SimpleMap();
77
81
  var SchemaRenderer = /** @class */ (function (_super) {
@@ -260,7 +264,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
260
264
  ? schema.children
261
265
  : schema.children(tslib.__assign(tslib.__assign(tslib.__assign({}, rest), exprProps), { $path: $path, $schema: schema, render: this.renderChild, forwardedRef: this.refFn, rootStore: rootStore, statusStore: statusStore, dispatchEvent: this.dispatchEvent }));
262
266
  }
263
- else if (typeof schema.component === 'function') {
267
+ else if (schema.component && reactIs.isValidElementType(schema.component)) {
264
268
  var isSFC = !(schema.component.prototype instanceof React__default["default"].Component);
265
269
  var defaultData_1 = schema.data, defaultValue_1 = schema.value, // render时的value改放defaultValue中
266
270
  defaultActiveKey_1 = schema.activeKey, propKey_1 = schema.key, restSchema_1 = tslib.__rest(schema, ["data", "value", "activeKey", "key"]);
@@ -327,15 +331,21 @@ var SchemaRenderer = /** @class */ (function (_super) {
327
331
  if (isStatic !== undefined) {
328
332
  props.static = isStatic;
329
333
  }
330
- if (rest.env.enableTestid && props.id && !props.testid) {
331
- props.testid = props.id;
334
+ // 优先使用组件自己的testid或者id,这个解决不了table行内的一些子元素
335
+ // 每一行都会出现这个testid的元素,只在测试工具中直接使用nth拿序号
336
+ if (rest.env.enableTestid) {
337
+ if (props.testid || props.id || props.testIdBuilder == null) {
338
+ if (!(props.testIdBuilder instanceof helper.TestIdBuilder)) {
339
+ props.testIdBuilder = new helper.TestIdBuilder(props.testid || props.id);
340
+ }
341
+ }
332
342
  }
333
343
  // 自动解析变量模式,主要是方便直接引入第三方组件库,无需为了支持变量封装一层
334
344
  if (renderer.autoVar) {
335
345
  try {
336
346
  for (var _k = tslib.__values(Object.keys(schema)), _l = _k.next(); !_l.done; _l = _k.next()) {
337
347
  var key = _l.value;
338
- if (typeof props[key] === 'string') {
348
+ if (typeof props[key] === 'string' && formula.isExpression(props[key])) {
339
349
  props[key] = resolveVariableAndFilter.resolveVariableAndFilter(props[key], props.data, '| raw');
340
350
  }
341
351
  }
package/lib/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/lib/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
 
@@ -69,8 +69,10 @@ require('./actions/CopyAction.js');
69
69
  require('./actions/DialogAction.js');
70
70
  require('./actions/DrawerAction.js');
71
71
  require('./actions/EmailAction.js');
72
+ require('./actions/EventAction.js');
72
73
  require('./actions/LinkAction.js');
73
74
  require('./actions/ToastAction.js');
75
+ require('./actions/WaitAction.js');
74
76
  require('./actions/PageAction.js');
75
77
  require('./actions/PrintAction.js');
76
78
  var Action = require('./actions/Action.js');
@@ -183,24 +185,38 @@ function createScopedTools(path, parent, env, rendererType) {
183
185
  });
184
186
  return resolved || (parent && parent.getComponentByName(name));
185
187
  },
188
+ getComponentByIdUnderCurrentScope: function (id, ignoreScope) {
189
+ var component = undefined;
190
+ helper.findTree([this], function (item) {
191
+ return item !== ignoreScope &&
192
+ item.getComponents().find(function (cmpt) {
193
+ if (tpl.filter(cmpt.props.id, cmpt.props.data) === id) {
194
+ component = cmpt;
195
+ return true;
196
+ }
197
+ return false;
198
+ });
199
+ });
200
+ return component;
201
+ },
186
202
  getComponentById: function (id) {
187
203
  var root = this;
204
+ var ignoreScope = undefined;
188
205
  // 找到顶端scoped
189
- while (root.parent && root.parent !== rootScopedContext) {
206
+ while (root) {
207
+ // 优先从当前scope查找
208
+ // 直接跑到顶层查找,对于有历史标签一次渲染多个页面的情况,会有问题
209
+ var component = root.getComponentByIdUnderCurrentScope(id, ignoreScope);
210
+ if (component) {
211
+ return component;
212
+ }
213
+ if (!root.parent || root.parent === rootScopedContext) {
214
+ break;
215
+ }
216
+ ignoreScope = root;
190
217
  root = root.parent;
191
218
  }
192
- // 向下查找
193
- var component = undefined;
194
- helper.findTree([root], function (item) {
195
- return item.getComponents().find(function (cmpt) {
196
- if (tpl.filter(cmpt.props.id, cmpt.props.data) === id) {
197
- component = cmpt;
198
- return true;
199
- }
200
- return false;
201
- });
202
- });
203
- return component;
219
+ return undefined;
204
220
  },
205
221
  /**
206
222
  * 基于绑定的变量名称查找组件
@@ -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
 
@@ -50,7 +50,9 @@ function StatusScoped(ComposedComponent) {
50
50
  var injectedProps = {
51
51
  statusStore: this.store
52
52
  };
53
- var refConfig = ((_a = ComposedComponent.prototype) === null || _a === void 0 ? void 0 : _a.isReactComponent)
53
+ var refConfig = ((_a = ComposedComponent.prototype) === null || _a === void 0 ? void 0 : _a.isReactComponent) ||
54
+ ComposedComponent.$$typeof ===
55
+ Symbol.for('react.forward_ref')
54
56
  ? { ref: this.childRef }
55
57
  : { forwardedRef: this.childRef };
56
58
  return (_J$X_(ComposedComponent, tslib.__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/lib/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
 
@@ -31,6 +31,17 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
31
31
  var __react_jsx__ = require('react');
32
32
  var _J$X_ = (__react_jsx__["default"] || __react_jsx__).createElement;
33
33
  (__react_jsx__["default"] || __react_jsx__).Fragment;
34
+ /**
35
+ * 忽略静态数据中的 schema 属性
36
+ *
37
+ * 比如 https://github.com/baidu/amis/issues/8972 中的用法
38
+ */
39
+ function ignoreSchemaProps(key, value) {
40
+ if (['clickAction'].includes(key) && typeof value !== 'string') {
41
+ return true;
42
+ }
43
+ return false;
44
+ }
34
45
  function HocStoreFactory(renderer) {
35
46
  return function (Component) {
36
47
  var StoreFactory = /** @class */ (function (_super) {
@@ -54,19 +65,19 @@ function HocStoreFactory(renderer) {
54
65
  if (extendsData === false) {
55
66
  store.initData(object.createObject(_this.props.data
56
67
  ? _this.props.data.__super
57
- : null, tslib.__assign(tslib.__assign({}, _this.formatData(dataMapping.dataMapping(_this.props.defaultData, _this.props.data))), _this.formatData(_this.props.data))));
68
+ : null, tslib.__assign(tslib.__assign({}, _this.formatData(dataMapping.dataMapping(_this.props.defaultData, _this.props.data, ignoreSchemaProps))), _this.formatData(_this.props.data))));
58
69
  }
59
70
  else if (_this.props.scope ||
60
71
  (_this.props.data && _this.props.data.__super)) {
61
- if (_this.props.store && _this.props.data === _this.props.store.data) {
62
- store.initData(object.createObject(_this.props.store.data, tslib.__assign({}, _this.formatData(dataMapping.dataMapping(_this.props.defaultData, _this.props.data)))));
72
+ if (_this.props.store && _this.props.data === _this.props.scope) {
73
+ store.initData(object.createObject(_this.props.store.data, tslib.__assign({}, _this.formatData(dataMapping.dataMapping(_this.props.defaultData, _this.props.data, ignoreSchemaProps)))));
63
74
  }
64
75
  else {
65
- store.initData(object.createObject(_this.props.data.__super || _this.props.scope, tslib.__assign(tslib.__assign({}, _this.formatData(dataMapping.dataMapping(_this.props.defaultData, _this.props.data))), _this.formatData(_this.props.data))));
76
+ store.initData(object.createObject(_this.props.data.__super || _this.props.scope, tslib.__assign(tslib.__assign({}, _this.formatData(dataMapping.dataMapping(_this.props.defaultData, _this.props.data, ignoreSchemaProps))), _this.formatData(_this.props.data))));
66
77
  }
67
78
  }
68
79
  else {
69
- store.initData(tslib.__assign(tslib.__assign({}, _this.formatData(dataMapping.dataMapping(_this.props.defaultData, _this.props.data))), _this.formatData(_this.props.data)));
80
+ store.initData(tslib.__assign(tslib.__assign({}, _this.formatData(dataMapping.dataMapping(_this.props.defaultData, _this.props.data, ignoreSchemaProps))), _this.formatData(_this.props.data)));
70
81
  }
71
82
  _this.state = {};
72
83
  var detectField = props.detectField, rest = tslib.__rest(props, ["detectField"]);
@@ -96,7 +107,7 @@ function HocStoreFactory(renderer) {
96
107
  };
97
108
  StoreFactory.prototype.componentDidUpdate = function (prevProps) {
98
109
  var _this = this;
99
- var _a, _b, _c, _d;
110
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
100
111
  var props = this.props;
101
112
  var store = this.store;
102
113
  // dialog 场景下 schema 是显示的时候更新的,
@@ -130,7 +141,7 @@ function HocStoreFactory(renderer) {
130
141
  (props.data &&
131
142
  prevProps.data &&
132
143
  props.data.__super !== prevProps.data.__super))) {
133
- store.initData(object.extendObject(props.data, tslib.__assign(tslib.__assign(tslib.__assign({}, (store.hasRemoteData ? store.data : null)), this.formatData(props.defaultData)), this.formatData(props.data))), props.updatePristineAfterStoreDataReInit === false);
144
+ store.initData(object.extendObject(props.data, tslib.__assign(tslib.__assign(tslib.__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
145
  }
135
146
  }
136
147
  else if (shouldSync === true ||
@@ -140,9 +151,9 @@ function HocStoreFactory(renderer) {
140
151
  : helper.isObjectShallowModified(prevProps.data, props.data) ||
141
152
  (props.syncSuperStore !== false &&
142
153
  helper.isSuperDataModified(props.data, prevProps.data, store)))) {
143
- if (props.store && props.store.data === props.data) {
154
+ if (props.store && props.scope === props.data) {
144
155
  store.initData(object.createObject(props.store.data, props.syncSuperStore === false
145
- ? tslib.__assign({}, store.data) : helper.syncDataFromSuper(store.data, props.store.data, prevProps.scope, store, props.syncSuperStore === true)), props.updatePristineAfterStoreDataReInit === false);
156
+ ? tslib.__assign({}, store.data) : helper.syncDataFromSuper(store.data, props.store.data, prevProps.scope, store, props.syncSuperStore === true)), ((_d = props.updatePristineAfterStoreDataReInit) !== null && _d !== void 0 ? _d : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
146
157
  }
147
158
  else if (props.data && props.data.__super) {
148
159
  store.initData(object.extendObject(props.data,
@@ -151,24 +162,24 @@ function HocStoreFactory(renderer) {
151
162
  store.hasRemoteData || !store.path.includes('/')
152
163
  ? tslib.__assign(tslib.__assign({}, store.data), props.data) : // combo 不需要同步,如果要同步,在 Combo.tsx 里面已经实现了相关逻辑
153
164
  // 目前主要的问题是,如果 combo 中表单项名字和 combo 本身的名字一样,会导致里面的值会被覆盖成数组
154
- ((_c = props.store) === null || _c === void 0 ? void 0 : _c.storeType) === 'ComboStore'
165
+ ((_e = props.store) === null || _e === void 0 ? void 0 : _e.storeType) === 'ComboStore'
155
166
  ? undefined
156
- : helper.syncDataFromSuper(tslib.__assign(tslib.__assign({}, store.data), props.data), props.data.__super, prevProps.data.__super, store, false)), props.updatePristineAfterStoreDataReInit === false);
167
+ : helper.syncDataFromSuper(tslib.__assign(tslib.__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);
157
168
  }
158
169
  else {
159
- store.initData(object.createObject(props.scope, props.data), props.updatePristineAfterStoreDataReInit === false);
170
+ store.initData(object.createObject(props.scope, props.data), ((_g = props.updatePristineAfterStoreDataReInit) !== null && _g !== void 0 ? _g : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
160
171
  }
161
172
  }
162
173
  else if (!props.trackExpression &&
163
- (!props.store || props.data !== props.store.data) &&
174
+ (!props.store || props.data !== props.scope) &&
164
175
  props.data &&
165
176
  props.data.__super) {
166
177
  // 这个用法很少,当 data.__super 值发生变化时,更新 store.data
167
178
  if (!prevProps.data ||
168
179
  helper.isObjectShallowModified(props.data.__super, prevProps.data.__super, false)) {
169
- store.initData(object.createObject(props.data.__super, tslib.__assign(tslib.__assign({}, props.data), store.data)), props.updatePristineAfterStoreDataReInit === false ||
180
+ store.initData(object.createObject(props.data.__super, tslib.__assign(tslib.__assign({}, props.data), store.data)), ((_h = props.updatePristineAfterStoreDataReInit) !== null && _h !== void 0 ? _h : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false ||
170
181
  (store.storeType === 'FormStore' &&
171
- ((_d = prevProps.store) === null || _d === void 0 ? void 0 : _d.storeType) === 'CRUDStore'));
182
+ ((_j = prevProps.store) === null || _j === void 0 ? void 0 : _j.storeType) === 'CRUDStore'));
172
183
  }
173
184
  // nextProps.data.__super !== props.data.__super) &&
174
185
  }
@@ -178,7 +189,7 @@ function HocStoreFactory(renderer) {
178
189
  prevProps.data !== props.data) {
179
190
  // 只有父级数据变动的时候才应该进来,
180
191
  // 目前看来这个 case 很少有情况下能进来
181
- store.initData(object.createObject(props.scope, tslib.__assign({}, store.data)), props.updatePristineAfterStoreDataReInit === false);
192
+ store.initData(object.createObject(props.scope, tslib.__assign({}, store.data)), ((_k = props.updatePristineAfterStoreDataReInit) !== null && _k !== void 0 ? _k : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
182
193
  }
183
194
  };
184
195
  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
 
@@ -263,7 +263,9 @@ var runAction = function (actionInstrance, actionConfig, renderer, event) { retu
263
263
  'table': ['condition'],
264
264
  'table2': ['condition'],
265
265
  'crud': ['condition'],
266
- 'combo': ['condition']
266
+ 'combo': ['condition'],
267
+ 'list': ['condition'],
268
+ 'cards': ['condition']
267
269
  };
268
270
  var curCmptType = (_a = targetComponent === null || targetComponent === void 0 ? void 0 : targetComponent.props) === null || _a === void 0 ? void 0 : _a.type;
269
271
  var curActionType = action.actionType;
@@ -281,7 +283,7 @@ var runAction = function (actionInstrance, actionConfig, renderer, event) { retu
281
283
  (_u = console.group) === null || _u === void 0 ? void 0 : _u.call(console, "run action ".concat(action.actionType));
282
284
  console.debug("[".concat(action.actionType, "] action args, data"), args, data);
283
285
  stopped = false;
284
- return [4 /*yield*/, actionInstrance.run(tslib.__assign(tslib.__assign(tslib.__assign({}, action), { args: args, data: action.actionType === 'reload' ? actionData : data }), key), renderer, event, mergeData)];
286
+ return [4 /*yield*/, actionInstrance.run(tslib.__assign(tslib.__assign(tslib.__assign({}, action), { args: args, rawData: actionConfig.data, data: action.actionType === 'reload' ? actionData : data }), key), renderer, event, mergeData)];
285
287
  case 5:
286
288
  actionResult = _w.sent();
287
289
  // 二次确认弹窗如果取消,则终止后续动作
@@ -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
 
@@ -11,6 +11,7 @@ var tslib = require('tslib');
11
11
  var api = require('../utils/api.js');
12
12
  var errors = require('../utils/errors.js');
13
13
  var helper = require('../utils/helper.js');
14
+ var tpl = require('../utils/tpl.js');
14
15
  var Action = require('./Action.js');
15
16
  var object = require('../utils/object.js');
16
17
 
@@ -27,12 +28,12 @@ var AjaxAction = /** @class */ (function () {
27
28
  this.fetcherType = fetcherType;
28
29
  }
29
30
  AjaxAction.prototype.run = function (action, renderer, event) {
30
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
31
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
31
32
  return tslib.__awaiter(this, void 0, void 0, function () {
32
- var env, silent, messages, api$1, result, responseData, msg, e_1, result;
33
- var _o;
34
- return tslib.__generator(this, function (_p) {
35
- switch (_p.label) {
33
+ var env, silent, messages, api$1, sendOn, result, responseData, msg, e_1, result;
34
+ var _p;
35
+ return tslib.__generator(this, function (_q) {
36
+ switch (_q.label) {
36
37
  case 0:
37
38
  if (!((_a = event.context.env) === null || _a === void 0 ? void 0 : _a.fetcher)) {
38
39
  throw new Error('env.fetcher is required!');
@@ -49,27 +50,36 @@ var AjaxAction = /** @class */ (function () {
49
50
  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;
50
51
  messages = (_c = action === null || action === void 0 ? void 0 : action.api) === null || _c === void 0 ? void 0 : _c.messages;
51
52
  api$1 = api.normalizeApi(action.api);
53
+ if (!(api$1.sendOn !== undefined)) return [3 /*break*/, 2];
54
+ return [4 /*yield*/, tpl.evalExpressionWithConditionBuilder(api$1.sendOn, (_d = action.data) !== null && _d !== void 0 ? _d : {}, false)];
55
+ case 1:
56
+ sendOn = _q.sent();
57
+ if (!sendOn) {
58
+ return [2 /*return*/];
59
+ }
60
+ _q.label = 2;
61
+ case 2:
52
62
  // 如果没配置data数据映射,则给一个空对象,避免将当前数据域作为接口请求参数
53
63
  if ((api$1 === null || api$1 === void 0 ? void 0 : api$1.data) == undefined) {
54
64
  api$1 = tslib.__assign(tslib.__assign({}, api$1), { data: {} });
55
65
  }
56
- _p.label = 1;
57
- case 1:
58
- _p.trys.push([1, 3, , 4]);
59
- return [4 /*yield*/, env.fetcher(api$1, (_d = action.data) !== null && _d !== void 0 ? _d : {}, (_e = action === null || action === void 0 ? void 0 : action.options) !== null && _e !== void 0 ? _e : {})];
60
- case 2:
61
- result = _p.sent();
66
+ _q.label = 3;
67
+ case 3:
68
+ _q.trys.push([3, 5, , 6]);
69
+ return [4 /*yield*/, env.fetcher(api$1, (_e = action.data) !== null && _e !== void 0 ? _e : {}, (_f = action === null || action === void 0 ? void 0 : action.options) !== null && _f !== void 0 ? _f : {})];
70
+ case 4:
71
+ result = _q.sent();
62
72
  responseData = !helper.isEmpty(result.data) || result.ok
63
73
  ? api.normalizeApiResponseData(result.data)
64
74
  : null;
65
75
  // 记录请求返回的数据
66
- event.setData(object.createObject(event.data, tslib.__assign(tslib.__assign({}, responseData), (_o = { responseData: responseData }, _o[action.outputVar || 'responseResult'] = tslib.__assign(tslib.__assign({}, responseData), { responseData: responseData, responseStatus: result.status, responseMsg: result.msg }), _o))));
76
+ event.setData(object.createObject(event.data, tslib.__assign(tslib.__assign({}, responseData), (_p = { responseData: responseData }, _p[action.outputVar || 'responseResult'] = tslib.__assign(tslib.__assign({}, responseData), { responseData: responseData, responseStatus: result.status, responseMsg: result.msg }), _p))));
67
77
  if (!silent) {
68
78
  if (!result.ok) {
69
- throw new errors.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);
79
+ throw new errors.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);
70
80
  }
71
81
  else {
72
- 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;
82
+ 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;
73
83
  msg &&
74
84
  env.notify('success', msg, result.msgTimeout !== undefined
75
85
  ? {
@@ -80,8 +90,8 @@ var AjaxAction = /** @class */ (function () {
80
90
  }
81
91
  }
82
92
  return [2 /*return*/, result.data];
83
- case 3:
84
- e_1 = _p.sent();
93
+ case 5:
94
+ e_1 = _q.sent();
85
95
  if (!silent) {
86
96
  if (e_1.type === 'ServerError') {
87
97
  result = e_1.response;
@@ -96,8 +106,8 @@ var AjaxAction = /** @class */ (function () {
96
106
  env.notify('error', e_1.message);
97
107
  }
98
108
  }
99
- return [3 /*break*/, 4];
100
- case 4: return [2 /*return*/];
109
+ return [3 /*break*/, 6];
110
+ case 6: return [2 /*return*/];
101
111
  }
102
112
  });
103
113
  });
@@ -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