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
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.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,7 +1,7 @@
1
1
  /// <reference types="lodash" />
2
2
  import { Instance } from 'mobx-state-tree';
3
3
  import type { IFormItemStore } from './formItem';
4
- import { Api, fetchOptions, Payload } from '../types';
4
+ import { Api, DataChangeReason, fetchOptions, Payload } from '../types';
5
5
  export declare const FormStore: import("mobx-state-tree").IModelType<{
6
6
  id: import("mobx-state-tree").ISimpleType<string>;
7
7
  path: import("mobx-state-tree").IType<string | undefined, string, string>;
@@ -58,10 +58,10 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
58
58
  readonly pristineDiff: any;
59
59
  } & {
60
60
  setTopStore(value: any): void;
61
- initData(data?: object, skipSetPristine?: boolean): void;
61
+ initData(data?: object, skipSetPristine?: boolean, changeReason?: DataChangeReason | undefined): void;
62
62
  reset(): void;
63
- updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
64
- changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined): void;
63
+ updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined, changeReason?: DataChangeReason | undefined): void;
64
+ changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined, changeReason?: DataChangeReason | undefined): void;
65
65
  setCurrentAction(action: any, resolveDefinitions?: ((schema: any) => any) | undefined): void;
66
66
  openDialog(ctx: any, additonal?: object | undefined, callback?: ((confirmed: boolean, values: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
67
67
  closeDialog(confirmed?: any, data?: any): void;
@@ -5469,8 +5469,8 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
5469
5469
  readonly persistKey: string;
5470
5470
  } & {
5471
5471
  setInited: (value: boolean) => void;
5472
- setValues: (values: object, tag?: object, replace?: boolean, concatFields?: string | string[]) => void;
5473
- setValueByName: (name: string, value: any, isPristine?: boolean, force?: boolean) => void;
5472
+ setValues: (values: object, tag?: object, replace?: boolean, concatFields?: string | string[], changeReason?: DataChangeReason) => void;
5473
+ setValueByName: (name: string, value: any, isPristine?: boolean, force?: boolean, changeReason?: DataChangeReason) => void;
5474
5474
  trimValues: () => void;
5475
5475
  submit: (fn?: ((values: object) => Promise<any>) | undefined, hooks?: Array<() => Promise<any>>, failedMessage?: string, validateErrCb?: () => void, throwErrors?: boolean) => Promise<any>;
5476
5476
  validate: (hooks?: Array<() => Promise<any>>, forceValidate?: boolean, throwErrors?: boolean, failedMessage?: string, validateErrCb?: () => void) => Promise<boolean>;
@@ -5485,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.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -133,8 +133,8 @@ var FormStore = ServiceStore.named('FormStore')
133
133
  };
134
134
  })
