amis-core 6.8.0 → 6.9.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (313) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.d.ts +1 -1
  3. package/esm/RootRenderer.js +24 -2
  4. package/esm/SchemaRenderer.js +29 -15
  5. package/esm/Scoped.js +1 -1
  6. package/esm/StatusScoped.js +1 -1
  7. package/esm/WithRootStore.js +1 -1
  8. package/esm/WithStore.js +10 -10
  9. package/esm/actions/Action.js +1 -1
  10. package/esm/actions/AjaxAction.js +1 -1
  11. package/esm/actions/BreakAction.js +1 -1
  12. package/esm/actions/BroadcastAction.js +1 -1
  13. package/esm/actions/CmptAction.js +1 -1
  14. package/esm/actions/ContinueAction.js +1 -1
  15. package/esm/actions/CopyAction.js +1 -1
  16. package/esm/actions/CustomAction.js +1 -1
  17. package/esm/actions/DialogAction.js +1 -1
  18. package/esm/actions/DrawerAction.js +1 -1
  19. package/esm/actions/EmailAction.js +1 -1
  20. package/esm/actions/EventAction.js +1 -1
  21. package/esm/actions/LinkAction.js +1 -1
  22. package/esm/actions/LoopAction.js +1 -1
  23. package/esm/actions/PageAction.js +1 -1
  24. package/esm/actions/ParallelAction.js +1 -1
  25. package/esm/actions/PrintAction.js +1 -1
  26. package/esm/actions/StatusAction.js +1 -1
  27. package/esm/actions/SwitchAction.js +1 -1
  28. package/esm/actions/ToastAction.js +1 -1
  29. package/esm/actions/WaitAction.js +1 -1
  30. package/esm/components/CustomStyle.js +1 -1
  31. package/esm/components/ErrorBoundary.js +1 -1
  32. package/esm/components/LazyComponent.d.ts +40 -2
  33. package/esm/components/LazyComponent.js +13 -7
  34. package/esm/components/Overlay.js +1 -1
  35. package/esm/components/PopOver.d.ts +1 -1
  36. package/esm/components/PopOver.js +1 -1
  37. package/esm/env.js +1 -1
  38. package/esm/envOverwrite.js +1 -1
  39. package/esm/factory.d.ts +13 -2
  40. package/esm/factory.js +159 -45
  41. package/esm/index.d.ts +4 -4
  42. package/esm/index.js +5 -5
  43. package/esm/locale.js +1 -1
  44. package/esm/polyfills.js +1 -1
  45. package/esm/renderers/Form.d.ts +3 -3
  46. package/esm/renderers/Form.js +17 -9
  47. package/esm/renderers/Item.d.ts +18 -12
  48. package/esm/renderers/Item.js +6 -6
  49. package/esm/renderers/Options.d.ts +3 -3
  50. package/esm/renderers/Options.js +42 -19
  51. package/esm/renderers/Placeholder.js +1 -1
  52. package/esm/renderers/builtin.js +1 -1
  53. package/esm/renderers/register.js +1 -1
  54. package/esm/renderers/wrapControl.d.ts +3 -3
  55. package/esm/renderers/wrapControl.js +19 -6
  56. package/esm/store/app.d.ts +3 -3
  57. package/esm/store/app.js +1 -1
  58. package/esm/store/combo.d.ts +15 -15
  59. package/esm/store/combo.js +1 -1
  60. package/esm/store/crud.d.ts +3 -3
  61. package/esm/store/crud.js +1 -1
  62. package/esm/store/form.d.ts +7 -7
  63. package/esm/store/form.js +24 -6
  64. package/esm/store/formItem.js +1 -1
  65. package/esm/store/iRenderer.d.ts +4 -3
  66. package/esm/store/iRenderer.js +28 -4
  67. package/esm/store/index.d.ts +1 -0
  68. package/esm/store/index.js +3 -2
  69. package/esm/store/list.d.ts +3 -3
  70. package/esm/store/list.js +1 -1
  71. package/esm/store/manager.js +1 -1
  72. package/esm/store/modal.d.ts +3 -3
  73. package/esm/store/modal.js +1 -1
  74. package/esm/store/node.js +1 -1
  75. package/esm/store/pagination.d.ts +3 -3
  76. package/esm/store/pagination.js +1 -1
  77. package/esm/store/root.d.ts +5 -3
  78. package/esm/store/root.js +45 -21
  79. package/esm/store/service.d.ts +3 -3
  80. package/esm/store/service.js +10 -4
  81. package/esm/store/status.js +1 -1
  82. package/esm/store/table.d.ts +15 -15
  83. package/esm/store/table.js +1 -1
  84. package/esm/store/table2.d.ts +3 -3
  85. package/esm/store/table2.js +1 -1
  86. package/esm/theme.js +1 -1
  87. package/esm/types.d.ts +19 -2
  88. package/esm/utils/Animation.js +1 -1
  89. package/esm/utils/ColorScale.js +1 -1
  90. package/esm/utils/DataSchema.js +1 -1
  91. package/esm/utils/DataScope.js +1 -1
  92. package/esm/utils/RootClose.js +1 -1
  93. package/esm/utils/SimpleMap.js +1 -1
  94. package/esm/utils/api.d.ts +21 -1
  95. package/esm/utils/api.js +133 -41
  96. package/esm/utils/arraySlice.js +1 -1
  97. package/esm/utils/attachmentAdpator.js +1 -1
  98. package/esm/utils/autobind.js +1 -1
  99. package/esm/utils/browser.js +1 -1
  100. package/esm/utils/columnsSplit.js +1 -1
  101. package/esm/utils/concatData.js +1 -1
  102. package/esm/utils/dataMapping.js +1 -1
  103. package/esm/utils/date.js +1 -1
  104. package/esm/utils/debug.js +1 -1
  105. package/esm/utils/decodeEntity.js +1 -1
  106. package/esm/utils/dom.js +1 -1
  107. package/esm/utils/errors.js +1 -1
  108. package/esm/utils/escapeHtml.js +1 -1
  109. package/esm/utils/filter-schema.js +1 -1
  110. package/esm/utils/filter.js +1 -1
  111. package/esm/utils/formatDuration.js +1 -1
  112. package/esm/utils/formula.js +1 -1
  113. package/esm/utils/getVariable.js +1 -1
  114. package/esm/utils/grammar.js +1 -1
  115. package/esm/utils/handleAction.js +1 -1
  116. package/esm/utils/helper.js +1 -1
  117. package/esm/utils/highlight.js +1 -1
  118. package/esm/utils/icon.js +1 -1
  119. package/esm/utils/image.js +1 -1
  120. package/esm/utils/isPureVariable.js +1 -1
  121. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  122. package/esm/utils/keyToPath.js +1 -1
  123. package/esm/utils/labelToString.js +4 -1
  124. package/esm/utils/makeSorter.js +1 -1
  125. package/esm/utils/math.js +1 -1
  126. package/esm/utils/memoryParse.js +1 -1
  127. package/esm/utils/normalizeLink.js +1 -1
  128. package/esm/utils/normalizeOptions.js +1 -1
  129. package/esm/utils/object.js +1 -1
  130. package/esm/utils/offset.js +1 -1
  131. package/esm/utils/offsetParent.js +1 -1
  132. package/esm/utils/optionValueCompare.js +1 -1
  133. package/esm/utils/position.js +1 -1
  134. package/esm/utils/prettyBytes.js +1 -1
  135. package/esm/utils/printElement.js +1 -1
  136. package/esm/utils/renderer-event.js +1 -1
  137. package/esm/utils/replaceText.js +1 -1
  138. package/esm/utils/resize-sensor.js +1 -1
  139. package/esm/utils/resolveCondition.js +1 -1
  140. package/esm/utils/resolveVariable.js +1 -1
  141. package/esm/utils/resolveVariableAndFilter.js +1 -1
  142. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  143. package/esm/utils/scrollPosition.js +1 -1
  144. package/esm/utils/string2regExp.js +1 -1
  145. package/esm/utils/stripNumber.js +1 -1
  146. package/esm/utils/style-helper.js +1 -1
  147. package/esm/utils/style.js +1 -1
  148. package/esm/utils/toNumber.js +1 -1
  149. package/esm/utils/tokenize.js +1 -1
  150. package/esm/utils/tpl-builtin.js +1 -1
  151. package/esm/utils/tpl-lodash.js +1 -1
  152. package/esm/utils/tpl.js +1 -1
  153. package/esm/utils/uncontrollable.js +1 -1
  154. package/esm/utils/validateId.js +1 -1
  155. package/esm/utils/validations.js +1 -1
  156. package/esm/utils/visitedCache.js +1 -1
  157. package/lib/Root.js +1 -1
  158. package/lib/RootRenderer.d.ts +1 -1
  159. package/lib/RootRenderer.js +23 -1
  160. package/lib/SchemaRenderer.js +27 -13
  161. package/lib/Scoped.js +1 -1
  162. package/lib/StatusScoped.js +1 -1
  163. package/lib/WithRootStore.js +1 -1
  164. package/lib/WithStore.js +10 -10
  165. package/lib/actions/Action.js +1 -1
  166. package/lib/actions/AjaxAction.js +1 -1
  167. package/lib/actions/BreakAction.js +1 -1
  168. package/lib/actions/BroadcastAction.js +1 -1
  169. package/lib/actions/CmptAction.js +1 -1
  170. package/lib/actions/ContinueAction.js +1 -1
  171. package/lib/actions/CopyAction.js +1 -1
  172. package/lib/actions/CustomAction.js +1 -1
  173. package/lib/actions/DialogAction.js +1 -1
  174. package/lib/actions/DrawerAction.js +1 -1
  175. package/lib/actions/EmailAction.js +1 -1
  176. package/lib/actions/EventAction.js +1 -1
  177. package/lib/actions/LinkAction.js +1 -1
  178. package/lib/actions/LoopAction.js +1 -1
  179. package/lib/actions/PageAction.js +1 -1
  180. package/lib/actions/ParallelAction.js +1 -1
  181. package/lib/actions/PrintAction.js +1 -1
  182. package/lib/actions/StatusAction.js +1 -1
  183. package/lib/actions/SwitchAction.js +1 -1
  184. package/lib/actions/ToastAction.js +1 -1
  185. package/lib/actions/WaitAction.js +1 -1
  186. package/lib/components/CustomStyle.js +1 -1
  187. package/lib/components/ErrorBoundary.js +1 -1
  188. package/lib/components/LazyComponent.d.ts +40 -2
  189. package/lib/components/LazyComponent.js +14 -7
  190. package/lib/components/Overlay.js +1 -1
  191. package/lib/components/PopOver.d.ts +1 -1
  192. package/lib/components/PopOver.js +1 -1
  193. package/lib/env.js +1 -1
  194. package/lib/envOverwrite.js +1 -1
  195. package/lib/factory.d.ts +13 -2
  196. package/lib/factory.js +163 -44
  197. package/lib/index.d.ts +4 -4
  198. package/lib/index.js +10 -2
  199. package/lib/locale.js +1 -1
  200. package/lib/polyfills.js +1 -1
  201. package/lib/renderers/Form.d.ts +3 -3
  202. package/lib/renderers/Form.js +15 -7
  203. package/lib/renderers/Item.d.ts +18 -12
  204. package/lib/renderers/Item.js +6 -6
  205. package/lib/renderers/Options.d.ts +3 -3
  206. package/lib/renderers/Options.js +42 -19
  207. package/lib/renderers/Placeholder.js +1 -1
  208. package/lib/renderers/builtin.js +1 -1
  209. package/lib/renderers/register.js +1 -1
  210. package/lib/renderers/wrapControl.d.ts +3 -3
  211. package/lib/renderers/wrapControl.js +19 -6
  212. package/lib/store/app.d.ts +3 -3
  213. package/lib/store/app.js +1 -1
  214. package/lib/store/combo.d.ts +15 -15
  215. package/lib/store/combo.js +1 -1
  216. package/lib/store/crud.d.ts +3 -3
  217. package/lib/store/crud.js +2 -2
  218. package/lib/store/form.d.ts +7 -7
  219. package/lib/store/form.js +24 -6
  220. package/lib/store/formItem.js +1 -1
  221. package/lib/store/iRenderer.d.ts +4 -3
  222. package/lib/store/iRenderer.js +28 -4
  223. package/lib/store/index.d.ts +1 -0
  224. package/lib/store/index.js +3 -1
  225. package/lib/store/list.d.ts +3 -3
  226. package/lib/store/list.js +1 -1
  227. package/lib/store/manager.js +1 -1
  228. package/lib/store/modal.d.ts +3 -3
  229. package/lib/store/modal.js +1 -1
  230. package/lib/store/node.js +1 -1
  231. package/lib/store/pagination.d.ts +3 -3
  232. package/lib/store/pagination.js +1 -1
  233. package/lib/store/root.d.ts +5 -3
  234. package/lib/store/root.js +43 -19
  235. package/lib/store/service.d.ts +3 -3
  236. package/lib/store/service.js +10 -4
  237. package/lib/store/status.js +1 -1
  238. package/lib/store/table.d.ts +15 -15
  239. package/lib/store/table.js +1 -1
  240. package/lib/store/table2.d.ts +3 -3
  241. package/lib/store/table2.js +1 -1
  242. package/lib/theme.js +1 -1
  243. package/lib/types.d.ts +19 -2
  244. package/lib/utils/Animation.js +1 -1
  245. package/lib/utils/ColorScale.js +1 -1
  246. package/lib/utils/DataSchema.js +1 -1
  247. package/lib/utils/DataScope.js +1 -1
  248. package/lib/utils/RootClose.js +1 -1
  249. package/lib/utils/SimpleMap.js +1 -1
  250. package/lib/utils/api.d.ts +21 -1
  251. package/lib/utils/api.js +136 -40
  252. package/lib/utils/arraySlice.js +1 -1
  253. package/lib/utils/attachmentAdpator.js +1 -1
  254. package/lib/utils/autobind.js +1 -1
  255. package/lib/utils/browser.js +1 -1
  256. package/lib/utils/columnsSplit.js +1 -1
  257. package/lib/utils/concatData.js +1 -1
  258. package/lib/utils/dataMapping.js +1 -1
  259. package/lib/utils/date.js +1 -1
  260. package/lib/utils/debug.js +2 -2
  261. package/lib/utils/decodeEntity.js +1 -1
  262. package/lib/utils/dom.js +1 -1
  263. package/lib/utils/errors.js +1 -1
  264. package/lib/utils/escapeHtml.js +1 -1
  265. package/lib/utils/filter-schema.js +1 -1
  266. package/lib/utils/filter.js +1 -1
  267. package/lib/utils/formatDuration.js +1 -1
  268. package/lib/utils/formula.js +1 -1
  269. package/lib/utils/getVariable.js +1 -1
  270. package/lib/utils/grammar.js +1 -1
  271. package/lib/utils/handleAction.js +1 -1
  272. package/lib/utils/helper.js +1 -1
  273. package/lib/utils/highlight.js +1 -1
  274. package/lib/utils/icon.js +1 -1
  275. package/lib/utils/image.js +1 -1
  276. package/lib/utils/isPureVariable.js +1 -1
  277. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  278. package/lib/utils/keyToPath.js +1 -1
  279. package/lib/utils/labelToString.js +4 -1
  280. package/lib/utils/makeSorter.js +1 -1
  281. package/lib/utils/math.js +1 -1
  282. package/lib/utils/memoryParse.js +1 -1
  283. package/lib/utils/normalizeLink.js +1 -1
  284. package/lib/utils/normalizeOptions.js +1 -1
  285. package/lib/utils/object.js +1 -1
  286. package/lib/utils/offset.js +1 -1
  287. package/lib/utils/offsetParent.js +1 -1
  288. package/lib/utils/optionValueCompare.js +1 -1
  289. package/lib/utils/position.js +1 -1
  290. package/lib/utils/prettyBytes.js +1 -1
  291. package/lib/utils/printElement.js +1 -1
  292. package/lib/utils/renderer-event.js +1 -1
  293. package/lib/utils/replaceText.js +1 -1
  294. package/lib/utils/resize-sensor.js +1 -1
  295. package/lib/utils/resolveCondition.js +1 -1
  296. package/lib/utils/resolveVariable.js +1 -1
  297. package/lib/utils/resolveVariableAndFilter.js +1 -1
  298. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  299. package/lib/utils/scrollPosition.js +1 -1
  300. package/lib/utils/string2regExp.js +1 -1
  301. package/lib/utils/stripNumber.js +1 -1
  302. package/lib/utils/style-helper.js +1 -1
  303. package/lib/utils/style.js +1 -1
  304. package/lib/utils/toNumber.js +1 -1
  305. package/lib/utils/tokenize.js +1 -1
  306. package/lib/utils/tpl-builtin.js +1 -1
  307. package/lib/utils/tpl-lodash.js +1 -1
  308. package/lib/utils/tpl.js +1 -1
  309. package/lib/utils/uncontrollable.js +1 -1
  310. package/lib/utils/validateId.js +1 -1
  311. package/lib/utils/validations.js +1 -1
  312. package/lib/utils/visitedCache.js +1 -1
  313. package/package.json +2 -2
