amis-core 6.8.0 → 6.9.0-beta.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 (332) 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.d.ts +13 -0
  5. package/esm/SchemaRenderer.js +104 -20
  6. package/esm/Scoped.d.ts +1 -1
  7. package/esm/Scoped.js +1 -1
  8. package/esm/StatusScoped.js +1 -1
  9. package/esm/StyleManager.d.ts +18 -0
  10. package/esm/StyleManager.js +55 -0
  11. package/esm/WithRootStore.js +1 -1
  12. package/esm/WithStore.js +10 -10
  13. package/esm/actions/Action.js +1 -1
  14. package/esm/actions/AjaxAction.js +1 -1
  15. package/esm/actions/BreakAction.js +1 -1
  16. package/esm/actions/BroadcastAction.js +1 -1
  17. package/esm/actions/CmptAction.js +57 -50
  18. package/esm/actions/ContinueAction.js +1 -1
  19. package/esm/actions/CopyAction.js +1 -1
  20. package/esm/actions/CustomAction.js +1 -1
  21. package/esm/actions/DialogAction.js +1 -1
  22. package/esm/actions/DrawerAction.js +1 -1
  23. package/esm/actions/EmailAction.js +1 -1
  24. package/esm/actions/EventAction.js +1 -1
  25. package/esm/actions/LinkAction.js +1 -1
  26. package/esm/actions/LoopAction.js +1 -1
  27. package/esm/actions/PageAction.js +1 -1
  28. package/esm/actions/ParallelAction.js +1 -1
  29. package/esm/actions/PrintAction.js +1 -1
  30. package/esm/actions/StatusAction.js +1 -1
  31. package/esm/actions/SwitchAction.js +1 -1
  32. package/esm/actions/ToastAction.js +3 -3
  33. package/esm/actions/WaitAction.js +1 -1
  34. package/esm/components/CustomStyle.js +1 -1
  35. package/esm/components/ErrorBoundary.js +1 -1
  36. package/esm/components/LazyComponent.d.ts +40 -2
  37. package/esm/components/LazyComponent.js +13 -7
  38. package/esm/components/Overlay.js +1 -1
  39. package/esm/components/PopOver.d.ts +1 -1
  40. package/esm/components/PopOver.js +1 -1
  41. package/esm/env.d.ts +0 -4
  42. package/esm/env.js +1 -1
  43. package/esm/envOverwrite.js +1 -1
  44. package/esm/factory.d.ts +19 -2
  45. package/esm/factory.js +205 -45
  46. package/esm/index.d.ts +6 -4
  47. package/esm/index.js +12 -6
  48. package/esm/locale.d.ts +1 -1
  49. package/esm/locale.js +13 -2
  50. package/esm/polyfills.js +1 -1
  51. package/esm/renderers/Form.d.ts +5 -5
  52. package/esm/renderers/Form.js +27 -14
  53. package/esm/renderers/Item.d.ts +19 -13
  54. package/esm/renderers/Item.js +13 -14
  55. package/esm/renderers/Options.d.ts +3 -3
  56. package/esm/renderers/Options.js +42 -19
  57. package/esm/renderers/Placeholder.js +1 -1
  58. package/esm/renderers/builtin.js +1 -1
  59. package/esm/renderers/register.js +1 -1
  60. package/esm/renderers/wrapControl.d.ts +3 -3
  61. package/esm/renderers/wrapControl.js +24 -10
  62. package/esm/store/app.d.ts +3 -3
  63. package/esm/store/app.js +1 -1
  64. package/esm/store/combo.d.ts +17 -15
  65. package/esm/store/combo.js +1 -1
  66. package/esm/store/crud.d.ts +3 -3
  67. package/esm/store/crud.js +1 -1
  68. package/esm/store/form.d.ts +8 -7
  69. package/esm/store/form.js +28 -6
  70. package/esm/store/formItem.js +3 -3
  71. package/esm/store/iRenderer.d.ts +4 -3
  72. package/esm/store/iRenderer.js +28 -4
  73. package/esm/store/index.d.ts +1 -0
  74. package/esm/store/index.js +3 -2
  75. package/esm/store/list.d.ts +3 -3
  76. package/esm/store/list.js +1 -1
  77. package/esm/store/manager.js +1 -1
  78. package/esm/store/modal.d.ts +3 -3
  79. package/esm/store/modal.js +1 -1
  80. package/esm/store/node.js +1 -1
  81. package/esm/store/pagination.d.ts +3 -3
  82. package/esm/store/pagination.js +1 -1
  83. package/esm/store/root.d.ts +5 -3
  84. package/esm/store/root.js +45 -21
  85. package/esm/store/service.d.ts +3 -3
  86. package/esm/store/service.js +10 -4
  87. package/esm/store/status.js +1 -1
  88. package/esm/store/table.d.ts +17 -15
  89. package/esm/store/table.js +1 -1
  90. package/esm/store/table2.d.ts +3 -3
  91. package/esm/store/table2.js +1 -1
  92. package/esm/theme.d.ts +1 -1
  93. package/esm/theme.js +13 -2
  94. package/esm/types.d.ts +21 -2
  95. package/esm/utils/Animation.js +1 -1
  96. package/esm/utils/ColorScale.js +1 -1
  97. package/esm/utils/DataSchema.js +1 -1
  98. package/esm/utils/DataScope.js +1 -1
  99. package/esm/utils/RootClose.js +1 -1
  100. package/esm/utils/SimpleMap.js +1 -1
  101. package/esm/utils/animations.d.ts +19 -0
  102. package/esm/utils/animations.js +58 -0
  103. package/esm/utils/api.d.ts +21 -1
  104. package/esm/utils/api.js +138 -41
  105. package/esm/utils/arraySlice.js +1 -1
  106. package/esm/utils/attachmentAdpator.js +1 -1
  107. package/esm/utils/autobind.js +1 -1
  108. package/esm/utils/browser.js +1 -1
  109. package/esm/utils/columnsSplit.js +1 -1
  110. package/esm/utils/concatData.js +1 -1
  111. package/esm/utils/dataMapping.js +1 -1
  112. package/esm/utils/date.js +1 -1
  113. package/esm/utils/debug.js +1 -1
  114. package/esm/utils/decodeEntity.js +1 -1
  115. package/esm/utils/dom.js +1 -1
  116. package/esm/utils/errors.js +1 -1
  117. package/esm/utils/escapeHtml.js +1 -1
  118. package/esm/utils/filter-schema.js +1 -1
  119. package/esm/utils/filter.js +1 -1
  120. package/esm/utils/formatDuration.js +1 -1
  121. package/esm/utils/formula.js +1 -1
  122. package/esm/utils/getVariable.js +1 -1
  123. package/esm/utils/grammar.js +1 -1
  124. package/esm/utils/handleAction.js +1 -1
  125. package/esm/utils/helper.d.ts +1 -0
  126. package/esm/utils/helper.js +15 -2
  127. package/esm/utils/highlight.js +1 -1
  128. package/esm/utils/icon.js +1 -1
  129. package/esm/utils/image.js +1 -1
  130. package/esm/utils/isPureVariable.js +1 -1
  131. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  132. package/esm/utils/keyToPath.js +1 -1
  133. package/esm/utils/labelToString.js +4 -1
  134. package/esm/utils/makeSorter.js +1 -1
  135. package/esm/utils/math.js +1 -1
  136. package/esm/utils/memoryParse.js +1 -1
  137. package/esm/utils/normalizeLink.js +1 -1
  138. package/esm/utils/normalizeOptions.js +1 -1
  139. package/esm/utils/object.js +1 -1
  140. package/esm/utils/offset.js +1 -1
  141. package/esm/utils/offsetParent.js +1 -1
  142. package/esm/utils/optionValueCompare.js +1 -1
  143. package/esm/utils/position.js +1 -1
  144. package/esm/utils/prettyBytes.js +1 -1
  145. package/esm/utils/printElement.js +1 -1
  146. package/esm/utils/renderer-event.js +1 -1
  147. package/esm/utils/replaceText.js +1 -1
  148. package/esm/utils/resize-sensor.js +1 -1
  149. package/esm/utils/resolveCondition.js +1 -1
  150. package/esm/utils/resolveVariable.js +1 -1
  151. package/esm/utils/resolveVariableAndFilter.js +1 -1
  152. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  153. package/esm/utils/scrollPosition.js +1 -1
  154. package/esm/utils/string2regExp.js +1 -1
  155. package/esm/utils/stripNumber.js +1 -1
  156. package/esm/utils/style-helper.js +1 -1
  157. package/esm/utils/style.js +1 -1
  158. package/esm/utils/toNumber.js +1 -1
  159. package/esm/utils/tokenize.js +1 -1
  160. package/esm/utils/tpl-builtin.js +1 -1
  161. package/esm/utils/tpl-lodash.js +1 -1
  162. package/esm/utils/tpl.js +1 -1
  163. package/esm/utils/uncontrollable.js +1 -1
  164. package/esm/utils/validateId.js +1 -1
  165. package/esm/utils/validations.js +13 -10
  166. package/esm/utils/visitedCache.js +1 -1
  167. package/lib/Root.js +1 -1
  168. package/lib/RootRenderer.js +23 -1
  169. package/lib/SchemaRenderer.d.ts +13 -0
  170. package/lib/SchemaRenderer.js +101 -17
  171. package/lib/Scoped.d.ts +1 -1
  172. package/lib/Scoped.js +1 -1
  173. package/lib/StatusScoped.js +1 -1
  174. package/lib/StyleManager.d.ts +18 -0
  175. package/lib/StyleManager.js +63 -0
  176. package/lib/WithRootStore.js +1 -1
  177. package/lib/WithStore.js +10 -10
  178. package/lib/actions/Action.js +1 -1
  179. package/lib/actions/AjaxAction.js +1 -1
  180. package/lib/actions/BreakAction.js +1 -1
  181. package/lib/actions/BroadcastAction.js +1 -1
  182. package/lib/actions/CmptAction.js +56 -49
  183. package/lib/actions/ContinueAction.js +1 -1
  184. package/lib/actions/CopyAction.js +1 -1
  185. package/lib/actions/CustomAction.js +1 -1
  186. package/lib/actions/DialogAction.js +1 -1
  187. package/lib/actions/DrawerAction.js +1 -1
  188. package/lib/actions/EmailAction.js +1 -1
  189. package/lib/actions/EventAction.js +1 -1
  190. package/lib/actions/LinkAction.js +1 -1
  191. package/lib/actions/LoopAction.js +1 -1
  192. package/lib/actions/PageAction.js +1 -1
  193. package/lib/actions/ParallelAction.js +1 -1
  194. package/lib/actions/PrintAction.js +1 -1
  195. package/lib/actions/StatusAction.js +1 -1
  196. package/lib/actions/SwitchAction.js +1 -1
  197. package/lib/actions/ToastAction.js +2 -2
  198. package/lib/actions/WaitAction.js +1 -1
  199. package/lib/components/CustomStyle.js +1 -1
  200. package/lib/components/ErrorBoundary.js +1 -1
  201. package/lib/components/LazyComponent.d.ts +40 -2
  202. package/lib/components/LazyComponent.js +14 -7
  203. package/lib/components/Overlay.js +1 -1
  204. package/lib/components/PopOver.d.ts +1 -1
  205. package/lib/components/PopOver.js +1 -1
  206. package/lib/env.d.ts +0 -4
  207. package/lib/env.js +1 -1
  208. package/lib/envOverwrite.js +1 -1
  209. package/lib/factory.d.ts +19 -2
  210. package/lib/factory.js +211 -44
  211. package/lib/index.d.ts +6 -4
  212. package/lib/index.js +21 -2
  213. package/lib/locale.d.ts +1 -1
  214. package/lib/locale.js +13 -2
  215. package/lib/polyfills.js +1 -1
  216. package/lib/renderers/Form.d.ts +5 -5
  217. package/lib/renderers/Form.js +25 -12
  218. package/lib/renderers/Item.d.ts +19 -13
  219. package/lib/renderers/Item.js +12 -13
  220. package/lib/renderers/Options.d.ts +3 -3
  221. package/lib/renderers/Options.js +42 -19
  222. package/lib/renderers/Placeholder.js +1 -1
  223. package/lib/renderers/builtin.js +1 -1
  224. package/lib/renderers/register.js +1 -1
  225. package/lib/renderers/wrapControl.d.ts +3 -3
  226. package/lib/renderers/wrapControl.js +24 -10
  227. package/lib/store/app.d.ts +3 -3
  228. package/lib/store/app.js +1 -1
  229. package/lib/store/combo.d.ts +41 -39
  230. package/lib/store/combo.js +1 -1
  231. package/lib/store/crud.d.ts +3 -3
  232. package/lib/store/crud.js +2 -2
  233. package/lib/store/form.d.ts +18 -17
  234. package/lib/store/form.js +28 -6
  235. package/lib/store/formItem.js +3 -3
  236. package/lib/store/iRenderer.d.ts +4 -3
  237. package/lib/store/iRenderer.js +28 -4
  238. package/lib/store/index.d.ts +1 -0
  239. package/lib/store/index.js +3 -1
  240. package/lib/store/list.d.ts +3 -3
  241. package/lib/store/list.js +1 -1
  242. package/lib/store/manager.js +1 -1
  243. package/lib/store/modal.d.ts +3 -3
  244. package/lib/store/modal.js +1 -1
  245. package/lib/store/node.js +1 -1
  246. package/lib/store/pagination.d.ts +3 -3
  247. package/lib/store/pagination.js +1 -1
  248. package/lib/store/root.d.ts +5 -3
  249. package/lib/store/root.js +43 -19
  250. package/lib/store/service.d.ts +3 -3
  251. package/lib/store/service.js +10 -4
  252. package/lib/store/status.js +1 -1
  253. package/lib/store/table.d.ts +37 -35
  254. package/lib/store/table.js +1 -1
  255. package/lib/store/table2.d.ts +3 -3
  256. package/lib/store/table2.js +1 -1
  257. package/lib/theme.d.ts +1 -1
  258. package/lib/theme.js +13 -2
  259. package/lib/types.d.ts +21 -2
  260. package/lib/utils/Animation.js +1 -1
  261. package/lib/utils/ColorScale.js +1 -1
  262. package/lib/utils/DataSchema.js +1 -1
  263. package/lib/utils/DataScope.js +1 -1
  264. package/lib/utils/RootClose.js +1 -1
  265. package/lib/utils/SimpleMap.js +1 -1
  266. package/lib/utils/animations.d.ts +19 -0
  267. package/lib/utils/animations.js +62 -0
  268. package/lib/utils/api.d.ts +21 -1
  269. package/lib/utils/api.js +141 -40
  270. package/lib/utils/arraySlice.js +1 -1
  271. package/lib/utils/attachmentAdpator.js +1 -1
  272. package/lib/utils/autobind.js +1 -1
  273. package/lib/utils/browser.js +1 -1
  274. package/lib/utils/columnsSplit.js +1 -1
  275. package/lib/utils/concatData.js +1 -1
  276. package/lib/utils/dataMapping.js +1 -1
  277. package/lib/utils/date.js +1 -1
  278. package/lib/utils/debug.js +2 -2
  279. package/lib/utils/decodeEntity.js +1 -1
  280. package/lib/utils/dom.js +1 -1
  281. package/lib/utils/errors.js +1 -1
  282. package/lib/utils/escapeHtml.js +1 -1
  283. package/lib/utils/filter-schema.js +1 -1
  284. package/lib/utils/filter.js +1 -1
  285. package/lib/utils/formatDuration.js +1 -1
  286. package/lib/utils/formula.js +1 -1
  287. package/lib/utils/getVariable.js +1 -1
  288. package/lib/utils/grammar.js +1 -1
  289. package/lib/utils/handleAction.js +1 -1
  290. package/lib/utils/helper.d.ts +1 -0
  291. package/lib/utils/helper.js +15 -1
  292. package/lib/utils/highlight.js +1 -1
  293. package/lib/utils/icon.js +1 -1
  294. package/lib/utils/image.js +1 -1
  295. package/lib/utils/isPureVariable.js +1 -1
  296. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  297. package/lib/utils/keyToPath.js +1 -1
  298. package/lib/utils/labelToString.js +4 -1
  299. package/lib/utils/makeSorter.js +1 -1
  300. package/lib/utils/math.js +1 -1
  301. package/lib/utils/memoryParse.js +1 -1
  302. package/lib/utils/normalizeLink.js +1 -1
  303. package/lib/utils/normalizeOptions.js +1 -1
  304. package/lib/utils/object.js +1 -1
  305. package/lib/utils/offset.js +1 -1
  306. package/lib/utils/offsetParent.js +1 -1
  307. package/lib/utils/optionValueCompare.js +1 -1
  308. package/lib/utils/position.js +1 -1
  309. package/lib/utils/prettyBytes.js +1 -1
  310. package/lib/utils/printElement.js +1 -1
  311. package/lib/utils/renderer-event.js +1 -1
  312. package/lib/utils/replaceText.js +1 -1
  313. package/lib/utils/resize-sensor.js +1 -1
  314. package/lib/utils/resolveCondition.js +1 -1
  315. package/lib/utils/resolveVariable.js +1 -1
  316. package/lib/utils/resolveVariableAndFilter.js +1 -1
  317. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  318. package/lib/utils/scrollPosition.js +1 -1
  319. package/lib/utils/string2regExp.js +1 -1
  320. package/lib/utils/stripNumber.js +1 -1
  321. package/lib/utils/style-helper.js +1 -1
  322. package/lib/utils/style.js +1 -1
  323. package/lib/utils/toNumber.js +1 -1
  324. package/lib/utils/tokenize.js +1 -1
  325. package/lib/utils/tpl-builtin.js +1 -1
  326. package/lib/utils/tpl-lodash.js +1 -1
  327. package/lib/utils/tpl.js +1 -1
  328. package/lib/utils/uncontrollable.js +1 -1
  329. package/lib/utils/validateId.js +1 -1
  330. package/lib/utils/validations.js +13 -10
  331. package/lib/utils/visitedCache.js +1 -1
  332. package/package.json +3 -2
