amis-core 2.3.1 → 2.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 (323) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.js +1 -1
  3. package/esm/SchemaRenderer.js +10 -3
  4. package/esm/Scoped.js +1 -1
  5. package/esm/WithRootStore.js +1 -1
  6. package/esm/WithStore.js +1 -1
  7. package/esm/_virtual/index.js +1 -1
  8. package/esm/actions/Action.d.ts +2 -1
  9. package/esm/actions/Action.js +90 -19
  10. package/esm/actions/AjaxAction.js +2 -3
  11. package/esm/actions/BreakAction.js +1 -1
  12. package/esm/actions/BroadcastAction.d.ts +4 -1
  13. package/esm/actions/BroadcastAction.js +8 -8
  14. package/esm/actions/CmptAction.d.ts +1 -1
  15. package/esm/actions/CmptAction.js +5 -2
  16. package/esm/actions/ContinueAction.js +1 -1
  17. package/esm/actions/CopyAction.js +1 -1
  18. package/esm/actions/CustomAction.d.ts +6 -1
  19. package/esm/actions/CustomAction.js +7 -7
  20. package/esm/actions/DialogAction.d.ts +4 -1
  21. package/esm/actions/DialogAction.js +9 -5
  22. package/esm/actions/DrawerAction.d.ts +4 -1
  23. package/esm/actions/DrawerAction.js +9 -5
  24. package/esm/actions/EmailAction.js +1 -1
  25. package/esm/actions/LinkAction.js +5 -6
  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/SwitchAction.js +1 -1
  30. package/esm/actions/ToastAction.js +1 -1
  31. package/esm/actions/index.d.ts +0 -2
  32. package/esm/components/LazyComponent.js +1 -1
  33. package/esm/components/Overlay.js +3 -2
  34. package/esm/components/PopOver.js +2 -3
  35. package/esm/env.js +1 -1
  36. package/esm/envOverwrite.js +1 -1
  37. package/esm/factory.d.ts +1 -1
  38. package/esm/factory.js +2 -2
  39. package/esm/index.d.ts +20 -9
  40. package/esm/index.js +6 -4
  41. package/esm/locale.js +1 -1
  42. package/esm/node_modules/@restart/hooks/esm/useCommittedRef.js +1 -1
  43. package/esm/node_modules/@restart/hooks/esm/useEventCallback.js +1 -1
  44. package/esm/node_modules/dom-helpers/esm/addEventListener.js +1 -1
  45. package/esm/node_modules/dom-helpers/esm/canUseDOM.js +1 -1
  46. package/esm/node_modules/dom-helpers/esm/contains.js +1 -1
  47. package/esm/node_modules/dom-helpers/esm/listen.js +1 -1
  48. package/esm/node_modules/dom-helpers/esm/ownerDocument.js +1 -1
  49. package/esm/node_modules/dom-helpers/esm/removeEventListener.js +1 -1
  50. package/esm/node_modules/prop-types/factoryWithThrowingShims.js +51 -60
  51. package/esm/node_modules/prop-types/index.js +4 -13
  52. package/esm/node_modules/prop-types/lib/ReactPropTypesSecret.js +4 -13
  53. package/esm/node_modules/react-overlays/esm/Portal.js +1 -1
  54. package/esm/node_modules/react-overlays/esm/ownerDocument.js +1 -1
  55. package/esm/node_modules/react-overlays/esm/safeFindDOMNode.js +1 -1
  56. package/esm/node_modules/react-overlays/esm/useRootClose.js +1 -3
  57. package/esm/node_modules/react-overlays/esm/useWaitForDOMRef.js +1 -1
  58. package/esm/renderers/Form.d.ts +7 -1
  59. package/esm/renderers/Form.js +17 -6
  60. package/esm/renderers/Item.d.ts +6 -6
  61. package/esm/renderers/Item.js +24 -16
  62. package/esm/renderers/Options.d.ts +1 -1
  63. package/esm/renderers/Options.js +28 -7
  64. package/esm/renderers/Placeholder.js +1 -1
  65. package/esm/renderers/builtin.js +1 -1
  66. package/esm/renderers/wrapControl.js +1 -1
  67. package/esm/store/app.js +1 -1
  68. package/esm/store/combo.js +1 -1
  69. package/esm/store/crud.js +1 -1
  70. package/esm/store/form.js +2 -2
  71. package/esm/store/formItem.js +1 -1
  72. package/esm/store/iRenderer.js +1 -1
  73. package/esm/store/index.d.ts +26 -13
  74. package/esm/store/index.js +2 -2
  75. package/esm/store/list.js +1 -1
  76. package/esm/store/manager.js +1 -1
  77. package/esm/store/modal.js +1 -1
  78. package/esm/store/node.js +1 -1
  79. package/esm/store/pagination.js +1 -1
  80. package/esm/store/root.d.ts +2 -0
  81. package/esm/store/root.js +10 -4
  82. package/esm/store/service.js +1 -1
  83. package/esm/store/table.d.ts +6 -6
  84. package/esm/store/table.js +3 -11
  85. package/esm/store/table2.js +1 -1
  86. package/esm/theme.js +1 -1
  87. package/esm/types.d.ts +27 -0
  88. package/esm/utils/Animation.js +1 -1
  89. package/esm/utils/ColorScale.js +1 -1
  90. package/esm/utils/DataSchema.js +1 -1
  91. package/esm/utils/DataScope.js +1 -1
  92. package/esm/utils/RootClose.js +1 -1
  93. package/esm/utils/SimpleMap.js +1 -1
  94. package/esm/utils/api.d.ts +1 -1
  95. package/esm/utils/api.js +17 -5
  96. package/esm/utils/attachmentAdpator.js +1 -1
  97. package/esm/utils/autobind.js +1 -1
  98. package/esm/utils/columnsSplit.js +1 -1
  99. package/esm/utils/dataMapping.js +1 -1
  100. package/esm/utils/date.js +1 -1
  101. package/esm/utils/debug.js +1 -1
  102. package/esm/utils/decodeEntity.d.ts +5 -0
  103. package/esm/utils/decodeEntity.js +16 -0
  104. package/esm/utils/dom.js +1 -1
  105. package/esm/utils/errors.js +1 -1
  106. package/esm/utils/escapeHtml.js +1 -1
  107. package/esm/utils/filter-schema.js +1 -1
  108. package/esm/utils/filter.js +7 -5
  109. package/esm/utils/formatDuration.js +1 -1
  110. package/esm/utils/formula.js +1 -1
  111. package/esm/utils/getVariable.js +1 -1
  112. package/esm/utils/grammar.js +1 -1
  113. package/esm/utils/handleAction.js +1 -1
  114. package/esm/utils/helper.js +6 -1
  115. package/esm/utils/highlight.js +1 -1
  116. package/esm/utils/icon.d.ts +5 -1
  117. package/esm/utils/icon.js +11 -1
  118. package/esm/utils/image.js +1 -1
  119. package/esm/utils/index.d.ts +1 -0
  120. package/esm/utils/isPureVariable.js +1 -1
  121. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  122. package/esm/utils/keyToPath.js +1 -1
  123. package/esm/utils/makeSorter.js +1 -1
  124. package/esm/utils/normalizeLink.js +1 -1
  125. package/esm/utils/normalizeOptions.js +1 -1
  126. package/esm/utils/object.js +1 -1
  127. package/esm/utils/offset.js +1 -1
  128. package/esm/utils/offsetParent.js +1 -1
  129. package/esm/utils/optionValueCompare.js +1 -1
  130. package/esm/utils/position.js +1 -1
  131. package/esm/utils/prettyBytes.js +1 -1
  132. package/esm/utils/renderer-event.d.ts +7 -0
  133. package/esm/utils/renderer-event.js +15 -3
  134. package/esm/utils/replaceText.js +1 -1
  135. package/esm/utils/resize-sensor.js +1 -1
  136. package/esm/utils/resolveVariable.js +1 -1
  137. package/esm/utils/resolveVariableAndFilter.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 +1 -1
  141. package/esm/utils/style.js +1 -1
  142. package/esm/utils/toNumber.js +1 -1
  143. package/esm/utils/tokenize.js +1 -1
  144. package/esm/utils/tpl-builtin.js +1 -1
  145. package/esm/utils/tpl-lodash.js +1 -1
  146. package/esm/utils/tpl.js +1 -1
  147. package/esm/utils/uncontrollable.js +1 -1
  148. package/esm/utils/validations.js +1 -1
  149. package/lib/Root.js +1 -1
  150. package/lib/RootRenderer.js +1 -1
  151. package/lib/SchemaRenderer.js +10 -3
  152. package/lib/Scoped.js +1 -1
  153. package/lib/WithRootStore.js +1 -1
  154. package/lib/WithStore.js +1 -1
  155. package/lib/_virtual/index.js +1 -1
  156. package/lib/actions/Action.d.ts +2 -1
  157. package/lib/actions/Action.js +94 -19
  158. package/lib/actions/AjaxAction.js +2 -7
  159. package/lib/actions/BreakAction.js +1 -1
  160. package/lib/actions/BroadcastAction.d.ts +4 -1
  161. package/lib/actions/BroadcastAction.js +8 -8
  162. package/lib/actions/CmptAction.d.ts +1 -1
  163. package/lib/actions/CmptAction.js +5 -2
  164. package/lib/actions/ContinueAction.js +1 -1
  165. package/lib/actions/CopyAction.js +1 -1
  166. package/lib/actions/CustomAction.d.ts +6 -1
  167. package/lib/actions/CustomAction.js +7 -7
  168. package/lib/actions/DialogAction.d.ts +4 -1
  169. package/lib/actions/DialogAction.js +9 -5
  170. package/lib/actions/DrawerAction.d.ts +4 -1
  171. package/lib/actions/DrawerAction.js +9 -5
  172. package/lib/actions/EmailAction.js +1 -1
  173. package/lib/actions/LinkAction.js +5 -10
  174. package/lib/actions/LoopAction.js +1 -1
  175. package/lib/actions/PageAction.js +1 -1
  176. package/lib/actions/ParallelAction.js +1 -1
  177. package/lib/actions/SwitchAction.js +1 -1
  178. package/lib/actions/ToastAction.js +1 -1
  179. package/lib/actions/index.d.ts +0 -2
  180. package/lib/components/LazyComponent.js +1 -1
  181. package/lib/components/Overlay.js +3 -2
  182. package/lib/components/PopOver.js +2 -3
  183. package/lib/env.js +1 -1
  184. package/lib/envOverwrite.js +1 -1
  185. package/lib/factory.d.ts +1 -1
  186. package/lib/factory.js +2 -2
  187. package/lib/index.d.ts +20 -9
  188. package/lib/index.js +7 -4
  189. package/lib/locale.js +1 -1
  190. package/lib/node_modules/@restart/hooks/esm/useCommittedRef.js +1 -1
  191. package/lib/node_modules/@restart/hooks/esm/useEventCallback.js +1 -1
  192. package/lib/node_modules/dom-helpers/esm/addEventListener.js +1 -1
  193. package/lib/node_modules/dom-helpers/esm/canUseDOM.js +1 -1
  194. package/lib/node_modules/dom-helpers/esm/contains.js +1 -1
  195. package/lib/node_modules/dom-helpers/esm/listen.js +1 -1
  196. package/lib/node_modules/dom-helpers/esm/ownerDocument.js +1 -1
  197. package/lib/node_modules/dom-helpers/esm/removeEventListener.js +1 -1
  198. package/lib/node_modules/prop-types/factoryWithThrowingShims.js +51 -60
  199. package/lib/node_modules/prop-types/index.js +3 -12
  200. package/lib/node_modules/prop-types/lib/ReactPropTypesSecret.js +4 -13
  201. package/lib/node_modules/react-overlays/esm/Portal.js +1 -1
  202. package/lib/node_modules/react-overlays/esm/ownerDocument.js +1 -1
  203. package/lib/node_modules/react-overlays/esm/safeFindDOMNode.js +1 -1
  204. package/lib/node_modules/react-overlays/esm/useRootClose.js +1 -3
  205. package/lib/node_modules/react-overlays/esm/useWaitForDOMRef.js +1 -1
  206. package/lib/renderers/Form.d.ts +7 -1
  207. package/lib/renderers/Form.js +17 -6
  208. package/lib/renderers/Item.d.ts +6 -6
  209. package/lib/renderers/Item.js +24 -16
  210. package/lib/renderers/Options.d.ts +1 -1
  211. package/lib/renderers/Options.js +30 -9
  212. package/lib/renderers/Placeholder.js +1 -1
  213. package/lib/renderers/builtin.js +1 -1
  214. package/lib/renderers/wrapControl.js +1 -1
  215. package/lib/store/app.js +1 -1
  216. package/lib/store/combo.js +1 -1
  217. package/lib/store/crud.js +1 -1
  218. package/lib/store/form.js +2 -2
  219. package/lib/store/formItem.js +1 -1
  220. package/lib/store/iRenderer.js +1 -1
  221. package/lib/store/index.d.ts +26 -13
  222. package/lib/store/index.js +2 -2
  223. package/lib/store/list.js +1 -1
  224. package/lib/store/manager.js +1 -1
  225. package/lib/store/modal.js +1 -1
  226. package/lib/store/node.js +1 -1
  227. package/lib/store/pagination.js +1 -1
  228. package/lib/store/root.d.ts +2 -0
  229. package/lib/store/root.js +9 -3
  230. package/lib/store/service.js +1 -1
  231. package/lib/store/table.d.ts +6 -6
  232. package/lib/store/table.js +3 -11
  233. package/lib/store/table2.js +1 -1
  234. package/lib/theme.js +1 -1
  235. package/lib/types.d.ts +27 -0
  236. package/lib/utils/Animation.js +1 -1
  237. package/lib/utils/ColorScale.js +1 -1
  238. package/lib/utils/DataSchema.js +1 -1
  239. package/lib/utils/DataScope.js +1 -1
  240. package/lib/utils/RootClose.js +1 -1
  241. package/lib/utils/SimpleMap.js +1 -1
  242. package/lib/utils/api.d.ts +1 -1
  243. package/lib/utils/api.js +16 -4
  244. package/lib/utils/attachmentAdpator.js +1 -1
  245. package/lib/utils/autobind.js +1 -1
  246. package/lib/utils/columnsSplit.js +1 -1
  247. package/lib/utils/dataMapping.js +1 -1
  248. package/lib/utils/date.js +1 -1
  249. package/lib/utils/debug.js +1 -1
  250. package/lib/utils/decodeEntity.d.ts +5 -0
  251. package/lib/utils/decodeEntity.js +20 -0
  252. package/lib/utils/dom.js +1 -1
  253. package/lib/utils/errors.js +1 -1
  254. package/lib/utils/escapeHtml.js +1 -1
  255. package/lib/utils/filter-schema.js +1 -1
  256. package/lib/utils/filter.js +7 -5
  257. package/lib/utils/formatDuration.js +1 -1
  258. package/lib/utils/formula.js +1 -1
  259. package/lib/utils/getVariable.js +1 -1
  260. package/lib/utils/grammar.js +1 -1
  261. package/lib/utils/handleAction.js +1 -1
  262. package/lib/utils/helper.js +6 -1
  263. package/lib/utils/highlight.js +1 -1
  264. package/lib/utils/icon.d.ts +5 -1
  265. package/lib/utils/icon.js +11 -1
  266. package/lib/utils/image.js +1 -1
  267. package/lib/utils/index.d.ts +1 -0
  268. package/lib/utils/isPureVariable.js +1 -1
  269. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  270. package/lib/utils/keyToPath.js +1 -1
  271. package/lib/utils/makeSorter.js +1 -1
  272. package/lib/utils/normalizeLink.js +1 -1
  273. package/lib/utils/normalizeOptions.js +1 -1
  274. package/lib/utils/object.js +1 -1
  275. package/lib/utils/offset.js +1 -1
  276. package/lib/utils/offsetParent.js +1 -1
  277. package/lib/utils/optionValueCompare.js +1 -1
  278. package/lib/utils/position.js +1 -1
  279. package/lib/utils/prettyBytes.js +1 -1
  280. package/lib/utils/renderer-event.d.ts +7 -0
  281. package/lib/utils/renderer-event.js +14 -1
  282. package/lib/utils/replaceText.js +1 -1
  283. package/lib/utils/resize-sensor.js +1 -1
  284. package/lib/utils/resolveVariable.js +1 -1
  285. package/lib/utils/resolveVariableAndFilter.js +1 -1
  286. package/lib/utils/scrollPosition.js +1 -1
  287. package/lib/utils/string2regExp.js +1 -1
  288. package/lib/utils/stripNumber.js +1 -1
  289. package/lib/utils/style.js +1 -1
  290. package/lib/utils/toNumber.js +1 -1
  291. package/lib/utils/tokenize.js +1 -1
  292. package/lib/utils/tpl-builtin.js +1 -1
  293. package/lib/utils/tpl-lodash.js +1 -1
  294. package/lib/utils/tpl.js +1 -1
  295. package/lib/utils/uncontrollable.js +1 -1
  296. package/lib/utils/validations.js +1 -1
  297. package/package.json +4 -3
  298. package/esm/_virtual/index2.js +0 -8
  299. package/esm/_virtual/react-is.development.js +0 -8
  300. package/esm/_virtual/react-is.production.min.js +0 -8
  301. package/esm/actions/Decorators.d.ts +0 -25
  302. package/esm/actions/Decorators.js +0 -83
  303. package/esm/node_modules/object-assign/index.js +0 -104
  304. package/esm/node_modules/prop-types/checkPropTypes.js +0 -120
  305. package/esm/node_modules/prop-types/factoryWithTypeCheckers.js +0 -630
  306. package/esm/node_modules/prop-types/lib/has.js +0 -16
  307. package/esm/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js +0 -195
  308. package/esm/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js +0 -31
  309. package/esm/node_modules/prop-types/node_modules/react-is/index.js +0 -26
  310. package/esm/node_modules/warning/warning.js +0 -67
  311. package/lib/_virtual/index2.js +0 -12
  312. package/lib/_virtual/react-is.development.js +0 -12
  313. package/lib/_virtual/react-is.production.min.js +0 -12
  314. package/lib/actions/Decorators.d.ts +0 -25
  315. package/lib/actions/Decorators.js +0 -88
  316. package/lib/node_modules/object-assign/index.js +0 -108
  317. package/lib/node_modules/prop-types/checkPropTypes.js +0 -124
  318. package/lib/node_modules/prop-types/factoryWithTypeCheckers.js +0 -634
  319. package/lib/node_modules/prop-types/lib/has.js +0 -20
  320. package/lib/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js +0 -199
  321. package/lib/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js +0 -35
  322. package/lib/node_modules/prop-types/node_modules/react-is/index.js +0 -30
  323. package/lib/node_modules/warning/warning.js +0 -71