@@ -138,9 +138,9 @@ export interface OptionsControlProps extends FormControlProps, Omit<FormOptionsC
138
138
  deferLoad: (option: Option) => void;
139
139
  leftDeferLoad: (option: Option, leftOptions: Option) => void;
140
140
  expandTreeOptions: (nodePathArr: any[]) => void;
141
- onAdd?: (idx?: number | Array<number>, value?: any, skipForm?: boolean) => void;
142
- onEdit?: (value: Option, origin?: Option, skipForm?: boolean) => void;
143
- onDelete?: (value: Option) => void;
141
+ onAdd?: (idx?: number | Array<number>, value?: any, skipForm?: boolean, callback?: (value: any) => any) => void;
142
+ onEdit?: (value: Option, origin?: Option, skipForm?: boolean, callback?: (value: any) => any) => void;
143
+ onDelete?: (value: Option, callback?: (value: any) => any) => void;
144
144
  }
145
145
  export interface OptionsProps extends FormControlProps, Omit<OptionProps, 'className'> {
146
146
  source?: Api;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-rc.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -519,12 +519,12 @@ function registerOptionsControl(config) {
519
519
  var formItem = this.props.formItem;
520
520
  formItem && formItem.setLoading(value);
521
521
  };
522
- FormOptionsItem.prototype.handleOptionAdd = function (idx, value, skipForm) {
522
+ FormOptionsItem.prototype.handleOptionAdd = function (idx, value, skipForm, callback) {
523
523
  var _a, _b;
524
524
  if (idx === void 0) { idx = -1; }
525
525
  if (skipForm === void 0) { skipForm = false; }
526
526
  return __awaiter(this, void 0, void 0, function () {
527
- var _c, addControls, addDialog, disabled, labelField, onOpenDialog, optionLabel, addApi, source, data, valueField, deferField, model, createBtnLabel, env, __, parent, ctx, customAddPrevent, result, _d, prevent, payload, e_1, isPrevented, options;
527
+ var _c, addControls, addDialog, disabled, labelField, onOpenDialog, optionLabel, addApi, source, data, valueField, deferField, model, createBtnLabel, env, __, parent, ctx, customAddPrevent, result, _d, prevent, payload, e_1, isPrevented, ret, options;
528
528
  var _e;
529
529
  var _this = this;
530
530
  return __generator(this, function (_f) {
@@ -654,13 +654,24 @@ function registerOptionsControl(config) {
654
654
  if (isPrevented) {
655
655
  return [2 /*return*/];
656
656
  }
657
- if (!(((parent === null || parent === void 0 ? void 0 : parent.hasOwnProperty(deferField)) && parent[deferField]) ||
658
- (parent === null || parent === void 0 ? void 0 : parent.defer))) return [3 /*break*/, 13];
659
- return [4 /*yield*/, this.deferLoad(parent)];
657
+ return [4 /*yield*/, (callback === null || callback === void 0 ? void 0 : callback(result))];
660
658
  case 12:
661
- _f.sent();
662
- return [3 /*break*/, 14];
659
+ ret = _f.sent();
660
+ if (!(ret === false)) return [3 /*break*/, 13];
661
+ // 如果回调里面返回 false,就不继续了。
662
+ return [2 /*return*/];
663
663
  case 13:
664
+ if (!
665
+ // 如果是懒加载的,只懒加载当前节点。
666
+ (((parent === null || parent === void 0 ? void 0 : parent.hasOwnProperty(deferField)) && parent[deferField]) ||
667
+ (parent === null || parent === void 0 ? void 0 : parent.defer)))
668
+ // 如果是懒加载的,只懒加载当前节点。
669
+ return [3 /*break*/, 15];
670
+ return [4 /*yield*/, this.deferLoad(parent)];
671
+ case 14:
672
+ _f.sent();
673
+ return [3 /*break*/, 16];
674
+ case 15:
664
675
  if (source && addApi) {
665
676
  // 如果配置了 source 且配置了 addApi 直接重新拉取接口就够了
666
677
  // 不能不判断 addApi 就刷新,因为有些场景就是临时添加的。
@@ -678,18 +689,18 @@ function registerOptionsControl(config) {
678
689
  }
679
690
  model.setOptions(options, this.changeOptionValue, data);
680
691
  }
681
- _f.label = 14;
682
- case 14: return [2 /*return*/];
692
+ _f.label = 16;
693
+ case 16: return [2 /*return*/];
683
694
  }
684
695
  });
685
696
  });
686
697
  };
687
- FormOptionsItem.prototype.handleOptionEdit = function (value, origin, skipForm) {
698
+ FormOptionsItem.prototype.handleOptionEdit = function (value, origin, skipForm, callback) {
688
699
  var _a, _b;
689
700
  if (origin === void 0) { origin = value; }
690
701
  if (skipForm === void 0) { skipForm = false; }
691
702
  return __awaiter(this, void 0, void 0, function () {
692
- var _c, editControls, editDialog, disabled, labelField, valueField, onOpenDialog, editApi, editInitApi, env, source, data, model, optionLabel, __, customEditPrevent, result, _d, prevent, payload, e_2, isPrevented, indexes;
703
+ var _c, editControls, editDialog, disabled, labelField, valueField, onOpenDialog, editApi, editInitApi, env, source, data, model, optionLabel, __, customEditPrevent, result, _d, prevent, payload, e_2, isPrevented, ret, indexes;
693
704
  var _this = this;
694
705
  return __generator(this, function (_e) {
695
706
  switch (_e.label) {
@@ -798,7 +809,14 @@ function registerOptionsControl(config) {
798
809
  if (isPrevented) {
799
810
  return [2 /*return*/];
800
811
  }
801
- if (source && editApi) {
812
+ return [4 /*yield*/, (callback === null || callback === void 0 ? void 0 : callback(result))];
813
+ case 12:
814
+ ret = _e.sent();
815
+ if (ret === false) {
816
+ // 如果回调里面返回 false,就不继续了。
817
+ return [2 /*return*/];
818
+ }
819
+ else if (source && editApi) {
802
820
  this.reload();
803
821
  }
804
822
  else {
@@ -812,10 +830,10 @@ function registerOptionsControl(config) {
812
830
  });
813
831
  });
814
832
  };
815
- FormOptionsItem.prototype.handleOptionDelete = function (value) {
833
+ FormOptionsItem.prototype.handleOptionDelete = function (value, callback) {
816
834
  var _a, _b;
817
835
  return __awaiter(this, void 0, void 0, function () {
818
- var _c, deleteConfirmText, disabled, data, deleteApi, onDelete, env, model, source, valueField, __, ctx, confirmed, _d, isPrevented, delConfirmPrevent, result, options, indexes, e_3;
836
+ var _c, deleteConfirmText, disabled, data, deleteApi, onDelete, env, model, source, valueField, __, ctx, confirmed, _d, isPrevented, delConfirmPrevent, result, ret, options, indexes, e_3;
819
837
  return __generator(this, function (_e) {
820
838
  switch (_e.label) {
821
839
  case 0:
@@ -871,7 +889,12 @@ function registerOptionsControl(config) {
871
889
  if (onDelete) {
872
890
  onDelete(ctx);
873
891
  }
874
- if (source) {
892
+ ret = callback === null || callback === void 0 ? void 0 : callback(ctx);
893
+ if (ret === false) {
894
+ // 如果回调里面返回 false,就不继续了。
895
+ return [2 /*return*/];
896
+ }
897
+ else if (source) {
875
898
  this.reload();
876
899
  }
877
900
  else {
@@ -985,19 +1008,19 @@ function registerOptionsControl(config) {
985
1008
  __decorate([
986
1009
  autobind,
987
1010
  __metadata("design:type", Function),
988
- __metadata("design:paramtypes", [Object, Object, Boolean]),
1011
+ __metadata("design:paramtypes", [Object, Object, Boolean, Function]),
989
1012
  __metadata("design:returntype", Promise)
990
1013
  ], FormOptionsItem.prototype, "handleOptionAdd", null);
991
1014
  __decorate([
992
1015
  autobind,
993
1016
  __metadata("design:type", Function),
994
- __metadata("design:paramtypes", [Object, Object, Boolean]),
1017
+ __metadata("design:paramtypes", [Object, Object, Boolean, Function]),
995
1018
  __metadata("design:returntype", Promise)
996
1019
  ], FormOptionsItem.prototype, "handleOptionEdit", null);
997
1020
  __decorate([
998
1021
  autobind,
999
1022
  __metadata("design:type", Function),
1000
- __metadata("design:paramtypes", [Object]),
1023
+ __metadata("design:paramtypes", [Object, Function]),
1001
1024
  __metadata("design:returntype", Promise)
1002
1025
  ], FormOptionsItem.prototype, "handleOptionDelete", null);
1003
1026
  return FormOptionsItem;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-rc.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-rc.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-rc.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -3,7 +3,7 @@ import { IFormStore, IFormItemStore } from '../store/form';
3
3
  import { RendererProps } from '../factory';
4
4
  import { IIRendererStore } from '../store';
5
5
  import hoistNonReactStatic from 'hoist-non-react-statics';
6
- import { Api } from '../types';
6
+ import { Api, DataChangeReason } from '../types';
7
7
  export interface ControlOutterProps extends RendererProps {
8
8
  formStore?: IFormStore;
9
9
  name?: string;
@@ -40,12 +40,12 @@ export interface ControlOutterProps extends RendererProps {
40
40
  [propName: string]: any;
41
41
  };
42
42
  store?: IIRendererStore;
43
- onChange?: (value: any, name: string, submit?: boolean, changePristine?: boolean) => void;
43
+ onChange?: (value: any, name: string, submit?: boolean, changePristine?: boolean, changeReason?: DataChangeReason) => void;
44
44
  formItemDispatchEvent: (type: string, data: any) => void;
45
45
  formItemRef?: (control: any) => void;
46
46
  }
47
47
  export interface ControlProps {
48
- onBulkChange?: (values: Object) => void;
48
+ onBulkChange?: (values: Object, submitOnChange?: boolean, changeReason?: DataChangeReason) => void;
49
49
  onChange?: (value: any, name: string, submit: boolean) => void;
50
50
  store: IIRendererStore;
51
51
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-rc.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -322,7 +322,9 @@ function wrapControl(ComposedComponent) {
322
322
  isAlive(formItem) &&
323
323
  formItem.removeSubFormItem(this.model);
324
324
  this.model.clearValueOnHidden &&
325
- ((_a = this.model.form) === null || _a === void 0 ? void 0 : _a.deleteValueByName(this.model.name));
325
+ ((_a = this.model.form) === null || _a === void 0 ? void 0 : _a.deleteValueByName(this.model.name, {
326
+ type: 'hide'
327
+ }));
326
328
  isAlive(rootStore) && rootStore.removeStore(this.model);
327
329
  }
328
330
  delete this.model;
@@ -445,7 +447,7 @@ function wrapControl(ComposedComponent) {
445
447
  var oldValue = this.model.value;
446
448
  value = callStrFunction.call(this, pipeOut, ['value', 'oldValue', 'data'], value, oldValue, data);
447
449
  }
448
- this.model.changeTmpValue(value, 'input');
450
+ this.model.changeTmpValue(value, type === 'formula' ? 'formulaChanged' : 'input');
449
451
  if (changeImmediately || conrolChangeImmediately || !formInited) {
450
452
  this.emitChange(submitOnChange);
451
453
  }
@@ -495,13 +497,24 @@ function wrapControl(ComposedComponent) {
495
497
  if (!this.model) {
496
498
  return;
497
499
  }
500
+ var changeReason = {
501
+ type: 'input'
502
+ };
503
+ if (model.changeMotivation === 'formulaChanged') {
504
+ changeReason.type = 'formula';
505
+ }
506
+ else if (model.changeMotivation === 'initialValue' ||
507
+ model.changeMotivation === 'formInited' ||
508
+ model.changeMotivation === 'defaultValue') {
509
+ changeReason.type = 'init';
510
+ }
498
511
  if (model.extraName) {
499
512
  var values = model.splitExtraValue(value);
500
- onChange === null || onChange === void 0 ? void 0 : onChange(values[0], model.name);
501
- onChange === null || onChange === void 0 ? void 0 : onChange(values[1], model.extraName, submitOnChange === true);
513
+ onChange === null || onChange === void 0 ? void 0 : onChange(values[0], model.name, undefined, undefined, changeReason);
514
+ onChange === null || onChange === void 0 ? void 0 : onChange(values[1], model.extraName, submitOnChange === true, undefined, changeReason);
502
515
  }
503
516
  else {
504
- onChange === null || onChange === void 0 ? void 0 : onChange(value, model.name, submitOnChange === true);
517
+ onChange === null || onChange === void 0 ? void 0 : onChange(value, model.name, submitOnChange === true, undefined, changeReason);
505
518
  }
506
519
  this.checkValidate();
507
520
  };
@@ -53,10 +53,10 @@ export declare const AppStore: import("mobx-state-tree").IModelType<{
53
53
  readonly pristineDiff: any;
54
54
  } & {
55
55
  setTopStore(value: any): void;
56
- initData(data?: object, skipSetPristine?: boolean): void;
56
+ initData(data?: object, skipSetPristine?: boolean, changeReason?: import("../types").DataChangeReason | undefined): void;
57
57
  reset(): void;
58
- updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
59
- changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined): void;
58
+ updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined, changeReason?: import("../types").DataChangeReason | undefined): void;
59
+ changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined, changeReason?: import("../types").DataChangeReason | undefined): void;
60
60
  setCurrentAction(action: any, resolveDefinitions?: ((schema: any) => any) | undefined): void;
61
61
  openDialog(ctx: any, additonal?: object | undefined, callback?: ((confirmed: boolean, values: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
62
62
  closeDialog(confirmed?: any, data?: any): void;
package/esm/store/app.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-rc.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -2211,10 +2211,10 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
2211
2211
  readonly pristineDiff: any;
2212
2212
  } & {
2213
2213
  setTopStore(value: any): void;
2214
- initData(data?: object, skipSetPristine?: boolean): void;
2214
+ initData(data?: object, skipSetPristine?: boolean, changeReason?: import("..").DataChangeReason | undefined): void;
2215
2215
  reset(): void;
2216
- updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
2217
- changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined): void;
2216
+ updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined, changeReason?: import("..").DataChangeReason | undefined): void;
2217
+ changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined, changeReason?: import("..").DataChangeReason | undefined): void;
2218
2218
  setCurrentAction(action: any, resolveDefinitions?: ((schema: any) => any) | undefined): void;
2219
2219
  openDialog(ctx: any, additonal?: object | undefined, callback?: ((confirmed: boolean, values: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
2220
2220
  closeDialog(confirmed?: any, data?: any): void;
@@ -2276,10 +2276,10 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
2276
2276
  readonly pristineDiff: any;
2277
2277
  } & {
2278
2278
  setTopStore(value: any): void;
2279
- initData(data?: object, skipSetPristine?: boolean): void;
2279
+ initData(data?: object, skipSetPristine?: boolean, changeReason?: import("..").DataChangeReason | undefined): void;
2280
2280
  reset(): void;
2281
- updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
2282
- changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined): void;
2281
+ updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined, changeReason?: import("..").DataChangeReason | undefined): void;
2282
+ changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined, changeReason?: import("..").DataChangeReason | undefined): void;
2283
2283
  setCurrentAction(action: any, resolveDefinitions?: ((schema: any) => any) | undefined): void;
2284
2284
  openDialog(ctx: any, additonal?: object | undefined, callback?: ((confirmed: boolean, values: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
2285
2285
  closeDialog(confirmed?: any, data?: any): void;
@@ -7686,8 +7686,8 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
7686
7686
  readonly persistKey: string;
7687
7687
  } & {
7688
7688
  setInited: (value: boolean) => void;
7689
- setValues: (values: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined) => void;
7690
- setValueByName: (name: string, value: any, isPristine?: boolean, force?: boolean) => void;
7689
+ setValues: (values: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined, changeReason?: import("..").DataChangeReason | undefined) => void;
7690
+ setValueByName: (name: string, value: any, isPristine?: boolean, force?: boolean, changeReason?: import("..").DataChangeReason | undefined) => void;
7691
7691
  trimValues: () => void;
7692
7692
  submit: (fn?: ((values: object) => Promise<any>) | undefined, hooks?: (() => Promise<any>)[] | undefined, failedMessage?: string | undefined, validateErrCb?: (() => void) | undefined, throwErrors?: boolean | undefined) => Promise<any>;
7693
7693
  validate: (hooks?: (() => Promise<any>)[] | undefined, forceValidate?: boolean | undefined, throwErrors?: boolean | undefined, failedMessage?: string | undefined, validateErrCb?: (() => void) | undefined) => Promise<boolean>;
@@ -7702,7 +7702,7 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
7702
7702
  reset: (cb?: ((data: any) => void) | undefined, resetData?: boolean) => void;
7703
7703
  syncOptions: import("lodash").DebouncedFunc<() => void>;
7704
7704
  setCanAccessSuperData: (value?: boolean) => void;
7705
- deleteValueByName: (name: string) => void;
7705
+ deleteValueByName: (name: string, changeReason?: import("..").DataChangeReason | undefined) => void;
7706
7706
  getLocalPersistData: () => void;
7707
7707
  setLocalPersistData: (keys?: string[] | undefined) => void;
7708
7708
  clearLocalPersistData: () => void;
@@ -7773,10 +7773,10 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
7773
7773
  readonly pristineDiff: any;
7774
7774
  } & {
7775
7775
  setTopStore(value: any): void;
7776
- initData(data?: object, skipSetPristine?: boolean): void;
7776
+ initData(data?: object, skipSetPristine?: boolean, changeReason?: import("..").DataChangeReason | undefined): void;
7777
7777
  reset(): void;
7778
- updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
7779
- changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined): void;
7778
+ updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined, changeReason?: import("..").DataChangeReason | undefined): void;
7779
+ changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined, changeReason?: import("..").DataChangeReason | undefined): void;
7780
7780
  setCurrentAction(action: any, resolveDefinitions?: ((schema: any) => any) | undefined): void;
7781
7781
  openDialog(ctx: any, additonal?: object | undefined, callback?: ((confirmed: boolean, values: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
7782
7782
  closeDialog(confirmed?: any, data?: any): void;
@@ -13183,8 +13183,8 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
13183
13183
  readonly persistKey: string;
13184
13184
  } & {
13185
13185
  setInited: (value: boolean) => void;
13186
- setValues: (values: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined) => void;
13187
- setValueByName: (name: string, value: any, isPristine?: boolean, force?: boolean) => void;
13186
+ setValues: (values: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined, changeReason?: import("..").DataChangeReason | undefined) => void;
13187
+ setValueByName: (name: string, value: any, isPristine?: boolean, force?: boolean, changeReason?: import("..").DataChangeReason | undefined) => void;
13188
13188
  trimValues: () => void;
13189
13189
  submit: (fn?: ((values: object) => Promise<any>) | undefined, hooks?: (() => Promise<any>)[] | undefined, failedMessage?: string | undefined, validateErrCb?: (() => void) | undefined, throwErrors?: boolean | undefined) => Promise<any>;
13190
13190
  validate: (hooks?: (() => Promise<any>)[] | undefined, forceValidate?: boolean | undefined, throwErrors?: boolean | undefined, failedMessage?: string | undefined, validateErrCb?: (() => void) | undefined) => Promise<boolean>;
@@ -13199,7 +13199,7 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
13199
13199
  reset: (cb?: ((data: any) => void) | undefined, resetData?: boolean) => void;
13200
13200
  syncOptions: import("lodash").DebouncedFunc<() => void>;
13201
13201
  setCanAccessSuperData: (value?: boolean) => void;
13202
- deleteValueByName: (name: string) => void;
13202
+ deleteValueByName: (name: string, changeReason?: import("..").DataChangeReason | undefined) => void;
13203
13203
  getLocalPersistData: () => void;
13204
13204
  setLocalPersistData: (keys?: string[] | undefined) => void;
13205
13205
  clearLocalPersistData: () => void;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-rc.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -78,10 +78,10 @@ export declare const CRUDStore: import("mobx-state-tree").IModelType<{
78
78
  readonly pristineDiff: any;
79
79
  } & {
80
80
  setTopStore(value: any): void;
81
- initData(data?: object, skipSetPristine?: boolean): void;
81
+ initData(data?: object, skipSetPristine?: boolean, changeReason?: import("../types").DataChangeReason | undefined): void;
82
82
  reset(): void;
83
- updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
84
- changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined): void;
83
+ updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined, changeReason?: import("../types").DataChangeReason | undefined): void;
84
+ changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined, changeReason?: import("../types").DataChangeReason | undefined): void;
85
85
  setCurrentAction(action: any, resolveDefinitions?: ((schema: any) => any) | undefined): void;
86
86
  openDialog(ctx: any, additonal?: object | undefined, callback?: ((confirmed: boolean, values: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
87
87
  closeDialog(confirmed?: any, data?: any): void;
package/esm/store/crud.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-rc.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,7 +1,7 @@
1
1
  /// <reference types="lodash" />
2
2
  import { Instance } from 'mobx-state-tree';
3
3
  import type { IFormItemStore } from './formItem';
4
- import { Api, fetchOptions, Payload } from '../types';
4
+ import { Api, DataChangeReason, fetchOptions, Payload } from '../types';
5
5
  export declare const FormStore: import("mobx-state-tree").IModelType<{
6
6
  id: import("mobx-state-tree").ISimpleType<string>;
7
7
  path: import("mobx-state-tree").IType<string | undefined, string, string>;
@@ -58,10 +58,10 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
58
58
  readonly pristineDiff: any;
59
59
  } & {
60
60
  setTopStore(value: any): void;
61
- initData(data?: object, skipSetPristine?: boolean): void;
61
+ initData(data?: object, skipSetPristine?: boolean, changeReason?: DataChangeReason | undefined): void;
62
62
  reset(): void;
63
- updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
64
- changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined): void;
63
+ updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined, changeReason?: DataChangeReason | undefined): void;
64
+ changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined, changeReason?: DataChangeReason | undefined): void;
65
65
  setCurrentAction(action: any, resolveDefinitions?: ((schema: any) => any) | undefined): void;
66
66
  openDialog(ctx: any, additonal?: object | undefined, callback?: ((confirmed: boolean, values: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
67
67
  closeDialog(confirmed?: any, data?: any): void;
@@ -5469,8 +5469,8 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
5469
5469
  readonly persistKey: string;
5470
5470
  } & {
5471
5471
  setInited: (value: boolean) => void;
5472
- setValues: (values: object, tag?: object, replace?: boolean, concatFields?: string | string[]) => void;
5473
- setValueByName: (name: string, value: any, isPristine?: boolean, force?: boolean) => void;
5472
+ setValues: (values: object, tag?: object, replace?: boolean, concatFields?: string | string[], changeReason?: DataChangeReason) => void;
5473
+ setValueByName: (name: string, value: any, isPristine?: boolean, force?: boolean, changeReason?: DataChangeReason) => void;
5474
5474
  trimValues: () => void;
5475
5475
  submit: (fn?: ((values: object) => Promise<any>) | undefined, hooks?: Array<() => Promise<any>>, failedMessage?: string, validateErrCb?: () => void, throwErrors?: boolean) => Promise<any>;
5476
5476
  validate: (hooks?: Array<() => Promise<any>>, forceValidate?: boolean, throwErrors?: boolean, failedMessage?: string, validateErrCb?: () => void) => Promise<boolean>;
@@ -5485,7 +5485,7 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
5485
5485
  reset: (cb?: ((data: any) => void) | undefined, resetData?: boolean) => void;
5486
5486
  syncOptions: import("lodash").DebouncedFunc<() => void>;
5487
5487
  setCanAccessSuperData: (value?: boolean) => void;
5488
- deleteValueByName: (name: string) => void;
5488
+ deleteValueByName: (name: string, changeReason?: DataChangeReason) => void;
5489
5489
  getLocalPersistData: () => void;
5490
5490
  setLocalPersistData: (keys?: string[]) => void;
5491
5491
  clearLocalPersistData: () => void;
package/esm/store/form.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-rc.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -133,8 +133,8 @@ var FormStore = ServiceStore.named('FormStore')
133
133
  };
134
134
  })
135
135
  .actions(function (self) {
136
- function setValues(values, tag, replace, concatFields) {
137
- self.updateData(values, tag, replace, concatFields);
136
+ function setValues(values, tag, replace, concatFields, changeReason) {
137
+ self.updateData(values, tag, replace, concatFields, changeReason);
138
138
  // 如果数据域中有数据变化,就都reset一下,去掉之前残留的验证消息
139
139
  self.items.forEach(function (item) {
140
140
  if (item.extraName) {
@@ -162,7 +162,7 @@ var FormStore = ServiceStore.named('FormStore')
162
162
  // 同步 options
163
163
  syncOptions();
164
164
  }
165
- function setValueByName(name, value, isPristine, force) {
165
+ function setValueByName(name, value, isPristine, force, changeReason) {
166
166
  if (isPristine === void 0) { isPristine = false; }
167
167
  if (force === void 0) { force = false; }
168
168
  // 没有变化就不跑了。
@@ -207,11 +207,19 @@ var FormStore = ServiceStore.named('FormStore')
207
207
  writable: false
208
208
  });
209
209
  }
210
+ changeReason &&
211
+ Object.isExtensible(data) &&
212
+ Object.defineProperty(data, '__changeReason', {
213
+ value: changeReason,
214
+ enumerable: false,
215
+ configurable: false,
216
+ writable: false
217
+ });
210
218
  self.data = data;
211
219
  // 同步 options
212
220
  syncOptions();
213
221
  }
214
- function deleteValueByName(name) {
222
+ function deleteValueByName(name, changeReason) {
215
223
  var prev = self.data;
216
224
  var data = cloneObject(self.data);
217
225
  if (prev.hasOwnProperty('__prev')) {
@@ -234,6 +242,14 @@ var FormStore = ServiceStore.named('FormStore')
234
242
  });
235
243
  }
236
244
  deleteVariable(data, name);
245
+ changeReason &&
246
+ Object.isExtensible(data) &&
247
+ Object.defineProperty(data, '__changeReason', {
248
+ value: changeReason,
249
+ enumerable: false,
250
+ configurable: false,
251
+ writable: false
252
+ });
237
253
  self.data = data;
238
254
  }
239
255
  function trimValues() {
@@ -303,7 +319,9 @@ var FormStore = ServiceStore.named('FormStore')
303
319
  ? {
304
320
  __saved: Date.now()
305
321
  }
306
- : undefined, !!api.replaceData, api.concatDataFields);
322
+ : undefined, !!api.replaceData, api.concatDataFields, {
323
+ type: 'api'
324
+ });
307
325
  }
308
326
  if (!!json.ok) return [3 /*break*/, 6];
309
327
  if (json.status === 422 && json.errors) {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-rc.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,6 @@
1
1
  import { Instance, SnapshotIn } from 'mobx-state-tree';
2
2
  import { IScopedContext } from '../Scoped';
3
+ import { DataChangeReason } from '../types';
3
4
  export declare const iRendererStore: import("mobx-state-tree").IModelType<{
4
5
  id: import("mobx-state-tree").ISimpleType<string>;
5
6
  path: import("mobx-state-tree").IType<string | undefined, string, string>;
@@ -37,10 +38,10 @@ export declare const iRendererStore: import("mobx-state-tree").IModelType<{
37
38
  readonly pristineDiff: any;
38
39
  } & {
39
40
  setTopStore(value: any): void;
40
- initData(data?: object, skipSetPristine?: boolean): void;
41
+ initData(data?: object, skipSetPristine?: boolean, changeReason?: DataChangeReason): void;
41
42
  reset(): void;
42
- updateData(data?: object, tag?: object, replace?: boolean, concatFields?: string | string[]): void;
43
- changeValue(name: string, value: any, changePristine?: boolean, force?: boolean, otherModifier?: ((data: Object) => void) | undefined): void;
43
+ updateData(data?: object, tag?: object, replace?: boolean, concatFields?: string | string[], changeReason?: DataChangeReason): void;
44
+ changeValue(name: string, value: any, changePristine?: boolean, force?: boolean, otherModifier?: ((data: Object) => void) | undefined, changeReason?: DataChangeReason): void;
44
45
  setCurrentAction(action: any, resolveDefinitions?: ((schema: any) => any) | undefined): void;
45
46
  openDialog(ctx: any, additonal?: object, callback?: ((confirmed: boolean, values: any) => void) | undefined, scoped?: IScopedContext): void;
46
47
  closeDialog(confirmed?: any, data?: any): void;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-rc.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -93,7 +93,7 @@ var iRendererStore = StoreNode.named('iRendererStore')
93
93
  setTopStore: function (value) {
94
94
  top = value;
95
95
  },
96
- initData: function (data, skipSetPristine) {
96
+ initData: function (data, skipSetPristine, changeReason) {
97
97
  if (data === void 0) { data = {}; }
98
98
  if (skipSetPristine === void 0) { skipSetPristine = false; }
99
99
  self.initedAt = Date.now();
@@ -104,13 +104,21 @@ var iRendererStore = StoreNode.named('iRendererStore')
104
104
  self.pristine = data;
105
105
  self.pristineRaw = data;
106
106
  }
107
+ changeReason &&
108
+ Object.isExtensible(data) &&
109
+ Object.defineProperty(data, '__changeReason', {
110
+ value: changeReason,
111
+ enumerable: false,
112
+ configurable: false,
113
+ writable: false
114
+ });
107
115
  self.data = data;
108
116
  self.upStreamData = data;
109
117
  },
110
118
  reset: function () {
111
119
  self.data = self.pristine;
112
120
  },
113
- updateData: function (data, tag, replace, concatFields) {
121
+ updateData: function (data, tag, replace, concatFields, changeReason) {
114
122
  if (data === void 0) { data = {}; }
115
123
  if (concatFields) {
116
124
  data = concatData(data, self.data, concatFields);
@@ -130,9 +138,17 @@ var iRendererStore = StoreNode.named('iRendererStore')
130
138
  configurable: false,
131
139
  writable: false
132
140
  });
141
+ changeReason &&
142
+ Object.isExtensible(newData) &&
143
+ Object.defineProperty(newData, '__changeReason', {
144
+ value: changeReason,
145
+ enumerable: false,
146
+ configurable: false,
147
+ writable: false
148
+ });
133
149
  self.data = newData;
134
150
  },
135
- changeValue: function (name, value, changePristine, force, otherModifier) {
151
+ changeValue: function (name, value, changePristine, force, otherModifier, changeReason) {
136
152
  if (!name) {
137
153
  return;
138
154
  }
@@ -182,6 +198,14 @@ var iRendererStore = StoreNode.named('iRendererStore')
182
198
  writable: false
183
199
  });
184
200
  }
201
+ changeReason &&
202
+ Object.isExtensible(data) &&
203
+ Object.defineProperty(data, '__changeReason', {
204
+ value: changeReason,
205
+ enumerable: false,
206
+ configurable: false,
207
+ writable: false
208
+ });
185
209
  self.data = data;
186
210
  },
187
211
  setCurrentAction: function (action, resolveDefinitions) {
@@ -122,4 +122,5 @@ export declare const RendererStore: import("mobx-state-tree").IModelType<{
122
122
  export type IRendererStore = Instance<typeof RendererStore>;
123
123
  export { iRendererStore, IIRendererStore };
124
124
  export declare const RegisterStore: (store: any) => void;
125
+ export declare const registerStore: (store: any) => void;
125
126
  export { ServiceStore, IServiceStore, FormStore, IFormStore, ComboStore, IComboStore, CRUDStore, ICRUDStore, TableStore, IColumn, IRow, ITableStore, TableStore2, ITableStore2, IColumn2, IRow2, ListStore, IListStore, ModalStore, IModalStore, FormItemStore, IFormItemStore, PaginationStore, IPaginationStore, AppStore, IAppStore, StoreNode, IStoreNode };