amis-core 6.8.0 → 6.9.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.d.ts +1 -1
  3. package/esm/RootRenderer.js +24 -2
  4. package/esm/SchemaRenderer.js +32 -17
  5. package/esm/Scoped.d.ts +1 -1
  6. package/esm/Scoped.js +1 -1
  7. package/esm/StatusScoped.js +1 -1
  8. package/esm/WithRootStore.js +1 -1
  9. package/esm/WithStore.js +10 -10
  10. package/esm/actions/Action.js +1 -1
  11. package/esm/actions/AjaxAction.js +1 -1
  12. package/esm/actions/BreakAction.js +1 -1
  13. package/esm/actions/BroadcastAction.js +1 -1
  14. package/esm/actions/CmptAction.js +57 -50
  15. package/esm/actions/ContinueAction.js +1 -1
  16. package/esm/actions/CopyAction.js +1 -1
  17. package/esm/actions/CustomAction.js +1 -1
  18. package/esm/actions/DialogAction.js +1 -1
  19. package/esm/actions/DrawerAction.js +1 -1
  20. package/esm/actions/EmailAction.js +1 -1
  21. package/esm/actions/EventAction.js +1 -1
  22. package/esm/actions/LinkAction.js +1 -1
  23. package/esm/actions/LoopAction.js +1 -1
  24. package/esm/actions/PageAction.js +1 -1
  25. package/esm/actions/ParallelAction.js +1 -1
  26. package/esm/actions/PrintAction.js +1 -1
  27. package/esm/actions/StatusAction.js +1 -1
  28. package/esm/actions/SwitchAction.js +1 -1
  29. package/esm/actions/ToastAction.js +3 -3
  30. package/esm/actions/WaitAction.js +1 -1
  31. package/esm/components/CustomStyle.js +1 -1
  32. package/esm/components/ErrorBoundary.js +1 -1
  33. package/esm/components/LazyComponent.d.ts +40 -2
  34. package/esm/components/LazyComponent.js +13 -7
  35. package/esm/components/Overlay.js +1 -1
  36. package/esm/components/PopOver.d.ts +1 -1
  37. package/esm/components/PopOver.js +1 -1
  38. package/esm/env.d.ts +0 -4
  39. package/esm/env.js +1 -1
  40. package/esm/envOverwrite.js +1 -1
  41. package/esm/factory.d.ts +19 -2
  42. package/esm/factory.js +205 -45
  43. package/esm/index.d.ts +4 -4
  44. package/esm/index.js +9 -5
  45. package/esm/locale.d.ts +1 -1
  46. package/esm/locale.js +13 -2
  47. package/esm/polyfills.js +1 -1
  48. package/esm/renderers/Form.d.ts +5 -5
  49. package/esm/renderers/Form.js +27 -14
  50. package/esm/renderers/Item.d.ts +19 -13
  51. package/esm/renderers/Item.js +13 -14
  52. package/esm/renderers/Options.d.ts +3 -3
  53. package/esm/renderers/Options.js +42 -19
  54. package/esm/renderers/Placeholder.js +1 -1
  55. package/esm/renderers/builtin.js +1 -1
  56. package/esm/renderers/register.js +1 -1
  57. package/esm/renderers/wrapControl.d.ts +3 -3
  58. package/esm/renderers/wrapControl.js +24 -10
  59. package/esm/store/app.d.ts +3 -3
  60. package/esm/store/app.js +1 -1
  61. package/esm/store/combo.d.ts +17 -15
  62. package/esm/store/combo.js +1 -1
  63. package/esm/store/crud.d.ts +3 -3
  64. package/esm/store/crud.js +1 -1
  65. package/esm/store/form.d.ts +8 -7
  66. package/esm/store/form.js +28 -6
  67. package/esm/store/formItem.js +3 -3
  68. package/esm/store/iRenderer.d.ts +4 -3
  69. package/esm/store/iRenderer.js +28 -4
  70. package/esm/store/index.d.ts +1 -0
  71. package/esm/store/index.js +3 -2
  72. package/esm/store/list.d.ts +3 -3
  73. package/esm/store/list.js +1 -1
  74. package/esm/store/manager.js +1 -1
  75. package/esm/store/modal.d.ts +3 -3
  76. package/esm/store/modal.js +1 -1
  77. package/esm/store/node.js +1 -1
  78. package/esm/store/pagination.d.ts +3 -3
  79. package/esm/store/pagination.js +1 -1
  80. package/esm/store/root.d.ts +5 -3
  81. package/esm/store/root.js +45 -21
  82. package/esm/store/service.d.ts +3 -3
  83. package/esm/store/service.js +10 -4
  84. package/esm/store/status.js +1 -1
  85. package/esm/store/table.d.ts +17 -15
  86. package/esm/store/table.js +1 -1
  87. package/esm/store/table2.d.ts +3 -3
  88. package/esm/store/table2.js +1 -1
  89. package/esm/theme.d.ts +1 -1
  90. package/esm/theme.js +13 -2
  91. package/esm/types.d.ts +19 -2
  92. package/esm/utils/Animation.js +1 -1
  93. package/esm/utils/ColorScale.js +1 -1
  94. package/esm/utils/DataSchema.js +1 -1
  95. package/esm/utils/DataScope.js +1 -1
  96. package/esm/utils/RootClose.js +1 -1
  97. package/esm/utils/SimpleMap.js +1 -1
  98. package/esm/utils/api.d.ts +21 -1
  99. package/esm/utils/api.js +138 -41
  100. package/esm/utils/arraySlice.js +1 -1
  101. package/esm/utils/attachmentAdpator.js +1 -1
  102. package/esm/utils/autobind.js +1 -1
  103. package/esm/utils/browser.js +1 -1
  104. package/esm/utils/columnsSplit.js +1 -1
  105. package/esm/utils/concatData.js +1 -1
  106. package/esm/utils/dataMapping.js +1 -1
  107. package/esm/utils/date.js +1 -1
  108. package/esm/utils/debug.js +1 -1
  109. package/esm/utils/decodeEntity.js +1 -1
  110. package/esm/utils/dom.js +1 -1
  111. package/esm/utils/errors.js +1 -1
  112. package/esm/utils/escapeHtml.js +1 -1
  113. package/esm/utils/filter-schema.js +1 -1
  114. package/esm/utils/filter.js +1 -1
  115. package/esm/utils/formatDuration.js +1 -1
  116. package/esm/utils/formula.js +1 -1
  117. package/esm/utils/getVariable.js +1 -1
  118. package/esm/utils/grammar.js +1 -1
  119. package/esm/utils/handleAction.js +1 -1
  120. package/esm/utils/helper.js +1 -1
  121. package/esm/utils/highlight.js +1 -1
  122. package/esm/utils/icon.js +1 -1
  123. package/esm/utils/image.js +1 -1
  124. package/esm/utils/isPureVariable.js +1 -1
  125. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  126. package/esm/utils/keyToPath.js +1 -1
  127. package/esm/utils/labelToString.js +4 -1
  128. package/esm/utils/makeSorter.js +1 -1
  129. package/esm/utils/math.js +1 -1
  130. package/esm/utils/memoryParse.js +1 -1
  131. package/esm/utils/normalizeLink.js +1 -1
  132. package/esm/utils/normalizeOptions.js +1 -1
  133. package/esm/utils/object.js +1 -1
  134. package/esm/utils/offset.js +1 -1
  135. package/esm/utils/offsetParent.js +1 -1
  136. package/esm/utils/optionValueCompare.js +1 -1
  137. package/esm/utils/position.js +1 -1
  138. package/esm/utils/prettyBytes.js +1 -1
  139. package/esm/utils/printElement.js +1 -1
  140. package/esm/utils/renderer-event.js +1 -1
  141. package/esm/utils/replaceText.js +1 -1
  142. package/esm/utils/resize-sensor.js +1 -1
  143. package/esm/utils/resolveCondition.js +1 -1
  144. package/esm/utils/resolveVariable.js +1 -1
  145. package/esm/utils/resolveVariableAndFilter.js +1 -1
  146. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  147. package/esm/utils/scrollPosition.js +1 -1
  148. package/esm/utils/string2regExp.js +1 -1
  149. package/esm/utils/stripNumber.js +1 -1
  150. package/esm/utils/style-helper.js +1 -1
  151. package/esm/utils/style.js +1 -1
  152. package/esm/utils/toNumber.js +1 -1
  153. package/esm/utils/tokenize.js +1 -1
  154. package/esm/utils/tpl-builtin.js +1 -1
  155. package/esm/utils/tpl-lodash.js +1 -1
  156. package/esm/utils/tpl.js +1 -1
  157. package/esm/utils/uncontrollable.js +1 -1
  158. package/esm/utils/validateId.js +1 -1
  159. package/esm/utils/validations.js +1 -1
  160. package/esm/utils/visitedCache.js +1 -1
  161. package/lib/Root.js +1 -1
  162. package/lib/RootRenderer.js +23 -1
  163. package/lib/SchemaRenderer.js +30 -15
  164. package/lib/Scoped.d.ts +1 -1
  165. package/lib/Scoped.js +1 -1
  166. package/lib/StatusScoped.js +1 -1
  167. package/lib/WithRootStore.js +1 -1
  168. package/lib/WithStore.js +10 -10
  169. package/lib/actions/Action.js +1 -1
  170. package/lib/actions/AjaxAction.js +1 -1
  171. package/lib/actions/BreakAction.js +1 -1
  172. package/lib/actions/BroadcastAction.js +1 -1
  173. package/lib/actions/CmptAction.js +56 -49
  174. package/lib/actions/ContinueAction.js +1 -1
  175. package/lib/actions/CopyAction.js +1 -1
  176. package/lib/actions/CustomAction.js +1 -1
  177. package/lib/actions/DialogAction.js +1 -1
  178. package/lib/actions/DrawerAction.js +1 -1
  179. package/lib/actions/EmailAction.js +1 -1
  180. package/lib/actions/EventAction.js +1 -1
  181. package/lib/actions/LinkAction.js +1 -1
  182. package/lib/actions/LoopAction.js +1 -1
  183. package/lib/actions/PageAction.js +1 -1
  184. package/lib/actions/ParallelAction.js +1 -1
  185. package/lib/actions/PrintAction.js +1 -1
  186. package/lib/actions/StatusAction.js +1 -1
  187. package/lib/actions/SwitchAction.js +1 -1
  188. package/lib/actions/ToastAction.js +2 -2
  189. package/lib/actions/WaitAction.js +1 -1
  190. package/lib/components/CustomStyle.js +1 -1
  191. package/lib/components/ErrorBoundary.js +1 -1
  192. package/lib/components/LazyComponent.d.ts +40 -2
  193. package/lib/components/LazyComponent.js +14 -7
  194. package/lib/components/Overlay.js +1 -1
  195. package/lib/components/PopOver.d.ts +1 -1
  196. package/lib/components/PopOver.js +1 -1
  197. package/lib/env.d.ts +0 -4
  198. package/lib/env.js +1 -1
  199. package/lib/envOverwrite.js +1 -1
  200. package/lib/factory.d.ts +19 -2
  201. package/lib/factory.js +211 -44
  202. package/lib/index.d.ts +4 -4
  203. package/lib/index.js +16 -2
  204. package/lib/locale.d.ts +1 -1
  205. package/lib/locale.js +13 -2
  206. package/lib/polyfills.js +1 -1
  207. package/lib/renderers/Form.d.ts +5 -5
  208. package/lib/renderers/Form.js +25 -12
  209. package/lib/renderers/Item.d.ts +19 -13
  210. package/lib/renderers/Item.js +12 -13
  211. package/lib/renderers/Options.d.ts +3 -3
  212. package/lib/renderers/Options.js +42 -19
  213. package/lib/renderers/Placeholder.js +1 -1
  214. package/lib/renderers/builtin.js +1 -1
  215. package/lib/renderers/register.js +1 -1
  216. package/lib/renderers/wrapControl.d.ts +3 -3
  217. package/lib/renderers/wrapControl.js +24 -10
  218. package/lib/store/app.d.ts +3 -3
  219. package/lib/store/app.js +1 -1
  220. package/lib/store/combo.d.ts +41 -40
  221. package/lib/store/combo.js +1 -1
  222. package/lib/store/crud.d.ts +3 -3
  223. package/lib/store/crud.js +2 -2
  224. package/lib/store/form.d.ts +18 -18
  225. package/lib/store/form.js +28 -6
  226. package/lib/store/formItem.js +3 -3
  227. package/lib/store/iRenderer.d.ts +4 -3
  228. package/lib/store/iRenderer.js +28 -4
  229. package/lib/store/index.d.ts +1 -0
  230. package/lib/store/index.js +3 -1
  231. package/lib/store/list.d.ts +3 -3
  232. package/lib/store/list.js +1 -1
  233. package/lib/store/manager.js +1 -1
  234. package/lib/store/modal.d.ts +3 -3
  235. package/lib/store/modal.js +1 -1
  236. package/lib/store/node.js +1 -1
  237. package/lib/store/pagination.d.ts +3 -3
  238. package/lib/store/pagination.js +1 -1
  239. package/lib/store/root.d.ts +5 -3
  240. package/lib/store/root.js +43 -19
  241. package/lib/store/service.d.ts +3 -3
  242. package/lib/store/service.js +10 -4
  243. package/lib/store/status.js +1 -1
  244. package/lib/store/table.d.ts +37 -36
  245. package/lib/store/table.js +1 -1
  246. package/lib/store/table2.d.ts +3 -3
  247. package/lib/store/table2.js +1 -1
  248. package/lib/theme.d.ts +1 -1
  249. package/lib/theme.js +13 -2
  250. package/lib/types.d.ts +19 -2
  251. package/lib/utils/Animation.js +1 -1
  252. package/lib/utils/ColorScale.js +1 -1
  253. package/lib/utils/DataSchema.js +1 -1
  254. package/lib/utils/DataScope.js +1 -1
  255. package/lib/utils/RootClose.js +1 -1
  256. package/lib/utils/SimpleMap.js +1 -1
  257. package/lib/utils/api.d.ts +21 -1
  258. package/lib/utils/api.js +141 -40
  259. package/lib/utils/arraySlice.js +1 -1
  260. package/lib/utils/attachmentAdpator.js +1 -1
  261. package/lib/utils/autobind.js +1 -1
  262. package/lib/utils/browser.js +1 -1
  263. package/lib/utils/columnsSplit.js +1 -1
  264. package/lib/utils/concatData.js +1 -1
  265. package/lib/utils/dataMapping.js +1 -1
  266. package/lib/utils/date.js +1 -1
  267. package/lib/utils/debug.js +2 -2
  268. package/lib/utils/decodeEntity.js +1 -1
  269. package/lib/utils/dom.js +1 -1
  270. package/lib/utils/errors.js +1 -1
  271. package/lib/utils/escapeHtml.js +1 -1
  272. package/lib/utils/filter-schema.js +1 -1
  273. package/lib/utils/filter.js +1 -1
  274. package/lib/utils/formatDuration.js +1 -1
  275. package/lib/utils/formula.js +1 -1
  276. package/lib/utils/getVariable.js +1 -1
  277. package/lib/utils/grammar.js +1 -1
  278. package/lib/utils/handleAction.js +1 -1
  279. package/lib/utils/helper.js +1 -1
  280. package/lib/utils/highlight.js +1 -1
  281. package/lib/utils/icon.js +1 -1
  282. package/lib/utils/image.js +1 -1
  283. package/lib/utils/isPureVariable.js +1 -1
  284. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  285. package/lib/utils/keyToPath.js +1 -1
  286. package/lib/utils/labelToString.js +4 -1
  287. package/lib/utils/makeSorter.js +1 -1
  288. package/lib/utils/math.js +1 -1
  289. package/lib/utils/memoryParse.js +1 -1
  290. package/lib/utils/normalizeLink.js +1 -1
  291. package/lib/utils/normalizeOptions.js +1 -1
  292. package/lib/utils/object.js +1 -1
  293. package/lib/utils/offset.js +1 -1
  294. package/lib/utils/offsetParent.js +1 -1
  295. package/lib/utils/optionValueCompare.js +1 -1
  296. package/lib/utils/position.js +1 -1
  297. package/lib/utils/prettyBytes.js +1 -1
  298. package/lib/utils/printElement.js +1 -1
  299. package/lib/utils/renderer-event.js +1 -1
  300. package/lib/utils/replaceText.js +1 -1
  301. package/lib/utils/resize-sensor.js +1 -1
  302. package/lib/utils/resolveCondition.js +1 -1
  303. package/lib/utils/resolveVariable.js +1 -1
  304. package/lib/utils/resolveVariableAndFilter.js +1 -1
  305. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  306. package/lib/utils/scrollPosition.js +1 -1
  307. package/lib/utils/string2regExp.js +1 -1
  308. package/lib/utils/stripNumber.js +1 -1
  309. package/lib/utils/style-helper.js +1 -1
  310. package/lib/utils/style.js +1 -1
  311. package/lib/utils/toNumber.js +1 -1
  312. package/lib/utils/tokenize.js +1 -1
  313. package/lib/utils/tpl-builtin.js +1 -1
  314. package/lib/utils/tpl-lodash.js +1 -1
  315. package/lib/utils/tpl.js +1 -1
  316. package/lib/utils/uncontrollable.js +1 -1
  317. package/lib/utils/validateId.js +1 -1
  318. package/lib/utils/validations.js +1 -1
  319. package/lib/utils/visitedCache.js +1 -1
  320. package/package.json +2 -2
