amis-core 6.3.0 → 6.4.1

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 (301) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.js +1 -1
  3. package/esm/SchemaRenderer.js +3 -2
  4. package/esm/Scoped.d.ts +1 -0
  5. package/esm/Scoped.js +28 -14
  6. package/esm/StatusScoped.js +1 -1
  7. package/esm/WithRootStore.js +1 -1
  8. package/esm/WithStore.js +1 -1
  9. package/esm/actions/Action.js +4 -2
  10. package/esm/actions/AjaxAction.js +29 -19
  11. package/esm/actions/BreakAction.js +1 -1
  12. package/esm/actions/BroadcastAction.js +1 -1
  13. package/esm/actions/CmptAction.js +2 -2
  14. package/esm/actions/ContinueAction.js +1 -1
  15. package/esm/actions/CopyAction.js +1 -1
  16. package/esm/actions/CustomAction.js +1 -1
  17. package/esm/actions/DialogAction.js +30 -14
  18. package/esm/actions/DrawerAction.js +15 -7
  19. package/esm/actions/EmailAction.js +1 -1
  20. package/esm/actions/EventAction.js +1 -1
  21. package/esm/actions/LinkAction.js +1 -1
  22. package/esm/actions/LoopAction.js +1 -1
  23. package/esm/actions/PageAction.js +1 -1
  24. package/esm/actions/ParallelAction.js +1 -1
  25. package/esm/actions/PrintAction.d.ts +2 -2
  26. package/esm/actions/PrintAction.js +6 -6
  27. package/esm/actions/StatusAction.js +1 -1
  28. package/esm/actions/SwitchAction.js +1 -1
  29. package/esm/actions/ToastAction.js +1 -1
  30. package/esm/actions/WaitAction.js +1 -1
  31. package/esm/components/CustomStyle.js +1 -4
  32. package/esm/components/ErrorBoundary.js +1 -1
  33. package/esm/components/LazyComponent.js +1 -1
  34. package/esm/components/Overlay.js +1 -1
  35. package/esm/components/PopOver.js +1 -1
  36. package/esm/env.js +1 -1
  37. package/esm/envOverwrite.js +1 -1
  38. package/esm/factory.d.ts +1 -0
  39. package/esm/factory.js +1 -1
  40. package/esm/index.js +2 -2
  41. package/esm/locale.js +1 -1
  42. package/esm/node_modules/@babel/runtime/helpers/esm/classCallCheck.js +12 -0
  43. package/esm/node_modules/@babel/runtime/helpers/esm/createClass.js +26 -0
  44. package/esm/node_modules/@babel/runtime/helpers/esm/defineProperty.js +23 -0
  45. package/esm/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +19 -0
  46. package/esm/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +14 -0
  47. package/esm/node_modules/@babel/runtime/helpers/esm/typeof.js +16 -0
  48. package/esm/node_modules/@rc-component/mini-decimal/es/BigIntDecimal.js +184 -0
  49. package/esm/node_modules/@rc-component/mini-decimal/es/MiniDecimal.js +56 -0
  50. package/esm/node_modules/@rc-component/mini-decimal/es/NumberDecimal.js +119 -0
  51. package/esm/node_modules/@rc-component/mini-decimal/es/numberUtil.js +105 -0
  52. package/esm/node_modules/@rc-component/mini-decimal/es/supportUtil.js +10 -0
  53. package/esm/polyfills.js +1 -1
  54. package/esm/renderers/Form.d.ts +3 -2
  55. package/esm/renderers/Form.js +55 -44
  56. package/esm/renderers/Item.js +1 -1
  57. package/esm/renderers/Options.js +1 -1
  58. package/esm/renderers/Placeholder.js +1 -1
  59. package/esm/renderers/builtin.js +1 -1
  60. package/esm/renderers/register.js +1 -1
  61. package/esm/renderers/wrapControl.js +31 -27
  62. package/esm/store/app.js +1 -1
  63. package/esm/store/combo.js +1 -1
  64. package/esm/store/crud.js +12 -6
  65. package/esm/store/form.js +1 -1
  66. package/esm/store/formItem.js +1 -1
  67. package/esm/store/iRenderer.js +6 -3
  68. package/esm/store/index.js +1 -1
  69. package/esm/store/list.d.ts +13 -0
  70. package/esm/store/list.js +14 -1
  71. package/esm/store/manager.js +1 -1
  72. package/esm/store/modal.js +1 -1
  73. package/esm/store/node.js +1 -1
  74. package/esm/store/pagination.js +1 -1
  75. package/esm/store/root.js +1 -1
  76. package/esm/store/service.js +1 -1
  77. package/esm/store/status.js +1 -1
  78. package/esm/store/table.d.ts +1 -0
  79. package/esm/store/table.js +5 -1
  80. package/esm/store/table2.js +1 -1
  81. package/esm/theme.js +1 -1
  82. package/esm/types.d.ts +1 -1
  83. package/esm/utils/Animation.js +1 -1
  84. package/esm/utils/ColorScale.js +1 -1
  85. package/esm/utils/DataSchema.js +1 -1
  86. package/esm/utils/DataScope.js +1 -1
  87. package/esm/utils/RootClose.js +1 -1
  88. package/esm/utils/SimpleMap.js +1 -1
  89. package/esm/utils/api.js +1 -1
  90. package/esm/utils/arraySlice.js +1 -1
  91. package/esm/utils/attachmentAdpator.js +1 -1
  92. package/esm/utils/autobind.js +1 -1
  93. package/esm/utils/browser.js +1 -1
  94. package/esm/utils/columnsSplit.js +1 -1
  95. package/esm/utils/concatData.js +1 -1
  96. package/esm/utils/dataMapping.js +1 -1
  97. package/esm/utils/date.js +1 -1
  98. package/esm/utils/debug.js +1 -1
  99. package/esm/utils/decodeEntity.js +1 -1
  100. package/esm/utils/dom.js +3 -3
  101. package/esm/utils/errors.js +1 -1
  102. package/esm/utils/escapeHtml.js +1 -1
  103. package/esm/utils/filter-schema.js +1 -1
  104. package/esm/utils/filter.js +1 -1
  105. package/esm/utils/formatDuration.js +1 -1
  106. package/esm/utils/formula.js +1 -1
  107. package/esm/utils/getVariable.js +1 -1
  108. package/esm/utils/grammar.js +1 -1
  109. package/esm/utils/handleAction.js +1 -1
  110. package/esm/utils/helper.js +3 -3
  111. package/esm/utils/highlight.js +1 -1
  112. package/esm/utils/icon.js +1 -1
  113. package/esm/utils/image.js +1 -1
  114. package/esm/utils/isPureVariable.js +1 -1
  115. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  116. package/esm/utils/keyToPath.js +1 -1
  117. package/esm/utils/labelToString.js +1 -1
  118. package/esm/utils/makeSorter.js +1 -1
  119. package/esm/utils/math.js +1 -1
  120. package/esm/utils/memoryParse.js +1 -1
  121. package/esm/utils/normalizeLink.js +1 -1
  122. package/esm/utils/normalizeOptions.js +1 -1
  123. package/esm/utils/object.js +1 -1
  124. package/esm/utils/offset.js +1 -1
  125. package/esm/utils/offsetParent.js +1 -1
  126. package/esm/utils/optionValueCompare.js +1 -1
  127. package/esm/utils/position.js +1 -1
  128. package/esm/utils/prettyBytes.js +1 -1
  129. package/esm/utils/printElement.js +1 -1
  130. package/esm/utils/renderer-event.d.ts +2 -0
  131. package/esm/utils/renderer-event.js +13 -1
  132. package/esm/utils/replaceText.js +1 -1
  133. package/esm/utils/resize-sensor.js +1 -1
  134. package/esm/utils/resolveCondition.js +1 -1
  135. package/esm/utils/resolveVariable.js +1 -1
  136. package/esm/utils/resolveVariableAndFilter.js +1 -1
  137. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  138. package/esm/utils/scrollPosition.js +1 -1
  139. package/esm/utils/string2regExp.js +1 -1
  140. package/esm/utils/stripNumber.js +5 -2
  141. package/esm/utils/style-helper.js +1 -1
  142. package/esm/utils/style.js +1 -1
  143. package/esm/utils/toNumber.js +1 -1
  144. package/esm/utils/tokenize.js +1 -1
  145. package/esm/utils/tpl-builtin.js +1 -1
  146. package/esm/utils/tpl-lodash.js +1 -1
  147. package/esm/utils/tpl.js +4 -4
  148. package/esm/utils/uncontrollable.js +1 -1
  149. package/esm/utils/validateId.js +1 -1
  150. package/esm/utils/validations.js +1 -1
  151. package/lib/Root.js +1 -1
  152. package/lib/RootRenderer.js +1 -1
  153. package/lib/SchemaRenderer.js +3 -2
  154. package/lib/Scoped.d.ts +1 -0
  155. package/lib/Scoped.js +28 -14
  156. package/lib/StatusScoped.js +1 -1
  157. package/lib/WithRootStore.js +1 -1
  158. package/lib/WithStore.js +1 -1
  159. package/lib/actions/Action.js +4 -2
  160. package/lib/actions/AjaxAction.js +29 -19
  161. package/lib/actions/BreakAction.js +1 -1
  162. package/lib/actions/BroadcastAction.js +1 -1
  163. package/lib/actions/CmptAction.js +2 -2
  164. package/lib/actions/ContinueAction.js +1 -1
  165. package/lib/actions/CopyAction.js +1 -1
  166. package/lib/actions/CustomAction.js +1 -1
  167. package/lib/actions/DialogAction.js +30 -14
  168. package/lib/actions/DrawerAction.js +15 -7
  169. package/lib/actions/EmailAction.js +1 -1
  170. package/lib/actions/EventAction.js +1 -1
  171. package/lib/actions/LinkAction.js +1 -1
  172. package/lib/actions/LoopAction.js +1 -1
  173. package/lib/actions/PageAction.js +1 -1
  174. package/lib/actions/ParallelAction.js +1 -1
  175. package/lib/actions/PrintAction.d.ts +2 -2
  176. package/lib/actions/PrintAction.js +6 -6
  177. package/lib/actions/StatusAction.js +1 -1
  178. package/lib/actions/SwitchAction.js +1 -1
  179. package/lib/actions/ToastAction.js +1 -1
  180. package/lib/actions/WaitAction.js +1 -1
  181. package/lib/components/CustomStyle.js +1 -4
  182. package/lib/components/ErrorBoundary.js +1 -1
  183. package/lib/components/LazyComponent.js +1 -1
  184. package/lib/components/Overlay.js +1 -1
  185. package/lib/components/PopOver.js +1 -1
  186. package/lib/env.js +1 -1
  187. package/lib/envOverwrite.js +1 -1
  188. package/lib/factory.d.ts +1 -0
  189. package/lib/factory.js +1 -1
  190. package/lib/index.js +2 -2
  191. package/lib/locale.js +1 -1
  192. package/lib/node_modules/@babel/runtime/helpers/esm/classCallCheck.js +16 -0
  193. package/lib/node_modules/@babel/runtime/helpers/esm/createClass.js +30 -0
  194. package/lib/node_modules/@babel/runtime/helpers/esm/defineProperty.js +27 -0
  195. package/lib/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +23 -0
  196. package/lib/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +18 -0
  197. package/lib/node_modules/@babel/runtime/helpers/esm/typeof.js +20 -0
  198. package/lib/node_modules/@rc-component/mini-decimal/es/BigIntDecimal.js +188 -0
  199. package/lib/node_modules/@rc-component/mini-decimal/es/MiniDecimal.js +61 -0
  200. package/lib/node_modules/@rc-component/mini-decimal/es/NumberDecimal.js +123 -0
  201. package/lib/node_modules/@rc-component/mini-decimal/es/numberUtil.js +114 -0
  202. package/lib/node_modules/@rc-component/mini-decimal/es/supportUtil.js +14 -0
  203. package/lib/polyfills.js +1 -1
  204. package/lib/renderers/Form.d.ts +3 -2
  205. package/lib/renderers/Form.js +55 -44
  206. package/lib/renderers/Item.js +1 -1
  207. package/lib/renderers/Options.js +1 -1
  208. package/lib/renderers/Placeholder.js +1 -1
  209. package/lib/renderers/builtin.js +1 -1
  210. package/lib/renderers/register.js +1 -1
  211. package/lib/renderers/wrapControl.js +31 -27
  212. package/lib/store/app.js +1 -1
  213. package/lib/store/combo.js +1 -1
  214. package/lib/store/crud.js +12 -6
  215. package/lib/store/form.js +1 -1
  216. package/lib/store/formItem.js +1 -1
  217. package/lib/store/iRenderer.js +5 -2
  218. package/lib/store/index.js +1 -1
  219. package/lib/store/list.d.ts +13 -0
  220. package/lib/store/list.js +14 -1
  221. package/lib/store/manager.js +1 -1
  222. package/lib/store/modal.js +1 -1
  223. package/lib/store/node.js +1 -1
  224. package/lib/store/pagination.js +1 -1
  225. package/lib/store/root.js +1 -1
  226. package/lib/store/service.js +1 -1
  227. package/lib/store/status.js +1 -1
  228. package/lib/store/table.d.ts +1 -0
  229. package/lib/store/table.js +5 -1
  230. package/lib/store/table2.js +1 -1
  231. package/lib/theme.js +1 -1
  232. package/lib/types.d.ts +1 -1
  233. package/lib/utils/Animation.js +1 -1
  234. package/lib/utils/ColorScale.js +1 -1
  235. package/lib/utils/DataSchema.js +1 -1
  236. package/lib/utils/DataScope.js +1 -1
  237. package/lib/utils/RootClose.js +1 -1
  238. package/lib/utils/SimpleMap.js +1 -1
  239. package/lib/utils/api.js +1 -1
  240. package/lib/utils/arraySlice.js +1 -1
  241. package/lib/utils/attachmentAdpator.js +1 -1
  242. package/lib/utils/autobind.js +1 -1
  243. package/lib/utils/browser.js +1 -1
  244. package/lib/utils/columnsSplit.js +1 -1
  245. package/lib/utils/concatData.js +1 -1
  246. package/lib/utils/dataMapping.js +1 -1
  247. package/lib/utils/date.js +1 -1
  248. package/lib/utils/debug.js +1 -1
  249. package/lib/utils/decodeEntity.js +1 -1
  250. package/lib/utils/dom.js +3 -3
  251. package/lib/utils/errors.js +1 -1
  252. package/lib/utils/escapeHtml.js +1 -1
  253. package/lib/utils/filter-schema.js +1 -1
  254. package/lib/utils/filter.js +1 -1
  255. package/lib/utils/formatDuration.js +1 -1
  256. package/lib/utils/formula.js +1 -1
  257. package/lib/utils/getVariable.js +1 -1
  258. package/lib/utils/grammar.js +1 -1
  259. package/lib/utils/handleAction.js +1 -1
  260. package/lib/utils/helper.js +3 -4
  261. package/lib/utils/highlight.js +1 -1
  262. package/lib/utils/icon.js +1 -1
  263. package/lib/utils/image.js +1 -1
  264. package/lib/utils/isPureVariable.js +1 -1
  265. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  266. package/lib/utils/keyToPath.js +1 -1
  267. package/lib/utils/labelToString.js +1 -1
  268. package/lib/utils/makeSorter.js +1 -1
  269. package/lib/utils/math.js +1 -1
  270. package/lib/utils/memoryParse.js +1 -1
  271. package/lib/utils/normalizeLink.js +1 -1
  272. package/lib/utils/normalizeOptions.js +1 -1
  273. package/lib/utils/object.js +1 -1
  274. package/lib/utils/offset.js +1 -1
  275. package/lib/utils/offsetParent.js +1 -1
  276. package/lib/utils/optionValueCompare.js +1 -1
  277. package/lib/utils/position.js +1 -1
  278. package/lib/utils/prettyBytes.js +1 -1
  279. package/lib/utils/printElement.js +1 -1
  280. package/lib/utils/renderer-event.d.ts +2 -0
  281. package/lib/utils/renderer-event.js +13 -1
  282. package/lib/utils/replaceText.js +1 -1
  283. package/lib/utils/resize-sensor.js +1 -1
  284. package/lib/utils/resolveCondition.js +1 -1
  285. package/lib/utils/resolveVariable.js +1 -1
  286. package/lib/utils/resolveVariableAndFilter.js +1 -1
  287. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  288. package/lib/utils/scrollPosition.js +1 -1
  289. package/lib/utils/string2regExp.js +1 -1
  290. package/lib/utils/stripNumber.js +5 -2
  291. package/lib/utils/style-helper.js +1 -1
  292. package/lib/utils/style.js +1 -1
  293. package/lib/utils/toNumber.js +1 -1
  294. package/lib/utils/tokenize.js +1 -1
  295. package/lib/utils/tpl-builtin.js +1 -1
  296. package/lib/utils/tpl-lodash.js +1 -1
  297. package/lib/utils/tpl.js +4 -4
  298. package/lib/utils/uncontrollable.js +1 -1
  299. package/lib/utils/validateId.js +1 -1
  300. package/lib/utils/validations.js +1 -1
  301. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,13 +1,16 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
