amis-core 6.8.0 → 6.9.0-rc.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 (313) 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 +29 -15
  5. package/esm/Scoped.js +1 -1
  6. package/esm/StatusScoped.js +1 -1
  7. package/esm/WithRootStore.js +1 -1
  8. package/esm/WithStore.js +10 -10
  9. package/esm/actions/Action.js +1 -1
  10. package/esm/actions/AjaxAction.js +1 -1
  11. package/esm/actions/BreakAction.js +1 -1
  12. package/esm/actions/BroadcastAction.js +1 -1
  13. package/esm/actions/CmptAction.js +1 -1
  14. package/esm/actions/ContinueAction.js +1 -1
  15. package/esm/actions/CopyAction.js +1 -1
  16. package/esm/actions/CustomAction.js +1 -1
  17. package/esm/actions/DialogAction.js +1 -1
  18. package/esm/actions/DrawerAction.js +1 -1
  19. package/esm/actions/EmailAction.js +1 -1
  20. package/esm/actions/EventAction.js +1 -1
  21. package/esm/actions/LinkAction.js +1 -1
  22. package/esm/actions/LoopAction.js +1 -1
  23. package/esm/actions/PageAction.js +1 -1
  24. package/esm/actions/ParallelAction.js +1 -1
  25. package/esm/actions/PrintAction.js +1 -1
  26. package/esm/actions/StatusAction.js +1 -1
  27. package/esm/actions/SwitchAction.js +1 -1
  28. package/esm/actions/ToastAction.js +1 -1
  29. package/esm/actions/WaitAction.js +1 -1
  30. package/esm/components/CustomStyle.js +1 -1
  31. package/esm/components/ErrorBoundary.js +1 -1
  32. package/esm/components/LazyComponent.d.ts +40 -2
  33. package/esm/components/LazyComponent.js +13 -7
  34. package/esm/components/Overlay.js +1 -1
  35. package/esm/components/PopOver.d.ts +1 -1
  36. package/esm/components/PopOver.js +1 -1
  37. package/esm/env.js +1 -1
  38. package/esm/envOverwrite.js +1 -1
  39. package/esm/factory.d.ts +13 -2
  40. package/esm/factory.js +159 -45
  41. package/esm/index.d.ts +4 -4
  42. package/esm/index.js +5 -5
  43. package/esm/locale.js +1 -1
  44. package/esm/polyfills.js +1 -1
  45. package/esm/renderers/Form.d.ts +3 -3
  46. package/esm/renderers/Form.js +17 -9
  47. package/esm/renderers/Item.d.ts +18 -12
  48. package/esm/renderers/Item.js +6 -6
  49. package/esm/renderers/Options.d.ts +3 -3
  50. package/esm/renderers/Options.js +42 -19
  51. package/esm/renderers/Placeholder.js +1 -1
  52. package/esm/renderers/builtin.js +1 -1
  53. package/esm/renderers/register.js +1 -1
  54. package/esm/renderers/wrapControl.d.ts +3 -3
  55. package/esm/renderers/wrapControl.js +19 -6
  56. package/esm/store/app.d.ts +3 -3
  57. package/esm/store/app.js +1 -1
  58. package/esm/store/combo.d.ts +15 -15
  59. package/esm/store/combo.js +1 -1
  60. package/esm/store/crud.d.ts +3 -3
  61. package/esm/store/crud.js +1 -1
  62. package/esm/store/form.d.ts +7 -7
  63. package/esm/store/form.js +24 -6
  64. package/esm/store/formItem.js +1 -1
  65. package/esm/store/iRenderer.d.ts +4 -3
  66. package/esm/store/iRenderer.js +28 -4
  67. package/esm/store/index.d.ts +1 -0
  68. package/esm/store/index.js +3 -2
  69. package/esm/store/list.d.ts +3 -3
  70. package/esm/store/list.js +1 -1
  71. package/esm/store/manager.js +1 -1
  72. package/esm/store/modal.d.ts +3 -3
  73. package/esm/store/modal.js +1 -1
  74. package/esm/store/node.js +1 -1
  75. package/esm/store/pagination.d.ts +3 -3
  76. package/esm/store/pagination.js +1 -1
  77. package/esm/store/root.d.ts +5 -3
  78. package/esm/store/root.js +45 -21
  79. package/esm/store/service.d.ts +3 -3
  80. package/esm/store/service.js +10 -4
  81. package/esm/store/status.js +1 -1
  82. package/esm/store/table.d.ts +15 -15
  83. package/esm/store/table.js +1 -1
  84. package/esm/store/table2.d.ts +3 -3
  85. package/esm/store/table2.js +1 -1
  86. package/esm/theme.js +1 -1
  87. package/esm/types.d.ts +19 -2
  88. package/esm/utils/Animation.js +1 -1
  89. package/esm/utils/ColorScale.js +1 -1
  90. package/esm/utils/DataSchema.js +1 -1
  91. package/esm/utils/DataScope.js +1 -1
  92. package/esm/utils/RootClose.js +1 -1
  93. package/esm/utils/SimpleMap.js +1 -1
  94. package/esm/utils/api.d.ts +21 -1
  95. package/esm/utils/api.js +133 -41
  96. package/esm/utils/arraySlice.js +1 -1
  97. package/esm/utils/attachmentAdpator.js +1 -1
  98. package/esm/utils/autobind.js +1 -1
  99. package/esm/utils/browser.js +1 -1
  100. package/esm/utils/columnsSplit.js +1 -1
  101. package/esm/utils/concatData.js +1 -1
  102. package/esm/utils/dataMapping.js +1 -1
  103. package/esm/utils/date.js +1 -1
  104. package/esm/utils/debug.js +1 -1
  105. package/esm/utils/decodeEntity.js +1 -1
  106. package/esm/utils/dom.js +1 -1
  107. package/esm/utils/errors.js +1 -1
  108. package/esm/utils/escapeHtml.js +1 -1
  109. package/esm/utils/filter-schema.js +1 -1
  110. package/esm/utils/filter.js +1 -1
  111. package/esm/utils/formatDuration.js +1 -1
  112. package/esm/utils/formula.js +1 -1
  113. package/esm/utils/getVariable.js +1 -1
  114. package/esm/utils/grammar.js +1 -1
  115. package/esm/utils/handleAction.js +1 -1
  116. package/esm/utils/helper.js +1 -1
  117. package/esm/utils/highlight.js +1 -1
  118. package/esm/utils/icon.js +1 -1
  119. package/esm/utils/image.js +1 -1
  120. package/esm/utils/isPureVariable.js +1 -1
  121. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  122. package/esm/utils/keyToPath.js +1 -1
  123. package/esm/utils/labelToString.js +4 -1
  124. package/esm/utils/makeSorter.js +1 -1
  125. package/esm/utils/math.js +1 -1
  126. package/esm/utils/memoryParse.js +1 -1
  127. package/esm/utils/normalizeLink.js +1 -1
  128. package/esm/utils/normalizeOptions.js +1 -1
  129. package/esm/utils/object.js +1 -1
  130. package/esm/utils/offset.js +1 -1
  131. package/esm/utils/offsetParent.js +1 -1
  132. package/esm/utils/optionValueCompare.js +1 -1
  133. package/esm/utils/position.js +1 -1
  134. package/esm/utils/prettyBytes.js +1 -1
  135. package/esm/utils/printElement.js +1 -1
  136. package/esm/utils/renderer-event.js +1 -1
  137. package/esm/utils/replaceText.js +1 -1
  138. package/esm/utils/resize-sensor.js +1 -1
  139. package/esm/utils/resolveCondition.js +1 -1
  140. package/esm/utils/resolveVariable.js +1 -1
  141. package/esm/utils/resolveVariableAndFilter.js +1 -1
  142. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  143. package/esm/utils/scrollPosition.js +1 -1
  144. package/esm/utils/string2regExp.js +1 -1
  145. package/esm/utils/stripNumber.js +1 -1
  146. package/esm/utils/style-helper.js +1 -1
  147. package/esm/utils/style.js +1 -1
  148. package/esm/utils/toNumber.js +1 -1
  149. package/esm/utils/tokenize.js +1 -1
  150. package/esm/utils/tpl-builtin.js +1 -1
  151. package/esm/utils/tpl-lodash.js +1 -1
  152. package/esm/utils/tpl.js +1 -1
  153. package/esm/utils/uncontrollable.js +1 -1
  154. package/esm/utils/validateId.js +1 -1
  155. package/esm/utils/validations.js +1 -1
  156. package/esm/utils/visitedCache.js +1 -1
  157. package/lib/Root.js +1 -1
  158. package/lib/RootRenderer.d.ts +1 -1
  159. package/lib/RootRenderer.js +23 -1
  160. package/lib/SchemaRenderer.js +27 -13
  161. package/lib/Scoped.js +1 -1
  162. package/lib/StatusScoped.js +1 -1
  163. package/lib/WithRootStore.js +1 -1
  164. package/lib/WithStore.js +10 -10
  165. package/lib/actions/Action.js +1 -1
  166. package/lib/actions/AjaxAction.js +1 -1
  167. package/lib/actions/BreakAction.js +1 -1
  168. package/lib/actions/BroadcastAction.js +1 -1
  169. package/lib/actions/CmptAction.js +1 -1
  170. package/lib/actions/ContinueAction.js +1 -1
  171. package/lib/actions/CopyAction.js +1 -1
  172. package/lib/actions/CustomAction.js +1 -1
  173. package/lib/actions/DialogAction.js +1 -1
  174. package/lib/actions/DrawerAction.js +1 -1
  175. package/lib/actions/EmailAction.js +1 -1
  176. package/lib/actions/EventAction.js +1 -1
  177. package/lib/actions/LinkAction.js +1 -1
  178. package/lib/actions/LoopAction.js +1 -1
  179. package/lib/actions/PageAction.js +1 -1
  180. package/lib/actions/ParallelAction.js +1 -1
  181. package/lib/actions/PrintAction.js +1 -1
  182. package/lib/actions/StatusAction.js +1 -1
  183. package/lib/actions/SwitchAction.js +1 -1
  184. package/lib/actions/ToastAction.js +1 -1
  185. package/lib/actions/WaitAction.js +1 -1
  186. package/lib/components/CustomStyle.js +1 -1
  187. package/lib/components/ErrorBoundary.js +1 -1
  188. package/lib/components/LazyComponent.d.ts +40 -2
  189. package/lib/components/LazyComponent.js +14 -7
  190. package/lib/components/Overlay.js +1 -1
  191. package/lib/components/PopOver.d.ts +1 -1
  192. package/lib/components/PopOver.js +1 -1
  193. package/lib/env.js +1 -1
  194. package/lib/envOverwrite.js +1 -1
  195. package/lib/factory.d.ts +13 -2
  196. package/lib/factory.js +163 -44
  197. package/lib/index.d.ts +4 -4
  198. package/lib/index.js +10 -2
  199. package/lib/locale.js +1 -1
  200. package/lib/polyfills.js +1 -1
  201. package/lib/renderers/Form.d.ts +3 -3
  202. package/lib/renderers/Form.js +15 -7
  203. package/lib/renderers/Item.d.ts +18 -12
  204. package/lib/renderers/Item.js +6 -6
  205. package/lib/renderers/Options.d.ts +3 -3
  206. package/lib/renderers/Options.js +42 -19
  207. package/lib/renderers/Placeholder.js +1 -1
  208. package/lib/renderers/builtin.js +1 -1
  209. package/lib/renderers/register.js +1 -1
  210. package/lib/renderers/wrapControl.d.ts +3 -3
  211. package/lib/renderers/wrapControl.js +19 -6
  212. package/lib/store/app.d.ts +3 -3
  213. package/lib/store/app.js +1 -1
  214. package/lib/store/combo.d.ts +15 -15
  215. package/lib/store/combo.js +1 -1
  216. package/lib/store/crud.d.ts +3 -3
  217. package/lib/store/crud.js +2 -2
  218. package/lib/store/form.d.ts +7 -7
  219. package/lib/store/form.js +24 -6
  220. package/lib/store/formItem.js +1 -1
  221. package/lib/store/iRenderer.d.ts +4 -3
  222. package/lib/store/iRenderer.js +28 -4
  223. package/lib/store/index.d.ts +1 -0
  224. package/lib/store/index.js +3 -1
  225. package/lib/store/list.d.ts +3 -3
  226. package/lib/store/list.js +1 -1
  227. package/lib/store/manager.js +1 -1
  228. package/lib/store/modal.d.ts +3 -3
  229. package/lib/store/modal.js +1 -1
  230. package/lib/store/node.js +1 -1
  231. package/lib/store/pagination.d.ts +3 -3
  232. package/lib/store/pagination.js +1 -1
  233. package/lib/store/root.d.ts +5 -3
  234. package/lib/store/root.js +43 -19
  235. package/lib/store/service.d.ts +3 -3
  236. package/lib/store/service.js +10 -4
  237. package/lib/store/status.js +1 -1
  238. package/lib/store/table.d.ts +15 -15
  239. package/lib/store/table.js +1 -1
  240. package/lib/store/table2.d.ts +3 -3
  241. package/lib/store/table2.js +1 -1
  242. package/lib/theme.js +1 -1
  243. package/lib/types.d.ts +19 -2
  244. package/lib/utils/Animation.js +1 -1
  245. package/lib/utils/ColorScale.js +1 -1
  246. package/lib/utils/DataSchema.js +1 -1
  247. package/lib/utils/DataScope.js +1 -1
  248. package/lib/utils/RootClose.js +1 -1
  249. package/lib/utils/SimpleMap.js +1 -1
  250. package/lib/utils/api.d.ts +21 -1
  251. package/lib/utils/api.js +136 -40
  252. package/lib/utils/arraySlice.js +1 -1
  253. package/lib/utils/attachmentAdpator.js +1 -1
  254. package/lib/utils/autobind.js +1 -1
  255. package/lib/utils/browser.js +1 -1
  256. package/lib/utils/columnsSplit.js +1 -1
  257. package/lib/utils/concatData.js +1 -1
  258. package/lib/utils/dataMapping.js +1 -1
  259. package/lib/utils/date.js +1 -1
  260. package/lib/utils/debug.js +2 -2
  261. package/lib/utils/decodeEntity.js +1 -1
  262. package/lib/utils/dom.js +1 -1
  263. package/lib/utils/errors.js +1 -1
  264. package/lib/utils/escapeHtml.js +1 -1
  265. package/lib/utils/filter-schema.js +1 -1
  266. package/lib/utils/filter.js +1 -1
  267. package/lib/utils/formatDuration.js +1 -1
  268. package/lib/utils/formula.js +1 -1
  269. package/lib/utils/getVariable.js +1 -1
  270. package/lib/utils/grammar.js +1 -1
  271. package/lib/utils/handleAction.js +1 -1
  272. package/lib/utils/helper.js +1 -1
  273. package/lib/utils/highlight.js +1 -1
  274. package/lib/utils/icon.js +1 -1
  275. package/lib/utils/image.js +1 -1
  276. package/lib/utils/isPureVariable.js +1 -1
  277. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  278. package/lib/utils/keyToPath.js +1 -1
  279. package/lib/utils/labelToString.js +4 -1
  280. package/lib/utils/makeSorter.js +1 -1
  281. package/lib/utils/math.js +1 -1
  282. package/lib/utils/memoryParse.js +1 -1
  283. package/lib/utils/normalizeLink.js +1 -1
  284. package/lib/utils/normalizeOptions.js +1 -1
  285. package/lib/utils/object.js +1 -1
  286. package/lib/utils/offset.js +1 -1
  287. package/lib/utils/offsetParent.js +1 -1
  288. package/lib/utils/optionValueCompare.js +1 -1
  289. package/lib/utils/position.js +1 -1
  290. package/lib/utils/prettyBytes.js +1 -1
  291. package/lib/utils/printElement.js +1 -1
  292. package/lib/utils/renderer-event.js +1 -1
  293. package/lib/utils/replaceText.js +1 -1
  294. package/lib/utils/resize-sensor.js +1 -1
  295. package/lib/utils/resolveCondition.js +1 -1
  296. package/lib/utils/resolveVariable.js +1 -1
  297. package/lib/utils/resolveVariableAndFilter.js +1 -1
  298. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  299. package/lib/utils/scrollPosition.js +1 -1
  300. package/lib/utils/string2regExp.js +1 -1
  301. package/lib/utils/stripNumber.js +1 -1
  302. package/lib/utils/style-helper.js +1 -1
  303. package/lib/utils/style.js +1 -1
  304. package/lib/utils/toNumber.js +1 -1
  305. package/lib/utils/tokenize.js +1 -1
  306. package/lib/utils/tpl-builtin.js +1 -1
  307. package/lib/utils/tpl-lodash.js +1 -1
  308. package/lib/utils/tpl.js +1 -1
  309. package/lib/utils/uncontrollable.js +1 -1
  310. package/lib/utils/validateId.js +1 -1
  311. package/lib/utils/validations.js +1 -1
  312. package/lib/utils/visitedCache.js +1 -1
  313. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-rc.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-rc.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-rc.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-rc.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/esm/utils/tpl.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-rc.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-rc.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-rc.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-rc.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-rc.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/lib/Root.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-rc.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -30,5 +30,5 @@ export declare class RootRenderer extends React.Component<RootRendererProps> {
30
30
  renderError(): React.ReactNode;
31
31
  renderDialog(): React.ReactNode;
32
32
  renderDrawer(): React.ReactNode;
33
- render(): string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
33
+ render(): string | number | boolean | React.JSX.Element | Iterable<React.ReactNode> | null | undefined;
34
34
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-rc.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -20,6 +20,8 @@ var mapValues = require('lodash/mapValues');
20
20
  var fileSaver = require('file-saver');
21
21
  var api = require('./utils/api.js');
22
22
  var ReactDOM = require('react-dom');
23
+ var LazyComponent = require('./components/LazyComponent.js');
24
+ var factory = require('./factory.js');
23
25
 
24
26
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
25
27
 
@@ -55,6 +57,23 @@ var RootRenderer = /** @class */ (function (_super) {
55
57
  'handleDrawerClose',
56
58
  'handlePageVisibilityChange'
57
59
  ]);
60
+ _this.store.init(function () {
61
+ if (!factory.hasAsyncRenderers()) {
62
+ return;
63
+ }
64
+ var schema = props.schema;
65
+ var types = ['tpl', 'dialog', 'drawer'];
66
+ helper.JSONTraverse(schema, function (value, key) {
67
+ if (key === 'type') {
68
+ types.push(value);
69
+ // form 依赖 panel
70
+ if (value === 'form') {
71
+ types.push('panel');
72
+ }
73
+ }
74
+ });
75
+ return factory.loadAsyncRenderersByType(types, true);
76
+ });
58
77
  return _this;
59
78
  }