@@ -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.0
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.0
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.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -331,10 +331,10 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
331
331
  readonly pristineDiff: any;
332
332
  } & {
333
333
  setTopStore(value: any): void;
334
- initData(data?: object, skipSetPristine?: boolean): void;
334
+ initData(data?: object, skipSetPristine?: boolean, changeReason?: import("..").DataChangeReason | undefined): void;
335
335
  reset(): void;
336
- updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
337
- changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined): void;
336
+ updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined, changeReason?: import("..").DataChangeReason | undefined): void;
337
+ changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined, changeReason?: import("..").DataChangeReason | undefined): void;
338
338
  setCurrentAction(action: any, resolveDefinitions?: ((schema: any) => any) | undefined): void;
339
339
  openDialog(ctx: any, additonal?: object | undefined, callback?: ((confirmed: boolean, values: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
340
340
  closeDialog(confirmed?: any, data?: any): void;
@@ -470,10 +470,10 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
470
470
  readonly pristineDiff: any;
471
471
  } & {
472
472
  setTopStore(value: any): void;
473
- initData(data?: object, skipSetPristine?: boolean): void;
473
+ initData(data?: object, skipSetPristine?: boolean, changeReason?: import("..").DataChangeReason | undefined): void;
474
474
  reset(): void;
475
- updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
476
- changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined): void;
475
+ updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined, changeReason?: import("..").DataChangeReason | undefined): void;
476
+ changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined, changeReason?: import("..").DataChangeReason | undefined): void;
477
477
  setCurrentAction(action: any, resolveDefinitions?: ((schema: any) => any) | undefined): void;