@@ -4,7 +4,7 @@ import hoistNonReactStatic from 'hoist-non-react-statics';
4
4
  import { IFormItemStore, IFormStore } from '../store/form';
5
5
  import { RendererProps, TestFunc, RendererConfig } from '../factory';
6
6
  import { FormHorizontal, FormSchemaBase } from './Form';
7
- import { ActionObject, BaseApiObject, BaseSchemaWithoutType, ClassName, Schema } from '../types';
7
+ import { ActionObject, BaseApiObject, BaseSchemaWithoutType, ClassName, DataChangeReason, Schema } from '../types';
8
8
  import { IScopedContext } from '../Scoped';
9
9
  export type LabelAlign = 'right' | 'left' | 'top' | 'inherit';
10
10
  export interface FormBaseControl extends BaseSchemaWithoutType {
@@ -403,7 +403,7 @@ export interface FormItemProps extends RendererProps {
403
403
  onChange: (value: any, submitOnChange?: boolean, changeImmediately?: boolean) => void;
404
404
  onBulkChange?: (values: {
405
405
  [propName: string]: any;
406
- }, submitOnChange?: boolean) => void;
406
+ }, submitOnChange?: boolean, changeReason?: DataChangeReason) => void;
407
407
  addHook: (fn: Function, mode?: 'validate' | 'init' | 'flush', enforce?: 'prev' | 'post') => () => void;
