amis-core 6.9.0-rc.9 → 6.10.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 (305) hide show
  1. package/esm/Root.d.ts +2 -84
  2. package/esm/Root.js +10 -6
  3. package/esm/RootRenderer.js +8 -5
  4. package/esm/SchemaRenderer.d.ts +2 -1
  5. package/esm/SchemaRenderer.js +13 -7
  6. package/esm/Scoped.d.ts +1 -1
  7. package/esm/Scoped.js +1 -1
  8. package/esm/StatusScoped.d.ts +7 -53
  9. package/esm/StatusScoped.js +20 -45
  10. package/esm/StyleManager.js +1 -1
  11. package/esm/WithRootStore.js +1 -1
  12. package/esm/WithStore.js +1 -1
  13. package/esm/actions/Action.js +4 -1
  14. package/esm/actions/AjaxAction.js +1 -1
  15. package/esm/actions/BreakAction.js +1 -1
  16. package/esm/actions/BroadcastAction.d.ts +1 -1
  17. package/esm/actions/BroadcastAction.js +6 -6
  18. package/esm/actions/CmptAction.d.ts +1 -0
  19. package/esm/actions/CmptAction.js +51 -51
  20. package/esm/actions/ContinueAction.js +1 -1
  21. package/esm/actions/CopyAction.js +1 -1
  22. package/esm/actions/CustomAction.js +1 -1
  23. package/esm/actions/DialogAction.js +1 -1
  24. package/esm/actions/DrawerAction.js +1 -1
  25. package/esm/actions/EmailAction.js +1 -1
  26. package/esm/actions/EventAction.js +1 -1
  27. package/esm/actions/LinkAction.js +1 -1
  28. package/esm/actions/LoopAction.js +1 -1
  29. package/esm/actions/PageAction.js +1 -1
  30. package/esm/actions/ParallelAction.js +1 -1
  31. package/esm/actions/PrintAction.js +1 -1
  32. package/esm/actions/StatusAction.js +1 -1
  33. package/esm/actions/SwitchAction.js +1 -1
  34. package/esm/actions/ToastAction.js +1 -1
  35. package/esm/actions/WaitAction.js +1 -1
  36. package/esm/components/CustomStyle.js +1 -1
  37. package/esm/components/ErrorBoundary.js +1 -1
  38. package/esm/components/LazyComponent.js +1 -1
  39. package/esm/components/Overlay.js +13 -16
  40. package/esm/components/PopOver.js +2 -2
  41. package/esm/env.d.ts +4 -0
  42. package/esm/env.js +1 -1
  43. package/esm/envOverwrite.js +1 -1
  44. package/esm/factory.d.ts +1 -1
  45. package/esm/factory.js +5 -3
  46. package/esm/index.d.ts +3 -2
  47. package/esm/index.js +9 -9
  48. package/esm/locale.js +1 -1
  49. package/esm/polyfills.js +1 -1
  50. package/esm/renderers/Form.js +1 -1
  51. package/esm/renderers/Item.js +1 -1
  52. package/esm/renderers/Options.js +1 -1
  53. package/esm/renderers/Placeholder.js +1 -1
  54. package/esm/renderers/builtin.js +1 -1
  55. package/esm/renderers/register.js +1 -1
  56. package/esm/renderers/wrapControl.js +1 -1
  57. package/esm/store/app.js +1 -1
  58. package/esm/store/combo.js +1 -1
  59. package/esm/store/crud.d.ts +4 -2
  60. package/esm/store/crud.js +39 -141
  61. package/esm/store/form.js +1 -1
  62. package/esm/store/formItem.js +1 -1
  63. package/esm/store/iRenderer.js +1 -1
  64. package/esm/store/index.js +1 -1
  65. package/esm/store/list.js +1 -1
  66. package/esm/store/manager.js +1 -1
  67. package/esm/store/modal.js +1 -1
  68. package/esm/store/node.js +1 -1
  69. package/esm/store/pagination.js +1 -1
  70. package/esm/store/root.js +1 -1
  71. package/esm/store/service.js +1 -1
  72. package/esm/store/status.js +1 -1
  73. package/esm/store/table.js +1 -1
  74. package/esm/store/table2.js +1 -1
  75. package/esm/theme.js +1 -1
  76. package/esm/types.d.ts +6 -2
  77. package/esm/utils/Animation.js +1 -1
  78. package/esm/utils/ColorScale.js +1 -1
  79. package/esm/utils/DataSchema.js +1 -1
  80. package/esm/utils/DataScope.js +1 -1
  81. package/esm/utils/RootClose.js +1 -1
  82. package/esm/utils/SimpleMap.js +1 -1
  83. package/esm/utils/animations.js +1 -1
  84. package/esm/utils/api.d.ts +2 -1
  85. package/esm/utils/api.js +23 -13
  86. package/esm/utils/arraySlice.js +1 -1
  87. package/esm/utils/attachmentAdpator.js +4 -1
  88. package/esm/utils/autobind.js +1 -1
  89. package/esm/utils/browser.js +1 -1
  90. package/esm/utils/columnsSplit.js +1 -1
  91. package/esm/utils/concatData.js +1 -1
  92. package/esm/utils/dataMapping.js +1 -1
  93. package/esm/utils/date.js +1 -1
  94. package/esm/utils/debug.d.ts +3 -3
  95. package/esm/utils/debug.js +104 -37
  96. package/esm/utils/decodeEntity.js +1 -1
  97. package/esm/utils/dom.js +1 -1
  98. package/esm/utils/errors.js +1 -1
  99. package/esm/utils/escapeHtml.js +1 -1
  100. package/esm/utils/filter-schema.js +1 -1
  101. package/esm/utils/filter.js +1 -1
  102. package/esm/utils/formatDuration.js +1 -1
  103. package/esm/utils/formula.js +1 -1
  104. package/esm/utils/getVariable.js +1 -1
  105. package/esm/utils/grammar.js +1 -1
  106. package/esm/utils/handleAction.js +1 -1
  107. package/esm/utils/helper.d.ts +7 -0
  108. package/esm/utils/helper.js +87 -2
  109. package/esm/utils/highlight.js +1 -1
  110. package/esm/utils/icon.js +1 -1
  111. package/esm/utils/image.js +1 -1
  112. package/esm/utils/isPureVariable.js +1 -1
  113. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  114. package/esm/utils/keyToPath.js +1 -1
  115. package/esm/utils/labelToString.js +1 -1
  116. package/esm/utils/loopTooMuch.js +1 -1
  117. package/esm/utils/makeSorter.js +1 -1
  118. package/esm/utils/math.js +1 -1
  119. package/esm/utils/memoryParse.js +1 -1
  120. package/esm/utils/normalizeLink.js +1 -1
  121. package/esm/utils/normalizeOptions.js +1 -1
  122. package/esm/utils/object.js +1 -1
  123. package/esm/utils/offset.js +1 -1
  124. package/esm/utils/offsetParent.js +1 -1
  125. package/esm/utils/optionValueCompare.js +1 -1
  126. package/esm/utils/position.js +11 -6
  127. package/esm/utils/prettyBytes.js +1 -1
  128. package/esm/utils/printElement.js +1 -1
  129. package/esm/utils/renderer-event.d.ts +4 -0
  130. package/esm/utils/renderer-event.js +97 -11
  131. package/esm/utils/replaceText.js +1 -1
  132. package/esm/utils/resize-sensor.js +1 -1
  133. package/esm/utils/resolveCondition.js +1 -1
  134. package/esm/utils/resolveVariable.js +1 -1
  135. package/esm/utils/resolveVariableAndFilter.js +1 -1
  136. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  137. package/esm/utils/scrollPosition.js +1 -1
  138. package/esm/utils/string2regExp.js +1 -1
  139. package/esm/utils/stripNumber.js +1 -1
  140. package/esm/utils/style-helper.js +1 -1
  141. package/esm/utils/style.js +1 -1
  142. package/esm/utils/toNumber.js +1 -1
  143. package/esm/utils/tokenize.js +1 -1
  144. package/esm/utils/tpl-builtin.js +1 -1
  145. package/esm/utils/tpl-lodash.js +1 -1
  146. package/esm/utils/tpl.js +1 -1
  147. package/esm/utils/uncontrollable.js +1 -1
  148. package/esm/utils/validateId.js +1 -1
  149. package/esm/utils/validations.js +5 -3
  150. package/esm/utils/visitedCache.js +1 -1
  151. package/lib/Root.d.ts +2 -84
  152. package/lib/Root.js +9 -5
  153. package/lib/RootRenderer.d.ts +1 -1
  154. package/lib/RootRenderer.js +8 -5
  155. package/lib/SchemaRenderer.d.ts +2 -1
  156. package/lib/SchemaRenderer.js +12 -6
  157. package/lib/Scoped.d.ts +1 -1
  158. package/lib/Scoped.js +1 -1
  159. package/lib/StatusScoped.d.ts +7 -53
  160. package/lib/StatusScoped.js +19 -44
  161. package/lib/StyleManager.js +1 -1
  162. package/lib/WithRootStore.js +1 -1
  163. package/lib/WithStore.js +1 -1
  164. package/lib/actions/Action.js +4 -1
  165. package/lib/actions/AjaxAction.js +1 -1
  166. package/lib/actions/BreakAction.js +1 -1
  167. package/lib/actions/BroadcastAction.d.ts +1 -1
  168. package/lib/actions/BroadcastAction.js +5 -5
  169. package/lib/actions/CmptAction.d.ts +1 -0
  170. package/lib/actions/CmptAction.js +50 -50
  171. package/lib/actions/ContinueAction.js +1 -1
  172. package/lib/actions/CopyAction.js +1 -1
  173. package/lib/actions/CustomAction.js +1 -1
  174. package/lib/actions/DialogAction.js +1 -1
  175. package/lib/actions/DrawerAction.js +1 -1
  176. package/lib/actions/EmailAction.js +1 -1
  177. package/lib/actions/EventAction.js +1 -1
  178. package/lib/actions/LinkAction.js +1 -1
  179. package/lib/actions/LoopAction.js +1 -1
  180. package/lib/actions/PageAction.js +1 -1
  181. package/lib/actions/ParallelAction.js +1 -1
  182. package/lib/actions/PrintAction.js +1 -1
  183. package/lib/actions/StatusAction.js +1 -1
  184. package/lib/actions/SwitchAction.js +1 -1
  185. package/lib/actions/ToastAction.js +1 -1
  186. package/lib/actions/WaitAction.js +1 -1
  187. package/lib/components/CustomStyle.js +1 -1
  188. package/lib/components/ErrorBoundary.js +1 -1
  189. package/lib/components/LazyComponent.js +1 -1
  190. package/lib/components/Overlay.js +11 -14
  191. package/lib/components/PopOver.js +2 -2
  192. package/lib/env.d.ts +4 -0
  193. package/lib/env.js +1 -1
  194. package/lib/envOverwrite.js +1 -1
  195. package/lib/factory.d.ts +1 -1
  196. package/lib/factory.js +5 -3
  197. package/lib/index.d.ts +3 -2
  198. package/lib/index.js +12 -5
  199. package/lib/locale.js +1 -1
  200. package/lib/polyfills.js +1 -1
  201. package/lib/renderers/Form.js +1 -1
  202. package/lib/renderers/Item.js +1 -1
  203. package/lib/renderers/Options.js +1 -1
  204. package/lib/renderers/Placeholder.js +1 -1
  205. package/lib/renderers/builtin.js +1 -1
  206. package/lib/renderers/register.js +1 -1
  207. package/lib/renderers/wrapControl.js +1 -1
  208. package/lib/store/app.js +1 -1
  209. package/lib/store/combo.d.ts +24 -24
  210. package/lib/store/combo.js +1 -1
  211. package/lib/store/crud.d.ts +4 -2
  212. package/lib/store/crud.js +37 -139
  213. package/lib/store/form.d.ts +10 -10
  214. package/lib/store/form.js +1 -1
  215. package/lib/store/formItem.js +1 -1
  216. package/lib/store/iRenderer.js +1 -1
  217. package/lib/store/index.js +1 -1
  218. package/lib/store/list.js +1 -1
  219. package/lib/store/manager.js +1 -1
  220. package/lib/store/modal.js +1 -1
  221. package/lib/store/node.js +1 -1
  222. package/lib/store/pagination.js +1 -1
  223. package/lib/store/root.js +1 -1
  224. package/lib/store/service.js +1 -1
  225. package/lib/store/status.js +1 -1
  226. package/lib/store/table.d.ts +20 -20
  227. package/lib/store/table.js +1 -1
  228. package/lib/store/table2.js +1 -1
  229. package/lib/theme.js +1 -1
  230. package/lib/types.d.ts +6 -2
  231. package/lib/utils/Animation.js +1 -1
  232. package/lib/utils/ColorScale.js +1 -1
  233. package/lib/utils/DataSchema.js +1 -1
  234. package/lib/utils/DataScope.js +1 -1
  235. package/lib/utils/RootClose.js +1 -1
  236. package/lib/utils/SimpleMap.js +1 -1
  237. package/lib/utils/animations.js +1 -1
  238. package/lib/utils/api.d.ts +2 -1
  239. package/lib/utils/api.js +22 -11
  240. package/lib/utils/arraySlice.js +1 -1
  241. package/lib/utils/attachmentAdpator.js +4 -1
  242. package/lib/utils/autobind.js +1 -1
  243. package/lib/utils/browser.js +1 -1
  244. package/lib/utils/columnsSplit.js +1 -1
  245. package/lib/utils/concatData.js +1 -1
  246. package/lib/utils/dataMapping.js +1 -1
  247. package/lib/utils/date.js +1 -1
  248. package/lib/utils/debug.d.ts +3 -3
  249. package/lib/utils/debug.js +103 -36
  250. package/lib/utils/decodeEntity.js +1 -1
  251. package/lib/utils/dom.js +1 -1
  252. package/lib/utils/errors.js +1 -1
  253. package/lib/utils/escapeHtml.js +1 -1
  254. package/lib/utils/filter-schema.js +1 -1
  255. package/lib/utils/filter.js +1 -1
  256. package/lib/utils/formatDuration.js +1 -1
  257. package/lib/utils/formula.js +1 -1
  258. package/lib/utils/getVariable.js +1 -1
  259. package/lib/utils/grammar.js +1 -1
  260. package/lib/utils/handleAction.js +1 -1
  261. package/lib/utils/helper.d.ts +7 -0
  262. package/lib/utils/helper.js +87 -1
  263. package/lib/utils/highlight.js +1 -1
  264. package/lib/utils/icon.js +1 -1
  265. package/lib/utils/image.js +1 -1
  266. package/lib/utils/isPureVariable.js +1 -1
  267. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  268. package/lib/utils/keyToPath.js +1 -1
  269. package/lib/utils/labelToString.js +1 -1
  270. package/lib/utils/loopTooMuch.js +1 -1
  271. package/lib/utils/makeSorter.js +1 -1
  272. package/lib/utils/math.js +1 -1
  273. package/lib/utils/memoryParse.js +1 -1
  274. package/lib/utils/normalizeLink.js +1 -1
  275. package/lib/utils/normalizeOptions.js +1 -1
  276. package/lib/utils/object.js +1 -1
  277. package/lib/utils/offset.js +1 -1
  278. package/lib/utils/offsetParent.js +1 -1
  279. package/lib/utils/optionValueCompare.js +1 -1
  280. package/lib/utils/position.js +11 -6
  281. package/lib/utils/prettyBytes.js +1 -1
  282. package/lib/utils/printElement.js +1 -1
  283. package/lib/utils/renderer-event.d.ts +4 -0
  284. package/lib/utils/renderer-event.js +99 -10
  285. package/lib/utils/replaceText.js +1 -1
  286. package/lib/utils/resize-sensor.js +1 -1
  287. package/lib/utils/resolveCondition.js +1 -1
  288. package/lib/utils/resolveVariable.js +1 -1
  289. package/lib/utils/resolveVariableAndFilter.js +1 -1
  290. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  291. package/lib/utils/scrollPosition.js +1 -1
  292. package/lib/utils/string2regExp.js +1 -1
  293. package/lib/utils/stripNumber.js +1 -1
  294. package/lib/utils/style-helper.js +1 -1
  295. package/lib/utils/style.js +1 -1
  296. package/lib/utils/toNumber.js +1 -1
  297. package/lib/utils/tokenize.js +1 -1
  298. package/lib/utils/tpl-builtin.js +1 -1
  299. package/lib/utils/tpl-lodash.js +1 -1
  300. package/lib/utils/tpl.js +1 -1
  301. package/lib/utils/uncontrollable.js +1 -1
  302. package/lib/utils/validateId.js +1 -1
  303. package/lib/utils/validations.js +5 -3
  304. package/lib/utils/visitedCache.js +1 -1
  305. package/package.json +3 -2