478
478
  openDialog(ctx: any, additonal?: object | undefined, callback?: ((confirmed: boolean, values: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
479
479
  closeDialog(confirmed?: any, data?: any): void;
@@ -5880,8 +5880,8 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
5880
5880
  readonly persistKey: string;
5881
5881
  } & {
5882
5882
  setInited: (value: boolean) => void;
5883
- setValues: (values: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined) => void;
5884
- setValueByName: (name: string, value: any, isPristine?: boolean, force?: boolean) => void;
5883
+ setValues: (values: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined, changeReason?: import("..").DataChangeReason | undefined) => void;
5884
+ setValueByName: (name: string, value: any, isPristine?: boolean, force?: boolean, changeReason?: import("..").DataChangeReason | undefined) => void;
5885
5885
  trimValues: () => void;
5886
5886
  submit: (fn?: ((values: object) => Promise<any>) | undefined, hooks?: (() => Promise<any>)[] | undefined, failedMessage?: string | undefined, validateErrCb?: (() => void) | undefined, throwErrors?: boolean | undefined) => Promise<any>;
5887
5887
  validate: (hooks?: (() => Promise<any>)[] | undefined, forceValidate?: boolean | undefined, throwErrors?: boolean | undefined, failedMessage?: string | undefined, validateErrCb?: (() => void) | undefined) => Promise<boolean>;
@@ -5896,10 +5896,11 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
5896
5896
  reset: (cb?: ((data: any) => void) | undefined, resetData?: boolean) => void;
5897
5897
  syncOptions: import("lodash").DebouncedFunc<() => void>;
5898
5898
  setCanAccessSuperData: (value?: boolean) => void;
5899
- deleteValueByName: (name: string) => void;
5899
+ deleteValueByName: (name: string, changeReason?: import("..").DataChangeReason | undefined) => void;
5900
5900
  getLocalPersistData: () => void;
5901
5901
  setLocalPersistData: (keys?: string[] | undefined) => void;
5902
5902
  clearLocalPersistData: () => void;
5903
+ setPristine: (data: object) => void;
5903
5904
  setPersistData: (value?: string) => void;
5904
5905
  clear: (cb?: ((data: any) => void) | undefined) => void;
5905
5906
  updateSavedData: () => void;
@@ -5967,10 +5968,10 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
5967
5968
  readonly pristineDiff: any;
5968
5969
  } & {
5969
5970
  setTopStore(value: any): void;
5970
- initData(data?: object, skipSetPristine?: boolean): void;
5971
+ initData(data?: object, skipSetPristine?: boolean, changeReason?: import("..").DataChangeReason | undefined): void;
5971
5972
  reset(): void;
5972
- updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
5973
- changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined): void;
5973
+ updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined, changeReason?: import("..").DataChangeReason | undefined): void;
5974
+ changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined, changeReason?: import("..").DataChangeReason | undefined): void;
5974
5975
  setCurrentAction(action: any, resolveDefinitions?: ((schema: any) => any) | undefined): void;
