amis-core 6.8.0 → 6.9.0-beta.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 (320) 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 +32 -17
  5. package/esm/Scoped.d.ts +1 -1
  6. package/esm/Scoped.js +1 -1
  7. package/esm/StatusScoped.js +1 -1
  8. package/esm/WithRootStore.js +1 -1
  9. package/esm/WithStore.js +10 -10
  10. package/esm/actions/Action.js +1 -1
  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 +57 -50
  15. package/esm/actions/ContinueAction.js +1 -1
  16. package/esm/actions/CopyAction.js +1 -1
  17. package/esm/actions/CustomAction.js +1 -1
  18. package/esm/actions/DialogAction.js +1 -1
  19. package/esm/actions/DrawerAction.js +1 -1
  20. package/esm/actions/EmailAction.js +1 -1
  21. package/esm/actions/EventAction.js +1 -1
  22. package/esm/actions/LinkAction.js +1 -1
  23. package/esm/actions/LoopAction.js +1 -1
  24. package/esm/actions/PageAction.js +1 -1
  25. package/esm/actions/ParallelAction.js +1 -1
  26. package/esm/actions/PrintAction.js +1 -1
  27. package/esm/actions/StatusAction.js +1 -1
  28. package/esm/actions/SwitchAction.js +1 -1
  29. package/esm/actions/ToastAction.js +3 -3
  30. package/esm/actions/WaitAction.js +1 -1
  31. package/esm/components/CustomStyle.js +1 -1
  32. package/esm/components/ErrorBoundary.js +1 -1
  33. package/esm/components/LazyComponent.d.ts +40 -2
  34. package/esm/components/LazyComponent.js +13 -7
  35. package/esm/components/Overlay.js +1 -1
  36. package/esm/components/PopOver.d.ts +1 -1
  37. package/esm/components/PopOver.js +1 -1
  38. package/esm/env.d.ts +0 -4
  39. package/esm/env.js +1 -1
  40. package/esm/envOverwrite.js +1 -1
  41. package/esm/factory.d.ts +19 -2
  42. package/esm/factory.js +205 -45
  43. package/esm/index.d.ts +4 -4
  44. package/esm/index.js +9 -5
  45. package/esm/locale.d.ts +1 -1
  46. package/esm/locale.js +13 -2
  47. package/esm/polyfills.js +1 -1
  48. package/esm/renderers/Form.d.ts +5 -5
  49. package/esm/renderers/Form.js +27 -14
  50. package/esm/renderers/Item.d.ts +19 -13
  51. package/esm/renderers/Item.js +13 -14
  52. package/esm/renderers/Options.d.ts +3 -3
  53. package/esm/renderers/Options.js +42 -19
  54. package/esm/renderers/Placeholder.js +1 -1
  55. package/esm/renderers/builtin.js +1 -1
  56. package/esm/renderers/register.js +1 -1
  57. package/esm/renderers/wrapControl.d.ts +3 -3
  58. package/esm/renderers/wrapControl.js +24 -10
  59. package/esm/store/app.d.ts +3 -3
  60. package/esm/store/app.js +1 -1
  61. package/esm/store/combo.d.ts +17 -15
  62. package/esm/store/combo.js +1 -1
  63. package/esm/store/crud.d.ts +3 -3
  64. package/esm/store/crud.js +1 -1
  65. package/esm/store/form.d.ts +8 -7
  66. package/esm/store/form.js +28 -6
  67. package/esm/store/formItem.js +3 -3
  68. package/esm/store/iRenderer.d.ts +4 -3
  69. package/esm/store/iRenderer.js +28 -4
  70. package/esm/store/index.d.ts +1 -0
  71. package/esm/store/index.js +3 -2
  72. package/esm/store/list.d.ts +3 -3
  73. package/esm/store/list.js +1 -1
  74. package/esm/store/manager.js +1 -1
  75. package/esm/store/modal.d.ts +3 -3
  76. package/esm/store/modal.js +1 -1
  77. package/esm/store/node.js +1 -1
  78. package/esm/store/pagination.d.ts +3 -3
  79. package/esm/store/pagination.js +1 -1
  80. package/esm/store/root.d.ts +5 -3
  81. package/esm/store/root.js +45 -21
  82. package/esm/store/service.d.ts +3 -3
  83. package/esm/store/service.js +10 -4
  84. package/esm/store/status.js +1 -1
  85. package/esm/store/table.d.ts +17 -15
  86. package/esm/store/table.js +1 -1
  87. package/esm/store/table2.d.ts +3 -3
  88. package/esm/store/table2.js +1 -1
  89. package/esm/theme.d.ts +1 -1
  90. package/esm/theme.js +13 -2
  91. package/esm/types.d.ts +19 -2
  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.d.ts +21 -1
  99. package/esm/utils/api.js +138 -41
  100. package/esm/utils/arraySlice.js +1 -1
  101. package/esm/utils/attachmentAdpator.js +1 -1
  102. package/esm/utils/autobind.js +1 -1
  103. package/esm/utils/browser.js +1 -1
  104. package/esm/utils/columnsSplit.js +1 -1
  105. package/esm/utils/concatData.js +1 -1
  106. package/esm/utils/dataMapping.js +1 -1
  107. package/esm/utils/date.js +1 -1
  108. package/esm/utils/debug.js +1 -1
  109. package/esm/utils/decodeEntity.js +1 -1
  110. package/esm/utils/dom.js +1 -1
  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 +1 -1
  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.js +1 -1
  121. package/esm/utils/highlight.js +1 -1
  122. package/esm/utils/icon.js +1 -1
  123. package/esm/utils/image.js +1 -1
  124. package/esm/utils/isPureVariable.js +1 -1
  125. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  126. package/esm/utils/keyToPath.js +1 -1
  127. package/esm/utils/labelToString.js +4 -1
  128. package/esm/utils/makeSorter.js +1 -1
  129. package/esm/utils/math.js +1 -1
  130. package/esm/utils/memoryParse.js +1 -1
  131. package/esm/utils/normalizeLink.js +1 -1
  132. package/esm/utils/normalizeOptions.js +1 -1
  133. package/esm/utils/object.js +1 -1
  134. package/esm/utils/offset.js +1 -1
  135. package/esm/utils/offsetParent.js +1 -1
  136. package/esm/utils/optionValueCompare.js +1 -1
  137. package/esm/utils/position.js +1 -1
  138. package/esm/utils/prettyBytes.js +1 -1
  139. package/esm/utils/printElement.js +1 -1
  140. package/esm/utils/renderer-event.js +1 -1
  141. package/esm/utils/replaceText.js +1 -1
  142. package/esm/utils/resize-sensor.js +1 -1
  143. package/esm/utils/resolveCondition.js +1 -1
  144. package/esm/utils/resolveVariable.js +1 -1
  145. package/esm/utils/resolveVariableAndFilter.js +1 -1
  146. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  147. package/esm/utils/scrollPosition.js +1 -1
  148. package/esm/utils/string2regExp.js +1 -1
  149. package/esm/utils/stripNumber.js +1 -1
  150. package/esm/utils/style-helper.js +1 -1
  151. package/esm/utils/style.js +1 -1
  152. package/esm/utils/toNumber.js +1 -1
  153. package/esm/utils/tokenize.js +1 -1
  154. package/esm/utils/tpl-builtin.js +1 -1
  155. package/esm/utils/tpl-lodash.js +1 -1
  156. package/esm/utils/tpl.js +1 -1
  157. package/esm/utils/uncontrollable.js +1 -1
  158. package/esm/utils/validateId.js +1 -1
  159. package/esm/utils/validations.js +1 -1
  160. package/esm/utils/visitedCache.js +1 -1
  161. package/lib/Root.js +1 -1
  162. package/lib/RootRenderer.js +23 -1
  163. package/lib/SchemaRenderer.js +30 -15
  164. package/lib/Scoped.d.ts +1 -1
  165. package/lib/Scoped.js +1 -1
  166. package/lib/StatusScoped.js +1 -1
  167. package/lib/WithRootStore.js +1 -1
  168. package/lib/WithStore.js +10 -10
  169. package/lib/actions/Action.js +1 -1
  170. package/lib/actions/AjaxAction.js +1 -1
  171. package/lib/actions/BreakAction.js +1 -1
  172. package/lib/actions/BroadcastAction.js +1 -1
  173. package/lib/actions/CmptAction.js +56 -49
  174. package/lib/actions/ContinueAction.js +1 -1
  175. package/lib/actions/CopyAction.js +1 -1
  176. package/lib/actions/CustomAction.js +1 -1
  177. package/lib/actions/DialogAction.js +1 -1
  178. package/lib/actions/DrawerAction.js +1 -1
  179. package/lib/actions/EmailAction.js +1 -1
  180. package/lib/actions/EventAction.js +1 -1
  181. package/lib/actions/LinkAction.js +1 -1
  182. package/lib/actions/LoopAction.js +1 -1
  183. package/lib/actions/PageAction.js +1 -1
  184. package/lib/actions/ParallelAction.js +1 -1
  185. package/lib/actions/PrintAction.js +1 -1
  186. package/lib/actions/StatusAction.js +1 -1
  187. package/lib/actions/SwitchAction.js +1 -1
  188. package/lib/actions/ToastAction.js +2 -2
  189. package/lib/actions/WaitAction.js +1 -1
  190. package/lib/components/CustomStyle.js +1 -1
  191. package/lib/components/ErrorBoundary.js +1 -1
  192. package/lib/components/LazyComponent.d.ts +40 -2
  193. package/lib/components/LazyComponent.js +14 -7
  194. package/lib/components/Overlay.js +1 -1
  195. package/lib/components/PopOver.d.ts +1 -1
  196. package/lib/components/PopOver.js +1 -1
  197. package/lib/env.d.ts +0 -4
  198. package/lib/env.js +1 -1
  199. package/lib/envOverwrite.js +1 -1
  200. package/lib/factory.d.ts +19 -2
  201. package/lib/factory.js +211 -44
  202. package/lib/index.d.ts +4 -4
  203. package/lib/index.js +16 -2
  204. package/lib/locale.d.ts +1 -1
  205. package/lib/locale.js +13 -2
  206. package/lib/polyfills.js +1 -1
  207. package/lib/renderers/Form.d.ts +5 -5
  208. package/lib/renderers/Form.js +25 -12
  209. package/lib/renderers/Item.d.ts +19 -13
  210. package/lib/renderers/Item.js +12 -13
  211. package/lib/renderers/Options.d.ts +3 -3
  212. package/lib/renderers/Options.js +42 -19
  213. package/lib/renderers/Placeholder.js +1 -1
  214. package/lib/renderers/builtin.js +1 -1
  215. package/lib/renderers/register.js +1 -1
  216. package/lib/renderers/wrapControl.d.ts +3 -3
  217. package/lib/renderers/wrapControl.js +24 -10
  218. package/lib/store/app.d.ts +3 -3
  219. package/lib/store/app.js +1 -1
  220. package/lib/store/combo.d.ts +41 -40
  221. package/lib/store/combo.js +1 -1
  222. package/lib/store/crud.d.ts +3 -3
  223. package/lib/store/crud.js +2 -2
  224. package/lib/store/form.d.ts +18 -18
  225. package/lib/store/form.js +28 -6
  226. package/lib/store/formItem.js +3 -3
  227. package/lib/store/iRenderer.d.ts +4 -3
  228. package/lib/store/iRenderer.js +28 -4
  229. package/lib/store/index.d.ts +1 -0
  230. package/lib/store/index.js +3 -1
  231. package/lib/store/list.d.ts +3 -3
  232. package/lib/store/list.js +1 -1
  233. package/lib/store/manager.js +1 -1
  234. package/lib/store/modal.d.ts +3 -3
  235. package/lib/store/modal.js +1 -1
  236. package/lib/store/node.js +1 -1
  237. package/lib/store/pagination.d.ts +3 -3
  238. package/lib/store/pagination.js +1 -1
  239. package/lib/store/root.d.ts +5 -3
  240. package/lib/store/root.js +43 -19
  241. package/lib/store/service.d.ts +3 -3
  242. package/lib/store/service.js +10 -4
  243. package/lib/store/status.js +1 -1
  244. package/lib/store/table.d.ts +37 -36
  245. package/lib/store/table.js +1 -1
  246. package/lib/store/table2.d.ts +3 -3
  247. package/lib/store/table2.js +1 -1
  248. package/lib/theme.d.ts +1 -1
  249. package/lib/theme.js +13 -2
  250. package/lib/types.d.ts +19 -2
  251. package/lib/utils/Animation.js +1 -1
  252. package/lib/utils/ColorScale.js +1 -1
  253. package/lib/utils/DataSchema.js +1 -1
  254. package/lib/utils/DataScope.js +1 -1
  255. package/lib/utils/RootClose.js +1 -1
  256. package/lib/utils/SimpleMap.js +1 -1
  257. package/lib/utils/api.d.ts +21 -1
  258. package/lib/utils/api.js +141 -40
  259. package/lib/utils/arraySlice.js +1 -1
  260. package/lib/utils/attachmentAdpator.js +1 -1
  261. package/lib/utils/autobind.js +1 -1
  262. package/lib/utils/browser.js +1 -1
  263. package/lib/utils/columnsSplit.js +1 -1
  264. package/lib/utils/concatData.js +1 -1
  265. package/lib/utils/dataMapping.js +1 -1
  266. package/lib/utils/date.js +1 -1
  267. package/lib/utils/debug.js +2 -2
  268. package/lib/utils/decodeEntity.js +1 -1
  269. package/lib/utils/dom.js +1 -1
  270. package/lib/utils/errors.js +1 -1
  271. package/lib/utils/escapeHtml.js +1 -1
  272. package/lib/utils/filter-schema.js +1 -1
  273. package/lib/utils/filter.js +1 -1
  274. package/lib/utils/formatDuration.js +1 -1
  275. package/lib/utils/formula.js +1 -1
  276. package/lib/utils/getVariable.js +1 -1
  277. package/lib/utils/grammar.js +1 -1
  278. package/lib/utils/handleAction.js +1 -1
  279. package/lib/utils/helper.js +1 -1
  280. package/lib/utils/highlight.js +1 -1
  281. package/lib/utils/icon.js +1 -1
  282. package/lib/utils/image.js +1 -1
  283. package/lib/utils/isPureVariable.js +1 -1
  284. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  285. package/lib/utils/keyToPath.js +1 -1
  286. package/lib/utils/labelToString.js +4 -1
  287. package/lib/utils/makeSorter.js +1 -1
  288. package/lib/utils/math.js +1 -1
  289. package/lib/utils/memoryParse.js +1 -1
  290. package/lib/utils/normalizeLink.js +1 -1
  291. package/lib/utils/normalizeOptions.js +1 -1
  292. package/lib/utils/object.js +1 -1
  293. package/lib/utils/offset.js +1 -1
  294. package/lib/utils/offsetParent.js +1 -1
  295. package/lib/utils/optionValueCompare.js +1 -1
  296. package/lib/utils/position.js +1 -1
  297. package/lib/utils/prettyBytes.js +1 -1
  298. package/lib/utils/printElement.js +1 -1
  299. package/lib/utils/renderer-event.js +1 -1
  300. package/lib/utils/replaceText.js +1 -1
  301. package/lib/utils/resize-sensor.js +1 -1
  302. package/lib/utils/resolveCondition.js +1 -1
  303. package/lib/utils/resolveVariable.js +1 -1
  304. package/lib/utils/resolveVariableAndFilter.js +1 -1
  305. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  306. package/lib/utils/scrollPosition.js +1 -1
  307. package/lib/utils/string2regExp.js +1 -1
  308. package/lib/utils/stripNumber.js +1 -1
  309. package/lib/utils/style-helper.js +1 -1
  310. package/lib/utils/style.js +1 -1
  311. package/lib/utils/toNumber.js +1 -1
  312. package/lib/utils/tokenize.js +1 -1
  313. package/lib/utils/tpl-builtin.js +1 -1
  314. package/lib/utils/tpl-lodash.js +1 -1
  315. package/lib/utils/tpl.js +1 -1
  316. package/lib/utils/uncontrollable.js +1 -1
  317. package/lib/utils/validateId.js +1 -1
  318. package/lib/utils/validations.js +1 -1
  319. package/lib/utils/visitedCache.js +1 -1
  320. package/package.json +2 -2
