amis-core 6.13.0-beta.0 → 6.13.0-beta.10

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 (315) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.js +15 -7
  3. package/esm/SchemaRenderer.d.ts +3 -0
  4. package/esm/SchemaRenderer.js +63 -10
  5. package/esm/Scoped.js +1 -1
  6. package/esm/StatusScoped.js +1 -1
  7. package/esm/StyleManager.js +1 -1
  8. package/esm/WithRootStore.js +1 -1
  9. package/esm/WithStore.js +8 -4
  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 +1 -1
  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 +1 -1
  30. package/esm/actions/WaitAction.js +1 -1
  31. package/esm/components/Animations.js +1 -1
  32. package/esm/components/CustomStyle.js +1 -1
  33. package/esm/components/ErrorBoundary.js +1 -1
  34. package/esm/components/LazyComponent.js +1 -1
  35. package/esm/components/Overlay.js +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.js +1 -1
  40. package/esm/globalVar.js +15 -2
  41. package/esm/globalVarClientHandler.js +1 -1
  42. package/esm/globalVarDefaultValueHandler.js +1 -1
  43. package/esm/index.js +6 -6
  44. package/esm/locale.js +1 -1
  45. package/esm/polyfills.js +1 -1
  46. package/esm/renderers/Form.js +3 -5
  47. package/esm/renderers/Item.js +2 -17
  48. package/esm/renderers/Options.js +1 -1
  49. package/esm/renderers/Placeholder.js +1 -1
  50. package/esm/renderers/builtin.js +1 -1
  51. package/esm/renderers/register.js +1 -1
  52. package/esm/renderers/wrapControl.js +10 -4
  53. package/esm/store/app.d.ts +4 -0
  54. package/esm/store/app.js +1 -1
  55. package/esm/store/combo.d.ts +12 -0
  56. package/esm/store/combo.js +1 -1
  57. package/esm/store/crud.d.ts +5 -0
  58. package/esm/store/crud.js +6 -2
  59. package/esm/store/form.d.ts +4 -1
  60. package/esm/store/form.js +3 -2
  61. package/esm/store/formItem.js +1 -1
  62. package/esm/store/iRenderer.d.ts +4 -0
  63. package/esm/store/iRenderer.js +27 -4
  64. package/esm/store/index.js +1 -1
  65. package/esm/store/list.d.ts +4 -0
  66. package/esm/store/list.js +1 -1
  67. package/esm/store/manager.js +1 -1
  68. package/esm/store/modal.d.ts +4 -0
  69. package/esm/store/modal.js +1 -1
  70. package/esm/store/node.js +1 -1
  71. package/esm/store/pagination.d.ts +4 -0
  72. package/esm/store/pagination.js +1 -1
  73. package/esm/store/root.d.ts +14 -2
  74. package/esm/store/root.js +181 -49
  75. package/esm/store/service.d.ts +4 -0
  76. package/esm/store/service.js +1 -1
  77. package/esm/store/status.js +1 -1
  78. package/esm/store/table.d.ts +53 -92
  79. package/esm/store/table.js +42 -20
  80. package/esm/store/table2.d.ts +5 -0
  81. package/esm/store/table2.js +17 -10
  82. package/esm/theme.js +1 -1
  83. package/esm/utils/Animation.js +1 -1
  84. package/esm/utils/ColorScale.js +1 -1
  85. package/esm/utils/DataSchema.js +1 -1
  86. package/esm/utils/DataScope.js +1 -1
  87. package/esm/utils/RootClose.js +1 -1
  88. package/esm/utils/SimpleMap.js +1 -1
  89. package/esm/utils/animations.js +1 -1
  90. package/esm/utils/api.js +8 -3
  91. package/esm/utils/arraySlice.js +1 -1
  92. package/esm/utils/attachmentAdpator.js +1 -1
  93. package/esm/utils/autobind.js +1 -1
  94. package/esm/utils/browser.js +1 -1
  95. package/esm/utils/columnsSplit.js +1 -1
  96. package/esm/utils/concatData.js +1 -1
  97. package/esm/utils/dataMapping.js +1 -1
  98. package/esm/utils/date.js +1 -1
  99. package/esm/utils/debug.js +1 -1
  100. package/esm/utils/decodeEntity.js +1 -1
  101. package/esm/utils/dom.js +11 -4
  102. package/esm/utils/errors.js +2 -1
  103. package/esm/utils/escapeHtml.js +1 -1
  104. package/esm/utils/filter-schema.js +1 -1
  105. package/esm/utils/filter.js +1 -1
  106. package/esm/utils/formatDuration.js +1 -1
  107. package/esm/utils/formula.js +1 -1
  108. package/esm/utils/getPageId.js +1 -1
  109. package/esm/utils/getVariable.js +1 -1
  110. package/esm/utils/grammar.js +1 -1
  111. package/esm/utils/handleAction.js +1 -1
  112. package/esm/utils/helper.js +1 -1
  113. package/esm/utils/highlight.js +1 -1
  114. package/esm/utils/icon.js +1 -1
  115. package/esm/utils/image.js +1 -1
  116. package/esm/utils/index.js +1 -1
  117. package/esm/utils/isPureVariable.js +2 -2
  118. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  119. package/esm/utils/keyToPath.js +1 -1
  120. package/esm/utils/labelToString.js +1 -1
  121. package/esm/utils/loopTooMuch.js +1 -1
  122. package/esm/utils/makeSorter.js +1 -1
  123. package/esm/utils/math.d.ts +1 -0
  124. package/esm/utils/math.js +16 -2
  125. package/esm/utils/memoryParse.js +1 -1
  126. package/esm/utils/normalizeLink.js +1 -1
  127. package/esm/utils/normalizeOptions.js +6 -2
  128. package/esm/utils/object.js +1 -1
  129. package/esm/utils/offset.js +1 -1
  130. package/esm/utils/offsetParent.js +1 -1
  131. package/esm/utils/optionValueCompare.js +1 -1
  132. package/esm/utils/position.js +1 -1
  133. package/esm/utils/prettyBytes.js +1 -1
  134. package/esm/utils/printElement.js +1 -1
  135. package/esm/utils/renderer-event.js +1 -1
  136. package/esm/utils/replaceText.js +1 -1
  137. package/esm/utils/resize-sensor.js +14 -11
  138. package/esm/utils/resolveCondition.js +1 -1
  139. package/esm/utils/resolveVariable.js +1 -1
  140. package/esm/utils/resolveVariableAndFilter.js +1 -1
  141. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  142. package/esm/utils/scrollPosition.js +1 -1
  143. package/esm/utils/string2regExp.js +1 -1
  144. package/esm/utils/stripNumber.js +1 -1
  145. package/esm/utils/style-helper.js +1 -1
  146. package/esm/utils/style.d.ts +13 -0
  147. package/esm/utils/style.js +43 -3
  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 +6 -2
  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 +15 -7
  160. package/lib/SchemaRenderer.d.ts +3 -0
  161. package/lib/SchemaRenderer.js +65 -8
  162. package/lib/Scoped.js +1 -1
  163. package/lib/StatusScoped.js +1 -1
  164. package/lib/StyleManager.js +1 -1
  165. package/lib/WithRootStore.js +1 -1
  166. package/lib/WithStore.js +8 -4
  167. package/lib/actions/Action.js +1 -1
  168. package/lib/actions/AjaxAction.js +1 -1
  169. package/lib/actions/BreakAction.js +1 -1
  170. package/lib/actions/BroadcastAction.js +1 -1
  171. package/lib/actions/CmptAction.js +1 -1
  172. package/lib/actions/ContinueAction.js +1 -1
  173. package/lib/actions/CopyAction.js +1 -1
  174. package/lib/actions/CustomAction.js +1 -1
  175. package/lib/actions/DialogAction.js +1 -1
  176. package/lib/actions/DrawerAction.js +1 -1
  177. package/lib/actions/EmailAction.js +1 -1
  178. package/lib/actions/EventAction.js +1 -1
  179. package/lib/actions/LinkAction.js +1 -1
  180. package/lib/actions/LoopAction.js +1 -1
  181. package/lib/actions/PageAction.js +1 -1
  182. package/lib/actions/ParallelAction.js +1 -1
  183. package/lib/actions/PrintAction.js +1 -1
  184. package/lib/actions/StatusAction.js +1 -1
  185. package/lib/actions/SwitchAction.js +1 -1
  186. package/lib/actions/ToastAction.js +1 -1
  187. package/lib/actions/WaitAction.js +1 -1
  188. package/lib/components/Animations.js +1 -1
  189. package/lib/components/CustomStyle.js +1 -1
  190. package/lib/components/ErrorBoundary.js +1 -1
  191. package/lib/components/LazyComponent.js +1 -1
  192. package/lib/components/Overlay.js +1 -1
  193. package/lib/components/PopOver.js +1 -1
  194. package/lib/env.js +1 -1
  195. package/lib/envOverwrite.js +1 -1
  196. package/lib/factory.js +1 -1
  197. package/lib/globalVar.js +19 -2
  198. package/lib/globalVarClientHandler.js +1 -1
  199. package/lib/globalVarDefaultValueHandler.js +1 -1
  200. package/lib/index.js +7 -4
  201. package/lib/locale.js +1 -1
  202. package/lib/polyfills.js +1 -1
  203. package/lib/renderers/Form.js +3 -5
  204. package/lib/renderers/Item.d.ts +1 -1
  205. package/lib/renderers/Item.js +2 -17
  206. package/lib/renderers/Options.js +1 -1
  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.js +10 -4
  211. package/lib/store/app.d.ts +4 -0
  212. package/lib/store/app.js +1 -1
  213. package/lib/store/combo.d.ts +37 -24
  214. package/lib/store/combo.js +1 -1
  215. package/lib/store/crud.d.ts +5 -0
  216. package/lib/store/crud.js +6 -2
  217. package/lib/store/form.d.ts +15 -11
  218. package/lib/store/form.js +3 -2
  219. package/lib/store/formItem.js +1 -1
  220. package/lib/store/iRenderer.d.ts +4 -0
  221. package/lib/store/iRenderer.js +30 -3
  222. package/lib/store/index.js +1 -1
  223. package/lib/store/list.d.ts +4 -0
  224. package/lib/store/list.js +1 -1
  225. package/lib/store/manager.js +1 -1
  226. package/lib/store/modal.d.ts +4 -0
  227. package/lib/store/modal.js +1 -1
  228. package/lib/store/node.js +1 -1
  229. package/lib/store/pagination.d.ts +4 -0
  230. package/lib/store/pagination.js +1 -1
  231. package/lib/store/root.d.ts +15 -2
  232. package/lib/store/root.js +178 -46
  233. package/lib/store/service.d.ts +4 -0
  234. package/lib/store/service.js +1 -1
  235. package/lib/store/status.js +1 -1
  236. package/lib/store/table.d.ts +73 -112
  237. package/lib/store/table.js +41 -19
  238. package/lib/store/table2.d.ts +5 -0
  239. package/lib/store/table2.js +17 -10
  240. package/lib/theme.js +1 -1
  241. package/lib/utils/Animation.js +1 -1
  242. package/lib/utils/ColorScale.js +1 -1
  243. package/lib/utils/DataSchema.js +1 -1
  244. package/lib/utils/DataScope.js +1 -1
  245. package/lib/utils/RootClose.js +1 -1
  246. package/lib/utils/SimpleMap.js +1 -1
  247. package/lib/utils/animations.js +1 -1
  248. package/lib/utils/api.js +8 -3
  249. package/lib/utils/arraySlice.js +1 -1
  250. package/lib/utils/attachmentAdpator.js +1 -1
  251. package/lib/utils/autobind.js +1 -1
  252. package/lib/utils/browser.js +1 -1
  253. package/lib/utils/columnsSplit.js +1 -1
  254. package/lib/utils/concatData.js +1 -1
  255. package/lib/utils/dataMapping.js +1 -1
  256. package/lib/utils/date.js +1 -1
  257. package/lib/utils/debug.js +1 -1
  258. package/lib/utils/decodeEntity.js +1 -1
  259. package/lib/utils/dom.js +11 -4
  260. package/lib/utils/errors.js +2 -1
  261. package/lib/utils/escapeHtml.js +1 -1
  262. package/lib/utils/filter-schema.js +1 -1
  263. package/lib/utils/filter.js +1 -1
  264. package/lib/utils/formatDuration.js +1 -1
  265. package/lib/utils/formula.js +1 -1
  266. package/lib/utils/getPageId.js +1 -1
  267. package/lib/utils/getVariable.js +1 -1
  268. package/lib/utils/grammar.js +1 -1
  269. package/lib/utils/handleAction.js +1 -1
  270. package/lib/utils/helper.js +1 -1
  271. package/lib/utils/highlight.js +1 -1
  272. package/lib/utils/icon.js +1 -1
  273. package/lib/utils/image.js +1 -1
  274. package/lib/utils/index.js +1 -1
  275. package/lib/utils/isPureVariable.js +2 -2
  276. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  277. package/lib/utils/keyToPath.js +1 -1
  278. package/lib/utils/labelToString.js +1 -1
  279. package/lib/utils/loopTooMuch.js +1 -1
  280. package/lib/utils/makeSorter.js +1 -1
  281. package/lib/utils/math.d.ts +1 -0
  282. package/lib/utils/math.js +16 -1
  283. package/lib/utils/memoryParse.js +1 -1
  284. package/lib/utils/normalizeLink.js +1 -1
  285. package/lib/utils/normalizeOptions.js +6 -2
  286. package/lib/utils/object.js +1 -1
  287. package/lib/utils/offset.js +1 -1
  288. package/lib/utils/offsetParent.js +1 -1
  289. package/lib/utils/optionValueCompare.js +1 -1
  290. package/lib/utils/position.js +1 -1
  291. package/lib/utils/prettyBytes.js +1 -1
  292. package/lib/utils/printElement.js +1 -1
  293. package/lib/utils/renderer-event.js +1 -1
  294. package/lib/utils/replaceText.js +1 -1
  295. package/lib/utils/resize-sensor.js +14 -11
  296. package/lib/utils/resolveCondition.js +1 -1
  297. package/lib/utils/resolveVariable.js +1 -1
  298. package/lib/utils/resolveVariableAndFilter.js +1 -1
  299. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  300. package/lib/utils/scrollPosition.js +1 -1
  301. package/lib/utils/string2regExp.js +1 -1
  302. package/lib/utils/stripNumber.js +1 -1
  303. package/lib/utils/style-helper.js +1 -1
  304. package/lib/utils/style.d.ts +13 -0
  305. package/lib/utils/style.js +44 -2
  306. package/lib/utils/toNumber.js +1 -1
  307. package/lib/utils/tokenize.js +1 -1
  308. package/lib/utils/tpl-builtin.js +1 -1
  309. package/lib/utils/tpl-lodash.js +1 -1
  310. package/lib/utils/tpl.js +6 -2
  311. package/lib/utils/uncontrollable.js +1 -1
  312. package/lib/utils/validateId.js +1 -1
  313. package/lib/utils/validations.js +1 -1
  314. package/lib/utils/visitedCache.js +1 -1
  315. package/package.json +2 -2