60
79
  RootRenderer.prototype.componentDidMount = function () {
@@ -353,6 +372,9 @@ var RootRenderer = /** @class */ (function (_super) {
353
372
  if (store.runtimeError) {
354
373
  return this.renderRuntimeError();
355
374
  }
375
+ else if (!store.ready) {
376
+ return _J$X_(LazyComponent["default"], { className: "RootLoader" });
377
+ }
356
378
  return (_J$X_(React__default["default"].Fragment, null,
357
379
  render(pathPrefix, schema, tslib.__assign(tslib.__assign({}, rest), { topStore: this.store, data: this.store.downStream, context: store.context, onAction: this.handleAction })),
358
380
  this.renderSpinner(),
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-rc.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -218,7 +218,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
218
218
  var omitList = RENDERER_TRANSMISSION_OMIT_PROPS.concat();
219
219
  if (this.renderer) {
220
220
  var Component = this.renderer.component;
221
- Component.propsList &&
221
+ (Component === null || Component === void 0 ? void 0 : Component.propsList) &&
222
222
  omitList.push.apply(omitList, Component.propsList);
223
223
  }
224
224
  return render("".concat($path).concat(region ? "/".concat(region) : ''), node || '', tslib.__assign(tslib.__assign(tslib.__assign(tslib.__assign({}, omit__default["default"](rest, omitList)), { defaultStatic: (_c = (_b = (((_a = this.renderer) === null || _a === void 0 ? void 0 : _a.type) &&
@@ -235,12 +235,12 @@ var SchemaRenderer = /** @class */ (function (_super) {
235
235
  SchemaRenderer.prototype.render = function () {
236
236
  var e_1, _a;
237
237
  var _this = this;
238
- var _b, _c, _d, _e, _f, _g;
239
- var _h = this.props; _h.$path; var __ = _h.schema, rootStore = _h.rootStore, statusStore = _h.statusStore, render = _h.render, propKey = _h.key, rest = tslib.__rest(_h, ["$path", "schema", "rootStore", "statusStore", "render", "key"]);
238
+ var _b, _c, _d, _e, _f, _g, _h;
239
+ var _j = this.props; _j.$path; var __ = _j.schema, rootStore = _j.rootStore, statusStore = _j.statusStore, render = _j.render, propKey = _j.key, rest = tslib.__rest(_j, ["$path", "schema", "rootStore", "statusStore", "render", "key"]);
240
240
  if (__ == null) {
241
241
  return null;
242
242
  }
243
- var _j = this.resolveRenderer(this.props), $path = _j.path, schema = _j.schema;
243
+ var _k = this.resolveRenderer(this.props), $path = _k.path, schema = _k.schema;
244
244
  var theme = this.props.env.theme;
245
245
  if (Array.isArray(schema)) {
246
246
  return render($path, schema, rest);
@@ -297,7 +297,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
297
297
  return null;
298
298
  }
299
299
  else if (!this.renderer) {
300
- return rest.invisible ? null : (_J$X_(LazyComponent["default"], tslib.__assign({}, rest, exprProps, { getComponent: function () { return tslib.__awaiter(_this, void 0, void 0, function () {
300
+ return rest.invisible ? null : (_J$X_(LazyComponent["default"], { defaultVisible: true, getComponent: function () { return tslib.__awaiter(_this, void 0, void 0, function () {
301
301
  var result;
302
302
  return tslib.__generator(this, function (_a) {
303
303
  switch (_a.label) {
@@ -311,10 +311,24 @@ var SchemaRenderer = /** @class */ (function (_super) {
311
311
  return [2 /*return*/, function () { return result; }];
312
312
  }
313
313
  this.reRender();
314
- return [2 /*return*/, function () { return factory.loadRenderer(schema, $path); }];
314
+ return [2 /*return*/, function () { return factory.loadRendererError(schema, $path); }];
315
315
  }
316
316
  });
317
- }); }, "$path": $path, "$schema": schema, retry: this.reRender, rootStore: rootStore, statusStore: statusStore, dispatchEvent: this.dispatchEvent })));
317
+ }); } }));
318
+ }
319
+ else if (this.renderer.getComponent && !this.renderer.component) {
320
+ // 处理异步渲染器
321
+ return rest.invisible ? null : (_J$X_(LazyComponent["default"], { defaultVisible: true, getComponent: function () { return tslib.__awaiter(_this, void 0, void 0, function () {
322
+ return tslib.__generator(this, function (_a) {
323
+ switch (_a.label) {
324
+ case 0: return [4 /*yield*/, factory.loadAsyncRenderer(this.renderer)];
325
+ case 1:
326
+ _a.sent();
327
+ this.reRender();
328
+ return [2 /*return*/, function () { return null; }];
329
+ }
330
+ });
331
+ }); } }));
318
332
  }
319
333
  var renderer = this.renderer;
320
334
  schema = factory.filterSchema(schema, renderer, rest);
@@ -338,9 +352,9 @@ var SchemaRenderer = /** @class */ (function (_super) {
338
352
  }
339
353
  var supportRef = ((_e = Component.prototype) === null || _e === void 0 ? void 0 : _e.isReactComponent) ||
340
354
  Component.$$typeof === Symbol.for('react.forward_ref');
341
- var props = tslib.__assign(tslib.__assign(tslib.__assign(tslib.__assign(tslib.__assign({}, theme.getRendererConfig(renderer.name)), restSchema), helper.chainEvents(rest, restSchema)), exprProps), {
355
+ var props = tslib.__assign(tslib.__assign(tslib.__assign(tslib.__assign(tslib.__assign(tslib.__assign({}, (_f = renderer.defaultProps) === null || _f === void 0 ? void 0 : _f.call(renderer, schema.type, schema)), theme.getRendererConfig(renderer.name)), restSchema), helper.chainEvents(rest, restSchema)), exprProps), {
342
356
  // value: defaultValue, // 备注: 此处并没有将value传递给渲染器
343
- defaultData: (_f = restSchema.defaultData) !== null && _f !== void 0 ? _f : defaultData, defaultValue: (_g = restSchema.defaultValue) !== null && _g !== void 0 ? _g : defaultValue, defaultActiveKey: defaultActiveKey, propKey: propKey, $path: $path, $schema: schema, render: this.renderChild, rootStore: rootStore, statusStore: statusStore, dispatchEvent: this.dispatchEvent, mobileUI: schema.useMobileUI === false ? false : rest.mobileUI });
357
+ defaultData: (_g = restSchema.defaultData) !== null && _g !== void 0 ? _g : defaultData, defaultValue: (_h = restSchema.defaultValue) !== null && _h !== void 0 ? _h : defaultValue, defaultActiveKey: defaultActiveKey, propKey: propKey, $path: $path, $schema: schema, render: this.renderChild, rootStore: rootStore, statusStore: statusStore, dispatchEvent: this.dispatchEvent, mobileUI: schema.useMobileUI === false ? false : rest.mobileUI });
344
358
  // style 支持公式
345
359
  if (schema.style) {
346
360
  props.style = style.buildStyle(schema.style, detectData);
@@ -363,8 +377,8 @@ var SchemaRenderer = /** @class */ (function (_super) {
363
377
  // 自动解析变量模式,主要是方便直接引入第三方组件库,无需为了支持变量封装一层
364
378
  if (renderer.autoVar) {
365
379
  try {
366
- for (var _k = tslib.__values(Object.keys(schema)), _l = _k.next(); !_l.done; _l = _k.next()) {
367
- var key = _l.value;
380
+ for (var _l = tslib.__values(Object.keys(schema)), _m = _l.next(); !_m.done; _m = _l.next()) {
381
+ var key = _m.value;
368
382
  if (typeof props[key] === 'string' && formula.isExpression(props[key])) {
369
383
  props[key] = resolveVariableAndFilter.resolveVariableAndFilter(props[key], props.data, '| raw');
370
384
  }
@@ -373,7 +387,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
373
387
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
374
388
  finally {
375
389
  try {
376
- if (_l && !_l.done && (_a = _k.return)) _a.call(_k);
390
+ if (_m && !_m.done && (_a = _l.return)) _a.call(_l);
377
391
  }
378
392
  finally { if (e_1) throw e_1.error; }
379
393
  }
package/lib/Scoped.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-rc.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-rc.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-rc.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/lib/WithStore.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-rc.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -109,7 +109,7 @@ function HocStoreFactory(renderer) {
109
109
  };
110
110
  StoreFactory.prototype.componentDidUpdate = function (prevProps) {
111
111
  var _this = this;
112
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
112
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
113
113
  var props = this.props;
114
114
  var store = this.store;
115
115
  // dialog 场景下 schema 是显示的时候更新的,
@@ -143,7 +143,7 @@ function HocStoreFactory(renderer) {
143
143
  (props.data &&
144
144
  prevProps.data &&
145
145
  props.data.__super !== prevProps.data.__super))) {
146
- store.initData(object.extendObject(props.data, tslib.__assign(tslib.__assign(tslib.__assign(tslib.__assign({}, this.formatData(dataMapping.dataMapping(this.props.defaultData, this.props.data, ignoreSchemaProps))), (store.hasRemoteData ? store.data : null)), this.formatData(props.defaultData)), this.formatData(props.data))), ((_c = props.updatePristineAfterStoreDataReInit) !== null && _c !== void 0 ? _c : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
146
+ store.initData(object.extendObject(props.data, tslib.__assign(tslib.__assign(tslib.__assign(tslib.__assign({}, this.formatData(dataMapping.dataMapping(this.props.defaultData, this.props.data, ignoreSchemaProps))), (store.hasRemoteData ? store.data : null)), this.formatData(props.defaultData)), this.formatData(props.data))), ((_c = props.updatePristineAfterStoreDataReInit) !== null && _c !== void 0 ? _c : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false, (_d = props.data) === null || _d === void 0 ? void 0 : _d.__changeReason);
147
147
  }
148
148
  }
149
149
  else if (shouldSync === true ||
@@ -155,7 +155,7 @@ function HocStoreFactory(renderer) {
155
155
  helper.isSuperDataModified(props.data, prevProps.data, store)))) {
156
156
  if (props.store && props.scope === props.data) {
157
157
  store.initData(object.createObject(props.store.data, tslib.__assign(tslib.__assign({}, this.formatData(dataMapping.dataMapping(this.props.defaultData, this.props.data, ignoreSchemaProps))), (props.syncSuperStore === false
158
- ? tslib.__assign({}, store.data) : helper.syncDataFromSuper(store.data, props.store.data, prevProps.scope, store, props.syncSuperStore === true)))), ((_d = props.updatePristineAfterStoreDataReInit) !== null && _d !== void 0 ? _d : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
158
+ ? tslib.__assign({}, store.data) : helper.syncDataFromSuper(store.data, props.store.data, prevProps.scope, store, props.syncSuperStore === true)))), ((_e = props.updatePristineAfterStoreDataReInit) !== null && _e !== void 0 ? _e : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false, (_f = props.data) === null || _f === void 0 ? void 0 : _f.__changeReason);
159
159
  }
160
160
  else if (props.data && props.data.__super) {
161
161
  store.initData(object.extendObject(props.data, tslib.__assign(tslib.__assign({}, this.formatData(dataMapping.dataMapping(this.props.defaultData, this.props.data, ignoreSchemaProps))), // 有远程数据
@@ -163,12 +163,12 @@ function HocStoreFactory(renderer) {
163
163
  (store.hasRemoteData || !store.path.includes('/')
164
164
  ? tslib.__assign(tslib.__assign({}, store.data), props.data) : // combo 不需要同步,如果要同步,在 Combo.tsx 里面已经实现了相关逻辑
165
165
  // 目前主要的问题是,如果 combo 中表单项名字和 combo 本身的名字一样,会导致里面的值会被覆盖成数组
166
- ((_e = props.store) === null || _e === void 0 ? void 0 : _e.storeType) === 'ComboStore'
166
+ ((_g = props.store) === null || _g === void 0 ? void 0 : _g.storeType) === 'ComboStore'
167
167
  ? undefined
168
- : helper.syncDataFromSuper(tslib.__assign(tslib.__assign({}, store.pristineDiff), props.data), props.data.__super, prevProps.data.__super, store, false)))), ((_f = props.updatePristineAfterStoreDataReInit) !== null && _f !== void 0 ? _f : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
168
+ : helper.syncDataFromSuper(tslib.__assign(tslib.__assign({}, store.pristineDiff), props.data), props.data.__super, prevProps.data.__super, store, false)))), ((_h = props.updatePristineAfterStoreDataReInit) !== null && _h !== void 0 ? _h : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false, (_j = props.data) === null || _j === void 0 ? void 0 : _j.__changeReason);
169
169
  }
170
170
  else {
171
- store.initData(object.createObject(props.scope, props.data), ((_g = props.updatePristineAfterStoreDataReInit) !== null && _g !== void 0 ? _g : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
171
+ store.initData(object.createObject(props.scope, props.data), ((_k = props.updatePristineAfterStoreDataReInit) !== null && _k !== void 0 ? _k : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false, (_l = props.data) === null || _l === void 0 ? void 0 : _l.__changeReason);
172
172
  }
173
173
  }
174
174
  else if (!props.trackExpression &&
@@ -178,9 +178,9 @@ function HocStoreFactory(renderer) {
178
178
  // 这个用法很少,当 data.__super 值发生变化时,更新 store.data
179
179
  if (!prevProps.data ||
180
180
  helper.isObjectShallowModified(props.data.__super, prevProps.data.__super, false)) {
181
- store.initData(object.createObject(props.data.__super, tslib.__assign(tslib.__assign({}, props.data), store.data)), ((_h = props.updatePristineAfterStoreDataReInit) !== null && _h !== void 0 ? _h : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false ||
181
+ store.initData(object.createObject(props.data.__super, tslib.__assign(tslib.__assign({}, props.data), store.data)), ((_m = props.updatePristineAfterStoreDataReInit) !== null && _m !== void 0 ? _m : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false ||
182
182
  (store.storeType === 'FormStore' &&
183
- ((_j = prevProps.store) === null || _j === void 0 ? void 0 : _j.storeType) === 'CRUDStore'));
183
+ ((_o = prevProps.store) === null || _o === void 0 ? void 0 : _o.storeType) === 'CRUDStore'), (_p = props.data) === null || _p === void 0 ? void 0 : _p.__changeReason);
184
184
  }
185
185
  // nextProps.data.__super !== props.data.__super) &&
186
186
  }
@@ -190,7 +190,7 @@ function HocStoreFactory(renderer) {
190
190
  prevProps.data !== props.data) {
191
191
  // 只有父级数据变动的时候才应该进来,
192
192
  // 目前看来这个 case 很少有情况下能进来
193
- store.initData(object.createObject(props.scope, tslib.__assign({}, store.data)), ((_k = props.updatePristineAfterStoreDataReInit) !== null && _k !== void 0 ? _k : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
193
+ store.initData(object.createObject(props.scope, tslib.__assign({}, store.data)), ((_q = props.updatePristineAfterStoreDataReInit) !== null && _q !== void 0 ? _q : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false, (_r = props.data) === null || _r === void 0 ? void 0 : _r.__changeReason);
194
194
  }
195
195
  };
196
196
  StoreFactory.prototype.componentWillUnmount = function () {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.8.0
2
+ * amis-core v6.9.0-rc.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-rc.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-rc.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-rc.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-rc.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-rc.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-rc.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-rc.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-rc.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-rc.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-rc.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-rc.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-rc.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-rc.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-rc.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-rc.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-rc.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-rc.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-rc.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-rc.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-rc.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-rc.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-rc.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -3,20 +3,24 @@
3
3
  * @description
4
4
  * @author fex
5
5
  */
6
+ /// <reference types="hoist-non-react-statics" />
6
7
  import React from 'react';
7
- export interface LazyComponentProps {
8
+ import { ThemeProps } from '../theme';
9
+ export interface LazyComponentProps extends ThemeProps {
8
10
  component?: React.ElementType;
9
11
  getComponent?: () => Promise<React.ElementType>;
10
12
  placeholder?: React.ReactNode;
11
13
  unMountOnHidden?: boolean;
12
14
  childProps?: object;
15
+ defaultVisible?: boolean;
16
+ className?: string;
13
17
  [propName: string]: any;
14
18
  }
15
19
  export interface LazyComponentState {
16
20
  visible: boolean;
17
21
  component?: React.ElementType;
18
22
  }
19
- export default class LazyComponent extends React.Component<LazyComponentProps, LazyComponentState> {
23
+ export declare class LazyComponent extends React.Component<LazyComponentProps, LazyComponentState> {
20
24
  static defaultProps: {
21
25
  placeholder: React.JSX.Element;
22
26
  unMountOnHidden: boolean;
@@ -29,3 +33,37 @@ export default class LazyComponent extends React.Component<LazyComponentProps, L
29
33
  handleVisibleChange(visible: boolean, entry?: any): void;
30
34
  render(): React.ReactNode;
31
35
  }
36
+ declare const themedLazyComponent: {
37
+ new (props: Omit<LazyComponentProps, keyof ThemeProps> & import("../theme").ThemeOuterProps): {
38
+ ref: any;
39
+ childRef(ref: any): void;
40
+ getWrappedInstance(): any;
41
+ render(): React.JSX.Element;
42
+ context: unknown;
43
+ setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Omit<LazyComponentProps, keyof ThemeProps> & import("../theme").ThemeOuterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
44
+ forceUpdate(callback?: (() => void) | undefined): void;
45
+ readonly props: Readonly<Omit<LazyComponentProps, keyof ThemeProps> & import("../theme").ThemeOuterProps>;
46
+ state: Readonly<{}>;
47
+ refs: {
48
+ [key: string]: React.ReactInstance;
49
+ };
50
+ componentDidMount?(): void;
51
+ shouldComponentUpdate?(nextProps: Readonly<Omit<LazyComponentProps, keyof ThemeProps> & import("../theme").ThemeOuterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
52
+ componentWillUnmount?(): void;
53
+ componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
54
+ getSnapshotBeforeUpdate?(prevProps: Readonly<Omit<LazyComponentProps, keyof ThemeProps> & import("../theme").ThemeOuterProps>, prevState: Readonly<{}>): any;
55
+ componentDidUpdate?(prevProps: Readonly<Omit<LazyComponentProps, keyof ThemeProps> & import("../theme").ThemeOuterProps>, prevState: Readonly<{}>, snapshot?: any): void;
56
+ componentWillMount?(): void;
57
+ UNSAFE_componentWillMount?(): void;
58
+ componentWillReceiveProps?(nextProps: Readonly<Omit<LazyComponentProps, keyof ThemeProps> & import("../theme").ThemeOuterProps>, nextContext: any): void;
59
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Omit<LazyComponentProps, keyof ThemeProps> & import("../theme").ThemeOuterProps>, nextContext: any): void;
60
+ componentWillUpdate?(nextProps: Readonly<Omit<LazyComponentProps, keyof ThemeProps> & import("../theme").ThemeOuterProps>, nextState: Readonly<{}>, nextContext: any): void;
61
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<Omit<LazyComponentProps, keyof ThemeProps> & import("../theme").ThemeOuterProps>, nextState: Readonly<{}>, nextContext: any): void;
62
+ };
63
+ displayName: string;
64
+ contextType: React.Context<string>;
65
+ ComposedComponent: React.ComponentType<typeof LazyComponent>;
66
+ } & import("hoist-non-react-statics").NonReactStatics<typeof LazyComponent, {}> & {
67
+ ComposedComponent: typeof LazyComponent;
68
+ };
69
+ export default themedLazyComponent;