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
package/lib/store/form.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
 
@@ -472,7 +472,7 @@ var FormStore = service.ServiceStore.named('FormStore')
472
472
  });
473
473
  });
474
474
  var validate = mobxStateTree.flow(function validate(hooks, forceValidate, throwErrors, failedMessage, validateErrCb) {
475
- var items, i, len, item, i, len, msg, dispatcher;
475
+ var items, i, len, item, i, len, msg, e_2, msg, dispatcher;
476
476
  return tslib.__generator(this, function (_a) {
477
477
  switch (_a.label) {
478
478
  case 0:
@@ -516,42 +516,60 @@ var FormStore = service.ServiceStore.named('FormStore')
516
516
  i++;
517
517
  return [3 /*break*/, 1];
518
518
  case 4:
519
+ _a.trys.push([4, 9, , 10]);
519
520
  if (!(hooks && hooks.length)) return [3 /*break*/, 8];
520
521
  i = 0, len = hooks.length;
521
522
  _a.label = 5;
522
523
  case 5:
523
524
  if (!(i < len)) return [3 /*break*/, 8];
524
- return [4 /*yield*/, hooks[i]()];
525
+ return [4 /*yield*/, hooks[i](self.data)];
525
526
  case 6:
526
- _a.sent();
527
+ msg = _a.sent();
528
+ if (typeof msg == 'string' && msg) {
529
+ throw new Error(msg);
530
+ }
531
+ else if (msg === false) {
532
+ // 不提示直接不通过校验
533
+ throw new helper.ValidateError(failedMessage || self.__('Form.validateFailed'), self.errors);
534
+ }
527
535
  _a.label = 7;
528
536
  case 7:
529
537
  i++;
530
538
  return [3 /*break*/, 5];
531
- case 8:
532
- if (!!self.valid) return [3 /*break*/, 12];
539
+ case 8: return [3 /*break*/, 10];
540
+ case 9:
541
+ e_2 = _a.sent();
542
+ if (throwErrors) {
543
+ throw e_2;
544
+ }
545
+ else {
546
+ toastValidateError(e_2.message);
547
+ }
548
+ return [2 /*return*/, false];
549
+ case 10:
550
+ if (!!self.valid) return [3 /*break*/, 14];
533
551
  if (!(self.items.some(function (item) {
534
552
  return item.errorData.some(function (e) { return e.tag !== 'remote'; });
535
553
  }) ||
536
- self.restError.length)) return [3 /*break*/, 11];
554
+ self.restError.length)) return [3 /*break*/, 13];
537
555
  msg = failedMessage !== null && failedMessage !== void 0 ? failedMessage : self.__('Form.validateFailed');
538
556
  dispatcher = validateErrCb && validateErrCb();
539
- if (!(dispatcher === null || dispatcher === void 0 ? void 0 : dispatcher.then)) return [3 /*break*/, 10];
557
+ if (!(dispatcher === null || dispatcher === void 0 ? void 0 : dispatcher.then)) return [3 /*break*/, 12];
540
558
  return [4 /*yield*/, dispatcher];
541
- case 9:
559
+ case 11:
542
560
  dispatcher = _a.sent();
543
- _a.label = 10;
544
- case 10:
561
+ _a.label = 12;
562
+ case 12:
545
563
  if (!(dispatcher === null || dispatcher === void 0 ? void 0 : dispatcher.prevented)) {
546
564
  msg && toastValidateError(msg);
547
565
  }
548
- _a.label = 11;
549
- case 11:
566
+ _a.label = 13;
567
+ case 13:
550
568
  if (throwErrors) {
551
569
  throw new helper.ValidateError(failedMessage || self.__('Form.validateFailed'), self.errors);
552
570
  }
553
- _a.label = 12;
554
- case 12: return [2 /*return*/, self.valid];
571
+ _a.label = 14;
572
+ case 14: return [2 /*return*/, self.valid];
555
573
  }
556
574
  });
557
575
  });