5975
5976
  openDialog(ctx: any, additonal?: object | undefined, callback?: ((confirmed: boolean, values: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
5976
5977
  closeDialog(confirmed?: any, data?: any): void;
@@ -11377,8 +11378,8 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
11377
11378
  readonly persistKey: string;
11378
11379
  } & {
11379
11380
  setInited: (value: boolean) => void;
11380
- setValues: (values: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined) => void;
11381
- setValueByName: (name: string, value: any, isPristine?: boolean, force?: boolean) => void;
11381
+ setValues: (values: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined, changeReason?: import("..").DataChangeReason | undefined) => void;
11382
+ setValueByName: (name: string, value: any, isPristine?: boolean, force?: boolean, changeReason?: import("..").DataChangeReason | undefined) => void;
11382
11383
  trimValues: () => void;
11383
11384
  submit: (fn?: ((values: object) => Promise<any>) | undefined, hooks?: (() => Promise<any>)[] | undefined, failedMessage?: string | undefined, validateErrCb?: (() => void) | undefined, throwErrors?: boolean | undefined) => Promise<any>;
11384
11385
  validate: (hooks?: (() => Promise<any>)[] | undefined, forceValidate?: boolean | undefined, throwErrors?: boolean | undefined, failedMessage?: string | undefined, validateErrCb?: (() => void) | undefined) => Promise<boolean>;
@@ -11393,10 +11394,11 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
11393
11394
  reset: (cb?: ((data: any) => void) | undefined, resetData?: boolean) => void;
11394
11395
  syncOptions: import("lodash").DebouncedFunc<() => void>;
11395
11396
  setCanAccessSuperData: (value?: boolean) => void;
11396
- deleteValueByName: (name: string) => void;
11397
+ deleteValueByName: (name: string, changeReason?: import("..").DataChangeReason | undefined) => void;
11397
11398
  getLocalPersistData: () => void;
11398
11399
  setLocalPersistData: (keys?: string[] | undefined) => void;
11399
11400
  clearLocalPersistData: () => void;
11401
+ setPristine: (data: object) => void;
11400
11402
  setPersistData: (value?: string) => void;
11401
11403
  clear: (cb?: ((data: any) => void) | undefined) => void;
11402
11404
  updateSavedData: () => void;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -164,10 +164,10 @@ export declare const TableStore2: import("mobx-state-tree").IModelType<{
164
164
  readonly pristineDiff: any;
165
165
  } & {
166
166
  setTopStore(value: any): void;
167
- initData(data?: object, skipSetPristine?: boolean): void;
167
+ initData(data?: object, skipSetPristine?: boolean, changeReason?: import("../types").DataChangeReason | undefined): void;
168
168
  reset(): void;
169
- updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
170
- changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined): void;
169
+ updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined, changeReason?: import("../types").DataChangeReason | undefined): void;
170
+ changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined, changeReason?: import("../types").DataChangeReason | undefined): void;
171
171
  setCurrentAction(action: any, resolveDefinitions?: ((schema: any) => any) | undefined): void;
172
172
  openDialog(ctx: any, additonal?: object | undefined, callback?: ((confirmed: boolean, values: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
173
173
  closeDialog(confirmed?: any, data?: any): void;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/esm/theme.d.ts CHANGED
@@ -40,7 +40,7 @@ export declare let defaultTheme: string;
40
40
  export declare const ThemeContext: React.Context<string>;
41
41
  export declare function themeable<T extends React.ComponentType<React.ComponentProps<T> & ThemeProps> & {
42
42
  themeKey?: string;
43
- }>(ComposedComponent: T): {
43
+ }>(ComposedComponent: T, methods?: Array<string>): {
44
44
  new (props: JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, keyof ThemeProps>> & ThemeOuterProps): {
45
45
  ref: any;
46
46
  childRef(ref: any): void;
package/esm/theme.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -79,7 +79,7 @@ function getTheme(theme) {
79
79
  }
80
80
  var defaultTheme = 'cxd';
81
81
  var ThemeContext = React.createContext('');
82
- function themeable(ComposedComponent) {
82
+ function themeable(ComposedComponent, methods) {
83
83
  var _a;
84
84
  var result = hoistNonReactStatic((_a = /** @class */ (function (_super) {
85
85
  __extends(class_1, _super);
@@ -123,6 +123,17 @@ function themeable(ComposedComponent) {
123
123
  _a.contextType = ThemeContext,
124
124
  _a.ComposedComponent = ComposedComponent,
125
125
  _a), ComposedComponent);
126
+ if (Array.isArray(methods)) {
127
+ methods.forEach(function (method) {
128
+ if (ComposedComponent.prototype[method]) {
129
+ result.prototype[method] = function () {
130
+ var _a;
131
+ var fn = (_a = this.ref) === null || _a === void 0 ? void 0 : _a[method];
132
+ return fn ? fn.apply(this.ref, arguments) : undefined;
133
+ };
134
+ }
135
+ });
136
+ }
126
137
  return result;
127
138
  }
128
139
 
package/esm/types.d.ts CHANGED
@@ -181,6 +181,8 @@ export interface BaseApiObject {
181
181
  export type ClassName = string | {
182
182
  [propName: string]: boolean | undefined | null | string;
183
183
  };
184
+ export type RequestAdaptor = (api: ApiObject, context: any) => ApiObject | Promise<ApiObject>;
185
+ export type ResponseAdaptor = (payload: object, response: fetcherResult, api: ApiObject, context: any) => any;
184
186
  export interface ApiObject extends BaseApiObject {
185
187
  config?: {
186
188
  withCredentials?: boolean;
@@ -193,8 +195,8 @@ export interface ApiObject extends BaseApiObject {
193
195
  body?: PlainObject;
194
196
  query?: PlainObject;
195
197
  mockResponse?: PlainObject;
196
- adaptor?: (payload: object, response: fetcherResult, api: ApiObject, context: any) => any;
197
- requestAdaptor?: (api: ApiObject, context: any) => ApiObject | Promise<ApiObject>;
198
+ adaptor?: ResponseAdaptor;
199
+ requestAdaptor?: RequestAdaptor;
198
200
  /**
199
201
  * api 发送上下文,可以用来传递一些数据给 api 的 adaptor
200
202
  * @readonly
@@ -307,9 +309,24 @@ export interface Location {
307
309
  export interface PlainObject {
308
310
  [propsName: string]: any;
309
311
  }
312
+ export interface DataChangeReason {
313
+ type: 'input' | 'api' | 'formula' | 'hide' | 'init' | 'action';
314
+ name?: string;
315
+ value?: any;
316
+ }
310
317
  export interface RendererData {
311
318
  [propsName: string]: any;
319
+ /**
320
+ * 记录变化前的数据
321
+ */
312
322
  __prev?: RendererDataAlias;
323
+ /**
324
+ * 记录变化的信息
325
+ */
326
+ __changeReason?: DataChangeReason;
327
+ /**
328
+ * 记录上层数据
329
+ */
313
330
  __super?: RendererData;
314
331
  }
315
332
  type RendererDataAlias = RendererData;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,9 +1,29 @@
1
- import { Api, ApiObject, EventTrack, fetcherResult, Payload } from '../types';
1
+ import { Api, ApiObject, EventTrack, fetcherResult, Payload, RequestAdaptor, ResponseAdaptor } from '../types';
2
2
  import { FetcherConfig } from '../factory';
3
3
  interface ApiCacheConfig extends ApiObject {
4
4
  cachedPromise: Promise<any>;
5
5
  requestTime: number;
6
6
  }
7
+ /**
8
+ * 添加全局发送适配器
9
+ * @param adaptor
10
+ */
11
+ export declare function addApiRequestAdaptor(adaptor: RequestAdaptor): () => void;
12
+ /**
13
+ * 删除全局发送适配器
14
+ * @param adaptor
15
+ */
16
+ export declare function removeApiRequestAdaptor(adaptor: RequestAdaptor): void;
17
+ /**
18
+ * 添加全局响应适配器
19
+ * @param adaptor
20
+ */
21
+ export declare function addApiResponseAdator(adaptor: ResponseAdaptor): () => void;
22
+ /**
23
+ * 删除全局响应适配器
24
+ * @param adaptor
25
+ */
26
+ export declare function removeApiResponseAdaptor(adaptor: ResponseAdaptor): void;
7
27
  export declare function normalizeApi(api: Api, defaultMethod?: string): ApiObject;
8
28
  export declare function buildApi(api: Api, data?: object, options?: {
9
29
  autoAppend?: boolean;