package/esm/Root.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- /// <reference types="hoist-non-react-statics" />
2
1
  import React from 'react';
3
2
  import { RendererEnv } from './env';
4
3
  import { RendererProps } from './factory';
@@ -44,88 +43,7 @@ export interface renderChildProps extends Partial<Omit<RendererProps, 'statusSto
44
43
  export type ReactElement = React.ReactNode[] | JSX.Element | null | false;
45
44
  export declare function renderChildren(prefix: string, node: SchemaNode, props: renderChildProps): ReactElement;
46
45
  export declare function renderChild(prefix: string, node: SchemaNode, props: renderChildProps): ReactElement;
47
- declare const _default: {
48
- new (props: Omit<RootProps & {
49
- scopeRef?: ((ref: any) => void) | undefined;
50
- }, "statusStore">): {
51
- store?: ({
52
- visibleState: any;
53
- disableState: any;
54
- staticState: any;
55
- } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
56
- setVisible(key: string, value?: boolean | undefined): void;
57
- setDisable(key: string, value?: boolean | undefined): void;
58
- setStatic(key: string, value?: boolean | undefined): void;
59
- resetAll(): void;
60
- } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
61
- visibleState: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
62
- disableState: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
63
- staticState: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
64
- }, {
65
- setVisible(key: string, value?: boolean | undefined): void;
66
- setDisable(key: string, value?: boolean | undefined): void;
67
- setStatic(key: string, value?: boolean | undefined): void;
68
- resetAll(): void;
69
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>) | undefined;
70
- ref: any;
71
- childRef(ref: any): void;
72
- getWrappedInstance(): any;
73
- componentWillUnmount(): void;
74
- render(): React.JSX.Element;
75
- context: unknown;
76
- setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Omit<RootProps & {
77
- scopeRef?: ((ref: any) => void) | undefined;
78
- }, "statusStore">>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
79
- forceUpdate(callback?: (() => void) | undefined): void;
80
- readonly props: Readonly<Omit<RootProps & {
81
- scopeRef?: ((ref: any) => void) | undefined;
82
- }, "statusStore">>;
83
- state: Readonly<{}>;
84
- refs: {
85
- [key: string]: React.ReactInstance;
86
- };
87
- componentDidMount?(): void;
88
- shouldComponentUpdate?(nextProps: Readonly<Omit<RootProps & {
89
- scopeRef?: ((ref: any) => void) | undefined;
90
- }, "statusStore">>, nextState: Readonly<{}>, nextContext: any): boolean;
91
- componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
92
- getSnapshotBeforeUpdate?(prevProps: Readonly<Omit<RootProps & {
93
- scopeRef?: ((ref: any) => void) | undefined;
94
- }, "statusStore">>, prevState: Readonly<{}>): any;
95
- componentDidUpdate?(prevProps: Readonly<Omit<RootProps & {
96
- scopeRef?: ((ref: any) => void) | undefined;
97
- }, "statusStore">>, prevState: Readonly<{}>, snapshot?: any): void;
98
- componentWillMount?(): void;
99
- UNSAFE_componentWillMount?(): void;
100
- componentWillReceiveProps?(nextProps: Readonly<Omit<RootProps & {
101
- scopeRef?: ((ref: any) => void) | undefined;
102
- }, "statusStore">>, nextContext: any): void;
103
- UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Omit<RootProps & {
104
- scopeRef?: ((ref: any) => void) | undefined;
105
- }, "statusStore">>, nextContext: any): void;
106
- componentWillUpdate?(nextProps: Readonly<Omit<RootProps & {
107
- scopeRef?: ((ref: any) => void) | undefined;
108
- }, "statusStore">>, nextState: Readonly<{}>, nextContext: any): void;
109
- UNSAFE_componentWillUpdate?(nextProps: Readonly<Omit<RootProps & {
110
- scopeRef?: ((ref: any) => void) | undefined;
111
- }, "statusStore">>, nextState: Readonly<{}>, nextContext: any): void;
112
- };
113
- displayName: string;
114
- ComposedComponent: React.ComponentType<React.ComponentType<RootProps & {
115
- scopeRef?: ((ref: any) => void) | undefined;
116
- }> & {
117
- ComposedComponent: React.ComponentType<RootProps>;
118
- }>;
119
- contextType?: React.Context<any> | undefined;
120
- } & import("hoist-non-react-statics").NonReactStatics<React.ComponentType<RootProps & {
46
+ declare const _default: (props: Omit<RootProps & {
121
47
  scopeRef?: ((ref: any) => void) | undefined;
122
- }> & {
123
- ComposedComponent: React.ComponentType<RootProps>;
124
- }, {}> & {
125
- ComposedComponent: React.ComponentType<RootProps & {
126
- scopeRef?: ((ref: any) => void) | undefined;
127
- }> & {
128
- ComposedComponent: React.ComponentType<RootProps>;
129
- };
130
- };
48
+ }, "statusStore">, ref: any) => React.JSX.Element;
131
49
  export default _default;