135
135
  .actions(function (self) {
136
- function setValues(values, tag, replace, concatFields) {
137
- self.updateData(values, tag, replace, concatFields);
136
+ function setValues(values, tag, replace, concatFields, changeReason) {
137
+ self.updateData(values, tag, replace, concatFields, changeReason);
138
138
  // 如果数据域中有数据变化,就都reset一下,去掉之前残留的验证消息
139
139
  self.items.forEach(function (item) {
140
140
  if (item.extraName) {
@@ -162,7 +162,7 @@ var FormStore = ServiceStore.named('FormStore')
162
162
  // 同步 options
163
163
  syncOptions();
164
164
  }
165
- function setValueByName(name, value, isPristine, force) {
165
+ function setValueByName(name, value, isPristine, force, changeReason) {
166
166
  if (isPristine === void 0) { isPristine = false; }
167
167
  if (force === void 0) { force = false; }
168
168
  // 没有变化就不跑了。
@@ -207,11 +207,19 @@ var FormStore = ServiceStore.named('FormStore')
207
207
  writable: false
208
208
  });
209
209
  }
210
+ changeReason &&
211
+ Object.isExtensible(data) &&
212
+ Object.defineProperty(data, '__changeReason', {
213
+ value: changeReason,
214
+ enumerable: false,
215
+ configurable: false,
216
+ writable: false
217
+ });
210
218
  self.data = data;
211
219
  // 同步 options
212
220
  syncOptions();
213
221
  }
214
- function deleteValueByName(name) {
222
+ function deleteValueByName(name, changeReason) {
215
223
  var prev = self.data;
216
224
  var data = cloneObject(self.data);
217
225
  if (prev.hasOwnProperty('__prev')) {
@@ -234,6 +242,14 @@ var FormStore = ServiceStore.named('FormStore')
234
242
  });
235
243
  }
236
244
  deleteVariable(data, name);
245
+ changeReason &&
246
+ Object.isExtensible(data) &&
247
+ Object.defineProperty(data, '__changeReason', {
248
+ value: changeReason,
249
+ enumerable: false,
250
+ configurable: false,
251
+ writable: false
252
+ });
237
253
  self.data = data;
238
254
  }
239
255
  function trimValues() {
@@ -303,7 +319,9 @@ var FormStore = ServiceStore.named('FormStore')
303
319
  ? {
304
320
  __saved: Date.now()
305
321
  }
306
- : undefined, !!api.replaceData, api.concatDataFields);
322
+ : undefined, !!api.replaceData, api.concatDataFields, {
323
+ type: 'api'
324
+ });
307
325
  }
308
326
  if (!!json.ok) return [3 /*break*/, 6];
309
327
  if (json.status === 422 && json.errors) {
@@ -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.1
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.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -93,7 +93,7 @@ var iRendererStore = StoreNode.named('iRendererStore')
93
93
  setTopStore: function (value) {
94
94
  top = value;
95
95
  },
96
- initData: function (data, skipSetPristine) {
96
+ initData: function (data, skipSetPristine, changeReason) {
97
97
  if (data === void 0) { data = {}; }
98
98
  if (skipSetPristine === void 0) { skipSetPristine = false; }
99
99
  self.initedAt = Date.now();
@@ -104,13 +104,21 @@ var iRendererStore = StoreNode.named('iRendererStore')
104
104
  self.pristine = data;
105
105
  self.pristineRaw = data;
106
106
  }
107
+ changeReason &&
108
+ Object.isExtensible(data) &&
109
+ Object.defineProperty(data, '__changeReason', {
110
+ value: changeReason,
111
+ enumerable: false,
112
+ configurable: false,
113
+ writable: false
114
+ });
107
115
  self.data = data;
108
116
  self.upStreamData = data;
109
117
  },
110
118
  reset: function () {
111
119
  self.data = self.pristine;
112
120
  },
113
- updateData: function (data, tag, replace, concatFields) {
121
+ updateData: function (data, tag, replace, concatFields, changeReason) {
114
122
  if (data === void 0) { data = {}; }
115
123
  if (concatFields) {
116
124
  data = concatData(data, self.data, concatFields);
@@ -130,9 +138,17 @@ var iRendererStore = StoreNode.named('iRendererStore')
130
138
  configurable: false,
131
139
  writable: false
132
140
  });
141
+ changeReason &&
142
+ Object.isExtensible(newData) &&
143
+ Object.defineProperty(newData, '__changeReason', {
144
+ value: changeReason,
145
+ enumerable: false,
146
+ configurable: false,
147
+ writable: false
148
+ });
133
149
  self.data = newData;
134
150
  },
135
- changeValue: function (name, value, changePristine, force, otherModifier) {
151
+ changeValue: function (name, value, changePristine, force, otherModifier, changeReason) {
136
152
  if (!name) {
137
153
  return;
138
154
  }
@@ -182,6 +198,14 @@ var iRendererStore = StoreNode.named('iRendererStore')
182
198
  writable: false
183
199
  });
184
200
  }
201
+ changeReason &&
202
+ Object.isExtensible(data) &&
203
+ Object.defineProperty(data, '__changeReason', {
204
+ value: changeReason,
205
+ enumerable: false,
206
+ configurable: false,
207
+ writable: false
208
+ });
185
209
  self.data = data;
186
210
  },