+ import { toFixed } from '../node_modules/@rc-component/mini-decimal/es/MiniDecimal.js';
7
+
6
8
  // 主要用于解决 0.1+0.2 结果的精度问题导致太长
7
9
  function stripNumber(number, precision) {
8
10
  if (precision === void 0) { precision = 16; }
9
11
  if (typeof number === 'number' && !Number.isInteger(number)) {
10
- return parseFloat(number.toPrecision(precision));
12
+ // return parseFloat(number.toPrecision(precision));
13
+ return parseFloat(toFixed(number.toString(), '.', precision));
11
14
  }
12
15
  else {
13
16
  return number;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
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.3.0
2
+ * amis-core v6.4.1
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.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
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.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -29,6 +29,7 @@ require('lodash/isPlainObject');
29
29
  var resolveVariableAndFilter = require('./utils/resolveVariableAndFilter.js');
30
30
  require('./utils/filter.js');
31
31
  var style = require('./utils/style.js');
32
+ var formula = require('./utils/formula.js');
32
33
  var tpl = require('./utils/tpl.js');
33
34
 
34
35
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -344,7 +345,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
344
345
  try {
345
346
  for (var _k = tslib.__values(Object.keys(schema)), _l = _k.next(); !_l.done; _l = _k.next()) {
346
347
  var key = _l.value;
347
- if (typeof props[key] === 'string') {
348
+ if (typeof props[key] === 'string' && formula.isExpression(props[key])) {
348
349
  props[key] = resolveVariableAndFilter.resolveVariableAndFilter(props[key], props.data, '| raw');
349
350
  }
350
351
  }
package/lib/Scoped.d.ts CHANGED
@@ -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.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -185,24 +185,38 @@ function createScopedTools(path, parent, env, rendererType) {
185
185
  });
186
186
  return resolved || (parent && parent.getComponentByName(name));
187
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
+ },
188
202
  getComponentById: function (id) {
189
203
  var root = this;
204
+ var ignoreScope = undefined;
190
205
  // 找到顶端scoped
191
- 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;
192
217
  root = root.parent;
193
218
  }
194
- // 向下查找
195
- var component = undefined;
196
- helper.findTree([root], function (item) {
197
- return item.getComponents().find(function (cmpt) {
198
- if (tpl.filter(cmpt.props.id, cmpt.props.data) === id) {
199
- component = cmpt;
200
- return true;
201
- }
202
- return false;
203
- });
204
- });
205
- return component;
219
+ return undefined;
206
220
  },
207
221
  /**
208
222
  * 基于绑定的变量名称查找组件
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
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.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
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;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
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.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -50,7 +50,7 @@ var CmptAction = /** @class */ (function () {
50
50
  : renderer;
51
51
  // 如果key指定了,但是没找到组件,则报错
52
52
  if (key && !component) {
53
- msg = '尝试执行一个不存在的目标组件动作,请检查目标组件非隐藏状态,且正确指定了componentId或componentName';
53
+ 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");
54
54
  if (action.ignoreError === false) {
55
55
  throw Error(msg);
56
56
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -73,12 +73,20 @@ var DialogAction = /** @class */ (function () {
73
73
  if (action.$$id !== undefined) {
74
74
  return [2 /*return*/];
75
75
  }
76
- ret = (_b = (_a = renderer.props).onAction) === null || _b === void 0 ? void 0 : _b.call(_a, event, {
77
- actionType: 'dialog',
78
- dialog: action.dialog,
79
- reload: 'none',
80
- data: action.rawData
81
- }, action.data);
76
+ ret = renderer.handleAction
77
+ ? renderer.handleAction(event, {
78
+ actionType: 'dialog',
79
+ dialog: action.dialog,
80
+ reload: 'none',
81
+ data: action.rawData
82
+ }, action.data)
83
+ : (_b = (_a = renderer.props).onAction) === null || _b === void 0 ? void 0 : _b.call(_a, event, {
84
+ actionType: 'dialog',
85
+ dialog: action.dialog,
86
+ reload: 'none',
87
+ data: action.rawData
88
+ }, action.data);
89
+ event.pendingPromise.push(ret);
82
90
  if (!action.waitForAction) return [3 /*break*/, 2];
83
91
  return [4 /*yield*/, ret];
84
92
  case 1:
@@ -180,13 +188,21 @@ var ConfirmAction = /** @class */ (function () {
180
188
  return [2 /*return*/, confirmed_1];
181
189
  case 2: return [4 /*yield*/, new Promise(function (resolve, reject) {
182
190
  var _a, _b;
183
- (_b = (_a = renderer.props).onAction) === null || _b === void 0 ? void 0 : _b.call(_a, event, {
184
- actionType: 'dialog',
185
- dialog: modal,
186
- data: action.rawData,
187
- reload: 'none',
188
- callback: function (result) { return resolve(result); }
189
- }, action.data);
191
+ renderer.handleAction
192
+ ? renderer.handleAction(event, {
193
+ actionType: 'dialog',
194
+ dialog: modal,
195
+ data: action.rawData,
196
+ reload: 'none',
197
+ callback: function (result) { return resolve(result); }
198
+ }, action.data)
199
+ : (_b = (_a = renderer.props).onAction) === null || _b === void 0 ? void 0 : _b.call(_a, event, {
200
+ actionType: 'dialog',
201
+ dialog: modal,
202
+ data: action.rawData,
203
+ reload: 'none',
204
+ callback: function (result) { return resolve(result); }
205
+ }, action.data);
190
206
  })];
191
207
  case 3:
192
208
  confirmed = _v.sent();
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -73,12 +73,20 @@ var DrawerAction = /** @class */ (function () {
73
73
  if (action.$$id !== undefined) {
74
74
  return [2 /*return*/];
75
75
  }
76
- ret = (_b = (_a = renderer.props).onAction) === null || _b === void 0 ? void 0 : _b.call(_a, event, {
77
- actionType: 'drawer',
78
- drawer: action.drawer,
79
- reload: 'none',
80
- data: action.rawData
81
- }, action.data);
76
+ ret = renderer.handleAction
77
+ ? renderer.handleAction(event, {
78
+ actionType: 'drawer',
79
+ drawer: action.drawer,
80
+ reload: 'none',
81
+ data: action.rawData
82
+ }, action.data)
83
+ : (_b = (_a = renderer.props).onAction) === null || _b === void 0 ? void 0 : _b.call(_a, event, {
84
+ actionType: 'drawer',
85
+ drawer: action.drawer,
86
+ reload: 'none',
87
+ data: action.rawData
88
+ }, action.data);
89
+ event.pendingPromise.push(ret);
82
90
  if (!action.waitForAction) return [3 /*break*/, 2];
83
91
  return [4 /*yield*/, ret];
84
92
  case 1:
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -3,8 +3,8 @@ import { RendererAction, ListenerAction, ListenerContext } from './Action';
3
3
  export interface IPrintAction extends ListenerAction {
4
4
  actionType: 'copy';
5
5
  args: {
6
- testid?: string;
7
- testids?: string[];
6
+ id?: string;
7
+ ids?: string[];
8
8
  };
9
9
  }
10
10
  /**