@@ -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-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -60,14 +60,14 @@ function wrapControl(ComposedComponent) {
60
60
  __extends(class_1, _super);
61
61
  function class_1(props) {
62
62
  var _this = this;
63
- var _a;
63
+ var _a, _b;
64
64
  _this = _super.call(this, props) || this;
65
65
  _this.value = undefined;
66
66
  _this.lazyEmitChange = debounce(_this.emitChange.bind(_this), 250, {
67
67
  trailing: true,
68
68
  leading: false
69
69
  });
70
- var _b = _this.props, form = _b.formStore, formItem = _b.formItem, rootStore = _b.rootStore, store = _b.store, onChange = _b.onChange, data = _b.data, inputGroupControl = _b.inputGroupControl, colIndex = _b.colIndex, rowIndex = _b.rowIndex, _c = _b.$schema, id = _c.id, type = _c.type, required = _c.required, validations = _c.validations, validationErrors = _c.validationErrors, unique = _c.unique, value = _c.value, extraName = _c.extraName; _c.multiple; var delimiter = _c.delimiter, valueField = _c.valueField, labelField = _c.labelField, joinValues = _c.joinValues, extractValue = _c.extractValue, selectFirst = _c.selectFirst, autoFill = _c.autoFill, clearValueOnHidden = _c.clearValueOnHidden, validateApi = _c.validateApi, minLength = _c.minLength, maxLength = _c.maxLength, validateOnChange = _c.validateOnChange, label = _c.label, pagination = _c.pagination;
70
+ var _c = _this.props, form = _c.formStore, formItem = _c.formItem, rootStore = _c.rootStore, store = _c.store, onChange = _c.onChange, data = _c.data, inputGroupControl = _c.inputGroupControl, colIndex = _c.colIndex, rowIndex = _c.rowIndex, _d = _c.$schema, id = _d.id, type = _d.type, required = _d.required, validations = _d.validations, validationErrors = _d.validationErrors, unique = _d.unique, value = _d.value, extraName = _d.extraName; _d.multiple; var delimiter = _d.delimiter, valueField = _d.valueField, labelField = _d.labelField, joinValues = _d.joinValues, extractValue = _d.extractValue, selectFirst = _d.selectFirst, autoFill = _d.autoFill, clearValueOnHidden = _d.clearValueOnHidden, validateApi = _d.validateApi, minLength = _d.minLength, maxLength = _d.maxLength, validateOnChange = _d.validateOnChange, label = _d.label, pagination = _d.pagination;
71
71
  _this.getValue = _this.getValue.bind(_this);
72
72
  _this.setValue = _this.setValue.bind(_this);
73
73
  _this.handleChange = _this.handleChange.bind(_this);
@@ -77,7 +77,8 @@ function wrapControl(ComposedComponent) {
77
77
  _this.validate = _this.validate.bind(_this);
78
78
  _this.flushChange = _this.flushChange.bind(_this);
79
79
  _this.renderChild = _this.renderChild.bind(_this);
80
- var name = _this.props.$schema.name;
80
+ var name = _this.props.$schema.name ||
81
+ ((_a = ComposedComponent.defaultProps) === null || _a === void 0 ? void 0 : _a.name);
81
82
  // 如果 name 是表达式
82
83
  // 扩充 each 用法
83
84
  if (isExpression(name)) {
@@ -102,7 +103,7 @@ function wrapControl(ComposedComponent) {
102
103
  model.config(__assign(__assign({}, pick(__assign(__assign({}, ComposedComponent.defaultProps), _this.props.$schema), ['multiple'])), { id: id, type: type, required: props.required || required, unique: unique, value: value, isValueSchemaExp: isExpression(value), rules: validations, messages: validationErrors, delimiter: delimiter, valueField: valueField, labelField: labelField, joinValues: joinValues, extractValue: extractValue, selectFirst: selectFirst, autoFill: autoFill, clearValueOnHidden: clearValueOnHidden, validateApi: validateApi, minLength: minLength, maxLength: maxLength, validateOnChange: validateOnChange, label: label, inputGroupControl: inputGroupControl, extraName: extraName, pagination: pagination }));
103
104
  // issue 这个逻辑应该在 combo 里面自己实现。
104
105
  if (_this.model.unique &&
105
- ((_a = form === null || form === void 0 ? void 0 : form.parentStore) === null || _a === void 0 ? void 0 : _a.storeType) === ComboStore.name) {
106
+ ((_b = form === null || form === void 0 ? void 0 : form.parentStore) === null || _b === void 0 ? void 0 : _b.storeType) === ComboStore.name) {
106
107
  var combo = form.parentStore;
107
108
  combo.bindUniuqueItem(model);
108
109
  }
@@ -322,7 +323,9 @@ function wrapControl(ComposedComponent) {
322
323
  isAlive(formItem) &&
323
324
  formItem.removeSubFormItem(this.model);
324
325
  this.model.clearValueOnHidden &&
325
- ((_a = this.model.form) === null || _a === void 0 ? void 0 : _a.deleteValueByName(this.model.name));
326
+ ((_a = this.model.form) === null || _a === void 0 ? void 0 : _a.deleteValueByName(this.model.name, {
327
+ type: 'hide'
328
+ }));
326
329
  isAlive(rootStore) && rootStore.removeStore(this.model);
327
330
  }
328
331
  delete this.model;
@@ -445,7 +448,7 @@ function wrapControl(ComposedComponent) {
445
448
  var oldValue = this.model.value;
446
449
  value = callStrFunction.call(this, pipeOut, ['value', 'oldValue', 'data'], value, oldValue, data);
447
450
  }
448
- this.model.changeTmpValue(value, 'input');
451
+ this.model.changeTmpValue(value, type === 'formula' ? 'formulaChanged' : 'input');
449
452
  if (changeImmediately || conrolChangeImmediately || !formInited) {
450
453
  this.emitChange(submitOnChange);
451
454
  }
@@ -495,13 +498,24 @@ function wrapControl(ComposedComponent) {
495
498
  if (!this.model) {
496
499
  return;
497
500
  }
501
+ var changeReason = {
502
+ type: 'input'
503
+ };
504
+ if (model.changeMotivation === 'formulaChanged') {
505
+ changeReason.type = 'formula';
506
+ }
507
+ else if (model.changeMotivation === 'initialValue' ||
508
+ model.changeMotivation === 'formInited' ||
509
+ model.changeMotivation === 'defaultValue') {
510
+ changeReason.type = 'init';
511
+ }
498
512
  if (model.extraName) {
499
513
  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);
514
+ onChange === null || onChange === void 0 ? void 0 : onChange(values[0], model.name, undefined, undefined, changeReason);
515
+ onChange === null || onChange === void 0 ? void 0 : onChange(values[1], model.extraName, submitOnChange === true, undefined, changeReason);
502
516
  }
503
517
  else {
504
- onChange === null || onChange === void 0 ? void 0 : onChange(value, model.name, submitOnChange === true);
518
+ onChange === null || onChange === void 0 ? void 0 : onChange(value, model.name, submitOnChange === true, undefined, changeReason);
505
519
  }
506
520
  this.checkValidate();
507
521
  };
@@ -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-beta.0
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,10 +7702,11 @@ 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;
7709
+ setPristine: (data: object) => void;
7709
7710
  setPersistData: (value?: string) => void;
7710
7711
  clear: (cb?: ((data: any) => void) | undefined) => void;
7711
7712
  updateSavedData: () => void;
@@ -7773,10 +7774,10 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
7773
7774
  readonly pristineDiff: any;
7774
7775
  } & {
7775
7776
  setTopStore(value: any): void;
7776
- initData(data?: object, skipSetPristine?: boolean): void;
7777
+ initData(data?: object, skipSetPristine?: boolean, changeReason?: import("..").DataChangeReason | undefined): void;
7777
7778
  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;
7779
+ updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined, changeReason?: import("..").DataChangeReason | undefined): void;
7780
+ changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined, changeReason?: import("..").DataChangeReason | undefined): void;
7780
7781
  setCurrentAction(action: any, resolveDefinitions?: ((schema: any) => any) | undefined): void;
7781
7782
  openDialog(ctx: any, additonal?: object | undefined, callback?: ((confirmed: boolean, values: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
7782
7783
  closeDialog(confirmed?: any, data?: any): void;
@@ -13183,8 +13184,8 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
13183
13184
  readonly persistKey: string;
13184
13185
  } & {
13185
13186
  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;
13187
+ setValues: (values: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined, changeReason?: import("..").DataChangeReason | undefined) => void;
13188
+ setValueByName: (name: string, value: any, isPristine?: boolean, force?: boolean, changeReason?: import("..").DataChangeReason | undefined) => void;
13188
13189
  trimValues: () => void;
13189
13190
  submit: (fn?: ((values: object) => Promise<any>) | undefined, hooks?: (() => Promise<any>)[] | undefined, failedMessage?: string | undefined, validateErrCb?: (() => void) | undefined, throwErrors?: boolean | undefined) => Promise<any>;
13190
13191
  validate: (hooks?: (() => Promise<any>)[] | undefined, forceValidate?: boolean | undefined, throwErrors?: boolean | undefined, failedMessage?: string | undefined, validateErrCb?: (() => void) | undefined) => Promise<boolean>;
@@ -13199,10 +13200,11 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
13199
13200
  reset: (cb?: ((data: any) => void) | undefined, resetData?: boolean) => void;
13200
13201
  syncOptions: import("lodash").DebouncedFunc<() => void>;
13201
13202
  setCanAccessSuperData: (value?: boolean) => void;
13202
- deleteValueByName: (name: string) => void;
13203
+ deleteValueByName: (name: string, changeReason?: import("..").DataChangeReason | undefined) => void;
13203
13204
  getLocalPersistData: () => void;
13204
13205
  setLocalPersistData: (keys?: string[] | undefined) => void;
13205
13206
  clearLocalPersistData: () => void;
13207
+ setPristine: (data: object) => void;
13206
13208
  setPersistData: (value?: string) => void;
13207
13209
  clear: (cb?: ((data: any) => void) | undefined) => void;
13208
13210
  updateSavedData: () => void;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-beta.0
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-beta.0
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,10 +5485,11 @@ 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;
5492
+ setPristine: (data: object) => void;
5492
5493
  setPersistData: (value?: string) => void;
5493
5494
  clear: (cb?: ((data: any) => void) | undefined) => void;
5494
5495
  updateSavedData: () => 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-beta.0
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) {
@@ -607,6 +625,9 @@ var FormStore = ServiceStore.named('FormStore')
607
625
  var items = self.items.concat();
608
626
  items.forEach(function (item) { return item.reset(); });
609
627
  }
628
+ function setPristine(data) {
629
+ self.pristine = data;
630
+ }
610
631
  function reset(cb, resetData) {
611
632
  if (resetData === void 0) { resetData = true; }
612
633
  if (resetData) {
@@ -685,6 +706,7 @@ var FormStore = ServiceStore.named('FormStore')
685
706
  getLocalPersistData: getLocalPersistData,
686
707
  setLocalPersistData: setLocalPersistData,
687
708
  clearLocalPersistData: clearLocalPersistData,
709
+ setPristine: setPristine,
688
710
  setPersistData: setPersistData,
689
711
  clear: clear,
690
712
  updateSavedData: updateSavedData,
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -964,12 +964,12 @@ var FormItemStore = StoreNode.named('FormItemStore')
964
964
  group &&
965
965
  group.items.forEach(function (item) {
966
966
  if (self !== item) {
967
- options_2.push.apply(options_2, __spreadArray([], __read(item.selectedOptions.map(function (item) { return item && item.value; })), false));
967
+ options_2.push.apply(options_2, __spreadArray([], __read(item.selectedOptions.map(function (item) { return item && item[valueField]; })), false));
968
968
  }
969
969
  });
970
970
  if (filteredOptions.length && options_2.length) {
971
971
  filteredOptions = mapTree(filteredOptions, function (item) {
972
- if (~options_2.indexOf(item.value)) {
972
+ if (~options_2.indexOf(item[valueField])) {
973
973
  return __assign(__assign({}, item), { disabled: true });
974
974
  }
975
975
  return item;
@@ -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-beta.0
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 };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -86,5 +86,6 @@ var RendererStore = types
86
86
  var RegisterStore = function (store) {
87
87
  allowedStoreList.push(store);
88
88
  };
89
+ var registerStore = RegisterStore;
89
90
 
90
- export { RegisterStore, RendererStore };
91
+ export { RegisterStore, RendererStore, registerStore };
@@ -110,10 +110,10 @@ export declare const ListStore: import("mobx-state-tree").IModelType<{
110
110
  readonly pristineDiff: any;
111
111
  } & {
112
112
  setTopStore(value: any): void;
113
- initData(data?: object, skipSetPristine?: boolean): void;
113
+ initData(data?: object, skipSetPristine?: boolean, changeReason?: import("..").DataChangeReason | undefined): void;
114
114
  reset(): void;
115
- updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
116
- changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined): void;
115
+ updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined, changeReason?: import("..").DataChangeReason | undefined): void;
116
+ changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined, changeReason?: import("..").DataChangeReason | undefined): void;
117
117
  setCurrentAction(action: any, resolveDefinitions?: ((schema: any) => any) | undefined): void;
118
118
  openDialog(ctx: any, additonal?: object | undefined, callback?: ((confirmed: boolean, values: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
119
119
  closeDialog(confirmed?: any, data?: any): void;
package/esm/store/list.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-beta.0
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-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -51,10 +51,10 @@ export declare const ModalStore: import("mobx-state-tree").IModelType<{
51
51
  readonly pristineDiff: any;
52
52
  } & {
53
53
  setTopStore(value: any): void;
54
- initData(data?: object, skipSetPristine?: boolean): void;
54
+ initData(data?: object, skipSetPristine?: boolean, changeReason?: import("..").DataChangeReason | undefined): void;
55
55
  reset(): void;
56
- updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
57
- changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined): void;
56
+ updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined, changeReason?: import("..").DataChangeReason | undefined): void;
57
+ changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined, changeReason?: import("..").DataChangeReason | undefined): void;
58
58
  setCurrentAction(action: any, resolveDefinitions?: ((schema: any) => any) | undefined): void;
59
59
  openDialog(ctx: any, additonal?: object | undefined, callback?: ((confirmed: boolean, values: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
60
60
  closeDialog(confirmed?: any, data?: any): void;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/esm/store/node.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -43,10 +43,10 @@ export declare const PaginationStore: import("mobx-state-tree").IModelType<{
43
43
  readonly pristineDiff: any;
44
44
  } & {
45
45
  setTopStore(value: any): void;
46
- initData(data?: object, skipSetPristine?: boolean): void;
46
+ initData(data?: object, skipSetPristine?: boolean, changeReason?: import("..").DataChangeReason | undefined): void;
47
47
  reset(): void;
48
- updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
49
- changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined): void;
48
+ updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined, changeReason?: import("..").DataChangeReason | undefined): void;
49
+ changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined, changeReason?: import("..").DataChangeReason | undefined): void;
50
50
  setCurrentAction(action: any, resolveDefinitions?: ((schema: any) => any) | undefined): void;
51
51
  openDialog(ctx: any, additonal?: object | undefined, callback?: ((confirmed: boolean, values: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
52
52
  closeDialog(confirmed?: any, data?: any): void;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5