187
211
  setCurrentAction: function (action, resolveDefinitions) {
@@ -122,4 +122,5 @@ export declare const RendererStore: import("mobx-state-tree").IModelType<{
122
122
  export type IRendererStore = Instance<typeof RendererStore>;
123
123
  export { iRendererStore, IIRendererStore };
124
124
  export declare const RegisterStore: (store: any) => void;
125
+ export declare const registerStore: (store: any) => void;
125
126
  export { ServiceStore, IServiceStore, FormStore, IFormStore, ComboStore, IComboStore, CRUDStore, ICRUDStore, TableStore, IColumn, IRow, ITableStore, TableStore2, ITableStore2, IColumn2, IRow2, ListStore, IListStore, ModalStore, IModalStore, FormItemStore, IFormItemStore, PaginationStore, IPaginationStore, AppStore, IAppStore, StoreNode, IStoreNode };
@@ -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
 
@@ -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.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
 
@@ -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.1
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.1
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.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -33,6 +33,7 @@ export declare const RootStore: import("mobx-state-tree").IModelType<{
33
33
  runtimeError: import("mobx-state-tree").IType<any, any, any>;
34
34
  runtimeErrorStack: import("mobx-state-tree").IType<any, any, any>;
35
35
  query: import("mobx-state-tree").IType<any, any, any>;
36
+ ready: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
36
37
  }, {
37
38
  readonly parentStore: any;
38
39
  readonly __: any;
@@ -50,10 +51,10 @@ export declare const RootStore: import("mobx-state-tree").IModelType<{
50
51
  readonly pristineDiff: any;
51
52
  } & {
52
53
  setTopStore(value: any): void;
53
- initData(data?: object, skipSetPristine?: boolean): void;
54
+ initData(data?: object, skipSetPristine?: boolean, changeReason?: import("..").DataChangeReason | undefined): void;
54
55
  reset(): void;
55
- updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
56
- 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;
57
58
  setCurrentAction(action: any, resolveDefinitions?: ((schema: any) => any) | undefined): void;
58
59
  openDialog(ctx: any, additonal?: object | undefined, callback?: ((confirmed: boolean, values: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
59
60
  closeDialog(confirmed?: any, data?: any): void;
@@ -84,5 +85,6 @@ export declare const RootStore: import("mobx-state-tree").IModelType<{
84
85
  updateContext(context: any): void;
85
86
  setRuntimeError(error: any, errorStack: any): void;
86
87
  updateLocation(location?: any, parseFn?: Function): void;
88
+ init: (schema: any) => Promise<any>;
87
89
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
88
90
  export type IRootStore = Instance<typeof RootStore>;
package/esm/store/root.js CHANGED
@@ -1,10 +1,10 @@
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
 
6
- import { __assign } from 'tslib';
7
- import { types } from 'mobx-state-tree';
6
+ import { __assign, __generator } from 'tslib';
7
+ import { types, flow } from 'mobx-state-tree';
8
8
  import { parseQuery, isObjectShallowModified } from '../utils/helper.js';
9
9
  import { ServiceStore } from './service.js';
10
10
  import '../utils/api.js';
@@ -52,7 +52,8 @@ var RootStore = ServiceStore.named('RootStore')
52
52
  .props({
53
53
  runtimeError: types.frozen(),
54
54
  runtimeErrorStack: types.frozen(),
55
- query: types.frozen()
55
+ query: types.frozen(),
56
+ ready: false
56
57
  })
57
58
  .volatile(function (self) {
58
59
  return {
@@ -72,22 +73,45 @@ var RootStore = ServiceStore.named('RootStore')
72
73
  return result;
73
74
  }
74
75
  }); })
75
- .actions(function (self) { return ({
76
- updateContext: function (context) {
77
- // 因为 context 不是受控属性,直接共用引用好了
78
- // 否则还会触发孩子节点的重新渲染
79
- Object.assign(self.context, context);
80
- },
81
- setRuntimeError: function (error, errorStack) {
82
- self.runtimeError = error;
83
- self.runtimeErrorStack = errorStack;
84
- },
85
- updateLocation: function (location, parseFn) {
86
- var query = parseFn ? parseFn(location) : parseQuery(location);
87
- if (isObjectShallowModified(query, self.query, false)) {
88
- self.query = query;
89
- }
90
- }
91
- }); });
76
+ .actions(function (self) {
77
+ var init = flow(function init(fn) {
78
+ var ret;
79
+ return __generator(this, function (_a) {
80
+ switch (_a.label) {
81
+ case 0:
82
+ _a.trys.push([0, , 3, 4]);
83
+ ret = fn();
84
+ if (!(ret === null || ret === void 0 ? void 0 : ret.then)) return [3 /*break*/, 2];
85
+ return [4 /*yield*/, ret];
86
+ case 1:
87
+ _a.sent();
88
+ _a.label = 2;
89
+ case 2: return [3 /*break*/, 4];
90
+ case 3:
91
+ self.ready = true;
92
+ return [7 /*endfinally*/];
93
+ case 4: return [2 /*return*/];
94
+ }
95
+ });
96
+ });
97
+ return {
98
+ updateContext: function (context) {
99
+ // 因为 context 不是受控属性,直接共用引用好了
100
+ // 否则还会触发孩子节点的重新渲染
101
+ Object.assign(self.context, context);
102
+ },
103
+ setRuntimeError: function (error, errorStack) {
104
+ self.runtimeError = error;
105
+ self.runtimeErrorStack = errorStack;
106
+ },
107
+ updateLocation: function (location, parseFn) {
108
+ var query = parseFn ? parseFn(location) : parseQuery(location);
109
+ if (isObjectShallowModified(query, self.query, false)) {
110
+ self.query = query;
111
+ }
112
+ },
113
+ init: init
114
+ };
115
+ });
92
116
 
93
117
  export { RootStore };
@@ -47,10 +47,10 @@ export declare const ServiceStore: import("mobx-state-tree").IModelType<{
47
47
  readonly pristineDiff: any;
48
48
  } & {
49
49
  setTopStore(value: any): void;
50
- initData(data?: object, skipSetPristine?: boolean): void;
50
+ initData(data?: object, skipSetPristine?: boolean, changeReason?: import("../types").DataChangeReason | undefined): void;
51
51
  reset(): void;
52
- updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
53
- changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined): void;
52
+ updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined, changeReason?: import("../types").DataChangeReason | undefined): void;
53
+ changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined, changeReason?: import("../types").DataChangeReason | undefined): void;
54
54
  setCurrentAction(action: any, resolveDefinitions?: ((schema: any) => any) | undefined): void;
55
55
  openDialog(ctx: any, additonal?: object | undefined, callback?: ((confirmed: boolean, values: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
56
56
  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.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -200,7 +200,9 @@ var ServiceStore = iRendererStore
200
200
  if (!isEmpty(json.data) || json.ok) {
201
201
  self.updatedAt = Date.now();
202
202
  json.data &&
203
- self.updateData(normalizeApiResponseData(json.data), undefined, !!api.replaceData, api.concatDataFields);
203
+ self.updateData(normalizeApiResponseData(json.data), undefined, !!api.replaceData, api.concatDataFields, {
204
+ type: 'api'
205
+ });
204
206
  self.hasRemoteData = true;
205
207
  }
206
208
  if (!!json.ok) return [3 /*break*/, 2];
@@ -271,7 +273,9 @@ var ServiceStore = iRendererStore
271
273
  if (!isEmpty(json.data) || json.ok) {
272
274
  self.updatedAt = Date.now();
273
275
  json.data &&
274
- self.updateData(normalizeApiResponseData(json.data), undefined, !!api.replaceData, api.concatDataFields);
276
+ self.updateData(normalizeApiResponseData(json.data), undefined, !!api.replaceData, api.concatDataFields, {
277
+ type: 'api'
278
+ });
275
279
  }
276
280
  if (!!json.ok) return [3 /*break*/, 4];
277
281
  if (!(options && options.onFailed)) return [3 /*break*/, 3];
@@ -386,7 +390,9 @@ var ServiceStore = iRendererStore
386
390
  }, normalizeApiResponseData(json.data));
387
391
  self.schemaKey = '' + Date.now();
388
392
  isObject(json.data.data) &&
389
- self.updateData(json.data.data, undefined, !!api.replaceData, api.concatDataFields);
393
+ self.updateData(json.data.data, undefined, !!api.replaceData, api.concatDataFields, {
394
+ type: 'api'
395
+ });
390
396
  }
391
397
  updateMessage((_h = (_g = (_f = api === null || api === void 0 ? void 0 : api.messages) === null || _f === void 0 ? void 0 : _f.success) !== null && _g !== void 0 ? _g : json.msg) !== null && _h !== void 0 ? _h : (options && options.successMessage));
392
398
  // 配置了获取成功提示后提示,默认是空不会提示。
@@ -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