package/esm/Root.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -32,7 +32,7 @@ var RootRenderer = /** @class */ (function (_super) {
32
32
  storeType: RootStore.name,
33
33
  parentId: ''
34
34
  });
35
- _this.store.updateContext(props.context);
35
+ _this.store.updateContext(props.context, true);
36
36
  _this.store.initData(props.data);
37
37
  _this.store.updateLocation(props.location, (_a = _this.props.env) === null || _a === void 0 ? void 0 : _a.parseLocation);
38
38
  _this.store.setGlobalVars(props.globalVars);
@@ -51,7 +51,17 @@ var RootRenderer = /** @class */ (function (_super) {
51
51
  return;
52
52
  }
53
53
  var schema = props.schema;
54
- var types = ['tpl', 'dialog', 'drawer'];
54
+ var types = [
55
+ 'tpl',
56
+ 'dialog',
57
+ 'drawer',
58
+ 'cell',
59
+ 'spinner',
60
+ 'group',
61
+ 'container',
62
+ 'dropdown-button',
63
+ 'plain'
64
+ ];
55
65
  JSONTraverse(schema, function (value, key) {
56
66
  if (key === 'type') {
57
67
  types.push(value);
@@ -360,14 +370,12 @@ var RootRenderer = /** @class */ (function (_super) {
360
370
  RootRenderer.prototype.renderDialog = function () {
361
371
  var _a = this.props, render = _a.render, rest = __rest(_a, ["render"]);
362
372
  var store = this.store;
363
- return render('dialog', __assign(__assign({}, (store.action &&
364
- store.action.dialog)), { type: 'dialog' }), __assign(__assign({}, rest), { key: 'dialog', topStore: this.store, data: store.dialogData, context: store.context, onConfirm: this.handleDialogConfirm, onClose: this.handleDialogClose, show: store.dialogOpen, onAction: this.handleAction, dispatchEvent: this.dispatchEvent }));
373
+ return render('dialog', __assign(__assign({}, store.dialogSchema), { type: 'dialog' }), __assign(__assign({}, rest), { key: 'dialog', topStore: this.store, data: store.dialogData, context: store.context, onConfirm: this.handleDialogConfirm, onClose: this.handleDialogClose, show: store.dialogOpen, onAction: this.handleAction, dispatchEvent: this.dispatchEvent }));
365
374
  };
366
375
  RootRenderer.prototype.renderDrawer = function () {
367
376
  var _a = this.props, render = _a.render, rest = __rest(_a, ["render"]);
368
377
  var store = this.store;
369
- return render('drawer', __assign(__assign({}, (store.action &&
370
- store.action.drawer)), { type: 'drawer' }), __assign(__assign({}, rest), { key: 'drawer', topStore: this.store, data: store.drawerData, context: store.context, onConfirm: this.handleDrawerConfirm, onClose: this.handleDrawerClose, show: store.drawerOpen, onAction: this.handleAction, dispatchEvent: this.dispatchEvent }));
378
+ return render('drawer', __assign(__assign({}, store.drawerSchema), { type: 'drawer' }), __assign(__assign({}, rest), { key: 'drawer', topStore: this.store, data: store.drawerData, context: store.context, onConfirm: this.handleDrawerConfirm, onClose: this.handleDrawerClose, show: store.drawerOpen, onAction: this.handleAction, dispatchEvent: this.dispatchEvent }));
371
379
  };
372
380
  RootRenderer.prototype.render = function () {
373
381
  var _a = this.props, pathPrefix = _a.pathPrefix, schema = _a.schema, render = _a.render; _a.globalVars; var rest = __rest(_a, ["pathPrefix", "schema", "render", "globalVars"]);
@@ -4,6 +4,7 @@ import { IScopedContext } from './Scoped';
4
4
  import { Schema, SchemaNode } from './types';
5
5
  import { RendererEvent } from './utils/renderer-event';
6
6
  import { StatusScopedProps } from './StatusScoped';
7
+ import { IIRendererStore } from './store/index';
7
8
  interface SchemaRendererProps extends Partial<Omit<RendererProps, 'statusStore'>>, StatusScopedProps {
8
9
  schema: Schema;
9
10
  $path: string;
@@ -24,9 +25,11 @@ export declare class SchemaRenderer extends React.Component<SchemaRendererProps,
24
25
  unbindEvent: (() => void) | undefined;
25
26
  unbindGlobalEvent: (() => void) | undefined;
26
27
  isStatic: any;
28
+ subStore?: IIRendererStore | null;
27
29
  constructor(props: SchemaRendererProps);
28
30
  componentWillUnmount(): void;
29
31
  shouldComponentUpdate(nextProps: SchemaRendererProps): boolean;
32
+ storeRef(store: IIRendererStore | null): void;
30
33
  handleGlobalVarChange(): void;
31
34
  resolveRenderer(props: SchemaRendererProps, force?: boolean): any;
32
35
  getWrappedInstance(): any;
@@ -1,10 +1,11 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
6
6
  import { __extends, __assign, __rest, __awaiter, __generator, __values, __decorate, __metadata } from 'tslib';
7
7
  import difference from 'lodash/difference';
8
+ import findLastIndex from 'lodash/findLastIndex';
8
9
  import omit from 'lodash/omit';
9
10
  import React from 'react';
10
11
  import { isValidElementType } from 'react-is';
@@ -21,17 +22,40 @@ import { isAlive } from 'mobx-state-tree';
21
22
  import { reaction } from 'mobx';
22
23
  import 'amis-formula';
23
24
  import 'moment';
24
- import { cloneObject } from './utils/object.js';
25
+ import { extractObjectChain, createObjectFromChain } from './utils/object.js';
25
26
  import './utils/memoryParse.js';
26
27
  import '@rc-component/mini-decimal';
27
28
  import { resolveVariableAndFilter } from './utils/resolveVariableAndFilter.js';
28
29
  import 'lodash/isPlainObject';
29
30
  import './utils/filter.js';
30
- import { buildStyle } from './utils/style.js';
31
+ import { mergeStyle, buildStyle } from './utils/style.js';
31
32
  import { isExpression } from './utils/formula.js';
32
33
  import { filter, evalExpression } from './utils/tpl.js';
33
34
  import Animations from './components/Animations.js';
34
35
  import { observeGlobalVars } from './globalVar.js';
36
+ import './utils/api.js';
37
+ import 'file-saver';
38
+ import './utils/browser.js';
39
+ import './utils/ColorScale.js';
40
+ import 'lodash/chunk';
41
+ import './utils/DataSchema.js';
42
+ import './utils/DataScope.js';
43
+ import 'react-dom';
44
+ import './utils/errors.js';
45
+ import 'lodash/isObject';
46
+ import './utils/image.js';
47
+ import 'lodash/isEqual';
48
+ import './utils/resize-sensor.js';
49
+ import 'react-overlays/useRootClose';
50
+ import 'uncontrollable';
51
+ import 'hoist-non-react-statics';
52
+ import './utils/validations.js';
53
+ import 'lodash/cloneDeep';
54
+ import 'lodash/map';
55
+ import 'lodash/isEmpty';
56
+ import 'lodash/kebabCase';
57
+ import './utils/resolveCondition.js';
58
+ import './utils/Animation.js';
35
59
 
36
60
  var RENDERER_TRANSMISSION_OMIT_PROPS = [
37
61
  'type',
@@ -85,6 +109,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
85
109
  _this.reRender = _this.reRender.bind(_this);
86
110
  _this.resolveRenderer(_this.props);
87
111
  _this.dispatchEvent = _this.dispatchEvent.bind(_this);
112
+ _this.storeRef = _this.storeRef.bind(_this);
88
113
  _this.handleGlobalVarChange = _this.handleGlobalVarChange.bind(_this);
89
114
  var schema = props.schema;
90
115
  // 监听statusStore更新
@@ -125,18 +150,46 @@ var SchemaRenderer = /** @class */ (function (_super) {
125
150
  }
126
151
  return false;
127
152
  };
153
+ SchemaRenderer.prototype.storeRef = function (store) {
154
+ this.subStore = store;
155
+ };
128
156
  SchemaRenderer.prototype.handleGlobalVarChange = function () {
129
157
  var _this = this;
130
- var _a;
158
+ var _a, _b;
131
159
  var handler = (_a = this.renderer) === null || _a === void 0 ? void 0 : _a.onGlobalVarChanged;
132
- var newData = cloneObject(this.props.data);
160
+ var topStore = this.props.topStore;
161
+ var chain = extractObjectChain(this.props.data).filter(function (item) { return !item.hasOwnProperty('__isTempGlobalLayer'); });
162
+ var globalLayerIdx = findLastIndex(chain, function (item) {
163
+ return item.hasOwnProperty('global') || item.hasOwnProperty('globalState');
164
+ });
165
+ var globalData = {
166
+ global: topStore.nextGlobalData.global,
167
+ globalState: topStore.nextGlobalData.globalState,
168
+ // 兼容旧的全局变量
169
+ __page: topStore.nextGlobalData.__page,
170
+ appVariables: topStore.nextGlobalData.appVariables,
171
+ __isTempGlobalLayer: true
172
+ };
173
+ if (globalLayerIdx !== -1) {
174
+ chain.splice(globalLayerIdx + 1, 0, globalData);
175
+ }
176
+ var newData = createObjectFromChain(chain);
133
177
  // 如果渲染器自己做了实现,且返回 false,则不再继续往下执行
134
178
  if ((handler === null || handler === void 0 ? void 0 : handler(this.cRef, this.props.schema, newData)) === false) {
135
179
  return;
136
180
  }
181
+ // 强制刷新并通过一个临时对象让下发给组件的全局变量更新
182
+ // 等 react 完成一轮渲染后,将临时渲染切成正式渲染
183
+ // 也就是说删掉临时对象,后续渲染读取真正变更后的全局变量
184
+ //
185
+ // 为什么这么做?因为很多组件内部都会 diff this.props.data 和 prevProps.data
186
+ // 如果对应的数据没有发生变化,则会跳过组件状态的更新
137
187
  this.tmpData = newData;
138
- this.forceUpdate(function () {
188
+ (_b = this.subStore) === null || _b === void 0 ? void 0 : _b.temporaryUpdateGlobalVars(globalData);
189
+ topStore.addSyncGlobalVarStatePendingTask(function (callback) { return _this.forceUpdate(callback); }, function () {
190
+ var _a;
139
191
  delete _this.tmpData;
192
+ (_a = _this.subStore) === null || _a === void 0 ? void 0 : _a.unDoTemporaryUpdateGlobalVars();
140
193
  });
141
194
  };
142
195
  SchemaRenderer.prototype.resolveRenderer = function (props, force) {
@@ -254,6 +307,8 @@ var SchemaRenderer = /** @class */ (function (_super) {
254
307
  if (Array.isArray(schema)) {
255
308
  return render($path, schema, rest);
256
309
  }
310
+ // 用于全局变量刷新
311
+ rest.data = this.tmpData || rest.data;
257
312
  var detectData = schema &&
258
313
  (schema.detectField === '&' ? rest : rest[schema.detectField || 'data']);
259
314
  var exprProps = detectData
@@ -370,11 +425,9 @@ var SchemaRenderer = /** @class */ (function (_super) {
370
425
  var props = __assign(__assign(__assign(__assign(__assign(__assign({}, (_f = renderer.defaultProps) === null || _f === void 0 ? void 0 : _f.call(renderer, schema.type, schema)), theme.getRendererConfig(renderer.name)), restSchema), chainEvents(rest, restSchema)), exprProps), {
371
426
  // value: defaultValue, // 备注: 此处并没有将value传递给渲染器
372
427
  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 });
373
- // 用于全局变量刷新
374
- props.data = this.tmpData || props.data;
375
428
  // style 支持公式
376
429
  if (schema.style) {
377
- props.style = buildStyle(schema.style, detectData);
430
+ props.style = mergeStyle(props.style, buildStyle(schema.style, detectData));
378
431
  }
379
432
  if (disable !== undefined) {
380
433
  props.disabled = disable;
@@ -409,7 +462,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
409
462
  finally { if (e_1) throw e_1.error; }
410
463
  }
411
464
  }
412
- var component = supportRef ? (React.createElement(Component, __assign({}, props, { ref: this.childRef }))) : (React.createElement(Component, __assign({}, props, { forwardedRef: this.childRef })));
465
+ var component = supportRef ? (React.createElement(Component, __assign({}, props, { ref: this.childRef, storeRef: this.storeRef }))) : (React.createElement(Component, __assign({}, props, { forwardedRef: this.childRef, storeRef: this.storeRef })));
413
466
  if (schema.animations) {
414
467
  component = (React.createElement(Animations, { schema: schema, component: component, show: animationShow }));
415
468
  }
package/esm/Scoped.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
package/esm/WithStore.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -37,7 +37,9 @@ function HocStoreFactory(renderer) {
37
37
  var StoreFactory = /** @class */ (function (_super) {
38
38
  __extends(StoreFactory, _super);
39
39
  function StoreFactory(props, context) {
40
- var _this = _super.call(this, props) || this;
40
+ var _this = this;
41
+ var _a;
42
+ _this = _super.call(this, props) || this;
41
43
  var rootStore = context;
42
44
  _this.renderChild = _this.renderChild.bind(_this);
43
45
  _this.refFn = _this.refFn.bind(_this);
@@ -48,6 +50,7 @@ function HocStoreFactory(renderer) {
48
50
  parentId: _this.props.store ? _this.props.store.id : ''
49
51
  });
50
52
  store.setTopStore(props.topStore);
53
+ (_a = props.storeRef) === null || _a === void 0 ? void 0 : _a.call(props, store);
51
54
  _this.store = store;
52
55
  var extendsData = typeof renderer.extendsData === 'function'
53
56
  ? renderer.extendsData(props)
@@ -182,7 +185,7 @@ function HocStoreFactory(renderer) {
182
185
  }
183
186
  };
184
187
  StoreFactory.prototype.componentWillUnmount = function () {
185
- var _a;
188
+ var _a, _b, _c;
186
189
  var rootStore = this.context;
187
190
  var store = this.store;
188
191
  (_a = this.unReaction) === null || _a === void 0 ? void 0 : _a.call(this);
@@ -192,6 +195,7 @@ function HocStoreFactory(renderer) {
192
195
  }
193
196
  // @ts-ignore
194
197
  delete this.store;
198
+ (_c = (_b = this.props).storeRef) === null || _c === void 0 ? void 0 : _c.call(_b, null);
195
199
  };
196
200
  StoreFactory.prototype.renderChild = function (region, node, subProps) {
197
201
  if (subProps === void 0) { subProps = {}; }
@@ -200,7 +204,7 @@ function HocStoreFactory(renderer) {
200
204
  };
201
205
  StoreFactory.prototype.render = function () {
202
206
  var _a;
203
- var _b = this.props; _b.detectField; var rest = __rest(_b, ["detectField"]);
207
+ var _b = this.props; _b.detectField; _b.storeRef; var rest = __rest(_b, ["detectField", "storeRef"]);
204
208
  if (this.state.hidden || this.state.visible === false) {
205
209
  return null;
206
210
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
package/esm/env.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
package/esm/factory.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
package/esm/globalVar.js CHANGED
@@ -1,11 +1,12 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
6
6
  import { isExpression } from './utils/formula.js';
7
7
  import { reaction } from 'mobx';
8
8
  import { resolveVariableAndFilter } from './utils/resolveVariableAndFilter.js';
9
+ import isPlainObject from 'lodash/isPlainObject';
9
10
 
10
11
  /**
11
12
  * 全局变量
@@ -77,6 +78,18 @@ function observeGlobalVars(schema, topStore, callback) {
77
78
  value: value
78
79
  });
79
80
  }
81
+ else if (isPlainObject(value) && !value.type) {
82
+ // 最多支持两层,多了可能就会有性能问题了
83
+ // 再多一层主要是为了支持某些 api 配置的是对象形式
84
+ Object.keys(value).forEach(function (k) {
85
+ if (isGlobalVarExpression(value[k])) {
86
+ expressions.push({
87
+ key: "".concat(key, ".").concat(k),
88
+ value: value[k]
89
+ });
90
+ }
91
+ });
92
+ }
80
93
  else if ([
81
94
  'items',
82
95
  'body',
@@ -111,7 +124,7 @@ function observeGlobalVars(schema, topStore, callback) {
111
124
  var unReaction = reaction(function () {
112
125
  return expressions
113
126
  .map(function (exp) {
114
- return "".concat(exp.key, ":").concat(resolveVariableAndFilter(exp.value, topStore.downStream, '| json' // 如果用了复杂对象,要靠这个来比较
127
+ return "".concat(exp.key, ":").concat(resolveVariableAndFilter(exp.value, topStore.nextGlobalData, '| json' // 如果用了复杂对象,要靠这个来比较
115
128
  ));
116
129
  })
117
130
  .join(',');
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
package/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.10
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -65,7 +65,7 @@ export { RootClose } from './utils/RootClose.js';
65
65
  export { scrollPosition } from './utils/scrollPosition.js';
66
66
  export { SimpleMap } from './utils/SimpleMap.js';
67
67
  export { string2regExp } from './utils/string2regExp.js';
68
- export { buildStyle } from './utils/style.js';
68
+ export { buildStyle, mergeStyle, normalizeStyle } from './utils/style.js';
69
69
  export { memoParse, tokenize } from './utils/tokenize.js';
70
70
  export { register } from './utils/tpl-builtin.js';
71
71
  export { asyncFilter, evalExpression, evalExpressionWithConditionBuilder, evalExpressionWithConditionBuilderAsync, evalJS, filter, registerTplEnginer, setCustomEvalExpression, setCustomEvalJs } from './utils/tpl.js';
@@ -76,7 +76,7 @@ export { decodeEntity } from './utils/decodeEntity.js';
76
76
  export { addStyle, findOrCreateStyle, formatInputThemeCss, formatStyle, getValueByPath, inheritValueMap, insertCustomStyle, insertEditCustomStyle, insertStyle, removeCustomStyle, setThemeClassName, valueMap as styleMap, valueMap } from './utils/style-helper.js';
77
77
  export { getConditionComputers, registerConditionComputer, resolveCondition, resolveConditionAsync, setConditionComputeErrorHandler } from './utils/resolveCondition.js';
78
78
  export { arraySlice } from './utils/arraySlice.js';
79
- export { isIntegerInRange, numberFormatter, safeAdd, safeSub } from './utils/math.js';
79
+ export { isIntegerInRange, numberFormatter, numberReverter, safeAdd, safeSub } from './utils/math.js';
80
80
  export { default as animation } from './utils/Animation.js';
81
81
  export { createAnimationStyle } from './utils/animations.js';
82
82
  import { RendererStore } from './store/index.js';
@@ -154,10 +154,10 @@ export { StoreNode } from './store/node.js';
154
154
  */
155
155
  var classPrefix = getClassPrefix();
156
156
  // @ts-ignore
157
- var version = '6.13.0-beta.0';
157
+ var version = '6.13.0-beta.10';
158
158
  window.amisVersionInfo = {
159
- version: '6.13.0-beta.0',
160
- buildTime: '2025-04-08T09:27:26.063Z'
159
+ version: '6.13.0-beta.10',
160
+ buildTime: '2025-05-13T09:16:59.471Z'
161
161
  };
162
162
  function render(schema, _a, options, pathPrefix) {
163
163
  if (_a === void 0) { _a = {}; }