package/esm/Root.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.9
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -13,7 +13,7 @@ import { HocScoped } from './Scoped.js';
13
13
  import { ThemeContext } from './theme.js';
14
14
  import { isEmpty, autobind } from './utils/helper.js';
15
15
  import { RootStoreContext } from './WithRootStore.js';
16
- import { StatusScoped } from './StatusScoped.js';
16
+ import { StatusScopedWrapper, StatusScoped } from './StatusScoped.js';
17
17
 
18
18
  var rootWrappers = [];
19
19
  function addRootWrapper(fn) {
@@ -54,7 +54,6 @@ var Root = /** @class */ (function (_super) {
54
54
  ], Root.prototype, "resolveDefinitions", null);
55
55
  return Root;
56
56
  }(React.Component));
57
- var StatusScopedSchemaRenderer = StatusScoped(SchemaRenderer);
58
57
  function renderChildren(prefix, node, props) {
59
58
  if (Array.isArray(node)) {
60
59
  var elemKey = props.key || props.propKey || props.id || '';
@@ -65,7 +64,7 @@ function renderChildren(prefix, node, props) {
65
64
  return renderChild(prefix, node, props);
66
65
  }
67
66
  function renderChild(prefix, node, props) {
68
- var _a, _b;
67
+ var _a;
69
68
  if (Array.isArray(node)) {
70
69
  return renderChildren(prefix, node, props);
71
70
  }
@@ -85,6 +84,7 @@ function renderChild(prefix, node, props) {
85
84
  delete props.propsTransform;
86
85
  props = transform(props);
87
86
  }
87
+ var Comp = props.env.SchemaRenderer || SchemaRenderer;
88
88
  if (['dialog', 'drawer'].includes(schema === null || schema === void 0 ? void 0 : schema.type) &&
89
89
  !(schema === null || schema === void 0 ? void 0 : schema.component) &&
90
90
  !(schema === null || schema === void 0 ? void 0 : schema.children)) {
@@ -92,9 +92,13 @@ function renderChild(prefix, node, props) {
92
92
  // 找渲染器也是在那,所以没办法在之前根据渲染器信息来包裹个组件下发 statusStore
93
93
  // 所以这里先根据 type 来处理一下
94
94
  // 等后续把状态处理再抽一层,可以把此处放到 SchemaRenderer 里面去
95
- return (React.createElement(StatusScopedSchemaRenderer, __assign({ render: renderChild }, props, { key: (_a = props.key) !== null && _a !== void 0 ? _a : schema.key, schema: schema, propKey: schema.key, "$path": "".concat(prefix ? "".concat(prefix, "/") : '').concat((schema && schema.type) || '') })));
95
+ return (React.createElement(StatusScopedWrapper, null, function (_a) {
96
+ var _b;
97
+ var statusStore = _a.statusStore;
98
+ return (React.createElement(Comp, __assign({ render: renderChild }, props, { key: (_b = props.key) !== null && _b !== void 0 ? _b : schema.key, schema: schema, propKey: schema.key, "$path": "".concat(prefix ? "".concat(prefix, "/") : '').concat((schema && schema.type) || ''), statusStore: statusStore })));
99
+ }));
96
100
  }
97
- return (React.createElement(SchemaRenderer, __assign({ render: renderChild }, props, { key: (_b = props.key) !== null && _b !== void 0 ? _b : schema.key, schema: schema, propKey: schema.key, "$path": "".concat(prefix ? "".concat(prefix, "/") : '').concat((schema && schema.type) || '') })));
101
+ return (React.createElement(Comp, __assign({ render: renderChild }, props, { key: (_a = props.key) !== null && _a !== void 0 ? _a : schema.key, schema: schema, propKey: schema.key, "$path": "".concat(prefix ? "".concat(prefix, "/") : '').concat((schema && schema.type) || '') })));
98
102
  }
99
103
  var ScopedRootRenderer = StatusScoped(HocScoped(Root));
100
104
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.9
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -58,7 +58,9 @@ var RootRenderer = /** @class */ (function (_super) {
58
58
  }
59
59
  }
60
60
  });
61
- return loadAsyncRenderersByType(types, true);
61
+ return hasAsyncRenderers(types)
62
+ ? loadAsyncRenderersByType(types, true)
63
+ : undefined;
62
64
  });