408
408
  removeHook: (fn: Function, mode?: 'validate' | 'init' | 'flush') => void;
409
409
  renderFormItems: (schema: Partial<FormSchemaBase>, region: string, props: any) => JSX.Element;
@@ -460,7 +460,7 @@ export declare class FormItemWrap extends React.Component<FormItemProps> {
460
460
  * @param ctx 上下文对象,类型为任意类型
461
461
  * @param skipIfExits 是否跳过已存在的属性,默认为 false
462
462
  */
463
- applyMapping(mapping: any, ctx: any, skipIfExits?: boolean, ignoreSelf?: boolean): void;
463
+ applyMapping(mapping: any, ctx: any, skipIfExits?: boolean): void;
464
464
  buildAutoFillSchema(): {
465
465
  popOverContainer: any;
466
466
  popOverClassName: any;
@@ -643,9 +643,7 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
643
643
  storeType: string;
644
644
  } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
645
645
  readonly fetcher: any;
646
- readonly notify: any; /**
647
- * 显示一个小图标, 鼠标放上去的时候显示提示内容
648
- */
646
+ readonly notify: any;
649
647
  readonly isCancel: (value: any) => boolean;
650
648
  readonly __: import("..").TranslateFn<any>;
651
649
  getStoreById(id: string): {
@@ -727,7 +725,10 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
727
725
  } & {
728
726
  addStore(store: {
729
727
  [propName: string]: any;
730
- storeType: string;
728
+ storeType: string; /**
729
+ * 不设置时,当表单提交过后表单项每次修改都会触发重新验证,
730
+ * 如果设置了,则由此配置项来决定要不要每次修改都触发验证。
731
+ */
731
732
  id: string;
732
733
  path: string;
733
734
  parentId?: string | undefined;
@@ -804,14 +805,14 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
804
805
  dispose: (callback?: (() => void) | undefined) => void;
805
806
  addChildId: (id: string) => void;
806
807
  removeChildId: (id: string) => void;
807
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>): void;
808
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>): void; /**
809
+ * 配置 input className
810
+ */
808
811
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
809
812
  storeType: import("mobx-state-tree").IType<string | undefined, string, string>;
810
813
  }, {
811
814
  readonly fetcher: any;
812
- readonly notify: any; /**
813
- * 显示一个小图标, 鼠标放上去的时候显示提示内容
814
- */
815
+ readonly notify: any;
815
816
  readonly isCancel: (value: any) => boolean;
816
817
  readonly __: import("..").TranslateFn<any>;
817
818
  getStoreById(id: string): {
@@ -893,7 +894,10 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
893
894
  } & {
894
895
  addStore(store: {
895
896
  [propName: string]: any;
896
- storeType: string;
897
+ storeType: string; /**
898
+ * 不设置时,当表单提交过后表单项每次修改都会触发重新验证,
899
+ * 如果设置了,则由此配置项来决定要不要每次修改都触发验证。
900
+ */
897
901
  id: string;
898
902
  path: string;
899
903
  parentId?: string | undefined;
@@ -970,7 +974,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
970
974
  dispose: (callback?: (() => void) | undefined) => void;
971
975
  addChildId: (id: string) => void;
972
976
  removeChildId: (id: string) => void;
973
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>): void;
977
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>): void; /**
978
+ * 配置 input className
979
+ */
974
980
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>>;
975
981
  ComposedComponent: React.ComponentType<any>;
976
982
  } & hoistNonReactStatic.NonReactStatics<any, {}> & {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -20,7 +20,7 @@ import '../utils/browser.js';
20
20
  import '../utils/ColorScale.js';
21
21
  import 'lodash/chunk';
22
22
  import { getVariable } from '../utils/getVariable.js';
23
- import { createObject, setVariable, createObjectFromChain, deleteVariable } from '../utils/object.js';
23
+ import { createObject, setVariable, createObjectFromChain } from '../utils/object.js';
24
24
  import { dataMapping } from '../utils/dataMapping.js';
25
25
  import '../utils/DataSchema.js';
26
26
  import '../utils/DataScope.js';
@@ -118,7 +118,7 @@ var FormItemWrap = /** @class */ (function (_super) {
118
118
  if (!result) {
119
119
  return [2 /*return*/];
120
120
  }
121
- this.applyMapping((_d = autoFill === null || autoFill === void 0 ? void 0 : autoFill.fillMapping) !== null && _d !== void 0 ? _d : { '&': '$$' }, result, false, true);
121
+ this.applyMapping((_d = autoFill === null || autoFill === void 0 ? void 0 : autoFill.fillMapping) !== null && _d !== void 0 ? _d : { '&': '$$' }, result, false);
122
122
  _e.label = 3;
123
123
  case 3: return [3 /*break*/, 5];
124
124
  case 4:
@@ -275,10 +275,9 @@ var FormItemWrap = /** @class */ (function (_super) {
275
275
  * @param ctx 上下文对象,类型为任意类型
276
276
  * @param skipIfExits 是否跳过已存在的属性,默认为 false
277
277
  */
278
- FormItemWrap.prototype.applyMapping = function (mapping, ctx, skipIfExits, ignoreSelf) {
278
+ FormItemWrap.prototype.applyMapping = function (mapping, ctx, skipIfExits) {
279
279
  if (skipIfExits === void 0) { skipIfExits = false; }
280
- if (ignoreSelf === void 0) { ignoreSelf = false; }
281
- var _a = this.props, onBulkChange = _a.onBulkChange, data = _a.data, formItem = _a.formItem;
280
+ var _a = this.props, onBulkChange = _a.onBulkChange, data = _a.data; _a.formItem;
282
281
  var toSync = dataMapping(mapping, ctx);
283
282
  var tmpData = __assign({}, data);
284
283
  var result = __assign({}, toSync);
@@ -305,9 +304,9 @@ var FormItemWrap = /** @class */ (function (_super) {
305
304
  }
306
305
  });
307
306
  // 是否忽略自己的设置
308
- if (ignoreSelf && (formItem === null || formItem === void 0 ? void 0 : formItem.name)) {
309
- deleteVariable(result, formItem.name);
310
- }
307
+ // if (ignoreSelf && formItem?.name) {
308
+ // deleteVariable(result, formItem.name);
309
+ // }
311
310
  onBulkChange(result);
312
311
  };
313
312
  FormItemWrap.prototype.buildAutoFillSchema = function () {
@@ -549,7 +548,7 @@ var FormItemWrap = /** @class */ (function (_super) {
549
548
  var labelAlign = (props.labelAlign !== 'inherit' && props.labelAlign) ||
550
549
  props.formLabelAlign;
551
550
  var labelWidth = props.labelWidth || props.formLabelWidth;
552
- return (React.createElement("div", { "data-role": "form-item", className: cx("Form-item Form-item--horizontal", isStatic && staticClassName ? staticClassName : className, (_a = {
551
+ return (React.createElement("div", { "data-role": "form-item", "data-amis-name": props.name, className: cx("Form-item Form-item--horizontal", isStatic && staticClassName ? staticClassName : className, (_a = {
553
552
  'Form-item--horizontal-justify': horizontal.justify
554
553
  },
555
554
  _a["is-error"] = model && !model.valid,
@@ -615,7 +614,7 @@ var FormItemWrap = /** @class */ (function (_super) {
615
614
  var _a;
616
615
  var className = props.className, style = props.style, cx = props.classnames, desc = props.desc, description = props.description, label = props.label, render = props.render, required = props.required, caption = props.caption, remark = props.remark, labelRemark = props.labelRemark, env = props.env, descriptionClassName = props.descriptionClassName, captionClassName = props.captionClassName, model = props.formItem, renderLabel = props.renderLabel, renderDescription = props.renderDescription, hint = props.hint; props.data; var showErrorMsg = props.showErrorMsg, mobileUI = props.mobileUI; props.translate; var isStatic = props.static, staticClassName = props.staticClassName, themeCss = props.themeCss, wrapperCustomStyle = props.wrapperCustomStyle, id = props.id;
617
616
  description = description || desc;
618
- return (React.createElement("div", { "data-role": "form-item", className: cx("Form-item Form-item--normal", isStatic && staticClassName ? staticClassName : className, (_a = {
617
+ return (React.createElement("div", { "data-role": "form-item", "data-amis-name": props.name, className: cx("Form-item Form-item--normal", isStatic && staticClassName ? staticClassName : className, (_a = {
619
618
  'is-error': model && !model.valid
620
619
  },
621
620
  _a["is-required"] = required,
@@ -701,7 +700,7 @@ var FormItemWrap = /** @class */ (function (_super) {
701
700
  var className = props.className, style = props.style, cx = props.classnames, desc = props.desc, description = props.description, label = props.label, render = props.render, required = props.required, caption = props.caption, descriptionClassName = props.descriptionClassName, captionClassName = props.captionClassName, model = props.formItem, remark = props.remark, labelRemark = props.labelRemark, env = props.env, hint = props.hint, renderLabel = props.renderLabel, renderDescription = props.renderDescription; props.data; var showErrorMsg = props.showErrorMsg, mobileUI = props.mobileUI; props.translate; var isStatic = props.static, staticClassName = props.staticClassName, themeCss = props.themeCss, wrapperCustomStyle = props.wrapperCustomStyle, id = props.id;
702
701
  var labelWidth = props.labelWidth || props.formLabelWidth;
703
702
  description = description || desc;
704
- return (React.createElement("div", { "data-role": "form-item", className: cx("Form-item Form-item--inline", isStatic && staticClassName ? staticClassName : className, (_a = {
703
+ return (React.createElement("div", { "data-role": "form-item", "data-amis-name": props.name, className: cx("Form-item Form-item--inline", isStatic && staticClassName ? staticClassName : className, (_a = {
705
704
  'is-error': model && !model.valid
706
705
  },
707
706
  _a["is-required"] = required,
@@ -757,7 +756,7 @@ var FormItemWrap = /** @class */ (function (_super) {
757
756
  var className = props.className, style = props.style, cx = props.classnames, desc = props.desc, description = props.description, label = props.label, render = props.render, required = props.required, caption = props.caption, remark = props.remark, labelRemark = props.labelRemark, env = props.env, descriptionClassName = props.descriptionClassName, captionClassName = props.captionClassName, model = props.formItem, renderLabel = props.renderLabel, renderDescription = props.renderDescription, hint = props.hint; props.data; var showErrorMsg = props.showErrorMsg, mobileUI = props.mobileUI; props.translate; var isStatic = props.static, staticClassName = props.staticClassName, wrapperCustomStyle = props.wrapperCustomStyle, themeCss = props.themeCss, id = props.id;
758
757
  description = description || desc;
759
758
  var labelWidth = props.labelWidth || props.formLabelWidth;
760
- return (React.createElement("div", { "data-role": "form-item", className: cx("Form-item Form-item--row", isStatic && staticClassName ? staticClassName : className, (_a = {
759
+ return (React.createElement("div", { "data-role": "form-item", "data-amis-name": props.name, className: cx("Form-item Form-item--row", isStatic && staticClassName ? staticClassName : className, (_a = {
761
760
  'is-error': model && !model.valid
762
761
  },
763
762
  _a["is-required"] = required,
@@ -814,7 +813,7 @@ var FormItemWrap = /** @class */ (function (_super) {
814
813
  props.formLabelAlign;
815
814
  var labelWidth = props.labelWidth || props.formLabelWidth;
816
815
  description = description || desc;
817
- return (React.createElement("div", { "data-role": "form-item", className: cx("Form-item Form-item--flex", isStatic && staticClassName ? staticClassName : className, (_a = {
816
+ return (React.createElement("div", { "data-role": "form-item", "data-amis-name": props.name, className: cx("Form-item Form-item--flex", isStatic && staticClassName ? staticClassName : className, (_a = {
818
817
  'is-error': model && !model.valid
819
818
  },
820
819
  _a["is-required"] = required,
@@ -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-beta.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-beta.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-beta.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-beta.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-beta.1
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.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,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.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;