@@ -31,6 +31,7 @@ export declare const FormItemStore: import("mobx-state-tree").IModelType<{
31
31
  itemId: import("mobx-state-tree").IType<string | undefined, string, string>;
32
32
  unsetValueOnInvisible: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
33
33
  itemsRef: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").ISimpleType<string>>, [undefined]>;
34
+ inited: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
34
35
  validated: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
35
36
  validating: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
36
37
  multiple: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
@@ -160,14 +161,17 @@ export declare const FormItemStore: import("mobx-state-tree").IModelType<{
160
161
  getSubStore: () => any;
161
162
  reset: (keepErrors?: boolean) => void;
162
163
  resetValidationStatus: (tag?: string) => void;
163
- openDialog: (schema: any, ctx: any, callback?: ((ret?: any) => void) | undefined) => void;
164
- closeDialog: (result?: any) => void;
164
+ openDialog: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
165
+ closeDialog: (confirmed?: any, result?: any) => void;
165
166
  changeTmpValue: (value: any, changeReason?: 'initialValue' | 'formInited' | 'dataChanged' | 'formulaChanged' | 'controlled' | 'input' | 'defaultValue') => void;
166
167
  changeEmitedValue: (value: any) => void;
167
168
  addSubFormItem: (item: IFormItemStore) => void;
168
169
  removeSubFormItem: (item: IFormItemStore) => void;
169
170
  loadAutoUpdateData: (api: Api, data?: object, silent?: boolean) => Promise<Payload>;
170
171
  setIsControlled: (value: any) => void;
172
+ init: () => Promise<void>;
173
+ addInitHook(fn: (store: any) => any, weight?: number): () => void;
174
+ beforeDestroy: () => void;
171
175
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
172
176
  export type IFormItemStore = Instance<typeof FormItemStore>;
173
177
  export type SFormItemStore = SnapshotIn<typeof FormItemStore>;
@@ -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
 
@@ -77,6 +77,7 @@ var FormItemStore = node.StoreNode.named('FormItemStore')
77
77
  itemId: '',
78
78
  unsetValueOnInvisible: false,
79
79
  itemsRef: mobxStateTree.types.optional(mobxStateTree.types.array(mobxStateTree.types.string), []),
80
+ inited: false,
80
81
  validated: false,
81
82
  validating: false,
82
83
  multiple: false,
@@ -269,6 +270,7 @@ var FormItemStore = node.StoreNode.named('FormItemStore')
269
270
  self.form;
270
271
  var dialogCallbacks = new SimpleMap.SimpleMap();
271
272
  var loadAutoUpdateCancel = null;
273
+ var initHooks = [];
272
274
  function config(_a) {
273
275
  var name = _a.name, extraName = _a.extraName, required = _a.required, unique = _a.unique; _a.value; var isValueSchemaExp = _a.isValueSchemaExp, rules = _a.rules, messages = _a.messages, delimiter = _a.delimiter, multiple = _a.multiple, valueField = _a.valueField, labelField = _a.labelField, joinValues = _a.joinValues, extractValue = _a.extractValue, type = _a.type, id = _a.id, selectFirst = _a.selectFirst, autoFill = _a.autoFill, clearValueOnHidden = _a.clearValueOnHidden, validateApi = _a.validateApi, maxLength = _a.maxLength, minLength = _a.minLength, validateOnChange = _a.validateOnChange, label = _a.label, inputGroupControl = _a.inputGroupControl, pagination = _a.pagination;
274
276
  if (typeof rules === 'string') {
@@ -1010,12 +1012,12 @@ var FormItemStore = node.StoreNode.named('FormItemStore')
1010
1012
  self.dialogOpen = true;
1011
1013
  callback && dialogCallbacks.set(self.dialogData, callback);
1012
1014
  }
1013
- function closeDialog(result) {
1015
+ function closeDialog(confirmed, result) {
1014
1016
  var callback = dialogCallbacks.get(self.dialogData);
1015
1017
  self.dialogOpen = false;
1016
1018
  if (callback) {
1017
1019
  dialogCallbacks.delete(self.dialogData);
1018
- setTimeout(function () { return callback(result); }, 200);
1020
+ setTimeout(function () { return callback(confirmed, result); }, 200);
1019
1021
  }
1020
1022
  }
1021
1023
  function changeTmpValue(value, changeReason // 默认值
@@ -1040,6 +1042,52 @@ var FormItemStore = node.StoreNode.named('FormItemStore')
1040
1042
  function setIsControlled(value) {
1041
1043
  self.isControlled = !!value;
1042
1044
  }
1045
+ var init = mobxStateTree.flow(function init() {
1046
+ var hooks, hooks_1, hooks_1_1, hook, e_4_1;
1047
+ var e_4, _a;
1048
+ return tslib.__generator(this, function (_b) {
1049
+ switch (_b.label) {
1050
+ case 0:
1051
+ hooks = initHooks.sort(function (a, b) { return (a.__weight || 0) - (b.__weight || 0); });
1052
+ _b.label = 1;
1053
+ case 1:
1054
+ _b.trys.push([1, , 10, 11]);
1055
+ _b.label = 2;
1056
+ case 2:
1057
+ _b.trys.push([2, 7, 8, 9]);
1058
+ hooks_1 = tslib.__values(hooks), hooks_1_1 = hooks_1.next();
1059
+ _b.label = 3;
1060
+ case 3:
1061
+ if (!!hooks_1_1.done) return [3 /*break*/, 6];
1062
+ hook = hooks_1_1.value;
1063
+ return [4 /*yield*/, hook(self)];
1064
+ case 4:
1065
+ _b.sent();
1066
+ _b.label = 5;
1067
+ case 5:
1068
+ hooks_1_1 = hooks_1.next();
1069
+ return [3 /*break*/, 3];
1070
+ case 6: return [3 /*break*/, 9];
1071
+ case 7:
1072
+ e_4_1 = _b.sent();
1073
+ e_4 = { error: e_4_1 };
1074
+ return [3 /*break*/, 9];
1075
+ case 8:
1076
+ try {
1077
+ if (hooks_1_1 && !hooks_1_1.done && (_a = hooks_1.return)) _a.call(hooks_1);
1078
+ }
1079
+ finally { if (e_4) throw e_4.error; }
1080
+ return [7 /*endfinally*/];
1081
+ case 9: return [3 /*break*/, 11];
1082
+ case 10:
1083
+ if (mobxStateTree.isAlive(self)) {
1084
+ self.inited = true;
1085
+ }
1086
+ return [7 /*endfinally*/];
1087
+ case 11: return [2 /*return*/];
1088
+ }
1089
+ });
1090
+ });
1043
1091
  return {
1044
1092
  focus: focus,
1045
1093
  blur: blur,
@@ -1068,7 +1116,22 @@ var FormItemStore = node.StoreNode.named('FormItemStore')
1068
1116
  addSubFormItem: addSubFormItem,
1069
1117
  removeSubFormItem: removeSubFormItem,
1070
1118
  loadAutoUpdateData: loadAutoUpdateData,
1071
- setIsControlled: setIsControlled
1119
+ setIsControlled: setIsControlled,
1120
+ init: init,
1121
+ addInitHook: function (fn, weight) {
1122
+ if (weight === void 0) { weight = 0; }
1123
+ fn = helper.promisify(fn);
1124
+ initHooks.push(fn);
1125
+ fn.__weight = weight;
1126
+ return function () {
1127
+ var idx = initHooks.indexOf(fn);
1128
+ ~idx && initHooks.splice(idx, 1);
1129
+ };
1130
+ },
1131
+ beforeDestroy: function () {
1132
+ // 销毁
1133
+ initHooks.splice(0, initHooks.length);
1134
+ }
1072
1135
  };
1073
1136
  });
1074
1137
 
@@ -38,11 +38,11 @@ export declare const iRendererStore: import("mobx-state-tree").IModelType<{
38
38
  reset(): void;
39
39
  updateData(data?: object, tag?: object, replace?: boolean, concatFields?: string | string[]): void;
40
40
  changeValue(name: string, value: any, changePristine?: boolean, force?: boolean, otherModifier?: ((data: Object) => void) | undefined): void;
41
- setCurrentAction(action: object): void;
42
- openDialog(ctx: any, additonal?: object, callback?: ((ret: any) => void) | undefined, scoped?: IScopedContext): void;
43
- closeDialog(result?: any): void;
44
- openDrawer(ctx: any, additonal?: object, callback?: ((ret: any) => void) | undefined, scoped?: IScopedContext): void;
45
- closeDrawer(result?: any): void;
41
+ setCurrentAction(action: any, resolveDefinitions?: ((schema: any) => any) | undefined): void;
42
+ openDialog(ctx: any, additonal?: object, callback?: ((confirmed: boolean, values: any) => void) | undefined, scoped?: IScopedContext): void;
43
+ closeDialog(confirmed?: any, data?: any): void;
44
+ openDrawer(ctx: any, additonal?: object, callback?: ((confirmed: boolean, ret: any) => void) | undefined, scoped?: IScopedContext): void;
45
+ closeDrawer(confirmed?: any, data?: any): void;
46
46
  getDialogScoped(): IScopedContext | null;
47
47
  getDrawerScoped(): IScopedContext | null;
48
48
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
@@ -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
 
@@ -171,22 +171,33 @@ var iRendererStore = node.StoreNode.named('iRendererStore')
171
171
  }
172
172
  self.data = data;
173
173
  },
174
- setCurrentAction: function (action) {
174
+ setCurrentAction: function (action, resolveDefinitions) {
175
+ // 处理 $ref
176
+ resolveDefinitions &&
177
+ ['dialog', 'drawer'].forEach(function (key) {
178
+ var _a;
179
+ var _b;
180
+ if ((_b = action[key]) === null || _b === void 0 ? void 0 : _b.$ref) {
181
+ action = tslib.__assign(tslib.__assign({}, action), (_a = {}, _a[key] = tslib.__assign(tslib.__assign({}, resolveDefinitions(action[key].$ref)), action[key]), _a));
182
+ }
183
+ });
175
184
  self.action = action;
176
185
  self.dialogData = false;
177
186
  self.drawerOpen = false;
178
187
  },
179
188
  openDialog: function (ctx, additonal, callback, scoped) {
189
+ var _a, _b;
180
190
  var chain = object.extractObjectChain(ctx);
181
191
  chain.length === 1 && chain.unshift(self.data);
182
192
  if (additonal) {
183
193
  chain.splice(chain.length - 1, 0, additonal);
184
194
  }
185
195
  var data = object.createObjectFromChain(chain);
186
- if (self.action.dialog && self.action.dialog.data) {
196
+ var mappingData = (_a = self.action.data) !== null && _a !== void 0 ? _a : (_b = self.action.dialog) === null || _b === void 0 ? void 0 : _b.data;
197
+ if (mappingData) {
187
198
  self.dialogData = object.createObjectFromChain([
188
199
  top === null || top === void 0 ? void 0 : top.context,
189
- dataMapping.dataMapping(self.action.dialog.data, data)
200
+ dataMapping.dataMapping(mappingData, data)
190
201
  ]);
191
202
  var clonedAction = tslib.__assign(tslib.__assign({}, self.action), { dialog: tslib.__assign({}, self.action.dialog) });
192
203
  delete clonedAction.dialog.data;
@@ -199,26 +210,28 @@ var iRendererStore = node.StoreNode.named('iRendererStore')
199
210
  callback && dialogCallbacks.set(self.dialogData, callback);
200
211
  dialogScoped = scoped || null;
201
212
  },
202
- closeDialog: function (result) {
213
+ closeDialog: function (confirmed, data) {
203
214
  var callback = dialogCallbacks.get(self.dialogData);
204
215
  self.dialogOpen = false;
205
216
  dialogScoped = null;
206
217
  if (callback) {
207
218
  dialogCallbacks.delete(self.dialogData);
208
- setTimeout(function () { return callback(result); }, 200);
219
+ setTimeout(function () { return callback(confirmed, data); }, 200);
209
220
  }
210
221
  },
211
222
  openDrawer: function (ctx, additonal, callback, scoped) {
223
+ var _a;
212
224
  var chain = object.extractObjectChain(ctx);
213
225
  chain.length === 1 && chain.unshift(self.data);
214
226
  if (additonal) {
215
227
  chain.splice(chain.length - 1, 0, additonal);
216
228
  }
217
229
  var data = object.createObjectFromChain(chain);
218
- if (self.action.drawer.data) {
230
+ var mappingData = (_a = self.action.data) !== null && _a !== void 0 ? _a : self.action.drawer.data;
231
+ if (mappingData) {
219
232
  self.drawerData = object.createObjectFromChain([
220
233
  top === null || top === void 0 ? void 0 : top.context,
221
- dataMapping.dataMapping(self.action.drawer.data, data)
234
+ dataMapping.dataMapping(mappingData, data)
222
235
  ]);
223
236
  var clonedAction = tslib.__assign(tslib.__assign({}, self.action), { drawer: tslib.__assign({}, self.action.drawer) });
224
237
  delete clonedAction.drawer.data;
@@ -233,13 +246,13 @@ var iRendererStore = node.StoreNode.named('iRendererStore')
233
246
  }
234
247
  drawerScoped = scoped || null;
235
248
  },
236
- closeDrawer: function (result) {
249
+ closeDrawer: function (confirmed, data) {
237
250
  var callback = dialogCallbacks.get(self.drawerData);
238
251
  self.drawerOpen = false;
239
252
  drawerScoped = null;
240
253
  if (callback) {
241
254
  dialogCallbacks.delete(self.drawerData);
242
- setTimeout(function () { return callback(result); }, 200);
255
+ setTimeout(function () { return callback(confirmed, data); }, 200);
243
256
  }
244
257
  },
245
258
  getDialogScoped: 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
 
@@ -108,11 +108,11 @@ export declare const ListStore: import("mobx-state-tree").IModelType<{
108
108
  reset(): void;
109
109
  updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
110
110
  changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined): void;
111
- setCurrentAction(action: object): void;
112
- openDialog(ctx: any, additonal?: object | undefined, callback?: ((ret: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
113
- closeDialog(result?: any): void;
114
- openDrawer(ctx: any, additonal?: object | undefined, callback?: ((ret: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
115
- closeDrawer(result?: any): void;
111
+ setCurrentAction(action: any, resolveDefinitions?: ((schema: any) => any) | undefined): void;
112
+ openDialog(ctx: any, additonal?: object | undefined, callback?: ((confirmed: boolean, values: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
113
+ closeDialog(confirmed?: any, data?: any): void;
114
+ openDrawer(ctx: any, additonal?: object | undefined, callback?: ((confirmed: boolean, ret: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
115
+ closeDrawer(confirmed?: any, data?: any): void;
116
116
  getDialogScoped(): import("..").IScopedContext | null;
117
117
  getDrawerScoped(): import("..").IScopedContext | null;
118
118
  } & {
package/lib/store/list.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
 
@@ -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
 
@@ -52,11 +52,11 @@ export declare const ModalStore: import("mobx-state-tree").IModelType<{
52
52
  reset(): void;
53
53
  updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
54
54
  changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined): void;
55
- setCurrentAction(action: object): void;
56
- openDialog(ctx: any, additonal?: object | undefined, callback?: ((ret: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
57
- closeDialog(result?: any): void;
58
- openDrawer(ctx: any, additonal?: object | undefined, callback?: ((ret: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
59
- closeDrawer(result?: any): void;
55
+ setCurrentAction(action: any, resolveDefinitions?: ((schema: any) => any) | undefined): void;
56
+ openDialog(ctx: any, additonal?: object | undefined, callback?: ((confirmed: boolean, values: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
57
+ closeDialog(confirmed?: any, data?: any): void;
58
+ openDrawer(ctx: any, additonal?: object | undefined, callback?: ((confirmed: boolean, ret: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
59
+ closeDrawer(confirmed?: any, data?: any): void;
60
60
  getDialogScoped(): import("..").IScopedContext | null;
61
61
  getDrawerScoped(): import("..").IScopedContext | null;
62
62
  } & {
@@ -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/store/node.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
 
@@ -44,11 +44,11 @@ export declare const PaginationStore: import("mobx-state-tree").IModelType<{
44
44
  reset(): void;
45
45
  updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
46
46
  changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined): void;
47
- setCurrentAction(action: object): void;
48
- openDialog(ctx: any, additonal?: object | undefined, callback?: ((ret: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
49
- closeDialog(result?: any): void;
50
- openDrawer(ctx: any, additonal?: object | undefined, callback?: ((ret: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
51
- closeDrawer(result?: any): void;
47
+ setCurrentAction(action: any, resolveDefinitions?: ((schema: any) => any) | undefined): void;
48
+ openDialog(ctx: any, additonal?: object | undefined, callback?: ((confirmed: boolean, values: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
49
+ closeDialog(confirmed?: any, data?: any): void;
50
+ openDrawer(ctx: any, additonal?: object | undefined, callback?: ((confirmed: boolean, ret: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
51
+ closeDrawer(confirmed?: any, data?: any): void;
52
52
  getDialogScoped(): import("..").IScopedContext | null;
53
53
  getDrawerScoped(): import("..").IScopedContext | null;
54
54
  } & {
@@ -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
 
@@ -51,11 +51,11 @@ export declare const RootStore: import("mobx-state-tree").IModelType<{
51
51
  reset(): void;
52
52
  updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
53
53
  changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined): void;
54
- setCurrentAction(action: object): void;
55
- openDialog(ctx: any, additonal?: object | undefined, callback?: ((ret: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
56
- closeDialog(result?: any): void;
57
- openDrawer(ctx: any, additonal?: object | undefined, callback?: ((ret: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
58
- closeDrawer(result?: any): void;
54
+ setCurrentAction(action: any, resolveDefinitions?: ((schema: any) => any) | undefined): void;
55
+ openDialog(ctx: any, additonal?: object | undefined, callback?: ((confirmed: boolean, values: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
56
+ closeDialog(confirmed?: any, data?: any): void;
57
+ openDrawer(ctx: any, additonal?: object | undefined, callback?: ((confirmed: boolean, ret: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
58
+ closeDrawer(confirmed?: any, data?: any): void;
59
59
  getDialogScoped(): import("..").IScopedContext | null;
60
60
  getDrawerScoped(): import("..").IScopedContext | null;
61
61
  } & {
package/lib/store/root.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
 
@@ -48,11 +48,11 @@ export declare const ServiceStore: import("mobx-state-tree").IModelType<{
48
48
  reset(): void;
49
49
  updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
50
50
  changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined): void;
51
- setCurrentAction(action: object): void;
52
- openDialog(ctx: any, additonal?: object | undefined, callback?: ((ret: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
53
- closeDialog(result?: any): void;
54
- openDrawer(ctx: any, additonal?: object | undefined, callback?: ((ret: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
55
- closeDrawer(result?: any): void;
51
+ setCurrentAction(action: any, resolveDefinitions?: ((schema: any) => any) | undefined): void;
52
+ openDialog(ctx: any, additonal?: object | undefined, callback?: ((confirmed: boolean, values: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
53
+ closeDialog(confirmed?: any, data?: any): void;
54
+ openDrawer(ctx: any, additonal?: object | undefined, callback?: ((confirmed: boolean, ret: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
55
+ closeDrawer(confirmed?: any, data?: any): void;
56
56
  getDialogScoped(): import("..").IScopedContext | null;
57
57
  getDrawerScoped(): import("..").IScopedContext | null;
58
58
  } & {
@@ -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
 
@@ -94,7 +94,7 @@ var ServiceStore = iRenderer.iRendererStore
94
94
  if (concatFields) {
95
95
  data = concatData.concatData(data, self.data, concatFields);
96
96
  }
97
- var newData = object.extendObject(self.pristine, data, !replace);
97
+ var newData = object.extendObject(self.data, data, !replace);
98
98
  self.data = self.pristine = newData;
99
99
  }
100
100
  function updateMessage(msg, error) {
@@ -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