63
65
  return _this;
64
66
  }
@@ -77,15 +79,16 @@ var RootRenderer = /** @class */ (function (_super) {
77
79
  RootRenderer.prototype.componentDidUpdate = function (prevProps) {
78
80
  var _a;
79
81
  var props = this.props;
80
- if (props.data !== prevProps.data) {
81
- this.store.initData(props.data);
82
- }
83
82
  if (props.location !== prevProps.location) {
84
83
  this.store.updateLocation(props.location, (_a = this.props.env) === null || _a === void 0 ? void 0 : _a.parseLocation);
85
84
  }
86
85
  if (props.context !== prevProps.context) {
87
86
  this.store.updateContext(props.context);
88
87
  }
88
+ // 一定要最后处理,否则 downStream 里面的上层数据 context 还是老的。
89
+ if (props.data !== prevProps.data) {
90
+ this.store.initData(props.data);
91
+ }
89
92
  };
90
93
  RootRenderer.prototype.componentDidCatch = function (error, errorInfo) {
91
94
  var _a, _b;
@@ -28,8 +28,9 @@ export declare class SchemaRenderer extends React.Component<SchemaRendererProps,
28
28
  enter?: string;
29
29
  exit?: string;
30
30
  };
31
- reaction: any;
31
+ toDispose: Array<() => any>;
32
32
  unbindEvent: (() => void) | undefined;
33
+ unbindGlobalEvent: (() => void) | undefined;
33
34
  isStatic: any;
34
35
  constructor(props: SchemaRendererProps);
35
36
  componentDidMount(): void;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.9
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -16,7 +16,7 @@ import { DebugWrapper } from './utils/debug.js';
16
16
  import { getExprProperties } from './utils/filter-schema.js';
17
17
  import { formateId, anyChanged, chainEvents, TestIdBuilder, autobind } from './utils/helper.js';
18
18
  import { SimpleMap } from './utils/SimpleMap.js';
19
- import { bindEvent, dispatchEvent } from './utils/renderer-event.js';
19
+ import { bindEvent, bindGlobalEventForRenderer, dispatchEvent } from './utils/renderer-event.js';
20
20
  import { isAlive } from 'mobx-state-tree';
21
21
  import { reaction } from 'mobx';
22
22
  import 'amis-formula';
@@ -80,7 +80,9 @@ var SchemaRenderer = /** @class */ (function (_super) {
80
80
  _this.rendererKey = '';
81
81
  _this.animationTimeout = {};
82
82
  _this.animationClassNames = {};
83
+ _this.toDispose = [];
83
84
  _this.unbindEvent = undefined;
85
+ _this.unbindGlobalEvent = undefined;
84
86
  _this.isStatic = undefined;
85
87
  var animations = (_a = props === null || props === void 0 ? void 0 : props.schema) === null || _a === void 0 ? void 0 : _a.animations;
86
88
  if (animations) {
@@ -108,12 +110,12 @@ var SchemaRenderer = /** @class */ (function (_super) {
108
110
  _this.addAnimationAttention = _this.addAnimationAttention.bind(_this);
109
111
  _this.removeAnimationAttention = _this.removeAnimationAttention.bind(_this);
110
112
  // 监听statusStore更新
111
- _this.reaction = reaction(function () {
113
+ _this.toDispose.push(reaction(function () {
112
114
  var _a, _b, _c;
113
115
  var id = filter(props.schema.id, props.data);
114
116
  var name = filter(props.schema.name, props.data);
115
117
  return "".concat((_a = props.statusStore.visibleState[id]) !== null && _a !== void 0 ? _a : props.statusStore.visibleState[name]).concat((_b = props.statusStore.disableState[id]) !== null && _b !== void 0 ? _b : props.statusStore.disableState[name]).concat((_c = props.statusStore.staticState[id]) !== null && _c !== void 0 ? _c : props.statusStore.staticState[name]);
116
- }, function () { return _this.forceUpdate(); });
118
+ }, function () { return _this.forceUpdate(); }));
117
119
  return _this;
118
120
  }
119
121
  SchemaRenderer.prototype.componentDidMount = function () {
@@ -125,8 +127,10 @@ var SchemaRenderer = /** @class */ (function (_super) {
125
127
  };
126
128
  SchemaRenderer.prototype.componentWillUnmount = function () {
127
129
  var _a, _b;
128
- (_a = this.reaction) === null || _a === void 0 ? void 0 : _a.call(this);
129
- (_b = this.unbindEvent) === null || _b === void 0 ? void 0 : _b.call(this);
130
+ this.toDispose.forEach(function (fn) { return fn(); });
131
+ this.toDispose = [];
132
+ (_a = this.unbindEvent) === null || _a === void 0 ? void 0 : _a.call(this);
133
+ (_b = this.unbindGlobalEvent) === null || _b === void 0 ? void 0 : _b.call(this);
130
134
  this.removeAnimationStyle();
131
135
  };
132
136
  // 限制:只有 schema 除外的 props 变化,或者 schema 里面的某个成员值发生变化才更新。
@@ -206,7 +210,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
206
210
  };
207
211
  SchemaRenderer.prototype.childRef = function (ref) {
208
212
  var _this = this;
209
- var _a, _b;
213
+ var _a, _b, _c;
210
214
  // todo 这里有个问题,就是注意以下的这段注释
211
215
  // > // 原来表单项的 visible: false 和 hidden: true 表单项的值和验证是有效的
212
216
  // > 而 visibleOn 和 hiddenOn 是无效的,
@@ -225,7 +229,9 @@ var SchemaRenderer = /** @class */ (function (_super) {
225
229
  if (ref) {
226
230
  // 这里无法区分监听的是不是广播,所以又bind一下,主要是为了绑广播
227
231
  (_b = this.unbindEvent) === null || _b === void 0 ? void 0 : _b.call(this);
232
+ (_c = this.unbindGlobalEvent) === null || _c === void 0 ? void 0 : _c.call(this);
228
233
  this.unbindEvent = bindEvent(ref);
234
+ this.unbindGlobalEvent = bindGlobalEventForRenderer(ref);
229
235
  }
230
236
  this.cRef = ref;
231
237
  };
package/esm/Scoped.d.ts CHANGED
@@ -24,7 +24,7 @@ export interface ScopedComponentType extends React.Component<RendererProps> {
24
24
  focus?: () => void;
25
25
  doAction?: (action: ActionObject, data: RendererData, throwErrors?: boolean, args?: any) => void;
26
26
  receive?: (values: RendererData, subPath?: string, replace?: boolean) => void;
27
- reload?: (subPath?: string, query?: RendererData | null, ctx?: RendererData, silent?: boolean, replace?: boolean, args?: any) => void;
27
+ reload?: (subpath?: string, query?: any, ctx?: RendererData, silent?: boolean, replace?: boolean, args?: any) => void;
28
28
  context: any;
29
29
  setData?: (value?: object, replace?: boolean, index?: number) => void;
30
30
  }
package/esm/Scoped.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.9
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,58 +1,12 @@
1
1
  import React from 'react';
2
- import hoistNonReactStatic from 'hoist-non-react-statics';
3
2
  import { IStatusStore } from './store/status';
4
3
  export interface StatusScopedProps {
5
4
  statusStore: IStatusStore;
6
5
  }
7
- export declare function StatusScoped<T extends React.ComponentType<React.ComponentProps<T> & StatusScopedProps>>(ComposedComponent: T): {
8
- new (props: JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "statusStore">> & {}): {
9
- store?: ({
10
- visibleState: any;
11
- disableState: any;
12
- staticState: any;
13
- } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
14
- setVisible(key: string, value?: boolean | undefined): void;
15
- setDisable(key: string, value?: boolean | undefined): void;
16
- setStatic(key: string, value?: boolean | undefined): void;
17
- resetAll(): void;
18
- } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
19
- visibleState: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
20
- disableState: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
21
- staticState: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
22
- }, {
23
- setVisible(key: string, value?: boolean | undefined): void;
24
- setDisable(key: string, value?: boolean | undefined): void;
25
- setStatic(key: string, value?: boolean | undefined): void;
26
- resetAll(): void;
27
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>) | undefined;
28
- ref: any;
29
- childRef(ref: any): void;
30
- getWrappedInstance(): any;
31
- componentWillUnmount(): void;
32
- render(): React.JSX.Element;
33
- context: unknown;
34
- setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "statusStore">> & {}>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
35
- forceUpdate(callback?: (() => void) | undefined): void;
36
- readonly props: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "statusStore">> & {}>;
37
- state: Readonly<{}>;
38
- refs: {
39
- [key: string]: React.ReactInstance;
40
- };
41
- componentDidMount?(): void;
42
- shouldComponentUpdate?(nextProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "statusStore">> & {}>, nextState: Readonly<{}>, nextContext: any): boolean;
43
- componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
44
- getSnapshotBeforeUpdate?(prevProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "statusStore">> & {}>, prevState: Readonly<{}>): any;
45
- componentDidUpdate?(prevProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "statusStore">> & {}>, prevState: Readonly<{}>, snapshot?: any): void;
46
- componentWillMount?(): void;
47
- UNSAFE_componentWillMount?(): void;
48
- componentWillReceiveProps?(nextProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "statusStore">> & {}>, nextContext: any): void;
49
- UNSAFE_componentWillReceiveProps?(nextProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "statusStore">> & {}>, nextContext: any): void;
50
- componentWillUpdate?(nextProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "statusStore">> & {}>, nextState: Readonly<{}>, nextContext: any): void;
51
- UNSAFE_componentWillUpdate?(nextProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "statusStore">> & {}>, nextState: Readonly<{}>, nextContext: any): void;
52
- };
53
- displayName: string;
54
- ComposedComponent: React.ComponentType<T>;
55
- contextType?: React.Context<any> | undefined;
56
- } & hoistNonReactStatic.NonReactStatics<T, {}> & {
57
- ComposedComponent: T;
58
- };
6
+ export interface StatusScopedWrapperProps {
7
+ children: (props: {
8
+ statusStore: IStatusStore;
9
+ }) => JSX.Element;
10
+ }
11
+ export declare function StatusScopedWrapper({ children }: StatusScopedWrapperProps): JSX.Element;
12
+ export declare function StatusScoped<T extends React.ComponentType<React.ComponentProps<T> & StatusScopedProps>>(ComposedComponent: T): (props: JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, keyof StatusScopedProps>> & {}, ref: any) => React.JSX.Element;
@@ -1,56 +1,31 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.9
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
- import { __extends, __assign } from 'tslib';
6
+ import { __assign } from 'tslib';
7
7
  import React from 'react';
8
- import hoistNonReactStatic from 'hoist-non-react-statics';
9
8
  import { StatusStore } from './store/status.js';
10
9
  import { destroy } from 'mobx-state-tree';
11
10
 
11
+ function StatusScopedWrapper(_a) {
12
+ var children = _a.children;
13
+ var store = React.useMemo(function () { return StatusStore.create({}); }, []);
14
+ React.useEffect(function () {
15
+ return function () {
16
+ destroy(store);
17
+ };
18
+ }, []);
19
+ return children({ statusStore: store });
20
+ }
12
21
  function StatusScoped(ComposedComponent) {
13
- var _a;
14
- var result = hoistNonReactStatic((_a = /** @class */ (function (_super) {
15
- __extends(class_1, _super);
16
- function class_1(props) {
17
- var _this = _super.call(this, props) || this;
18
- _this.childRef = _this.childRef.bind(_this);
19
- _this.getWrappedInstance = _this.getWrappedInstance.bind(_this);
20
- _this.store = StatusStore.create({});
21
- return _this;
22
- }
23
- class_1.prototype.childRef = function (ref) {
24
- while (ref && ref.getWrappedInstance) {
25
- ref = ref.getWrappedInstance();
26
- }
27
- this.ref = ref;
28
- };
29
- class_1.prototype.getWrappedInstance = function () {
30
- return this.ref;
31
- };
32
- class_1.prototype.componentWillUnmount = function () {
33
- this.store && destroy(this.store);
34
- delete this.store;
35
- };
36
- class_1.prototype.render = function () {
37
- var _a;
38
- var injectedProps = {
39
- statusStore: this.store
40
- };
41
- var refConfig = ((_a = ComposedComponent.prototype) === null || _a === void 0 ? void 0 : _a.isReactComponent) ||
42
- ComposedComponent.$$typeof ===
43
- Symbol.for('react.forward_ref')
44
- ? { ref: this.childRef }
45
- : { forwardedRef: this.childRef };
46
- return (React.createElement(ComposedComponent, __assign({}, this.props, injectedProps, refConfig)));
47
- };
48
- return class_1;
49
- }(React.Component)),
50
- _a.displayName = "StatusScoped(".concat(ComposedComponent.displayName || ComposedComponent.name, ")"),
51
- _a.ComposedComponent = ComposedComponent,
52
- _a), ComposedComponent);
53
- return result;
22
+ var wrapped = function (props, ref) {
23
+ return (React.createElement(StatusScopedWrapper, null, function (_a) {
24
+ var statusStore = _a.statusStore;
25
+ return (React.createElement(ComposedComponent, __assign({}, props, { statusStore: statusStore, ref: ref })));
26
+ }));
27
+ };
28
+ return React.forwardRef(wrapped);
54
29
  }
55
30
 
56
- export { StatusScoped };
31
+ export { StatusScoped, StatusScopedWrapper };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.9
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.9
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/esm/WithStore.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.9
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.9
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -14,6 +14,7 @@ import '../utils/memoryParse.js';
14
14
  import '@rc-component/mini-decimal';
15
15
  import { dataMapping } from '../utils/dataMapping.js';
16
16
  import '../utils/filter.js';
17
+ import { debug } from '../utils/debug.js';
17
18
 
18
19
  // 循环动作执行状态
19
20
  var LoopStatus;
@@ -277,6 +278,8 @@ var runAction = function (actionInstrance, actionConfig, renderer, event) { retu
277
278
  : mergeData;
278
279
  (_x = console.group) === null || _x === void 0 ? void 0 : _x.call(console, "run action ".concat(action.actionType));
279
280
  console.debug("[".concat(action.actionType, "] action args, data"), args, data);
281
+ debug('action', "run action ".concat(action.actionType, " with args"), args);
282
+ debug('action', "run action ".concat(action.actionType, " with data"), data);
280
283
  stopped = false;
281
284
  return [4 /*yield*/, actionInstrance.run(__assign(__assign(__assign({}, action), { args: args, rawData: actionConfig.data, data: action.actionType === 'reload' ? actionData : data }), key), renderer, event, mergeData)];
282
285
  case 5:
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.9
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.9
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -15,5 +15,5 @@ export interface IBroadcastAction extends ListenerAction {
15
15
  * @implements {Action}
16
16
  */
17
17
  export declare class BroadcastAction implements RendererAction {
18
- run(action: IBroadcastAction, renderer: ListenerContext, event: RendererEvent<any>): Promise<void | RendererEvent<any, any>>;
18
+ run(action: IBroadcastAction, renderer: ListenerContext, event: RendererEvent<any>): Promise<void>;
19
19
  }
@@ -1,11 +1,11 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.9
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  import { __awaiter, __generator } from 'tslib';
7
7
  import '../utils/helper.js';
8
- import { dispatchEvent } from '../utils/renderer-event.js';
8
+ import { dispatchGlobalEvent } from '../utils/renderer-event.js';
9
9
  import { registerAction } from './Action.js';
10
10
  import { createObject } from '../utils/object.js';
11
11
 
@@ -22,6 +22,7 @@ var BroadcastAction = /** @class */ (function () {
22
22
  BroadcastAction.prototype.run = function (action, renderer, event) {
23
23
  var _a, _b, _c;
24
24
  return __awaiter(this, void 0, void 0, function () {
25
+ var eventName;
25
26
  return __generator(this, function (_d) {
26
27
  switch (_d.label) {
27
28
  case 0:
@@ -31,10 +32,9 @@ var BroadcastAction = /** @class */ (function () {
31
32
  }
32
33
  // 作为一个新的事件,需要把广播动作的args参数追加到事件数据中
33
34
  event.setData(createObject(event.data, (_b = action.data) !== null && _b !== void 0 ? _b : {}));
34
- return [4 /*yield*/, dispatchEvent(((_c = action.args) === null || _c === void 0 ? void 0 : _c.eventName) || action.eventName, renderer, event.context.scoped, action.data, event)];
35
- case 1:
36
- // 直接触发对应的动作
37
- return [2 /*return*/, _d.sent()];
35
+ eventName = ((_c = action.args) === null || _c === void 0 ? void 0 : _c.eventName) || action.eventName;
36
+ return [4 /*yield*/, dispatchGlobalEvent(eventName, action.data)];
37
+ case 1: return [2 /*return*/, _d.sent()];
38
38
  }
39
39
  });
40
40
  });
@@ -3,6 +3,7 @@ import { RendererAction, ListenerAction, ListenerContext } from './Action';
3
3
  export interface ICmptAction extends ListenerAction {
4
4
  actionType: string;
5
5
  args: {
6
+ resetPage?: boolean;
6
7
  path?: string;
7
8
  value?: string | {
8
9
  [key: string]: string;