amis-core 6.2.2 → 6.3.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 (327) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.d.ts +1 -1
  3. package/esm/RootRenderer.js +28 -10
  4. package/esm/SchemaRenderer.js +15 -6
  5. package/esm/Scoped.d.ts +1 -1
  6. package/esm/Scoped.js +3 -1
  7. package/esm/StatusScoped.js +4 -2
  8. package/esm/WithRootStore.js +1 -1
  9. package/esm/WithStore.js +28 -17
  10. package/esm/actions/Action.js +2 -2
  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 -2
  18. package/esm/actions/DialogAction.d.ts +8 -0
  19. package/esm/actions/DialogAction.js +95 -35
  20. package/esm/actions/DrawerAction.d.ts +5 -0
  21. package/esm/actions/DrawerAction.js +66 -11
  22. package/esm/actions/EmailAction.js +1 -1
  23. package/esm/actions/EventAction.d.ts +20 -0
  24. package/esm/actions/EventAction.js +102 -0
  25. package/esm/actions/LinkAction.js +1 -1
  26. package/esm/actions/LoopAction.js +1 -1
  27. package/esm/actions/PageAction.js +1 -1
  28. package/esm/actions/ParallelAction.js +1 -1
  29. package/esm/actions/PrintAction.js +1 -1
  30. package/esm/actions/StatusAction.js +1 -1
  31. package/esm/actions/SwitchAction.js +1 -1
  32. package/esm/actions/ToastAction.js +1 -1
  33. package/esm/actions/WaitAction.d.ts +18 -0
  34. package/esm/actions/WaitAction.js +41 -0
  35. package/esm/actions/index.d.ts +2 -0
  36. package/esm/components/CustomStyle.js +1 -1
  37. package/esm/components/ErrorBoundary.js +1 -1
  38. package/esm/components/LazyComponent.js +1 -1
  39. package/esm/components/Overlay.d.ts +3 -0
  40. package/esm/components/Overlay.js +7 -4
  41. package/esm/components/PopOver.js +2 -2
  42. package/esm/env.js +1 -1
  43. package/esm/envOverwrite.js +1 -1
  44. package/esm/factory.d.ts +2 -0
  45. package/esm/factory.js +1 -1
  46. package/esm/index.js +6 -4
  47. package/esm/locale.js +4 -2
  48. package/esm/polyfills.js +1 -1
  49. package/esm/renderers/Form.d.ts +3 -2
  50. package/esm/renderers/Form.js +82 -25
  51. package/esm/renderers/Item.d.ts +123 -79
  52. package/esm/renderers/Item.js +159 -60
  53. package/esm/renderers/Options.d.ts +0 -11
  54. package/esm/renderers/Options.js +20 -84
  55. package/esm/renderers/Placeholder.js +1 -1
  56. package/esm/renderers/builtin.js +1 -1
  57. package/esm/renderers/register.js +1 -1
  58. package/esm/renderers/wrapControl.d.ts +2 -1
  59. package/esm/renderers/wrapControl.js +4 -2
  60. package/esm/store/app.d.ts +5 -5
  61. package/esm/store/app.js +1 -1
  62. package/esm/store/combo.d.ts +255 -63
  63. package/esm/store/combo.js +1 -1
  64. package/esm/store/crud.d.ts +5 -5
  65. package/esm/store/crud.js +1 -1
  66. package/esm/store/form.d.ts +105 -25
  67. package/esm/store/form.js +33 -15
  68. package/esm/store/formItem.d.ts +6 -2
  69. package/esm/store/formItem.js +68 -5
  70. package/esm/store/iRenderer.d.ts +5 -5
  71. package/esm/store/iRenderer.js +23 -10
  72. package/esm/store/index.js +1 -1
  73. package/esm/store/list.d.ts +5 -5
  74. package/esm/store/list.js +1 -1
  75. package/esm/store/manager.js +1 -1
  76. package/esm/store/modal.d.ts +5 -5
  77. package/esm/store/modal.js +1 -1
  78. package/esm/store/node.js +1 -1
  79. package/esm/store/pagination.d.ts +5 -5
  80. package/esm/store/pagination.js +1 -1
  81. package/esm/store/root.d.ts +5 -5
  82. package/esm/store/root.js +1 -1
  83. package/esm/store/service.d.ts +5 -5
  84. package/esm/store/service.js +2 -2
  85. package/esm/store/status.js +1 -1
  86. package/esm/store/table.d.ts +243 -55
  87. package/esm/store/table.js +23 -9
  88. package/esm/store/table2.d.ts +5 -5
  89. package/esm/store/table2.js +1 -1
  90. package/esm/theme.js +4 -2
  91. package/esm/types.d.ts +7 -1
  92. package/esm/utils/Animation.js +1 -1
  93. package/esm/utils/ColorScale.js +1 -1
  94. package/esm/utils/DataSchema.js +1 -1
  95. package/esm/utils/DataScope.js +1 -1
  96. package/esm/utils/RootClose.js +1 -1
  97. package/esm/utils/SimpleMap.js +1 -1
  98. package/esm/utils/api.js +1 -1
  99. package/esm/utils/arraySlice.js +1 -1
  100. package/esm/utils/attachmentAdpator.js +1 -1
  101. package/esm/utils/autobind.js +1 -1
  102. package/esm/utils/browser.js +1 -1
  103. package/esm/utils/columnsSplit.js +1 -1
  104. package/esm/utils/concatData.js +1 -1
  105. package/esm/utils/dataMapping.js +1 -1
  106. package/esm/utils/date.js +1 -1
  107. package/esm/utils/debug.js +1 -1
  108. package/esm/utils/decodeEntity.js +1 -1
  109. package/esm/utils/dom.d.ts +2 -2
  110. package/esm/utils/dom.js +70 -11
  111. package/esm/utils/errors.js +1 -1
  112. package/esm/utils/escapeHtml.js +1 -1
  113. package/esm/utils/filter-schema.js +1 -1
  114. package/esm/utils/filter.js +1 -1
  115. package/esm/utils/formatDuration.js +1 -1
  116. package/esm/utils/formula.js +2 -2
  117. package/esm/utils/getVariable.js +1 -1
  118. package/esm/utils/grammar.js +1 -1
  119. package/esm/utils/handleAction.js +1 -1
  120. package/esm/utils/helper.d.ts +12 -6
  121. package/esm/utils/helper.js +39 -16
  122. package/esm/utils/highlight.js +1 -1
  123. package/esm/utils/icon.js +1 -1
  124. package/esm/utils/image.js +1 -1
  125. package/esm/utils/isPureVariable.js +1 -1
  126. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  127. package/esm/utils/keyToPath.js +1 -1
  128. package/esm/utils/labelToString.js +1 -1
  129. package/esm/utils/makeSorter.js +1 -1
  130. package/esm/utils/math.js +1 -1
  131. package/esm/utils/memoryParse.js +1 -1
  132. package/esm/utils/normalizeLink.js +1 -1
  133. package/esm/utils/normalizeOptions.js +1 -1
  134. package/esm/utils/object.js +1 -1
  135. package/esm/utils/offset.js +1 -1
  136. package/esm/utils/offsetParent.js +1 -1
  137. package/esm/utils/optionValueCompare.js +1 -1
  138. package/esm/utils/position.js +1 -1
  139. package/esm/utils/prettyBytes.js +1 -1
  140. package/esm/utils/printElement.js +1 -1
  141. package/esm/utils/renderer-event.d.ts +11 -0
  142. package/esm/utils/renderer-event.js +99 -2
  143. package/esm/utils/replaceText.js +1 -1
  144. package/esm/utils/resize-sensor.js +1 -1
  145. package/esm/utils/resolveCondition.js +1 -1
  146. package/esm/utils/resolveVariable.js +1 -1
  147. package/esm/utils/resolveVariableAndFilter.js +1 -1
  148. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  149. package/esm/utils/scrollPosition.js +1 -1
  150. package/esm/utils/string2regExp.js +1 -1
  151. package/esm/utils/stripNumber.d.ts +1 -1
  152. package/esm/utils/stripNumber.js +4 -3
  153. package/esm/utils/style-helper.d.ts +21 -2
  154. package/esm/utils/style-helper.js +55 -10
  155. package/esm/utils/style.js +1 -1
  156. package/esm/utils/toNumber.js +1 -1
  157. package/esm/utils/tokenize.js +1 -1
  158. package/esm/utils/tpl-builtin.js +1 -1
  159. package/esm/utils/tpl-lodash.js +1 -1
  160. package/esm/utils/tpl.js +1 -1
  161. package/esm/utils/uncontrollable.js +1 -1
  162. package/esm/utils/validateId.js +5 -2
  163. package/esm/utils/validations.js +1 -1
  164. package/lib/Root.js +1 -1
  165. package/lib/RootRenderer.d.ts +1 -1
  166. package/lib/RootRenderer.js +28 -10
  167. package/lib/SchemaRenderer.js +14 -5
  168. package/lib/Scoped.d.ts +1 -1
  169. package/lib/Scoped.js +3 -1
  170. package/lib/StatusScoped.js +4 -2
  171. package/lib/WithRootStore.js +1 -1
  172. package/lib/WithStore.js +28 -17
  173. package/lib/actions/Action.js +2 -2
  174. package/lib/actions/AjaxAction.js +1 -1
  175. package/lib/actions/BreakAction.js +1 -1
  176. package/lib/actions/BroadcastAction.js +1 -1
  177. package/lib/actions/CmptAction.js +2 -2
  178. package/lib/actions/ContinueAction.js +1 -1
  179. package/lib/actions/CopyAction.js +1 -1
  180. package/lib/actions/CustomAction.js +1 -1
  181. package/lib/actions/DialogAction.d.ts +8 -0
  182. package/lib/actions/DialogAction.js +98 -35
  183. package/lib/actions/DrawerAction.d.ts +5 -0
  184. package/lib/actions/DrawerAction.js +69 -11
  185. package/lib/actions/EmailAction.js +1 -1
  186. package/lib/actions/EventAction.d.ts +20 -0
  187. package/lib/actions/EventAction.js +109 -0
  188. package/lib/actions/LinkAction.js +1 -1
  189. package/lib/actions/LoopAction.js +1 -1
  190. package/lib/actions/PageAction.js +1 -1
  191. package/lib/actions/ParallelAction.js +1 -1
  192. package/lib/actions/PrintAction.js +1 -1
  193. package/lib/actions/StatusAction.js +1 -1
  194. package/lib/actions/SwitchAction.js +1 -1
  195. package/lib/actions/ToastAction.js +1 -1
  196. package/lib/actions/WaitAction.d.ts +18 -0
  197. package/lib/actions/WaitAction.js +45 -0
  198. package/lib/actions/index.d.ts +2 -0
  199. package/lib/components/CustomStyle.js +1 -1
  200. package/lib/components/ErrorBoundary.js +1 -1
  201. package/lib/components/LazyComponent.js +1 -1
  202. package/lib/components/Overlay.d.ts +3 -0
  203. package/lib/components/Overlay.js +7 -4
  204. package/lib/components/PopOver.js +1 -1
  205. package/lib/env.js +1 -1
  206. package/lib/envOverwrite.js +1 -1
  207. package/lib/factory.d.ts +2 -0
  208. package/lib/factory.js +1 -1
  209. package/lib/index.js +6 -4
  210. package/lib/locale.js +4 -2
  211. package/lib/polyfills.js +1 -1
  212. package/lib/renderers/Form.d.ts +3 -2
  213. package/lib/renderers/Form.js +83 -24
  214. package/lib/renderers/Item.d.ts +123 -79
  215. package/lib/renderers/Item.js +158 -58
  216. package/lib/renderers/Options.d.ts +0 -11
  217. package/lib/renderers/Options.js +19 -84
  218. package/lib/renderers/Placeholder.js +1 -1
  219. package/lib/renderers/builtin.js +1 -1
  220. package/lib/renderers/register.js +1 -1
  221. package/lib/renderers/wrapControl.d.ts +2 -1
  222. package/lib/renderers/wrapControl.js +4 -2
  223. package/lib/store/app.d.ts +5 -5
  224. package/lib/store/app.js +1 -1
  225. package/lib/store/combo.d.ts +255 -63
  226. package/lib/store/combo.js +1 -1
  227. package/lib/store/crud.d.ts +5 -5
  228. package/lib/store/crud.js +1 -1
  229. package/lib/store/form.d.ts +105 -25
  230. package/lib/store/form.js +33 -15
  231. package/lib/store/formItem.d.ts +6 -2
  232. package/lib/store/formItem.js +67 -4
  233. package/lib/store/iRenderer.d.ts +5 -5
  234. package/lib/store/iRenderer.js +23 -10
  235. package/lib/store/index.js +1 -1
  236. package/lib/store/list.d.ts +5 -5
  237. package/lib/store/list.js +1 -1
  238. package/lib/store/manager.js +1 -1
  239. package/lib/store/modal.d.ts +5 -5
  240. package/lib/store/modal.js +1 -1
  241. package/lib/store/node.js +1 -1
  242. package/lib/store/pagination.d.ts +5 -5
  243. package/lib/store/pagination.js +1 -1
  244. package/lib/store/root.d.ts +5 -5
  245. package/lib/store/root.js +1 -1
  246. package/lib/store/service.d.ts +5 -5
  247. package/lib/store/service.js +2 -2
  248. package/lib/store/status.js +1 -1
  249. package/lib/store/table.d.ts +243 -55
  250. package/lib/store/table.js +23 -9
  251. package/lib/store/table2.d.ts +5 -5
  252. package/lib/store/table2.js +1 -1
  253. package/lib/theme.js +4 -2
  254. package/lib/types.d.ts +7 -1
  255. package/lib/utils/Animation.js +1 -1
  256. package/lib/utils/ColorScale.js +1 -1
  257. package/lib/utils/DataSchema.js +1 -1
  258. package/lib/utils/DataScope.js +1 -1
  259. package/lib/utils/RootClose.js +1 -1
  260. package/lib/utils/SimpleMap.js +1 -1
  261. package/lib/utils/api.js +1 -1
  262. package/lib/utils/arraySlice.js +1 -1
  263. package/lib/utils/attachmentAdpator.js +1 -1
  264. package/lib/utils/autobind.js +1 -1
  265. package/lib/utils/browser.js +1 -1
  266. package/lib/utils/columnsSplit.js +1 -1
  267. package/lib/utils/concatData.js +1 -1
  268. package/lib/utils/dataMapping.js +1 -1
  269. package/lib/utils/date.js +1 -1
  270. package/lib/utils/debug.js +1 -1
  271. package/lib/utils/decodeEntity.js +1 -1
  272. package/lib/utils/dom.d.ts +2 -2
  273. package/lib/utils/dom.js +70 -11
  274. package/lib/utils/errors.js +1 -1
  275. package/lib/utils/escapeHtml.js +1 -1
  276. package/lib/utils/filter-schema.js +1 -1
  277. package/lib/utils/filter.js +1 -1
  278. package/lib/utils/formatDuration.js +1 -1
  279. package/lib/utils/formula.js +2 -2
  280. package/lib/utils/getVariable.js +1 -1
  281. package/lib/utils/grammar.js +1 -1
  282. package/lib/utils/handleAction.js +1 -1
  283. package/lib/utils/helper.d.ts +12 -6
  284. package/lib/utils/helper.js +39 -17
  285. package/lib/utils/highlight.js +1 -1
  286. package/lib/utils/icon.js +1 -1
  287. package/lib/utils/image.js +1 -1
  288. package/lib/utils/isPureVariable.js +1 -1
  289. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  290. package/lib/utils/keyToPath.js +1 -1
  291. package/lib/utils/labelToString.js +1 -1
  292. package/lib/utils/makeSorter.js +1 -1
  293. package/lib/utils/math.js +1 -1
  294. package/lib/utils/memoryParse.js +1 -1
  295. package/lib/utils/normalizeLink.js +1 -1
  296. package/lib/utils/normalizeOptions.js +1 -1
  297. package/lib/utils/object.js +1 -1
  298. package/lib/utils/offset.js +1 -1
  299. package/lib/utils/offsetParent.js +1 -1
  300. package/lib/utils/optionValueCompare.js +1 -1
  301. package/lib/utils/position.js +1 -1
  302. package/lib/utils/prettyBytes.js +1 -1
  303. package/lib/utils/printElement.js +1 -1
  304. package/lib/utils/renderer-event.d.ts +11 -0
  305. package/lib/utils/renderer-event.js +99 -1
  306. package/lib/utils/replaceText.js +1 -1
  307. package/lib/utils/resize-sensor.js +1 -1
  308. package/lib/utils/resolveCondition.js +1 -1
  309. package/lib/utils/resolveVariable.js +1 -1
  310. package/lib/utils/resolveVariableAndFilter.js +1 -1
  311. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  312. package/lib/utils/scrollPosition.js +1 -1
  313. package/lib/utils/string2regExp.js +1 -1
  314. package/lib/utils/stripNumber.d.ts +1 -1
  315. package/lib/utils/stripNumber.js +4 -3
  316. package/lib/utils/style-helper.d.ts +21 -2
  317. package/lib/utils/style-helper.js +55 -10
  318. package/lib/utils/style.js +1 -1
  319. package/lib/utils/toNumber.js +1 -1
  320. package/lib/utils/tokenize.js +1 -1
  321. package/lib/utils/tpl-builtin.js +1 -1
  322. package/lib/utils/tpl-lodash.js +1 -1
  323. package/lib/utils/tpl.js +1 -1
  324. package/lib/utils/uncontrollable.js +1 -1
  325. package/lib/utils/validateId.js +9 -2
  326. package/lib/utils/validations.js +1 -1
  327. package/package.json +5 -3
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.3.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -142,12 +142,30 @@ var RootRenderer = /** @class */ (function (_super) {
142
142
  window.open(mailto);
143
143
  }
144
144
  else if (action.actionType === 'dialog') {
145
- store.setCurrentAction(action);
146
- store.openDialog(ctx, undefined, action.callback, delegate || this.context);
145
+ store.setCurrentAction(action, this.props.resolveDefinitions);
146
+ return new Promise(function (resolve) {
147
+ store.openDialog(ctx, undefined, function (confirmed, value) {
148
+ var _a;
149
+ (_a = action.callback) === null || _a === void 0 ? void 0 : _a.call(action, confirmed, value);
150
+ resolve({
151
+ confirmed: confirmed,
152
+ value: value
153
+ });
154
+ }, delegate || _this.context);
155
+ });
147
156
  }
148
157
  else if (action.actionType === 'drawer') {
149
- store.setCurrentAction(action);
150
- store.openDrawer(ctx, undefined, undefined, delegate);
158
+ store.setCurrentAction(action, this.props.resolveDefinitions);
159
+ return new Promise(function (resolve) {
160
+ store.openDrawer(ctx, undefined, function (confirmed, value) {
161
+ var _a;
162
+ (_a = action.callback) === null || _a === void 0 ? void 0 : _a.call(action, confirmed, value);
163
+ resolve({
164
+ confirmed: confirmed,
165
+ value: value
166
+ });
167
+ }, delegate);
168
+ });
151
169
  }
152
170
  else if (action.actionType === 'toast') {
153
171
  (_b = (_a = action.toast) === null || _a === void 0 ? void 0 : _a.items) === null || _b === void 0 ? void 0 : _b.forEach(function (item) {
@@ -159,7 +177,7 @@ var RootRenderer = /** @class */ (function (_super) {
159
177
  });
160
178
  }
161
179
  else if (action.actionType === 'ajax') {
162
- store.setCurrentAction(action);
180
+ store.setCurrentAction(action, this.props.resolveDefinitions);
163
181
  store
164
182
  .saveRemote(action.api, ctx, {
165
183
  successMessage: (action.messages && action.messages.success) ||
@@ -231,7 +249,7 @@ var RootRenderer = /** @class */ (function (_super) {
231
249
  var dialogAction = store.action;
232
250
  var reload = (_a = action.reload) !== null && _a !== void 0 ? _a : dialogAction.reload;
233
251
  var scoped = store.getDialogScoped() || this.context;
234
- store.closeDialog(true);
252
+ store.closeDialog(true, values);
235
253
  if (reload) {
236
254
  scoped.reload(reload, store.data);
237
255
  }
@@ -260,7 +278,7 @@ var RootRenderer = /** @class */ (function (_super) {
260
278
  var drawerAction = store.action;
261
279
  var reload = (_a = action.reload) !== null && _a !== void 0 ? _a : drawerAction.reload;
262
280
  var scoped = store.getDrawerScoped() || this.context;
263
- store.closeDrawer();
281
+ store.closeDrawer(true, values);
264
282
  // 稍等会,等动画结束。
265
283
  setTimeout(function () {
266
284
  if (reload) {
@@ -270,7 +288,7 @@ var RootRenderer = /** @class */ (function (_super) {
270
288
  };
271
289
  RootRenderer.prototype.handleDrawerClose = function () {
272
290
  var store = this.store;
273
- store.closeDrawer();
291
+ store.closeDrawer(false);
274
292
  };
275
293
  RootRenderer.prototype.openFeedback = function (dialog, ctx) {
276
294
  var _this = this;
@@ -280,7 +298,7 @@ var RootRenderer = /** @class */ (function (_super) {
280
298
  type: 'button',
281
299
  actionType: 'dialog',
282
300
  dialog: dialog
283
- });
301
+ }, _this.props.resolveDefinitions);
284
302
  store.openDialog(ctx, undefined, function (confirmed) {
285
303
  resolve(confirmed);
286
304
  }, _this.context);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.3.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -11,6 +11,7 @@ var tslib = require('tslib');
11
11
  var difference = require('lodash/difference');
12
12
  var omit = require('lodash/omit');
13
13
  var React = require('react');
14
+ var reactIs = require('react-is');
14
15
  var LazyComponent = require('./components/LazyComponent.js');
15
16
  var factory = require('./factory.js');
16
17
  var Item = require('./renderers/Item.js');
@@ -49,6 +50,7 @@ var RENDERER_TRANSMISSION_OMIT_PROPS = [
49
50
  'children',
50
51
  'ref',
51
52
  'visible',
53
+ 'loading',
52
54
  'visibleOn',
53
55
  'hidden',
54
56
  'hiddenOn',
@@ -71,7 +73,8 @@ var RENDERER_TRANSMISSION_OMIT_PROPS = [
71
73
  'renderLabel',
72
74
  'trackExpression',
73
75
  'editorSetting',
74
- 'updatePristineAfterStoreDataReInit'
76
+ 'updatePristineAfterStoreDataReInit',
77
+ 'source'
75
78
  ];
76
79
  var componentCache = new SimpleMap.SimpleMap();
77
80
  var SchemaRenderer = /** @class */ (function (_super) {
@@ -260,7 +263,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
260
263
  ? schema.children
261
264
  : schema.children(tslib.__assign(tslib.__assign(tslib.__assign({}, rest), exprProps), { $path: $path, $schema: schema, render: this.renderChild, forwardedRef: this.refFn, rootStore: rootStore, statusStore: statusStore, dispatchEvent: this.dispatchEvent }));
262
265
  }
263
- else if (typeof schema.component === 'function') {
266
+ else if (schema.component && reactIs.isValidElementType(schema.component)) {
264
267
  var isSFC = !(schema.component.prototype instanceof React__default["default"].Component);
265
268
  var defaultData_1 = schema.data, defaultValue_1 = schema.value, // render时的value改放defaultValue中
266
269
  defaultActiveKey_1 = schema.activeKey, propKey_1 = schema.key, restSchema_1 = tslib.__rest(schema, ["data", "value", "activeKey", "key"]);
@@ -327,8 +330,14 @@ var SchemaRenderer = /** @class */ (function (_super) {
327
330
  if (isStatic !== undefined) {
328
331
  props.static = isStatic;
329
332
  }
330
- if (rest.env.enableTestid && props.id && !props.testid) {
331
- props.testid = props.id;
333
+ // 优先使用组件自己的testid或者id,这个解决不了table行内的一些子元素
334
+ // 每一行都会出现这个testid的元素,只在测试工具中直接使用nth拿序号
335
+ if (rest.env.enableTestid) {
336
+ if (props.testid || props.id || props.testIdBuilder == null) {
337
+ if (!(props.testIdBuilder instanceof helper.TestIdBuilder)) {
338
+ props.testIdBuilder = new helper.TestIdBuilder(props.testid || props.id);
339
+ }
340
+ }
332
341
  }
333
342
  // 自动解析变量模式,主要是方便直接引入第三方组件库,无需为了支持变量封装一层
334
343
  if (renderer.autoVar) {
package/lib/Scoped.d.ts CHANGED
@@ -22,7 +22,7 @@ export declare function filterTarget(target: string, data: Record<string, any>):
22
22
  export declare function splitTarget(target: string): Array<string>;
23
23
  export interface ScopedComponentType extends React.Component<RendererProps> {
24
24
  focus?: () => void;
25
- doAction?: (action: ActionObject, data: RendererData, throwErrors?: boolean) => void;
25
+ doAction?: (action: ActionObject, data: RendererData, throwErrors?: boolean, args?: any) => void;
26
26
  receive?: (values: RendererData, subPath?: string, replace?: boolean) => void;
27
27
  reload?: (subPath?: string, query?: RendererData | null, ctx?: RendererData) => void;
28
28
  context: any;
package/lib/Scoped.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.3.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -69,8 +69,10 @@ require('./actions/CopyAction.js');
69
69
  require('./actions/DialogAction.js');
70
70
  require('./actions/DrawerAction.js');
71
71
  require('./actions/EmailAction.js');
72
+ require('./actions/EventAction.js');
72
73
  require('./actions/LinkAction.js');
73
74
  require('./actions/ToastAction.js');
75
+ require('./actions/WaitAction.js');
74
76
  require('./actions/PageAction.js');
75
77
  require('./actions/PrintAction.js');
76
78
  var Action = require('./actions/Action.js');
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.3.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -50,7 +50,9 @@ function StatusScoped(ComposedComponent) {
50
50
  var injectedProps = {
51
51
  statusStore: this.store
52
52
  };
53
- var refConfig = ((_a = ComposedComponent.prototype) === null || _a === void 0 ? void 0 : _a.isReactComponent)
53
+ var refConfig = ((_a = ComposedComponent.prototype) === null || _a === void 0 ? void 0 : _a.isReactComponent) ||
54
+ ComposedComponent.$$typeof ===
55
+ Symbol.for('react.forward_ref')
54
56
  ? { ref: this.childRef }
55
57
  : { forwardedRef: this.childRef };
56
58
  return (_J$X_(ComposedComponent, tslib.__assign({}, this.props, injectedProps, refConfig)));
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.3.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/lib/WithStore.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.3.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -31,6 +31,17 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
31
31
  var __react_jsx__ = require('react');
32
32
  var _J$X_ = (__react_jsx__["default"] || __react_jsx__).createElement;
33
33
  (__react_jsx__["default"] || __react_jsx__).Fragment;
34
+ /**
35
+ * 忽略静态数据中的 schema 属性
36
+ *
37
+ * 比如 https://github.com/baidu/amis/issues/8972 中的用法
38
+ */
39
+ function ignoreSchemaProps(key, value) {
40
+ if (['clickAction'].includes(key) && typeof value !== 'string') {
41
+ return true;
42
+ }
43
+ return false;
44
+ }
34
45
  function HocStoreFactory(renderer) {
35
46
  return function (Component) {
36
47
  var StoreFactory = /** @class */ (function (_super) {
@@ -54,19 +65,19 @@ function HocStoreFactory(renderer) {
54
65
  if (extendsData === false) {
55
66
  store.initData(object.createObject(_this.props.data
56
67
  ? _this.props.data.__super
57
- : null, tslib.__assign(tslib.__assign({}, _this.formatData(dataMapping.dataMapping(_this.props.defaultData, _this.props.data))), _this.formatData(_this.props.data))));
68
+ : null, tslib.__assign(tslib.__assign({}, _this.formatData(dataMapping.dataMapping(_this.props.defaultData, _this.props.data, ignoreSchemaProps))), _this.formatData(_this.props.data))));
58
69
  }
59
70
  else if (_this.props.scope ||
60
71
  (_this.props.data && _this.props.data.__super)) {
61
- if (_this.props.store && _this.props.data === _this.props.store.data) {
62
- store.initData(object.createObject(_this.props.store.data, tslib.__assign({}, _this.formatData(dataMapping.dataMapping(_this.props.defaultData, _this.props.data)))));
72
+ if (_this.props.store && _this.props.data === _this.props.scope) {
73
+ store.initData(object.createObject(_this.props.store.data, tslib.__assign({}, _this.formatData(dataMapping.dataMapping(_this.props.defaultData, _this.props.data, ignoreSchemaProps)))));
63
74
  }
64
75
  else {
65
- store.initData(object.createObject(_this.props.data.__super || _this.props.scope, tslib.__assign(tslib.__assign({}, _this.formatData(dataMapping.dataMapping(_this.props.defaultData, _this.props.data))), _this.formatData(_this.props.data))));
76
+ store.initData(object.createObject(_this.props.data.__super || _this.props.scope, tslib.__assign(tslib.__assign({}, _this.formatData(dataMapping.dataMapping(_this.props.defaultData, _this.props.data, ignoreSchemaProps))), _this.formatData(_this.props.data))));
66
77
  }
67
78
  }
68
79
  else {
69
- store.initData(tslib.__assign(tslib.__assign({}, _this.formatData(dataMapping.dataMapping(_this.props.defaultData, _this.props.data))), _this.formatData(_this.props.data)));
80
+ store.initData(tslib.__assign(tslib.__assign({}, _this.formatData(dataMapping.dataMapping(_this.props.defaultData, _this.props.data, ignoreSchemaProps))), _this.formatData(_this.props.data)));
70
81
  }
71
82
  _this.state = {};
72
83
  var detectField = props.detectField, rest = tslib.__rest(props, ["detectField"]);
@@ -96,7 +107,7 @@ function HocStoreFactory(renderer) {
96
107
  };
97
108
  StoreFactory.prototype.componentDidUpdate = function (prevProps) {
98
109
  var _this = this;
99
- var _a, _b, _c, _d;
110
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
100
111
  var props = this.props;
101
112
  var store = this.store;
102
113
  // dialog 场景下 schema 是显示的时候更新的,
@@ -130,7 +141,7 @@ function HocStoreFactory(renderer) {
130
141
  (props.data &&
131
142
  prevProps.data &&
132
143
  props.data.__super !== prevProps.data.__super))) {
133
- store.initData(object.extendObject(props.data, tslib.__assign(tslib.__assign(tslib.__assign({}, (store.hasRemoteData ? store.data : null)), this.formatData(props.defaultData)), this.formatData(props.data))), props.updatePristineAfterStoreDataReInit === false);
144
+ store.initData(object.extendObject(props.data, tslib.__assign(tslib.__assign(tslib.__assign({}, (store.hasRemoteData ? store.data : null)), this.formatData(props.defaultData)), this.formatData(props.data))), ((_c = props.updatePristineAfterStoreDataReInit) !== null && _c !== void 0 ? _c : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
134
145
  }
135
146
  }
136
147
  else if (shouldSync === true ||
@@ -140,9 +151,9 @@ function HocStoreFactory(renderer) {
140
151
  : helper.isObjectShallowModified(prevProps.data, props.data) ||
141
152
  (props.syncSuperStore !== false &&
142
153
  helper.isSuperDataModified(props.data, prevProps.data, store)))) {
143
- if (props.store && props.store.data === props.data) {
154
+ if (props.store && props.scope === props.data) {
144
155
  store.initData(object.createObject(props.store.data, props.syncSuperStore === false
145
- ? tslib.__assign({}, store.data) : helper.syncDataFromSuper(store.data, props.store.data, prevProps.scope, store, props.syncSuperStore === true)), props.updatePristineAfterStoreDataReInit === false);
156
+ ? tslib.__assign({}, store.data) : helper.syncDataFromSuper(store.data, props.store.data, prevProps.scope, store, props.syncSuperStore === true)), ((_d = props.updatePristineAfterStoreDataReInit) !== null && _d !== void 0 ? _d : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
146
157
  }
147
158
  else if (props.data && props.data.__super) {
148
159
  store.initData(object.extendObject(props.data,
@@ -151,24 +162,24 @@ function HocStoreFactory(renderer) {
151
162
  store.hasRemoteData || !store.path.includes('/')
152
163
  ? tslib.__assign(tslib.__assign({}, store.data), props.data) : // combo 不需要同步,如果要同步,在 Combo.tsx 里面已经实现了相关逻辑
153
164
  // 目前主要的问题是,如果 combo 中表单项名字和 combo 本身的名字一样,会导致里面的值会被覆盖成数组
154
- ((_c = props.store) === null || _c === void 0 ? void 0 : _c.storeType) === 'ComboStore'
165
+ ((_e = props.store) === null || _e === void 0 ? void 0 : _e.storeType) === 'ComboStore'
155
166
  ? undefined
156
- : helper.syncDataFromSuper(tslib.__assign(tslib.__assign({}, store.data), props.data), props.data.__super, prevProps.data.__super, store, false)), props.updatePristineAfterStoreDataReInit === false);
167
+ : helper.syncDataFromSuper(tslib.__assign(tslib.__assign({}, store.data), props.data), props.data.__super, prevProps.data.__super, store, false)), ((_f = props.updatePristineAfterStoreDataReInit) !== null && _f !== void 0 ? _f : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
157
168
  }
158
169
  else {
159
- store.initData(object.createObject(props.scope, props.data), props.updatePristineAfterStoreDataReInit === false);
170
+ store.initData(object.createObject(props.scope, props.data), ((_g = props.updatePristineAfterStoreDataReInit) !== null && _g !== void 0 ? _g : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
160
171
  }
161
172
  }
162
173
  else if (!props.trackExpression &&
163
- (!props.store || props.data !== props.store.data) &&
174
+ (!props.store || props.data !== props.scope) &&
164
175
  props.data &&
165
176
  props.data.__super) {
166
177
  // 这个用法很少,当 data.__super 值发生变化时,更新 store.data
167
178
  if (!prevProps.data ||
168
179
  helper.isObjectShallowModified(props.data.__super, prevProps.data.__super, false)) {
169
- store.initData(object.createObject(props.data.__super, tslib.__assign(tslib.__assign({}, props.data), store.data)), props.updatePristineAfterStoreDataReInit === false ||
180
+ store.initData(object.createObject(props.data.__super, tslib.__assign(tslib.__assign({}, props.data), store.data)), ((_h = props.updatePristineAfterStoreDataReInit) !== null && _h !== void 0 ? _h : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false ||
170
181
  (store.storeType === 'FormStore' &&
171
- ((_d = prevProps.store) === null || _d === void 0 ? void 0 : _d.storeType) === 'CRUDStore'));
182
+ ((_j = prevProps.store) === null || _j === void 0 ? void 0 : _j.storeType) === 'CRUDStore'));
172
183
  }
173
184
  // nextProps.data.__super !== props.data.__super) &&
174
185
  }
@@ -178,7 +189,7 @@ function HocStoreFactory(renderer) {
178
189
  prevProps.data !== props.data) {
179
190
  // 只有父级数据变动的时候才应该进来,
180
191
  // 目前看来这个 case 很少有情况下能进来
181
- store.initData(object.createObject(props.scope, tslib.__assign({}, store.data)), props.updatePristineAfterStoreDataReInit === false);
192
+ store.initData(object.createObject(props.scope, tslib.__assign({}, store.data)), ((_k = props.updatePristineAfterStoreDataReInit) !== null && _k !== void 0 ? _k : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
182
193
  }
183
194
  };
184
195
  StoreFactory.prototype.componentWillUnmount = function () {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.3.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -281,7 +281,7 @@ var runAction = function (actionInstrance, actionConfig, renderer, event) { retu
281
281
  (_u = console.group) === null || _u === void 0 ? void 0 : _u.call(console, "run action ".concat(action.actionType));
282
282
  console.debug("[".concat(action.actionType, "] action args, data"), args, data);
283
283
  stopped = false;
284
- return [4 /*yield*/, actionInstrance.run(tslib.__assign(tslib.__assign(tslib.__assign({}, action), { args: args, data: action.actionType === 'reload' ? actionData : data }), key), renderer, event, mergeData)];
284
+ return [4 /*yield*/, actionInstrance.run(tslib.__assign(tslib.__assign(tslib.__assign({}, action), { args: args, rawData: actionConfig.data, data: action.actionType === 'reload' ? actionData : data }), key), renderer, event, mergeData)];
285
285
  case 5:
286
286
  actionResult = _w.sent();
287
287
  // 二次确认弹窗如果取消,则终止后续动作
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.3.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.3.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.3.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.3.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -111,7 +111,7 @@ var CmptAction = /** @class */ (function () {
111
111
  case 6: return [2 /*return*/];
112
112
  case 7:
113
113
  _11.trys.push([7, 9, , 10]);
114
- return [4 /*yield*/, ((_z = component === null || component === void 0 ? void 0 : component.doAction) === null || _z === void 0 ? void 0 : _z.call(component, action, action.args, true))];
114
+ return [4 /*yield*/, ((_z = component === null || component === void 0 ? void 0 : component.doAction) === null || _z === void 0 ? void 0 : _z.call(component, action, event.data, true, action.args))];
115
115
  case 8:
116
116
  result = _11.sent();
117
117
  if (['validate', 'submit'].includes(action.actionType)) {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.3.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.3.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.3.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -23,6 +23,14 @@ export interface IDialogAction extends ListenerAction {
23
23
  dialog: SchemaNode;
24
24
  };
25
25
  dialog?: SchemaNode;
26
+ /**
27
+ * 是否等待确认结果
28
+ */
29
+ waitForAction?: boolean;
30
+ /**
31
+ * 如果等待结果,将弹窗结果保存到此处变量
32
+ */
33
+ outputVar?: string;
26
34
  }
27
35
  export interface IConfirmDialogAction extends ListenerAction {
28
36
  actionType: 'confirmDialog';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.3.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -8,8 +8,48 @@
8
8
  Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
10
  var tslib = require('tslib');
11
+ require('../utils/api.js');
12
+ require('../utils/browser.js');
13
+ require('../utils/ColorScale.js');
14
+ require('../utils/columnsSplit.js');
15
+ var object = require('../utils/object.js');
16
+ require('amis-formula');
17
+ require('lodash/isPlainObject');
18
+ require('../utils/DataSchema.js');
19
+ require('../utils/DataScope.js');
20
+ require('moment');
21
+ require('../utils/debug.js');
22
+ require('../utils/dom.js');
23
+ require('../utils/errors.js');
11
24
  var tpl = require('../utils/tpl.js');
25
+ require('../utils/helper.js');
26
+ require('../utils/filter.js');
27
+ require('lodash/isObject');
28
+ require('lodash/isString');
29
+ require('lodash/isBoolean');
30
+ require('../utils/highlight.js');
31
+ require('../utils/icon.js');
32
+ require('../utils/image.js');
33
+ require('lodash/isEqual');
12
34
  var Action = require('./Action.js');
35
+ require('lodash/debounce');
36
+ require('../utils/resize-sensor.js');
37
+ require('react');
38
+ require('react-overlays/useRootClose');
39
+ require('react-dom');
40
+ require('../utils/SimpleMap.js');
41
+ require('lodash/mapValues');
42
+ require('lodash/camelCase');
43
+ require('lodash/cloneDeep');
44
+ require('lodash/map');
45
+ require('lodash/isEmpty');
46
+ require('lodash/kebabCase');
47
+ require('uncontrollable');
48
+ require('hoist-non-react-statics');
49
+ require('../utils/validations.js');
50
+ require('../utils/resolveCondition.js');
51
+ require('mobx');
52
+ require('../utils/Animation.js');
13
53
 
14
54
  /**
15
55
  * 打开弹窗动作
@@ -24,17 +64,34 @@ var DialogAction = /** @class */ (function () {
24
64
  DialogAction.prototype.run = function (action, renderer, event) {
25
65
  var _a, _b;
26
66
  return tslib.__awaiter(this, void 0, void 0, function () {
27
- return tslib.__generator(this, function (_c) {
28
- // 防止editor preview模式下执行
29
- if (action.$$id !== undefined) {
30
- return [2 /*return*/];
67
+ var ret, _c, confirmed, value;
68
+ var _d;
69
+ return tslib.__generator(this, function (_e) {
70
+ switch (_e.label) {
71
+ case 0:
72
+ // 防止editor preview模式下执行
73
+ if (action.$$id !== undefined) {
74
+ return [2 /*return*/];
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);
82
+ if (!action.waitForAction) return [3 /*break*/, 2];
83
+ return [4 /*yield*/, ret];
84
+ case 1:
85
+ _c = _e.sent(), confirmed = _c.confirmed, value = _c.value;
86
+ event.setData(object.extendObject(event.data, (_d = {},
87
+ _d[action.outputVar || 'dialogResponse'] = {
88
+ confirmed: confirmed,
89
+ value: value
90
+ },
91
+ _d)));
92
+ _e.label = 2;
93
+ case 2: return [2 /*return*/];
31
94
  }
32
- (_b = (_a = renderer.props).onAction) === null || _b === void 0 ? void 0 : _b.call(_a, event, {
33
- actionType: 'dialog',
34
- dialog: action.dialog,
35
- reload: 'none'
36
- }, action.data);
37
- return [2 /*return*/];
38
95
  });
39
96
  });
40
97
  };
@@ -75,10 +132,10 @@ var AlertAction = /** @class */ (function () {
75
132
  function AlertAction() {
76
133
  }
77
134
  AlertAction.prototype.run = function (action, renderer, event) {
78
- var _a, _b, _c, _d, _e, _f, _g, _h;
135
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
79
136
  return tslib.__awaiter(this, void 0, void 0, function () {
80
- return tslib.__generator(this, function (_j) {
81
- (_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);
137
+ return tslib.__generator(this, function (_l) {
138
+ (_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, (_k = tpl.filter((_j = action.dialog) === null || _j === void 0 ? void 0 : _j.className, event.data)) !== null && _k !== void 0 ? _k : '');
82
139
  return [2 /*return*/];
83
140
  });
84
141
  });
@@ -92,41 +149,47 @@ var ConfirmAction = /** @class */ (function () {
92
149
  function ConfirmAction() {
93
150
  }
94
151
  ConfirmAction.prototype.run = function (action, renderer, event) {
95
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
152
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
96
153
  return tslib.__awaiter(this, void 0, void 0, function () {
97
- var type, confirmed_1, confirmed;
98
- return tslib.__generator(this, function (_x) {
99
- switch (_x.label) {
154
+ var modal, type, confirmed_1, confirmed;
155
+ return tslib.__generator(this, function (_v) {
156
+ switch (_v.label) {
100
157
  case 0:
101
- 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;
158
+ modal = (_a = action.dialog) !== null && _a !== void 0 ? _a : action.args;
159
+ if (modal.$ref && renderer.props.resolveDefinitions) {
160
+ modal = tslib.__assign(tslib.__assign({}, renderer.props.resolveDefinitions(modal.$ref)), modal);
161
+ }
162
+ type = modal === null || modal === void 0 ? void 0 : modal.type;
102
163
  if (!!type) return [3 /*break*/, 2];
103
- 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), {
104
- closeOnEsc: tpl.filter((_k = action.dialog) === null || _k === void 0 ? void 0 : _k.closeOnEsc, event.data) ||
105
- ((_l = action.args) === null || _l === void 0 ? void 0 : _l.closeOnEsc),
106
- 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),
107
- confirmText: tpl.filter((_p = action.dialog) === null || _p === void 0 ? void 0 : _p.confirmText, event.data) ||
108
- ((_q = action.args) === null || _q === void 0 ? void 0 : _q.confirmText),
109
- cancelText: tpl.filter((_r = action.dialog) === null || _r === void 0 ? void 0 : _r.cancelText, event.data) ||
110
- ((_s = action.args) === null || _s === void 0 ? void 0 : _s.cancelText),
111
- confirmBtnLevel: tpl.filter((_t = action.dialog) === null || _t === void 0 ? void 0 : _t.confirmBtnLevel, event.data) ||
112
- ((_u = action.args) === null || _u === void 0 ? void 0 : _u.confirmBtnLevel),
113
- cancelBtnLevel: tpl.filter((_v = action.dialog) === null || _v === void 0 ? void 0 : _v.cancelBtnLevel, event.data) ||
114
- ((_w = action.args) === null || _w === void 0 ? void 0 : _w.cancelBtnLevel)
164
+ return [4 /*yield*/, ((_c = (_b = event.context.env).confirm) === null || _c === void 0 ? void 0 : _c.call(_b, tpl.filter(modal === null || modal === void 0 ? void 0 : modal.msg, event.data) || ((_d = action.args) === null || _d === void 0 ? void 0 : _d.msg), tpl.filter((_e = action.dialog) === null || _e === void 0 ? void 0 : _e.title, event.data) || ((_f = action.args) === null || _f === void 0 ? void 0 : _f.title), {
165
+ closeOnEsc: tpl.filter((_g = action.dialog) === null || _g === void 0 ? void 0 : _g.closeOnEsc, event.data) ||
166
+ ((_h = action.args) === null || _h === void 0 ? void 0 : _h.closeOnEsc),
167
+ size: tpl.filter((_j = action.dialog) === null || _j === void 0 ? void 0 : _j.size, event.data) || ((_k = action.args) === null || _k === void 0 ? void 0 : _k.size),
168
+ confirmText: tpl.filter((_l = action.dialog) === null || _l === void 0 ? void 0 : _l.confirmText, event.data) ||
169
+ ((_m = action.args) === null || _m === void 0 ? void 0 : _m.confirmText),
170
+ cancelText: tpl.filter((_o = action.dialog) === null || _o === void 0 ? void 0 : _o.cancelText, event.data) ||
171
+ ((_p = action.args) === null || _p === void 0 ? void 0 : _p.cancelText),
172
+ confirmBtnLevel: tpl.filter((_q = action.dialog) === null || _q === void 0 ? void 0 : _q.confirmBtnLevel, event.data) ||
173
+ ((_r = action.args) === null || _r === void 0 ? void 0 : _r.confirmBtnLevel),
174
+ cancelBtnLevel: tpl.filter((_s = action.dialog) === null || _s === void 0 ? void 0 : _s.cancelBtnLevel, event.data) ||
175
+ ((_t = action.args) === null || _t === void 0 ? void 0 : _t.cancelBtnLevel),
176
+ className: tpl.filter((_u = action.dialog) === null || _u === void 0 ? void 0 : _u.className, event.data) || ''
115
177
  }))];
116
178
  case 1:
117
- confirmed_1 = _x.sent();
179
+ confirmed_1 = _v.sent();
118
180
  return [2 /*return*/, confirmed_1];
119
181
  case 2: return [4 /*yield*/, new Promise(function (resolve, reject) {
120
- var _a, _b, _c;
182
+ var _a, _b;
121
183
  (_b = (_a = renderer.props).onAction) === null || _b === void 0 ? void 0 : _b.call(_a, event, {
122
184
  actionType: 'dialog',
123
- dialog: (_c = action.dialog) !== null && _c !== void 0 ? _c : action.args,
185
+ dialog: modal,
186
+ data: action.rawData,
124
187
  reload: 'none',
125
188
  callback: function (result) { return resolve(result); }
126
189
  }, action.data);
127
190
  })];
128
191
  case 3:
129
- confirmed = _x.sent();
192
+ confirmed = _v.sent();
130
193
  return [2 /*return*/, confirmed];
131
194
  }
132
195
  });
@@ -7,6 +7,11 @@ export interface IDrawerAction extends ListenerAction {
7
7
  drawer: SchemaNode;
8
8
  };
9
9
  drawer?: SchemaNode;
10
+ /**
11
+ * 是否等待确认结果
12
+ */
13
+ waitForAction?: boolean;
14
+ outputVar?: string;
10
15
  }
11
16
  /**
12
17
  * 打开抽屉动作