amis-core 3.1.1 → 3.2.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 (281) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.d.ts +1 -1
  3. package/esm/RootRenderer.js +2 -2
  4. package/esm/SchemaRenderer.js +3 -2
  5. package/esm/Scoped.js +2 -1
  6. package/esm/StatusScoped.js +1 -1
  7. package/esm/WithRootStore.d.ts +4 -24
  8. package/esm/WithRootStore.js +12 -4
  9. package/esm/WithStore.js +23 -16
  10. package/esm/actions/Action.js +14 -14
  11. package/esm/actions/AjaxAction.js +1 -1
  12. package/esm/actions/BreakAction.js +1 -1
  13. package/esm/actions/BroadcastAction.js +1 -1
  14. package/esm/actions/CmptAction.js +2 -2
  15. package/esm/actions/ContinueAction.js +1 -1
  16. package/esm/actions/CopyAction.js +1 -1
  17. package/esm/actions/CustomAction.js +2 -1
  18. package/esm/actions/DialogAction.d.ts +2 -0
  19. package/esm/actions/DialogAction.js +40 -23
  20. package/esm/actions/DrawerAction.js +4 -4
  21. package/esm/actions/EmailAction.js +1 -1
  22. package/esm/actions/LinkAction.js +1 -1
  23. package/esm/actions/LoopAction.js +1 -1
  24. package/esm/actions/PageAction.js +1 -1
  25. package/esm/actions/ParallelAction.js +1 -1
  26. package/esm/actions/SwitchAction.js +1 -1
  27. package/esm/actions/ToastAction.js +1 -1
  28. package/esm/components/CustomStyle.js +1 -1
  29. package/esm/components/LazyComponent.js +1 -1
  30. package/esm/components/Overlay.js +2 -1
  31. package/esm/components/PopOver.js +2 -1
  32. package/esm/env.js +1 -1
  33. package/esm/envOverwrite.js +1 -1
  34. package/esm/factory.js +1 -1
  35. package/esm/index.d.ts +1 -0
  36. package/esm/index.js +6 -4
  37. package/esm/locale.js +1 -1
  38. package/esm/polyfills.d.ts +3 -0
  39. package/esm/polyfills.js +18 -0
  40. package/esm/renderers/Form.d.ts +1 -1
  41. package/esm/renderers/Form.js +17 -7
  42. package/esm/renderers/Item.d.ts +88 -59
  43. package/esm/renderers/Item.js +86 -40
  44. package/esm/renderers/Options.js +1 -1
  45. package/esm/renderers/Placeholder.js +1 -1
  46. package/esm/renderers/builtin.js +1 -1
  47. package/esm/renderers/register.js +1 -1
  48. package/esm/renderers/wrapControl.d.ts +4 -24
  49. package/esm/renderers/wrapControl.js +51 -53
  50. package/esm/store/app.js +37 -3
  51. package/esm/store/combo.d.ts +168 -28
  52. package/esm/store/combo.js +1 -1
  53. package/esm/store/crud.d.ts +3 -2
  54. package/esm/store/crud.js +12 -5
  55. package/esm/store/form.d.ts +72 -12
  56. package/esm/store/form.js +4 -4
  57. package/esm/store/formItem.d.ts +2 -1
  58. package/esm/store/formItem.js +7 -2
  59. package/esm/store/iRenderer.js +2 -1
  60. package/esm/store/index.js +1 -1
  61. package/esm/store/list.d.ts +1 -0
  62. package/esm/store/list.js +8 -2
  63. package/esm/store/manager.js +1 -1
  64. package/esm/store/modal.js +1 -1
  65. package/esm/store/node.js +1 -1
  66. package/esm/store/pagination.js +1 -1
  67. package/esm/store/root.js +2 -1
  68. package/esm/store/service.js +14 -9
  69. package/esm/store/status.js +1 -1
  70. package/esm/store/table.d.ts +145 -24
  71. package/esm/store/table.js +8 -2
  72. package/esm/store/table2.js +1 -1
  73. package/esm/theme.js +1 -1
  74. package/esm/types.d.ts +5 -2
  75. package/esm/utils/Animation.js +1 -1
  76. package/esm/utils/ColorScale.js +1 -1
  77. package/esm/utils/DataSchema.d.ts +3 -2
  78. package/esm/utils/DataSchema.js +27 -7
  79. package/esm/utils/DataScope.d.ts +10 -3
  80. package/esm/utils/DataScope.js +50 -12
  81. package/esm/utils/RootClose.js +1 -1
  82. package/esm/utils/SimpleMap.js +1 -1
  83. package/esm/utils/api.js +40 -32
  84. package/esm/utils/arraySlice.d.ts +1 -0
  85. package/esm/utils/arraySlice.js +76 -0
  86. package/esm/utils/attachmentAdpator.js +1 -1
  87. package/esm/utils/autobind.js +1 -1
  88. package/esm/utils/columnsSplit.js +1 -1
  89. package/esm/utils/dataMapping.js +26 -18
  90. package/esm/utils/date.js +1 -1
  91. package/esm/utils/debug.js +1 -1
  92. package/esm/utils/decodeEntity.js +1 -1
  93. package/esm/utils/dom.js +4 -1
  94. package/esm/utils/errors.js +1 -1
  95. package/esm/utils/escapeHtml.js +1 -1
  96. package/esm/utils/filter-schema.js +1 -1
  97. package/esm/utils/filter.js +1 -1
  98. package/esm/utils/formatDuration.js +1 -1
  99. package/esm/utils/formula.js +1 -1
  100. package/esm/utils/getVariable.js +1 -1
  101. package/esm/utils/grammar.js +1 -1
  102. package/esm/utils/handleAction.js +1 -1
  103. package/esm/utils/helper.d.ts +8 -1
  104. package/esm/utils/helper.js +57 -10
  105. package/esm/utils/highlight.js +1 -1
  106. package/esm/utils/icon.js +1 -1
  107. package/esm/utils/image.js +1 -1
  108. package/esm/utils/index.d.ts +1 -0
  109. package/esm/utils/isPureVariable.js +1 -1
  110. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  111. package/esm/utils/keyToPath.js +1 -1
  112. package/esm/utils/makeSorter.js +1 -1
  113. package/esm/utils/memoryParse.js +1 -1
  114. package/esm/utils/normalizeLink.js +18 -9
  115. package/esm/utils/normalizeOptions.js +1 -1
  116. package/esm/utils/object.js +1 -1
  117. package/esm/utils/offset.js +1 -1
  118. package/esm/utils/offsetParent.js +1 -1
  119. package/esm/utils/optionValueCompare.js +1 -1
  120. package/esm/utils/position.js +1 -1
  121. package/esm/utils/prettyBytes.js +1 -1
  122. package/esm/utils/renderer-event.js +1 -1
  123. package/esm/utils/replaceText.js +1 -1
  124. package/esm/utils/resize-sensor.js +1 -1
  125. package/esm/utils/resolveCondition.js +1 -1
  126. package/esm/utils/resolveVariable.js +1 -1
  127. package/esm/utils/resolveVariableAndFilter.js +1 -1
  128. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  129. package/esm/utils/scrollPosition.js +1 -1
  130. package/esm/utils/string2regExp.js +1 -1
  131. package/esm/utils/stripNumber.js +1 -1
  132. package/esm/utils/style-helper.js +1 -1
  133. package/esm/utils/style.js +1 -1
  134. package/esm/utils/toNumber.js +1 -1
  135. package/esm/utils/tokenize.js +1 -1
  136. package/esm/utils/tpl-builtin.js +1 -1
  137. package/esm/utils/tpl-lodash.js +1 -1
  138. package/esm/utils/tpl.js +1 -1
  139. package/esm/utils/uncontrollable.js +1 -1
  140. package/esm/utils/validations.js +1 -1
  141. package/lib/Root.js +1 -1
  142. package/lib/RootRenderer.d.ts +1 -1
  143. package/lib/RootRenderer.js +2 -2
  144. package/lib/SchemaRenderer.js +3 -2
  145. package/lib/Scoped.js +2 -1
  146. package/lib/StatusScoped.js +1 -1
  147. package/lib/WithRootStore.d.ts +4 -24
  148. package/lib/WithRootStore.js +12 -4
  149. package/lib/WithStore.js +23 -16
  150. package/lib/actions/Action.js +14 -14
  151. package/lib/actions/AjaxAction.js +1 -1
  152. package/lib/actions/BreakAction.js +1 -1
  153. package/lib/actions/BroadcastAction.js +1 -1
  154. package/lib/actions/CmptAction.js +2 -2
  155. package/lib/actions/ContinueAction.js +1 -1
  156. package/lib/actions/CopyAction.js +1 -1
  157. package/lib/actions/CustomAction.js +2 -1
  158. package/lib/actions/DialogAction.d.ts +2 -0
  159. package/lib/actions/DialogAction.js +40 -23
  160. package/lib/actions/DrawerAction.js +4 -4
  161. package/lib/actions/EmailAction.js +1 -1
  162. package/lib/actions/LinkAction.js +1 -1
  163. package/lib/actions/LoopAction.js +1 -1
  164. package/lib/actions/PageAction.js +1 -1
  165. package/lib/actions/ParallelAction.js +1 -1
  166. package/lib/actions/SwitchAction.js +1 -1
  167. package/lib/actions/ToastAction.js +1 -1
  168. package/lib/components/CustomStyle.js +1 -1
  169. package/lib/components/LazyComponent.js +1 -1
  170. package/lib/components/Overlay.js +2 -1
  171. package/lib/components/PopOver.js +2 -1
  172. package/lib/env.js +1 -1
  173. package/lib/envOverwrite.js +1 -1
  174. package/lib/factory.js +1 -1
  175. package/lib/index.d.ts +1 -0
  176. package/lib/index.js +7 -2
  177. package/lib/locale.js +1 -1
  178. package/lib/polyfills.d.ts +3 -0
  179. package/lib/polyfills.js +20 -0
  180. package/lib/renderers/Form.d.ts +1 -1
  181. package/lib/renderers/Form.js +17 -7
  182. package/lib/renderers/Item.d.ts +88 -59
  183. package/lib/renderers/Item.js +86 -40
  184. package/lib/renderers/Options.js +1 -1
  185. package/lib/renderers/Placeholder.js +1 -1
  186. package/lib/renderers/builtin.js +1 -1
  187. package/lib/renderers/register.js +1 -1
  188. package/lib/renderers/wrapControl.d.ts +4 -24
  189. package/lib/renderers/wrapControl.js +51 -53
  190. package/lib/store/app.js +36 -2
  191. package/lib/store/combo.d.ts +168 -28
  192. package/lib/store/combo.js +1 -1
  193. package/lib/store/crud.d.ts +3 -2
  194. package/lib/store/crud.js +12 -5
  195. package/lib/store/form.d.ts +72 -12
  196. package/lib/store/form.js +4 -4
  197. package/lib/store/formItem.d.ts +2 -1
  198. package/lib/store/formItem.js +7 -2
  199. package/lib/store/iRenderer.js +2 -1
  200. package/lib/store/index.js +1 -1
  201. package/lib/store/list.d.ts +1 -0
  202. package/lib/store/list.js +8 -2
  203. package/lib/store/manager.js +1 -1
  204. package/lib/store/modal.js +1 -1
  205. package/lib/store/node.js +1 -1
  206. package/lib/store/pagination.js +1 -1
  207. package/lib/store/root.js +2 -1
  208. package/lib/store/service.js +14 -9
  209. package/lib/store/status.js +1 -1
  210. package/lib/store/table.d.ts +145 -24
  211. package/lib/store/table.js +7 -1
  212. package/lib/store/table2.js +1 -1
  213. package/lib/theme.js +1 -1
  214. package/lib/types.d.ts +5 -2
  215. package/lib/utils/Animation.js +1 -1
  216. package/lib/utils/ColorScale.js +1 -1
  217. package/lib/utils/DataSchema.d.ts +3 -2
  218. package/lib/utils/DataSchema.js +27 -7
  219. package/lib/utils/DataScope.d.ts +10 -3
  220. package/lib/utils/DataScope.js +50 -11
  221. package/lib/utils/RootClose.js +1 -1
  222. package/lib/utils/SimpleMap.js +1 -1
  223. package/lib/utils/api.js +39 -31
  224. package/lib/utils/arraySlice.d.ts +1 -0
  225. package/lib/utils/arraySlice.js +80 -0
  226. package/lib/utils/attachmentAdpator.js +1 -1
  227. package/lib/utils/autobind.js +1 -1
  228. package/lib/utils/columnsSplit.js +1 -1
  229. package/lib/utils/dataMapping.js +26 -18
  230. package/lib/utils/date.js +1 -1
  231. package/lib/utils/debug.js +1 -1
  232. package/lib/utils/decodeEntity.js +1 -1
  233. package/lib/utils/dom.js +4 -1
  234. package/lib/utils/errors.js +1 -1
  235. package/lib/utils/escapeHtml.js +1 -1
  236. package/lib/utils/filter-schema.js +1 -1
  237. package/lib/utils/filter.js +1 -1
  238. package/lib/utils/formatDuration.js +1 -1
  239. package/lib/utils/formula.js +1 -1
  240. package/lib/utils/getVariable.js +1 -1
  241. package/lib/utils/grammar.js +1 -1
  242. package/lib/utils/handleAction.js +1 -1
  243. package/lib/utils/helper.d.ts +8 -1
  244. package/lib/utils/helper.js +57 -9
  245. package/lib/utils/highlight.js +1 -1
  246. package/lib/utils/icon.js +1 -1
  247. package/lib/utils/image.js +1 -1
  248. package/lib/utils/index.d.ts +1 -0
  249. package/lib/utils/isPureVariable.js +1 -1
  250. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  251. package/lib/utils/keyToPath.js +1 -1
  252. package/lib/utils/makeSorter.js +1 -1
  253. package/lib/utils/memoryParse.js +1 -1
  254. package/lib/utils/normalizeLink.js +18 -9
  255. package/lib/utils/normalizeOptions.js +1 -1
  256. package/lib/utils/object.js +1 -1
  257. package/lib/utils/offset.js +1 -1
  258. package/lib/utils/offsetParent.js +1 -1
  259. package/lib/utils/optionValueCompare.js +1 -1
  260. package/lib/utils/position.js +1 -1
  261. package/lib/utils/prettyBytes.js +1 -1
  262. package/lib/utils/renderer-event.js +1 -1
  263. package/lib/utils/replaceText.js +1 -1
  264. package/lib/utils/resize-sensor.js +1 -1
  265. package/lib/utils/resolveCondition.js +1 -1
  266. package/lib/utils/resolveVariable.js +1 -1
  267. package/lib/utils/resolveVariableAndFilter.js +1 -1
  268. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  269. package/lib/utils/scrollPosition.js +1 -1
  270. package/lib/utils/string2regExp.js +1 -1
  271. package/lib/utils/stripNumber.js +1 -1
  272. package/lib/utils/style-helper.js +1 -1
  273. package/lib/utils/style.js +1 -1
  274. package/lib/utils/toNumber.js +1 -1
  275. package/lib/utils/tokenize.js +1 -1
  276. package/lib/utils/tpl-builtin.js +1 -1
  277. package/lib/utils/tpl-lodash.js +1 -1
  278. package/lib/utils/tpl.js +1 -1
  279. package/lib/utils/uncontrollable.js +1 -1
  280. package/lib/utils/validations.js +1 -1
  281. package/package.json +8 -3
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -21,15 +21,23 @@ function withRootStore(ComposedComponent) {
21
21
  var _a;
22
22
  var result = hoistNonReactStatic__default["default"]((_a = /** @class */ (function (_super) {
23
23
  tslib.__extends(class_1, _super);
24
- function class_1() {
25
- return _super !== null && _super.apply(this, arguments) || this;
24
+ function class_1(props) {
25
+ var _this = _super.call(this, props) || this;
26
+ _this.refFn = _this.refFn.bind(_this);
27
+ return _this;
26
28
  }
29
+ class_1.prototype.getWrappedInstance = function () {
30
+ return this.ref.control;
31
+ };
32
+ class_1.prototype.refFn = function (ref) {
33
+ this.ref = ref;
34
+ };
27
35
  class_1.prototype.render = function () {
28
36
  var rootStore = this.context;
29
37
  var injectedProps = {
30
38
  rootStore: rootStore
31
39
  };
32
- return (React__default["default"].createElement(ComposedComponent, tslib.__assign({}, this.props, injectedProps)));
40
+ return (React__default["default"].createElement(ComposedComponent, tslib.__assign({}, this.props, injectedProps, { ref: this.refFn })));
33
41
  };
34
42
  return class_1;
35
43
  }(React__default["default"].Component)),
package/lib/WithStore.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -18,6 +18,7 @@ var helper = require('./utils/helper.js');
18
18
  require('amis-formula');
19
19
  require('moment');
20
20
  var object = require('./utils/object.js');
21
+ var tokenize = require('./utils/tokenize.js');
21
22
  var dataMapping = require('./utils/dataMapping.js');
22
23
  require('./utils/filter.js');
23
24
  var WithRootStore = require('./WithRootStore.js');
@@ -106,20 +107,26 @@ function HocStoreFactory(renderer) {
106
107
  if (extendsData === false) {
107
108
  if (shouldSync === true ||
108
109
  prevProps.defaultData !== props.defaultData ||
109
- helper.isObjectShallowModified(prevProps.data, props.data) ||
110
- //
111
- // 特殊处理 CRUD。
112
- // CRUD 中 toolbar 里面的 data 是空对象,但是 __super 会不一样
113
- (props.data &&
114
- prevProps.data &&
115
- props.data.__super !== prevProps.data.__super)) {
110
+ (props.trackExpression
111
+ ? tokenize.tokenize(props.trackExpression, props.data) !==
112
+ tokenize.tokenize(props.trackExpression, prevProps.data)
113
+ : helper.isObjectShallowModified(prevProps.data, props.data) ||
114
+ //
115
+ // 特殊处理 CRUD。
116
+ // CRUD 中 toolbar 里面的 data 是空对象,但是 __super 会不一样
117
+ (props.data &&
118
+ prevProps.data &&
119
+ props.data.__super !== prevProps.data.__super))) {
116
120
  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))));
117
121
  }
118
122
  }
119
123
  else if (shouldSync === true ||
120
- helper.isObjectShallowModified(prevProps.data, props.data) ||
121
- (props.syncSuperStore !== false &&
122
- helper.isSuperDataModified(props.data, prevProps.data, store))) {
124
+ (props.trackExpression
125
+ ? tokenize.tokenize(props.trackExpression, props.data) !==
126
+ tokenize.tokenize(props.trackExpression, prevProps.data)
127
+ : helper.isObjectShallowModified(prevProps.data, props.data) ||
128
+ (props.syncSuperStore !== false &&
129
+ helper.isSuperDataModified(props.data, prevProps.data, store)))) {
123
130
  if (props.store && props.store.data === props.data) {
124
131
  store.initData(object.createObject(props.store.data, props.syncSuperStore === false
125
132
  ? tslib.__assign({}, store.data) : helper.syncDataFromSuper(store.data, props.store.data, prevProps.scope, store, props.syncSuperStore === true)));
@@ -132,9 +139,8 @@ function HocStoreFactory(renderer) {
132
139
  store.initData(object.createObject(props.scope, props.data));
133
140
  }
134
141
  }
135
- else if ((shouldSync === true ||
136
- !props.store ||
137
- props.data !== props.store.data) &&
142
+ else if (!props.trackExpression &&
143
+ (!props.store || props.data !== props.store.data) &&
138
144
  props.data &&
139
145
  props.data.__super) {
140
146
  // 这个用法很少,当 data.__super 值发生变化时,更新 store.data
@@ -145,9 +151,10 @@ function HocStoreFactory(renderer) {
145
151
  }
146
152
  // nextProps.data.__super !== props.data.__super) &&
147
153
  }
148
- else if (props.scope &&
154
+ else if (!props.trackExpression &&
155
+ props.scope &&
149
156
  props.data === props.store.data &&
150
- (shouldSync === true || prevProps.data !== props.data)) {
157
+ prevProps.data !== props.data) {
151
158
  // 只有父级数据变动的时候才应该进来,
152
159
  // 目前看来这个 case 很少有情况下能进来
153
160
  store.initData(object.createObject(props.scope, tslib.__assign({}, store.data)));
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -96,7 +96,7 @@ var getOmitActionProp = function (type) {
96
96
  omitList = ['drawer'];
97
97
  break;
98
98
  case 'confirmDialog':
99
- omitList = ['confirmDialog'];
99
+ omitList = ['dialog'];
100
100
  break;
101
101
  case 'reload':
102
102
  omitList = ['resetPage'];
@@ -166,7 +166,7 @@ var runActions = function (actions, renderer, event) { return tslib.__awaiter(vo
166
166
  }); };
167
167
  // 执行动作,与原有动作处理打通
168
168
  var runAction = function (actionInstrance, actionConfig, renderer, event) { return tslib.__awaiter(void 0, void 0, void 0, function () {
169
- var additional, mergeData, expression, isStop, preventDefault, stopPropagation, key, args, afterMappingData, actionData, data, stoped, actionResult;
169
+ var additional, mergeData, expression, isStop, preventDefault, key, args, afterMappingData, actionData, data, stopped, actionResult, stopPropagation;
170
170
  var _a, _b, _c;
171
171
  return tslib.__generator(this, function (_d) {
172
172
  switch (_d.label) {
@@ -202,13 +202,6 @@ var runAction = function (actionInstrance, actionConfig, renderer, event) { retu
202
202
  preventDefault = _d.sent();
203
203
  _d.label = 4;
204
204
  case 4:
205
- stopPropagation = false;
206
- if (!actionConfig.stopPropagation) return [3 /*break*/, 6];
207
- return [4 /*yield*/, tpl.evalExpressionWithConditionBuilder(actionConfig.stopPropagation, mergeData, false)];
208
- case 5:
209
- stopPropagation = _d.sent();
210
- _d.label = 6;
211
- case 6:
212
205
  key = {
213
206
  componentId: dataMapping.dataMapping(actionConfig.componentId, mergeData),
214
207
  componentName: dataMapping.dataMapping(actionConfig.componentName, mergeData)
@@ -233,20 +226,27 @@ var runAction = function (actionInstrance, actionConfig, renderer, event) { retu
233
226
  : event.data;
234
227
  (_b = console.group) === null || _b === void 0 ? void 0 : _b.call(console, "run action ".concat(actionConfig.actionType));
235
228
  console.debug("[".concat(actionConfig.actionType, "] action args, data"), args, data);
236
- stoped = false;
229
+ stopped = false;
237
230
  return [4 /*yield*/, actionInstrance.run(tslib.__assign(tslib.__assign(tslib.__assign({}, actionConfig), { args: args, data: data }), key), renderer, event, mergeData)];
238
- case 7:
231
+ case 5:
239
232
  actionResult = _d.sent();
240
233
  // 二次确认弹窗如果取消,则终止后续动作
241
234
  if ((actionConfig === null || actionConfig === void 0 ? void 0 : actionConfig.actionType) === 'confirmDialog' && !actionResult) {
242
- stoped = true;
235
+ stopped = true;
243
236
  }
237
+ stopPropagation = false;
238
+ if (!actionConfig.stopPropagation) return [3 /*break*/, 7];
239
+ return [4 /*yield*/, tpl.evalExpressionWithConditionBuilder(actionConfig.stopPropagation, mergeData, false)];
240
+ case 6:
241
+ stopPropagation = _d.sent();
242
+ _d.label = 7;
243
+ case 7:
244
244
  console.debug("[".concat(actionConfig.actionType, "] action end event"), event);
245
245
  (_c = console.groupEnd) === null || _c === void 0 ? void 0 : _c.call(console);
246
246
  // 阻止原有动作执行
247
247
  preventDefault && event.preventDefault();
248
248
  // 阻止后续动作执行
249
- (stopPropagation || stoped) && event.stopPropagation();
249
+ (stopPropagation || stopped) && event.stopPropagation();
250
250
  return [2 /*return*/];
251
251
  }
252
252
  });
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -28,7 +28,7 @@ var CmptAction = /** @class */ (function () {
28
28
  switch (_p.label) {
29
29
  case 0:
30
30
  key = action.componentId || action.componentName;
31
- component = key && renderer.props.$schema[action.componentId ? 'id' : 'name'] !== key
31
+ component = key
32
32
  ? (_a = event.context.scoped) === null || _a === void 0 ? void 0 : _a[action.componentId ? 'getComponentById' : 'getComponentByName'](key)
33
33
  : renderer;
34
34
  dataMergeMode = action.dataMergeMode || 'merge';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -41,6 +41,7 @@ require('uncontrollable');
41
41
  require('hoist-non-react-statics');
42
42
  require('../utils/validations.js');
43
43
  require('../utils/resolveCondition.js');
44
+ require('mobx');
44
45
  require('../utils/Animation.js');
45
46
 
46
47
  /**
@@ -3,6 +3,7 @@ import { RendererEvent } from '../utils/renderer-event';
3
3
  import { RendererAction, ListenerAction, ListenerContext } from './Action';
4
4
  export interface IAlertAction extends ListenerAction {
5
5
  actionType: 'alert';
6
+ dialog?: Schema;
6
7
  args: {
7
8
  msg: string;
8
9
  [propName: string]: any;
@@ -25,6 +26,7 @@ export interface IDialogAction extends ListenerAction {
25
26
  }
26
27
  export interface IConfirmDialogAction extends ListenerAction {
27
28
  actionType: 'confirmDialog';
29
+ dialog?: Schema;
28
30
  args: {
29
31
  msg: string;
30
32
  title: string;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -9,7 +9,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
10
  var tslib = require('tslib');
11
11
  var Action = require('./Action.js');
12
- var index = require('../index.js');
12
+ require('../index.js');
13
+ var tpl = require('../utils/tpl.js');
13
14
 
14
15
  /**
15
16
  * 打开弹窗动作
@@ -22,16 +23,16 @@ var DialogAction = /** @class */ (function () {
22
23
  function DialogAction() {
23
24
  }
24
25
  DialogAction.prototype.run = function (action, renderer, event) {
25
- var _a, _b, _c;
26
+ var _a, _b, _c, _d;
26
27
  return tslib.__awaiter(this, void 0, void 0, function () {
27
- return tslib.__generator(this, function (_d) {
28
+ return tslib.__generator(this, function (_e) {
28
29
  // 防止editor preview模式下执行
29
30
  if (action.$$id !== undefined) {
30
31
  return [2 /*return*/];
31
32
  }
32
33
  (_b = (_a = renderer.props).onAction) === null || _b === void 0 ? void 0 : _b.call(_a, event, {
33
34
  actionType: 'dialog',
34
- dialog: ((_c = action.args) === null || _c === void 0 ? void 0 : _c.dialog) || action.dialog,
35
+ dialog: (_c = action.dialog) !== null && _c !== void 0 ? _c : (_d = action.args) === null || _d === void 0 ? void 0 : _d.dialog,
35
36
  reload: 'none'
36
37
  }, action.data);
37
38
  return [2 /*return*/];
@@ -75,10 +76,10 @@ var AlertAction = /** @class */ (function () {
75
76
  function AlertAction() {
76
77
  }
77
78
  AlertAction.prototype.run = function (action, renderer, event) {
78
- var _a, _b, _c, _d;
79
+ var _a, _b, _c, _d, _e, _f, _g, _h;
79
80
  return tslib.__awaiter(this, void 0, void 0, function () {
80
- return tslib.__generator(this, function (_e) {
81
- (_b = (_a = event.context.env).alert) === null || _b === void 0 ? void 0 : _b.call(_a, (_c = action.args) === null || _c === void 0 ? void 0 : _c.msg, (_d = action.args) === null || _d === void 0 ? void 0 : _d.title);
81
+ return tslib.__generator(this, function (_j) {
82
+ (_b = (_a = event.context.env).alert) === null || _b === void 0 ? void 0 : _b.call(_a, (_d = tpl.filter((_c = action.dialog) === null || _c === void 0 ? void 0 : _c.msg, event.data)) !== null && _d !== void 0 ? _d : (_e = action.args) === null || _e === void 0 ? void 0 : _e.msg, (_g = tpl.filter((_f = action.dialog) === null || _f === void 0 ? void 0 : _f.title, event.data)) !== null && _g !== void 0 ? _g : (_h = action.args) === null || _h === void 0 ? void 0 : _h.title);
82
83
  return [2 /*return*/];
83
84
  });
84
85
  });
@@ -92,25 +93,41 @@ var ConfirmAction = /** @class */ (function () {
92
93
  function ConfirmAction() {
93
94
  }
94
95
  ConfirmAction.prototype.run = function (action, renderer, event) {
95
- var _a, _b, _c;
96
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
96
97
  return tslib.__awaiter(this, void 0, void 0, function () {
97
- var content, confirmed;
98
- return tslib.__generator(this, function (_d) {
99
- switch (_d.label) {
98
+ var type, confirmed_1, confirmed;
99
+ return tslib.__generator(this, function (_x) {
100
+ switch (_x.label) {
100
101
  case 0:
101
- content = ((_a = action.args) === null || _a === void 0 ? void 0 : _a.body)
102
- ? index.render(action.args.body)
103
- : action.args.msg;
104
- return [4 /*yield*/, ((_c = (_b = event.context.env).confirm) === null || _c === void 0 ? void 0 : _c.call(_b, content, action.args.title, {
105
- closeOnEsc: action.args.closeOnEsc,
106
- size: action.args.size,
107
- confirmText: action.args.confirmText,
108
- cancelText: action.args.cancelText,
109
- confirmBtnLevel: action.args.confirmBtnLevel,
110
- cancelBtnLevel: action.args.cancelBtnLevel
102
+ type = (_b = (_a = action.dialog) === null || _a === void 0 ? void 0 : _a.type) !== null && _b !== void 0 ? _b : (_c = action.args) === null || _c === void 0 ? void 0 : _c.type;
103
+ if (!!type) return [3 /*break*/, 2];
104
+ return [4 /*yield*/, ((_e = (_d = event.context.env).confirm) === null || _e === void 0 ? void 0 : _e.call(_d, tpl.filter((_f = action.dialog) === null || _f === void 0 ? void 0 : _f.msg, event.data) || ((_g = action.args) === null || _g === void 0 ? void 0 : _g.msg), tpl.filter((_h = action.dialog) === null || _h === void 0 ? void 0 : _h.title, event.data) || ((_j = action.args) === null || _j === void 0 ? void 0 : _j.title), {
105
+ closeOnEsc: tpl.filter((_k = action.dialog) === null || _k === void 0 ? void 0 : _k.closeOnEsc, event.data) ||
106
+ ((_l = action.args) === null || _l === void 0 ? void 0 : _l.closeOnEsc),
107
+ size: tpl.filter((_m = action.dialog) === null || _m === void 0 ? void 0 : _m.size, event.data) || ((_o = action.args) === null || _o === void 0 ? void 0 : _o.size),
108
+ confirmText: tpl.filter((_p = action.dialog) === null || _p === void 0 ? void 0 : _p.confirmText, event.data) ||
109
+ ((_q = action.args) === null || _q === void 0 ? void 0 : _q.confirmText),
110
+ cancelText: tpl.filter((_r = action.dialog) === null || _r === void 0 ? void 0 : _r.cancelText, event.data) ||
111
+ ((_s = action.args) === null || _s === void 0 ? void 0 : _s.cancelText),
112
+ confirmBtnLevel: tpl.filter((_t = action.dialog) === null || _t === void 0 ? void 0 : _t.confirmBtnLevel, event.data) ||
113
+ ((_u = action.args) === null || _u === void 0 ? void 0 : _u.confirmBtnLevel),
114
+ cancelBtnLevel: tpl.filter((_v = action.dialog) === null || _v === void 0 ? void 0 : _v.cancelBtnLevel, event.data) ||
115
+ ((_w = action.args) === null || _w === void 0 ? void 0 : _w.cancelBtnLevel)
111
116
  }))];
112
117
  case 1:
113
- confirmed = _d.sent();
118
+ confirmed_1 = _x.sent();
119
+ return [2 /*return*/, confirmed_1];
120
+ case 2: return [4 /*yield*/, new Promise(function (resolve, reject) {
121
+ var _a, _b, _c;
122
+ (_b = (_a = renderer.props).onAction) === null || _b === void 0 ? void 0 : _b.call(_a, event, {
123
+ actionType: 'dialog',
124
+ dialog: (_c = action.dialog) !== null && _c !== void 0 ? _c : action.args,
125
+ reload: 'none',
126
+ callback: function (result) { return resolve(result); }
127
+ }, action.data);
128
+ })];
129
+ case 3:
130
+ confirmed = _x.sent();
114
131
  return [2 /*return*/, confirmed];
115
132
  }
116
133
  });
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -21,12 +21,12 @@ var DrawerAction = /** @class */ (function () {
21
21
  function DrawerAction() {
22
22
  }
23
23
  DrawerAction.prototype.run = function (action, renderer, event) {
24
- var _a, _b, _c;
24
+ var _a, _b, _c, _d;
25
25
  return tslib.__awaiter(this, void 0, void 0, function () {
26
- return tslib.__generator(this, function (_d) {
26
+ return tslib.__generator(this, function (_e) {
27
27
  (_b = (_a = renderer.props).onAction) === null || _b === void 0 ? void 0 : _b.call(_a, event, {
28
28
  actionType: 'drawer',
29
- drawer: ((_c = action.args) === null || _c === void 0 ? void 0 : _c.drawer) || action.drawer,
29
+ drawer: (_c = action.drawer) !== null && _c !== void 0 ? _c : (_d = action.args) === null || _d === void 0 ? void 0 : _d.drawer,
30
30
  reload: 'none'
31
31
  }, action.data);
32
32
  return [2 /*return*/];
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -43,6 +43,7 @@ require('uncontrollable');
43
43
  require('hoist-non-react-statics');
44
44
  require('../utils/validations.js');
45
45
  require('../utils/resolveCondition.js');
46
+ require('mobx');
46
47
  require('../utils/Animation.js');
47
48
 
48
49
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -42,6 +42,7 @@ require('uncontrollable');
42
42
  require('hoist-non-react-statics');
43
43
  require('../utils/validations.js');
44
44
  require('../utils/resolveCondition.js');
45
+ require('mobx');
45
46
  require('../utils/Animation.js');
46
47
 
47
48
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
package/lib/env.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
package/lib/factory.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
package/lib/index.d.ts CHANGED
@@ -7,6 +7,7 @@
7
7
  */
8
8
  import { Renderer, getRendererByName, getRenderers, registerRenderer, unRegisterRenderer, resolveRenderer, filterSchema, clearStoresCache, updateEnv, addSchemaFilter, extendDefaultEnv } from './factory';
9
9
  import type { RenderOptions, RendererConfig, RendererProps } from './factory';
10
+ import './polyfills';
10
11
  import './renderers/builtin';
11
12
  import './renderers/register';
12
13
  export * from './utils/index';
package/lib/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -9,6 +9,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
10
  var tslib = require('tslib');
11
11
  var factory = require('./factory.js');
12
+ require('./polyfills.js');
12
13
  require('./renderers/builtin.js');
13
14
  require('./renderers/register.js');
14
15
  var api = require('./utils/api.js');
@@ -67,6 +68,7 @@ var toNumber = require('./utils/toNumber.js');
67
68
  var decodeEntity = require('./utils/decodeEntity.js');
68
69
  var styleHelper = require('./utils/style-helper.js');
69
70
  var resolveCondition = require('./utils/resolveCondition.js');
71
+ var arraySlice = require('./utils/arraySlice.js');
70
72
  var Animation = require('./utils/Animation.js');
71
73
  var index = require('./store/index.js');
72
74
  var mobxStateTree = require('mobx-state-tree');
@@ -132,7 +134,7 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
132
134
  */
133
135
  var classPrefix = theme.getClassPrefix();
134
136
  // @ts-ignore
135
- var version = '3.1.1';
137
+ var version = '3.2.0';
136
138
  function render(schema, props, options, pathPrefix) {
137
139
  if (props === void 0) { props = {}; }
138
140
  if (options === void 0) { options = {}; }
@@ -237,6 +239,7 @@ exports.dataMapping = dataMapping.dataMapping;
237
239
  exports.resolveMapping = dataMapping.resolveMapping;
238
240
  exports.resolveMappingObject = dataMapping.resolveMappingObject;
239
241
  exports.DataSchema = DataSchema.DataSchema;
242
+ exports.DATASCHEMA_TYPE_MAP = DataScope.DATASCHEMA_TYPE_MAP;
240
243
  exports.DataScope = DataScope.DataScope;
241
244
  exports.filterDate = date.filterDate;
242
245
  exports.normalizeDate = date.normalizeDate;
@@ -266,6 +269,7 @@ exports.getVariable = getVariable.getVariable;
266
269
  exports.collectVariables = grammar.collectVariables;
267
270
  exports.handleAction = handleAction.handleAction;
268
271
  exports.JSONTraverse = helper.JSONTraverse;
272
+ exports.JSONValueMap = helper.JSONValueMap;
269
273
  exports.SkipOperation = helper.SkipOperation;
270
274
  exports.__uri = helper.__uri;
271
275
  exports.anyChanged = helper.anyChanged;
@@ -422,6 +426,7 @@ exports.getConditionComputers = resolveCondition.getConditionComputers;
422
426
  exports.registerConditionComputer = resolveCondition.registerConditionComputer;
423
427
  exports.resolveCondition = resolveCondition.resolveCondition;
424
428
  exports.setConditionComputeErrorHandler = resolveCondition.setConditionComputeErrorHandler;
429
+ exports.arraySlice = arraySlice.arraySlice;
425
430
  exports.animation = Animation["default"];
426
431
  exports.RegisterStore = index.RegisterStore;
427
432
  exports.RendererStore = index.RendererStore;
package/lib/locale.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -0,0 +1,3 @@
1
+ /**
2
+ * 用于放一些关键的 polyfill
3
+ */
@@ -0,0 +1,20 @@
1
+ /**
2
+ * amis-core v3.2.0
3
+ * Copyright 2018-2023 fex
4
+ */
5
+
6
+ 'use strict';
7
+
8
+ /**
9
+ * 用于放一些关键的 polyfill
10
+ */
11
+ // ios 老版本没有这个会报错
12
+ if (!('DragEvent' in window)) {
13
+ Object.defineProperty(window, 'DragEvent', {
14
+ value: /** @class */ (function () {
15
+ function DragEvent() {
16
+ }
17
+ return DragEvent;
18
+ }())
19
+ });
20
+ }
@@ -354,7 +354,7 @@ export default class Form extends React.Component<FormProps, object> {
354
354
  handleFormSubmit(e: React.UIEvent<any>): any;
355
355
  handleReset(action: any): (data: any) => void;
356
356
  handleAction(e: React.UIEvent<any> | void, action: ActionObject, data: object, throwErrors?: boolean, delegate?: IScopedContext): Promise<any>;
357
- handleQuery(query: any): void;
357
+ handleQuery(query: any): any;
358
358
  handleDialogConfirm(values: object[], action: ActionObject, ctx: any, targets: Array<any>): void;
359
359
  handleDialogClose(confirmed?: boolean): void;
360
360
  handleDrawerConfirm(values: object[], action: ActionObject, ctx: any, targets: Array<any>): void;