package/esm/Root.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.3.1
2
+ * amis-core v2.4.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.3.1
2
+ * amis-core v2.4.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.3.1
2
+ * amis-core v2.4.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -46,7 +46,8 @@ var defaultOmitList = [
46
46
  'requiredOn',
47
47
  'syncSuperStore',
48
48
  'mode',
49
- 'body'
49
+ 'body',
50
+ 'id'
50
51
  ];
51
52
  var componentCache = new SimpleMap();
52
53
  var SchemaRenderer = /** @class */ (function (_super) {
@@ -62,7 +63,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
62
63
  _this.dispatchEvent = _this.dispatchEvent.bind(_this);
63
64
  // 监听topStore更新
64
65
  _this.reaction = reaction(function () {
65
- return "".concat(props.topStore.visibleState[props.schema.id || props.$path]).concat(props.topStore.disableState[props.schema.id || props.$path]);
66
+ return "".concat(props.topStore.visibleState[props.schema.id || props.$path]).concat(props.topStore.disableState[props.schema.id || props.$path]).concat(props.topStore.staticState[props.schema.id || props.$path]);
66
67
  }, function () { return _this.forceUpdate(); });
67
68
  return _this;
68
69
  }
@@ -199,6 +200,9 @@ var SchemaRenderer = /** @class */ (function (_super) {
199
200
  var disable = isAlive(topStore)
200
201
  ? topStore.disableState[schema.id || $path]
201
202
  : undefined;
203
+ var isStatic = isAlive(topStore)
204
+ ? topStore.staticState[schema.id || $path]
205
+ : undefined;
202
206
  if (visible === false ||
203
207
  (visible !== true &&
204
208
  exprProps &&
@@ -278,6 +282,9 @@ var SchemaRenderer = /** @class */ (function (_super) {
278
282
  if (disable !== undefined) {
279
283
  props.disabled = disable;
280
284
  }
285
+ if (isStatic !== undefined) {
286
+ props.static = isStatic;
287
+ }
281
288
  // 自动解析变量模式,主要是方便直接引入第三方组件库,无需为了支持变量封装一层
282
289
  if (renderer.autoVar) {
283
290
  for (var _i = 0, _f = Object.keys($schema); _i < _f.length; _i++) {
package/esm/Scoped.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.3.1
2
+ * amis-core v2.4.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.3.1
2
+ * amis-core v2.4.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
package/esm/WithStore.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.3.1
2
+ * amis-core v2.4.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.3.1
2
+ * amis-core v2.4.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -15,7 +15,8 @@ export interface ListenerAction {
15
15
  actionType: string;
16
16
  description?: string;
17
17
  componentId?: string;
18
- args?: Record<string, any> | null;
18
+ args?: Record<string, any>;
19
+ data?: Record<string, any> | null;
19
20
  dataMergeMode?: 'merge' | 'override';
20
21
  outputVar?: string;
21
22
  preventDefault?: boolean;
@@ -1,9 +1,10 @@
1
1
  /**
2
- * amis-core v2.3.1
2
+ * amis-core v2.4.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
6
6
  import { __awaiter, __generator, __assign } from 'tslib';
7
+ import omit from 'lodash/omit';
7
8
  import '../utils/helper.js';
8
9
  import { evalExpression } from '../utils/tpl.js';
9
10
  import 'amis-formula';
@@ -29,6 +30,69 @@ var registerAction = function (type, action) {
29
30
  var getActionByType = function (type) {
30
31
  return ActionTypeMap[type];
31
32
  };
33
+ // 根据动作类型获取属性排除列表
34
+ var getOmitActionProp = function (type) {
35
+ var omitList = [];
36
+ switch (type) {
37
+ case 'toast':
38
+ omitList = [
39
+ 'msgType',
40
+ 'msg',
41
+ 'position',
42
+ 'closeButton',
43
+ 'showIcon',
44
+ 'timeout',
45
+ 'title'
46
+ ];
47
+ break;
48
+ case 'alert':
49
+ omitList = ['msg'];
50
+ break;
51
+ case 'confirm':
52
+ omitList = ['msg', 'title'];
53
+ break;
54
+ case 'ajax':
55
+ omitList = ['api', 'messages', 'options'];
56
+ break;
57
+ case 'setValue':
58
+ omitList = ['value', 'index'];
59
+ break;
60
+ case 'copy':
61
+ omitList = ['content', 'copyFormat'];
62
+ break;
63
+ case 'email':
64
+ omitList = ['to', 'cc', 'bcc', 'subject', 'body'];
65
+ break;
66
+ case 'link':
67
+ omitList = ['link', 'blank', 'params'];
68
+ break;
69
+ case 'url':
70
+ omitList = ['url', 'blank', 'params'];
71
+ break;
72
+ case 'for':
73
+ omitList = ['loopName'];
74
+ break;
75
+ case 'goPage':
76
+ omitList = ['delta'];
77
+ break;
78
+ case 'custom':
79
+ omitList = ['script'];
80
+ break;
81
+ case 'broadcast':
82
+ omitList = ['eventName'];
83
+ break;
84
+ case 'dialog':
85
+ omitList = ['dialog'];
86
+ break;
87
+ case 'drawer':
88
+ omitList = ['drawer'];
89
+ break;
90
+ case 'reload':
91
+ omitList = ['resetPage'];
92
+ break;
93
+ }
94
+ return omitList;
95
+ };
32
96
  var runActions = function (actions, renderer, event) { return __awaiter(void 0, void 0, void 0, function () {
33
97
  var _i, actions_1, actionConfig, actionInstrance;
34
98
  return __generator(this, function (_a) {
@@ -75,18 +139,14 @@ var runActions = function (actions, renderer, event) { return __awaiter(void 0,
75
139
  }); };
76
140
  // 执行动作,与原有动作处理打通
77
141
  var runAction = function (actionInstrance, actionConfig, renderer, event) { return __awaiter(void 0, void 0, void 0, function () {
78
- var mergeData, expression, preventDefault, stopPropagation, args;
79
- var _a;
80
- return __generator(this, function (_b) {
81
- switch (_b.label) {
142
+ var mergeData, expression, preventDefault, stopPropagation, args, afterMappingData, actionData, data;
143
+ var _a, _b, _c;
144
+ return __generator(this, function (_d) {
145
+ switch (_d.label) {
82
146
  case 0:
83
- mergeData = renderer.props.data.__super
84
- ? createObject(createObject(renderer.props.data.__super, {
85
- event: event
86
- }), renderer.props.data)
87
- : createObject({
88
- event: event
89
- }, renderer.props.data);
147
+ mergeData = createObject(createObject(renderer.props.data.__super
148
+ ? createObject(renderer.props.data.__super, { event: event })
149
+ : { event: event }, renderer.props.data), event.data);
90
150
  expression = (_a = actionConfig.expression) !== null && _a !== void 0 ? _a : actionConfig.execOn;
91
151
  if (expression && !evalExpression(expression, mergeData)) {
92
152
  return [2 /*return*/];
@@ -95,14 +155,25 @@ var runAction = function (actionInstrance, actionConfig, renderer, event) { retu
95
155
  evalExpression(String(actionConfig.preventDefault), mergeData);
96
156
  stopPropagation = actionConfig.stopPropagation &&
97
157
  evalExpression(String(actionConfig.stopPropagation), mergeData);
98
- args = actionConfig.args !== undefined
99
- ? dataMapping(actionConfig.args, mergeData, function (key) {
100
- return ['adaptor', 'responseAdaptor', 'requestAdaptor'].includes(key);
101
- })
102
- : event.data;
103
- return [4 /*yield*/, actionInstrance.run(__assign(__assign({}, actionConfig), { args: args }), renderer, event, mergeData)];
158
+ args = dataMapping(actionConfig.args, mergeData, function (key) {
159
+ return ['adaptor', 'responseAdaptor', 'requestAdaptor'].includes(key);
160
+ });
161
+ afterMappingData = dataMapping(actionConfig.data, mergeData);
162
+ actionData = args && Object.keys(args).length
163
+ ? omit(__assign(__assign({}, args), (afterMappingData !== null && afterMappingData !== void 0 ? afterMappingData : {})), getOmitActionProp(actionConfig.actionType))
164
+ : afterMappingData;
165
+ data = args && !Object.keys(args).length && actionConfig.data === undefined // 兼容历史
166
+ ? {}
167
+ : actionData !== undefined
168
+ ? actionData
169
+ : event.data;
170
+ (_b = console.group) === null || _b === void 0 ? void 0 : _b.call(console, "run action ".concat(actionConfig.actionType));
171
+ console.debug("[".concat(actionConfig.actionType, "] action args, data"), args, data);
172
+ return [4 /*yield*/, actionInstrance.run(__assign(__assign({}, actionConfig), { args: args, data: data }), renderer, event, mergeData)];
104
173
  case 1:
105
- _b.sent();
174
+ _d.sent();
175
+ console.debug("[".concat(actionConfig.actionType, "] action end event"), event);
176
+ (_c = console.groupEnd) === null || _c === void 0 ? void 0 : _c.call(console);
106
177
  // 阻止原有动作执行
107
178
  preventDefault && event.preventDefault();
108
179
  // 阻止后续动作执行
@@ -1,10 +1,9 @@
1
1
  /**
2
- * amis-core v2.3.1
2
+ * amis-core v2.4.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
6
6
  import { __awaiter, __generator, __assign } from 'tslib';
7
- import omit from 'lodash/omit';
8
7
  import { normalizeApiResponseData } from '../utils/api.js';
9
8
  import { ServerError } from '../utils/errors.js';
10
9
  import { isEmpty } from '../utils/helper.js';
@@ -43,7 +42,7 @@ var AjaxAction = /** @class */ (function () {
43
42
  _u.label = 1;
44
43
  case 1:
45
44
  _u.trys.push([1, 3, , 4]);
46
- return [4 /*yield*/, env.fetcher((_c = action.args) === null || _c === void 0 ? void 0 : _c.api, omit((_d = action.args) !== null && _d !== void 0 ? _d : {}, ['api', 'options', 'messages']), (_f = (_e = action.args) === null || _e === void 0 ? void 0 : _e.options) !== null && _f !== void 0 ? _f : {})];
45
+ return [4 /*yield*/, env.fetcher((_c = action.args) === null || _c === void 0 ? void 0 : _c.api, (_d = action.data) !== null && _d !== void 0 ? _d : {}, (_f = (_e = action.args) === null || _e === void 0 ? void 0 : _e.options) !== null && _f !== void 0 ? _f : {})];
47
46
  case 2:
48
47
  result = _u.sent();
49
48
  responseData = !isEmpty(result.data) || result.ok
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.3.1
2
+ * amis-core v2.4.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -2,7 +2,10 @@ import { RendererEvent } from '../utils/renderer-event';
2
2
  import { RendererAction, ListenerAction, ListenerContext } from './Action';
3
3
  export interface IBroadcastAction extends ListenerAction {
4
4
  actionType: 'broadcast';
5
- eventName: string;
5
+ args: {
6
+ eventName: string;
7
+ };
8
+ eventName?: string;
6
9
  }
7
10
  /**
8
11
  * broadcast
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.3.1
2
+ * amis-core v2.4.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -20,21 +20,21 @@ var BroadcastAction = /** @class */ (function () {
20
20
  function BroadcastAction() {
21
21
  }
22
22
  BroadcastAction.prototype.run = function (action, renderer, event) {
23
- var _a;
23
+ var _a, _b, _c;
24
24
  return __awaiter(this, void 0, void 0, function () {
25
- return __generator(this, function (_b) {
26
- switch (_b.label) {
25
+ return __generator(this, function (_d) {
26
+ switch (_d.label) {
27
27
  case 0:
28
- if (!action.eventName) {
28
+ if (!((_a = action.args) === null || _a === void 0 ? void 0 : _a.eventName) && !action.eventName) {
29
29
  console.error('eventName 未定义,请定义事件名称');
30
30
  return [2 /*return*/];
31
31
  }
32
32
  // 作为一个新的事件,需要把广播动作的args参数追加到事件数据中
33
- event.setData(createObject(event.data, (_a = action.args) !== null && _a !== void 0 ? _a : {}));
34
- return [4 /*yield*/, dispatchEvent(action.eventName, renderer, event.context.scoped, action.args, event)];
33
+ event.setData(createObject(event.data, (_b = action.data) !== null && _b !== void 0 ? _b : {}));
34
+ return [4 /*yield*/, dispatchEvent(((_c = action.args) === null || _c === void 0 ? void 0 : _c.eventName) || action.eventName, renderer, event.context.scoped, action.data, event)];
35
35
  case 1:
36
36
  // 直接触发对应的动作
37
- return [2 /*return*/, _b.sent()];
37
+ return [2 /*return*/, _d.sent()];
38
38
  }
39
39
  });
40
40
  });
@@ -1,7 +1,7 @@
1
1
  import { RendererEvent } from '../utils/renderer-event';
2
2
  import { RendererAction, ListenerAction, ListenerContext } from './Action';
3
3
  export interface ICmptAction extends ListenerAction {
4
- actionType: 'setValue' | 'show' | 'hidden' | 'enabled' | 'disabled' | 'reload';
4
+ actionType: 'setValue' | 'static' | 'nonstatic' | 'show' | 'hidden' | 'enabled' | 'disabled' | 'reload';
5
5
  args: {
6
6
  value?: string | {
7
7
  [key: string]: string;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.3.1
2
+ * amis-core v2.4.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -29,6 +29,9 @@ var CmptAction = /** @class */ (function () {
29
29
  if (['show', 'hidden'].includes(action.actionType)) {
30
30
  return [2 /*return*/, renderer.props.topStore.setVisible(action.componentId, action.actionType === 'show')];
31
31
  }
32
+ else if (['static', 'nonstatic'].includes(action.actionType)) {
33
+ return [2 /*return*/, renderer.props.topStore.setStatic(action.componentId, action.actionType === 'static')];
34
+ }
32
35
  else if (['enabled', 'disabled'].includes(action.actionType)) {
33
36
  return [2 /*return*/, renderer.props.topStore.setDisable(action.componentId, action.actionType === 'disabled')];
34
37
  }
@@ -43,7 +46,7 @@ var CmptAction = /** @class */ (function () {
43
46
  }
44
47
  // 刷新
45
48
  if (action.actionType === 'reload') {
46
- return [2 /*return*/, (_g = component === null || component === void 0 ? void 0 : component.reload) === null || _g === void 0 ? void 0 : _g.call(component, undefined, action.args, undefined, undefined, dataMergeMode === 'override')];
49
+ return [2 /*return*/, (_g = component === null || component === void 0 ? void 0 : component.reload) === null || _g === void 0 ? void 0 : _g.call(component, undefined, action.data, undefined, undefined, dataMergeMode === 'override', action.args)];
47
50
  }
48
51
  // 执行组件动作
49
52
  return [2 /*return*/, (_h = component === null || component === void 0 ? void 0 : component.doAction) === null || _h === void 0 ? void 0 : _h.call(component, action, action.args)];
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.3.1
2
+ * amis-core v2.4.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.3.1
2
+ * amis-core v2.4.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,9 +1,13 @@
1
1
  import { ActionObject } from '../types';
2
2
  import { RendererEvent } from '../utils/renderer-event';
3
3
  import { RendererAction, ListenerAction, ListenerContext } from './Action';
4
+ declare type ScriptType = string | ((renderer: any, doAction: (action: ActionObject, data: Record<string, any>) => void, event: RendererEvent<any>, action: ListenerAction) => void);
4
5
  export interface ICustomAction extends ListenerAction {
5
6
  actionType: 'custom';
6
- script: string | ((renderer: any, doAction: (action: ActionObject, data: Record<string, any>) => void, event: RendererEvent<any>, action: ListenerAction) => void);
7
+ args: {
8
+ script: ScriptType;
9
+ };
10
+ script?: ScriptType;
7
11
  }
8
12
  /**
9
13
  * 自定义动作,JS脚本
@@ -15,3 +19,4 @@ export interface ICustomAction extends ListenerAction {
15
19
  export declare class CustomAction implements RendererAction {
16
20
  run(action: ICustomAction, renderer: ListenerContext, event: RendererEvent<any>): Promise<void>;
17
21
  }
22
+ export {};
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.3.1
2
+ * amis-core v2.4.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -23,12 +23,11 @@ import '../utils/filter.js';
23
23
  import 'lodash/isObject';
24
24
  import 'lodash/isString';
25
25
  import 'lodash/isBoolean';
26
- import '../utils/image.js';
27
26
  import 'lodash';
27
+ import '../utils/image.js';
28
28
  import { registerAction, runActions } from './Action.js';
29
29
  import '../utils/resize-sensor.js';
30
30
  import '../node_modules/dom-helpers/esm/addEventListener.js';
31
- import '../node_modules/warning/warning.js';
32
31
  import '../utils/SimpleMap.js';
33
32
  import 'lodash/mapValues';
34
33
  import 'lodash/camelCase';
@@ -48,18 +47,19 @@ var CustomAction = /** @class */ (function () {
48
47
  function CustomAction() {
49
48
  }
50
49
  CustomAction.prototype.run = function (action, renderer, event) {
50
+ var _a, _b;
51
51
  return __awaiter(this, void 0, void 0, function () {
52
52
  var scriptFunc;
53
- return __generator(this, function (_a) {
54
- switch (_a.label) {
53
+ return __generator(this, function (_c) {
54
+ switch (_c.label) {
55
55
  case 0:
56
- scriptFunc = action.script;
56
+ scriptFunc = (_b = (_a = action.args) === null || _a === void 0 ? void 0 : _a.script) !== null && _b !== void 0 ? _b : action.script;
57
57
  if (typeof scriptFunc === 'string') {
58
58
  scriptFunc = promisify(new Function('context', 'doAction', 'event', scriptFunc));
59
59
  }
60
60
  return [4 /*yield*/, (scriptFunc === null || scriptFunc === void 0 ? void 0 : scriptFunc.call(null, renderer, function (action) { return runActions(action, renderer, event); }, event, action))];
61
61
  case 1:
62
- _a.sent();
62
+ _c.sent();
63
63
  return [2 /*return*/];
64
64
  }
65
65
  });
@@ -18,7 +18,10 @@ export interface IConfirmAction extends ListenerAction {
18
18
  }
19
19
  export interface IDialogAction extends ListenerAction {
20
20
  actionType: 'dialog';
21
- dialog: SchemaNode;
21
+ args: {
22
+ dialog: SchemaNode;
23
+ };
24
+ dialog?: SchemaNode;
22
25
  }
23
26
  /**
24
27
  * 打开弹窗动作
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.3.1
2
+ * amis-core v2.4.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -17,10 +17,14 @@ var DialogAction = /** @class */ (function () {
17
17
  function DialogAction() {
18
18
  }
19
19
  DialogAction.prototype.run = function (action, renderer, event) {
20
- var _a, _b;
20
+ var _a, _b, _c;
21
21
  return __awaiter(this, void 0, void 0, function () {
22
- return __generator(this, function (_c) {
23
- (_b = (_a = renderer.props).onAction) === null || _b === void 0 ? void 0 : _b.call(_a, event, __assign(__assign({}, action), { reload: 'none' }), action.args);
22
+ return __generator(this, function (_d) {
23
+ (_b = (_a = renderer.props).onAction) === null || _b === void 0 ? void 0 : _b.call(_a, event, {
24
+ actionType: 'dialog',
25
+ dialog: ((_c = action.args) === null || _c === void 0 ? void 0 : _c.dialog) || action.dialog,
26
+ reload: 'none'
27
+ }, action.data);
24
28
  return [2 /*return*/];
25
29
  });
26
30
  });
@@ -47,7 +51,7 @@ var CloseDialogAction = /** @class */ (function () {
47
51
  }
48
52
  else {
49
53
  // 关闭当前弹窗
50
- (_b = (_a = renderer.props).onAction) === null || _b === void 0 ? void 0 : _b.call(_a, event, __assign(__assign({}, action), { actionType: 'close' }), action.args);
54
+ (_b = (_a = renderer.props).onAction) === null || _b === void 0 ? void 0 : _b.call(_a, event, __assign(__assign({}, action), { actionType: 'close' }), action.data);
51
55
  }
52
56
  return [2 /*return*/];
53
57
  });
@@ -3,7 +3,10 @@ import { RendererEvent } from '../utils/renderer-event';
3
3
  import { RendererAction, ListenerAction, ListenerContext } from './Action';
4
4
  export interface IDrawerAction extends ListenerAction {
5
5
  actionType: 'drawer';
6
- drawer: SchemaNode;
6
+ args: {
7
+ drawer: SchemaNode;
8
+ };
9
+ drawer?: SchemaNode;
7
10
  }
8
11
  /**
9
12
  * 打开抽屉动作
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.3.1
2
+ * amis-core v2.4.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -17,10 +17,14 @@ var DrawerAction = /** @class */ (function () {
17
17
  function DrawerAction() {
18
18
  }
19
19
  DrawerAction.prototype.run = function (action, renderer, event) {
20
- var _a, _b;
20
+ var _a, _b, _c;
21
21
  return __awaiter(this, void 0, void 0, function () {
22
- return __generator(this, function (_c) {
23
- (_b = (_a = renderer.props).onAction) === null || _b === void 0 ? void 0 : _b.call(_a, event, action, action.args);
22
+ return __generator(this, function (_d) {
23
+ (_b = (_a = renderer.props).onAction) === null || _b === void 0 ? void 0 : _b.call(_a, event, {
24
+ actionType: 'drawer',
25
+ drawer: ((_c = action.args) === null || _c === void 0 ? void 0 : _c.drawer) || action.drawer,
26
+ reload: 'none'
27
+ }, action.data);
24
28
  return [2 /*return*/];
25
29
  });
26
30
  });
@@ -47,7 +51,7 @@ var CloseDrawerAction = /** @class */ (function () {
47
51
  }
48
52
  else {
49
53
  // 关闭当前抽屉
50
- (_b = (_a = renderer.props).onAction) === null || _b === void 0 ? void 0 : _b.call(_a, event, __assign(__assign({}, action), { actionType: 'close' }), action.args);
54
+ (_b = (_a = renderer.props).onAction) === null || _b === void 0 ? void 0 : _b.call(_a, event, __assign(__assign({}, action), { actionType: 'close' }), action.data);
51
55
  }
52
56
  return [2 /*return*/];
53
57
  });
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.3.1
2
+ * amis-core v2.4.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,11 +1,10 @@
1
1
  /**
2
- * amis-core v2.3.1
2
+ * amis-core v2.4.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
6
6
  import { __awaiter, __generator, __assign } from 'tslib';
7
7
  import { buildApi } from '../utils/api.js';
8
- import omit from 'lodash/omit';
9
8
  import { registerAction } from './Action.js';
10
9
 
11
10
  /**
@@ -19,20 +18,20 @@ var LinkAction = /** @class */ (function () {
19
18
  function LinkAction() {
20
19
  }
21
20
  LinkAction.prototype.run = function (action, renderer, event) {
22
- var _a, _b, _c, _d, _e, _f;
21
+ var _a, _b, _c, _d, _e, _f, _g;
23
22
  return __awaiter(this, void 0, void 0, function () {
24
23
  var urlObj;
25
- return __generator(this, function (_g) {
24
+ return __generator(this, function (_h) {
26
25
  if (!((_a = renderer.props.env) === null || _a === void 0 ? void 0 : _a.jumpTo)) {
27
26
  throw new Error('env.jumpTo is required!');
28
27
  }
29
28
  urlObj = buildApi({
30
29
  url: (((_b = action.args) === null || _b === void 0 ? void 0 : _b.url) || ((_c = action.args) === null || _c === void 0 ? void 0 : _c.link)),
31
30
  method: 'get'
32
- }, __assign(__assign({}, ((_e = (_d = action.args) === null || _d === void 0 ? void 0 : _d.params) !== null && _e !== void 0 ? _e : {})), omit((_f = action.args) !== null && _f !== void 0 ? _f : {}, ['params', 'blank', 'url', 'link'])), {
31
+ }, __assign(__assign({}, ((_e = (_d = action.args) === null || _d === void 0 ? void 0 : _d.params) !== null && _e !== void 0 ? _e : {})), ((_f = action.data) !== null && _f !== void 0 ? _f : {})), {
33
32
  autoAppend: true
34
33
  });
35
- renderer.props.env.jumpTo(urlObj.url, __assign({ actionType: action.actionType, type: 'button' }, action.args), action.args);
34
+ renderer.props.env.jumpTo(urlObj.url, __assign({ actionType: action.actionType, type: 'button' }, action.args), (_g = action.data) !== null && _g !== void 0 ? _g : {});
36
35
  return [2 /*return*/];
37
36
  });
38
37
  });
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.3.1
2
+ * amis-core v2.4.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.3.1
2
+ * amis-core v2.4.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.3.1
2
+ * amis-core v2.4.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.3.1
2
+ * amis-core v2.4.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.3.1
2
+ * amis-core v2.4.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -17,6 +17,4 @@ import './EmailAction';
17
17
  import './LinkAction';
18
18
  import './ToastAction';
19
19
  import './PageAction';
20
- import './Decorators';
21
- export * from './Decorators';
22
20
  export * from './Action';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.3.1
2
+ * amis-core v2.4.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5