amis-core 6.11.0-beta.0 → 6.11.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (332) hide show
  1. package/esm/Root.d.ts +3 -0
  2. package/esm/Root.js +1 -1
  3. package/esm/RootRenderer.js +14 -8
  4. package/esm/SchemaRenderer.d.ts +2 -13
  5. package/esm/SchemaRenderer.js +36 -72
  6. package/esm/Scoped.js +1 -1
  7. package/esm/StatusScoped.js +1 -1
  8. package/esm/StyleManager.js +1 -1
  9. package/esm/WithRootStore.d.ts +1 -1
  10. package/esm/WithRootStore.js +1 -1
  11. package/esm/WithStore.js +1 -1
  12. package/esm/actions/Action.js +1 -1
  13. package/esm/actions/AjaxAction.js +1 -1
  14. package/esm/actions/BreakAction.js +1 -1
  15. package/esm/actions/BroadcastAction.js +1 -1
  16. package/esm/actions/CmptAction.js +6 -2
  17. package/esm/actions/ContinueAction.js +1 -1
  18. package/esm/actions/CopyAction.js +1 -1
  19. package/esm/actions/CustomAction.js +1 -1
  20. package/esm/actions/DialogAction.js +1 -1
  21. package/esm/actions/DrawerAction.js +1 -1
  22. package/esm/actions/EmailAction.js +1 -1
  23. package/esm/actions/EventAction.js +1 -1
  24. package/esm/actions/LinkAction.js +1 -1
  25. package/esm/actions/LoopAction.js +1 -1
  26. package/esm/actions/PageAction.js +1 -1
  27. package/esm/actions/ParallelAction.js +1 -1
  28. package/esm/actions/PrintAction.js +1 -1
  29. package/esm/actions/StatusAction.js +1 -1
  30. package/esm/actions/SwitchAction.js +1 -1
  31. package/esm/actions/ToastAction.js +1 -1
  32. package/esm/actions/WaitAction.js +1 -1
  33. package/esm/components/Animations.d.ts +8 -0
  34. package/esm/components/Animations.js +158 -0
  35. package/esm/components/CustomStyle.js +1 -1
  36. package/esm/components/ErrorBoundary.js +1 -1
  37. package/esm/components/LazyComponent.d.ts +1 -1
  38. package/esm/components/LazyComponent.js +1 -1
  39. package/esm/components/Overlay.js +1 -1
  40. package/esm/components/PopOver.d.ts +1 -1
  41. package/esm/components/PopOver.js +1 -1
  42. package/esm/env.d.ts +1 -1
  43. package/esm/env.js +1 -1
  44. package/esm/envOverwrite.js +1 -1
  45. package/esm/factory.d.ts +1 -0
  46. package/esm/factory.js +1 -1
  47. package/esm/globalVar.d.ts +173 -0
  48. package/esm/globalVar.js +122 -0
  49. package/esm/globalVarClientHandler.d.ts +1 -0
  50. package/esm/globalVarClientHandler.js +65 -0
  51. package/esm/globalVarDefaultValueHandler.d.ts +1 -0
  52. package/esm/globalVarDefaultValueHandler.js +28 -0
  53. package/esm/index.d.ts +3 -0
  54. package/esm/index.js +8 -5
  55. package/esm/locale.d.ts +1 -1
  56. package/esm/locale.js +1 -1
  57. package/esm/polyfills.js +1 -1
  58. package/esm/renderers/Form.d.ts +3 -1
  59. package/esm/renderers/Form.js +39 -24
  60. package/esm/renderers/Item.d.ts +11 -17
  61. package/esm/renderers/Item.js +17 -2
  62. package/esm/renderers/Options.js +1 -1
  63. package/esm/renderers/Placeholder.js +1 -1
  64. package/esm/renderers/builtin.js +1 -1
  65. package/esm/renderers/register.js +1 -1
  66. package/esm/renderers/wrapControl.d.ts +1 -1
  67. package/esm/renderers/wrapControl.js +1 -1
  68. package/esm/store/app.js +1 -1
  69. package/esm/store/combo.js +1 -1
  70. package/esm/store/crud.d.ts +8 -0
  71. package/esm/store/crud.js +24 -17
  72. package/esm/store/form.js +14 -5
  73. package/esm/store/formItem.js +1 -1
  74. package/esm/store/iRenderer.js +1 -1
  75. package/esm/store/index.js +1 -1
  76. package/esm/store/list.d.ts +14 -1
  77. package/esm/store/list.js +45 -17
  78. package/esm/store/manager.js +1 -1
  79. package/esm/store/modal.js +1 -1
  80. package/esm/store/node.js +1 -1
  81. package/esm/store/pagination.js +1 -1
  82. package/esm/store/root.d.ts +14 -0
  83. package/esm/store/root.js +483 -12
  84. package/esm/store/service.js +1 -1
  85. package/esm/store/status.js +1 -1
  86. package/esm/store/table.d.ts +16 -2
  87. package/esm/store/table.js +83 -26
  88. package/esm/store/table2.js +1 -1
  89. package/esm/theme.d.ts +1 -1
  90. package/esm/theme.js +1 -1
  91. package/esm/types.d.ts +3 -2
  92. package/esm/utils/Animation.js +1 -1
  93. package/esm/utils/ColorScale.js +1 -1
  94. package/esm/utils/DataSchema.js +1 -1
  95. package/esm/utils/DataScope.js +1 -1
  96. package/esm/utils/RootClose.js +1 -1
  97. package/esm/utils/SimpleMap.js +1 -1
  98. package/esm/utils/animations.d.ts +4 -0
  99. package/esm/utils/animations.js +1 -1
  100. package/esm/utils/api.d.ts +1 -0
  101. package/esm/utils/api.js +18 -6
  102. package/esm/utils/arraySlice.js +1 -1
  103. package/esm/utils/attachmentAdpator.js +1 -1
  104. package/esm/utils/autobind.js +1 -1
  105. package/esm/utils/browser.js +1 -1
  106. package/esm/utils/columnsSplit.js +1 -1
  107. package/esm/utils/concatData.js +1 -1
  108. package/esm/utils/dataMapping.js +1 -1
  109. package/esm/utils/date.js +1 -1
  110. package/esm/utils/debug.js +1 -1
  111. package/esm/utils/decodeEntity.js +1 -1
  112. package/esm/utils/dom.js +1 -1
  113. package/esm/utils/errors.js +1 -1
  114. package/esm/utils/escapeHtml.js +1 -1
  115. package/esm/utils/filter-schema.js +1 -1
  116. package/esm/utils/filter.js +1 -1
  117. package/esm/utils/formatDuration.js +1 -1
  118. package/esm/utils/formula.js +1 -1
  119. package/esm/utils/getVariable.js +1 -1
  120. package/esm/utils/grammar.js +1 -1
  121. package/esm/utils/handleAction.js +1 -1
  122. package/esm/utils/helper.d.ts +5 -0
  123. package/esm/utils/helper.js +6 -2
  124. package/esm/utils/highlight.js +1 -1
  125. package/esm/utils/icon.js +1 -1
  126. package/esm/utils/image.js +1 -1
  127. package/esm/utils/isPureVariable.js +1 -1
  128. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  129. package/esm/utils/keyToPath.js +1 -1
  130. package/esm/utils/labelToString.js +1 -1
  131. package/esm/utils/loopTooMuch.js +1 -1
  132. package/esm/utils/makeSorter.js +1 -1
  133. package/esm/utils/math.js +1 -1
  134. package/esm/utils/memoryParse.js +1 -1
  135. package/esm/utils/normalizeLink.js +1 -1
  136. package/esm/utils/normalizeOptions.js +1 -1
  137. package/esm/utils/object.js +1 -1
  138. package/esm/utils/offset.js +1 -1
  139. package/esm/utils/offsetParent.js +1 -1
  140. package/esm/utils/optionValueCompare.js +1 -1
  141. package/esm/utils/position.js +1 -1
  142. package/esm/utils/prettyBytes.js +1 -1
  143. package/esm/utils/printElement.js +1 -1
  144. package/esm/utils/renderer-event.js +1 -1
  145. package/esm/utils/replaceText.js +1 -1
  146. package/esm/utils/resize-sensor.js +1 -1
  147. package/esm/utils/resolveCondition.js +1 -1
  148. package/esm/utils/resolveVariable.js +1 -1
  149. package/esm/utils/resolveVariableAndFilter.js +1 -1
  150. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  151. package/esm/utils/scrollPosition.js +1 -1
  152. package/esm/utils/string2regExp.js +1 -1
  153. package/esm/utils/stripNumber.js +1 -1
  154. package/esm/utils/style-helper.js +1 -1
  155. package/esm/utils/style.js +1 -1
  156. package/esm/utils/toNumber.js +1 -1
  157. package/esm/utils/tokenize.js +1 -1
  158. package/esm/utils/tpl-builtin.js +1 -1
  159. package/esm/utils/tpl-lodash.js +1 -1
  160. package/esm/utils/tpl.js +1 -1
  161. package/esm/utils/uncontrollable.js +1 -1
  162. package/esm/utils/validateId.js +1 -1
  163. package/esm/utils/validations.js +1 -1
  164. package/esm/utils/visitedCache.js +1 -1
  165. package/lib/Root.d.ts +3 -0
  166. package/lib/Root.js +1 -1
  167. package/lib/RootRenderer.d.ts +1 -1
  168. package/lib/RootRenderer.js +13 -7
  169. package/lib/SchemaRenderer.d.ts +2 -13
  170. package/lib/SchemaRenderer.js +35 -71
  171. package/lib/Scoped.js +1 -1
  172. package/lib/StatusScoped.js +1 -1
  173. package/lib/StyleManager.js +1 -1
  174. package/lib/WithRootStore.d.ts +1 -1
  175. package/lib/WithRootStore.js +1 -1
  176. package/lib/WithStore.js +1 -1
  177. package/lib/actions/Action.js +1 -1
  178. package/lib/actions/AjaxAction.js +1 -1
  179. package/lib/actions/BreakAction.js +1 -1
  180. package/lib/actions/BroadcastAction.js +1 -1
  181. package/lib/actions/CmptAction.js +6 -2
  182. package/lib/actions/ContinueAction.js +1 -1
  183. package/lib/actions/CopyAction.js +1 -1
  184. package/lib/actions/CustomAction.js +1 -1
  185. package/lib/actions/DialogAction.js +1 -1
  186. package/lib/actions/DrawerAction.js +1 -1
  187. package/lib/actions/EmailAction.js +1 -1
  188. package/lib/actions/EventAction.js +1 -1
  189. package/lib/actions/LinkAction.js +1 -1
  190. package/lib/actions/LoopAction.js +1 -1
  191. package/lib/actions/PageAction.js +1 -1
  192. package/lib/actions/ParallelAction.js +1 -1
  193. package/lib/actions/PrintAction.js +1 -1
  194. package/lib/actions/StatusAction.js +1 -1
  195. package/lib/actions/SwitchAction.js +1 -1
  196. package/lib/actions/ToastAction.js +1 -1
  197. package/lib/actions/WaitAction.js +1 -1
  198. package/lib/components/Animations.d.ts +8 -0
  199. package/lib/components/Animations.js +172 -0
  200. package/lib/components/CustomStyle.js +1 -1
  201. package/lib/components/ErrorBoundary.js +1 -1
  202. package/lib/components/LazyComponent.d.ts +1 -1
  203. package/lib/components/LazyComponent.js +1 -1
  204. package/lib/components/Overlay.js +1 -1
  205. package/lib/components/PopOver.d.ts +1 -1
  206. package/lib/components/PopOver.js +1 -1
  207. package/lib/env.d.ts +1 -1
  208. package/lib/env.js +1 -1
  209. package/lib/envOverwrite.js +1 -1
  210. package/lib/factory.d.ts +1 -0
  211. package/lib/factory.js +1 -1
  212. package/lib/globalVar.d.ts +173 -0
  213. package/lib/globalVar.js +130 -0
  214. package/lib/globalVarClientHandler.d.ts +1 -0
  215. package/lib/globalVarClientHandler.js +67 -0
  216. package/lib/globalVarDefaultValueHandler.d.ts +1 -0
  217. package/lib/globalVarDefaultValueHandler.js +30 -0
  218. package/lib/index.d.ts +3 -0
  219. package/lib/index.js +13 -4
  220. package/lib/locale.d.ts +1 -1
  221. package/lib/locale.js +1 -1
  222. package/lib/polyfills.js +1 -1
  223. package/lib/renderers/Form.d.ts +3 -1
  224. package/lib/renderers/Form.js +37 -21
  225. package/lib/renderers/Item.d.ts +11 -17
  226. package/lib/renderers/Item.js +17 -2
  227. package/lib/renderers/Options.js +1 -1
  228. package/lib/renderers/Placeholder.js +1 -1
  229. package/lib/renderers/builtin.js +1 -1
  230. package/lib/renderers/register.js +1 -1
  231. package/lib/renderers/wrapControl.d.ts +1 -1
  232. package/lib/renderers/wrapControl.js +1 -1
  233. package/lib/store/app.js +1 -1
  234. package/lib/store/combo.d.ts +24 -25
  235. package/lib/store/combo.js +1 -1
  236. package/lib/store/crud.d.ts +8 -0
  237. package/lib/store/crud.js +23 -16
  238. package/lib/store/form.d.ts +10 -11
  239. package/lib/store/form.js +14 -5
  240. package/lib/store/formItem.js +1 -1
  241. package/lib/store/iRenderer.js +1 -1
  242. package/lib/store/index.js +1 -1
  243. package/lib/store/list.d.ts +14 -1
  244. package/lib/store/list.js +44 -16
  245. package/lib/store/manager.js +1 -1
  246. package/lib/store/modal.js +1 -1
  247. package/lib/store/node.js +1 -1
  248. package/lib/store/pagination.js +1 -1
  249. package/lib/store/root.d.ts +13 -0
  250. package/lib/store/root.js +487 -11
  251. package/lib/store/service.js +1 -1
  252. package/lib/store/status.js +1 -1
  253. package/lib/store/table.d.ts +36 -23
  254. package/lib/store/table.js +82 -25
  255. package/lib/store/table2.js +1 -1
  256. package/lib/theme.d.ts +1 -1
  257. package/lib/theme.js +1 -1
  258. package/lib/types.d.ts +3 -2
  259. package/lib/utils/Animation.js +1 -1
  260. package/lib/utils/ColorScale.js +1 -1
  261. package/lib/utils/DataSchema.js +1 -1
  262. package/lib/utils/DataScope.js +1 -1
  263. package/lib/utils/RootClose.js +1 -1
  264. package/lib/utils/SimpleMap.js +1 -1
  265. package/lib/utils/animations.d.ts +4 -0
  266. package/lib/utils/animations.js +1 -1
  267. package/lib/utils/api.d.ts +1 -0
  268. package/lib/utils/api.js +18 -5
  269. package/lib/utils/arraySlice.js +1 -1
  270. package/lib/utils/attachmentAdpator.js +1 -1
  271. package/lib/utils/autobind.js +1 -1
  272. package/lib/utils/browser.js +1 -1
  273. package/lib/utils/columnsSplit.js +1 -1
  274. package/lib/utils/concatData.js +1 -1
  275. package/lib/utils/dataMapping.js +1 -1
  276. package/lib/utils/date.js +1 -1
  277. package/lib/utils/debug.js +1 -1
  278. package/lib/utils/decodeEntity.js +1 -1
  279. package/lib/utils/dom.js +1 -1
  280. package/lib/utils/errors.js +1 -1
  281. package/lib/utils/escapeHtml.js +1 -1
  282. package/lib/utils/filter-schema.js +1 -1
  283. package/lib/utils/filter.js +1 -1
  284. package/lib/utils/formatDuration.js +1 -1
  285. package/lib/utils/formula.js +1 -1
  286. package/lib/utils/getVariable.js +1 -1
  287. package/lib/utils/grammar.js +1 -1
  288. package/lib/utils/handleAction.js +1 -1
  289. package/lib/utils/helper.d.ts +5 -0
  290. package/lib/utils/helper.js +6 -2
  291. package/lib/utils/highlight.js +1 -1
  292. package/lib/utils/icon.js +1 -1
  293. package/lib/utils/image.js +1 -1
  294. package/lib/utils/isPureVariable.js +1 -1
  295. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  296. package/lib/utils/keyToPath.js +1 -1
  297. package/lib/utils/labelToString.js +1 -1
  298. package/lib/utils/loopTooMuch.js +1 -1
  299. package/lib/utils/makeSorter.js +1 -1
  300. package/lib/utils/math.js +1 -1
  301. package/lib/utils/memoryParse.js +1 -1
  302. package/lib/utils/normalizeLink.js +1 -1
  303. package/lib/utils/normalizeOptions.js +1 -1
  304. package/lib/utils/object.js +1 -1
  305. package/lib/utils/offset.js +1 -1
  306. package/lib/utils/offsetParent.js +1 -1
  307. package/lib/utils/optionValueCompare.js +1 -1
  308. package/lib/utils/position.js +1 -1
  309. package/lib/utils/prettyBytes.js +1 -1
  310. package/lib/utils/printElement.js +1 -1
  311. package/lib/utils/renderer-event.js +1 -1
  312. package/lib/utils/replaceText.js +1 -1
  313. package/lib/utils/resize-sensor.js +1 -1
  314. package/lib/utils/resolveCondition.js +1 -1
  315. package/lib/utils/resolveVariable.js +1 -1
  316. package/lib/utils/resolveVariableAndFilter.js +1 -1
  317. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  318. package/lib/utils/scrollPosition.js +1 -1
  319. package/lib/utils/string2regExp.js +1 -1
  320. package/lib/utils/stripNumber.js +1 -1
  321. package/lib/utils/style-helper.js +1 -1
  322. package/lib/utils/style.js +1 -1
  323. package/lib/utils/toNumber.js +1 -1
  324. package/lib/utils/tokenize.js +1 -1
  325. package/lib/utils/tpl-builtin.js +1 -1
  326. package/lib/utils/tpl-lodash.js +1 -1
  327. package/lib/utils/tpl.js +1 -1
  328. package/lib/utils/uncontrollable.js +1 -1
  329. package/lib/utils/validateId.js +1 -1
  330. package/lib/utils/validations.js +1 -1
  331. package/lib/utils/visitedCache.js +1 -1
  332. package/package.json +2 -2
package/esm/Root.d.ts CHANGED
@@ -5,10 +5,13 @@ import { TranslateFn } from './locale';
5
5
  import { IRendererStore } from './store';
6
6
  import { SchemaNode } from './types';
7
7
  import { StatusScopedProps } from './StatusScoped';
8
+ import { GlobalVariableItem } from './globalVar';
8
9
  export interface RootRenderProps {
10
+ globalVars?: Array<GlobalVariableItem>;
9
11
  location?: Location;
10
12
  theme?: string;
11
13
  data?: Record<string, any>;
14
+ context?: Record<string, any>;
12
15
  locale?: string;
13
16
  [propName: string]: any;
14
17
  }
package/esm/Root.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.11.0-beta.0
2
+ * amis-core v6.11.0-beta.2
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,9 +1,9 @@
1
1
  /**
2
- * amis-core v6.11.0-beta.0
2
+ * amis-core v6.11.0-beta.2
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
- import { __extends, __assign, __awaiter, __generator, __spreadArray, __read, __rest, __decorate, __metadata } from 'tslib';
6
+ import { __extends, __assign, __rest, __awaiter, __generator, __spreadArray, __read, __decorate, __metadata } from 'tslib';
7
7
  import { observer } from 'mobx-react';
8
8
  import React from 'react';
9
9
  import { filterTarget, ScopedContext } from './Scoped.js';
@@ -34,6 +34,7 @@ var RootRenderer = /** @class */ (function (_super) {
34
34
  _this.store.updateContext(props.context);
35
35
  _this.store.initData(props.data);
36
36
  _this.store.updateLocation(props.location, (_a = _this.props.env) === null || _a === void 0 ? void 0 : _a.parseLocation);
37
+ _this.store.setGlobalVars(props.globalVars);
37
38
  // 将数据里面的函数批量的绑定到 this 上
38
39
  bulkBindFunctions(_this, [
39
40
  'handleAction',
@@ -79,6 +80,10 @@ var RootRenderer = /** @class */ (function (_super) {
79
80
  RootRenderer.prototype.componentDidUpdate = function (prevProps) {
80
81
  var _a;
81
82
  var props = this.props;
83
+ // 更新全局变量
84
+ if (props.globalVars !== prevProps.globalVars) {
85
+ this.store.setGlobalVars(props.globalVars);
86
+ }
82
87
  if (props.location !== prevProps.location) {
83
88
  this.store.updateLocation(props.location, (_a = this.props.env) === null || _a === void 0 ? void 0 : _a.parseLocation);
84
89
  }
@@ -179,11 +184,12 @@ var RootRenderer = /** @class */ (function (_super) {
179
184
  });
180
185
  }
181
186
  else if (action.actionType === 'toast') {
182
- (_b = (_a = action.toast) === null || _a === void 0 ? void 0 : _a.items) === null || _b === void 0 ? void 0 : _b.forEach(function (item) {
183
- env.notify(item.level || 'info', item.body
184
- ? render('body', item.body, __assign(__assign({}, _this.props), { data: ctx, context: store.context }))
185
- : '', __assign(__assign(__assign({}, action.toast), item), { title: item.title
186
- ? render('title', item.title, __assign(__assign({}, _this.props), { data: ctx, context: store.context }))
187
+ (_b = (_a = action.toast) === null || _a === void 0 ? void 0 : _a.items) === null || _b === void 0 ? void 0 : _b.forEach(function (_a) {
188
+ var level = _a.level, body = _a.body, title = _a.title, item = __rest(_a, ["level", "body", "title"]);
189
+ env.notify(level || 'info', body
190
+ ? render('body', body, __assign(__assign({}, _this.props), { data: ctx, context: store.context }))
191
+ : '', __assign(__assign(__assign({}, action.toast), item), { title: title
192
+ ? render('title', title, __assign(__assign({}, _this.props), { data: ctx, context: store.context }))
187
193
  : null, mobileUI: mobileUI }));
188
194
  });
189
195
  }
@@ -359,7 +365,7 @@ var RootRenderer = /** @class */ (function (_super) {
359
365
  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 }));
360
366
  };
361
367
  RootRenderer.prototype.render = function () {
362
- var _a = this.props, pathPrefix = _a.pathPrefix, schema = _a.schema, render = _a.render, rest = __rest(_a, ["pathPrefix", "schema", "render"]);
368
+ var _a = this.props, pathPrefix = _a.pathPrefix, schema = _a.schema, render = _a.render; _a.globalVars; var rest = __rest(_a, ["pathPrefix", "schema", "render", "globalVars"]);
363
369
  var store = this.store;
364
370
  if (store.runtimeError) {
365
371
  return this.renderRuntimeError();
@@ -19,24 +19,15 @@ export declare class SchemaRenderer extends React.Component<SchemaRendererProps,
19
19
  cRef: any;
20
20
  schema: any;
21
21
  path: string;
22
- animationTimeout: {
23
- enter?: number;
24
- exit?: number;
25
- };
26
- animationClassNames: {
27
- appear?: string;
28
- enter?: string;
29
- exit?: string;
30
- };
22
+ tmpData: any;
31
23
  toDispose: Array<() => any>;
32
24
  unbindEvent: (() => void) | undefined;
33
25
  unbindGlobalEvent: (() => void) | undefined;
34
26
  isStatic: any;
35
27
  constructor(props: SchemaRendererProps);
36
- componentDidMount(): void;
37
28
  componentWillUnmount(): void;
38
29
  shouldComponentUpdate(nextProps: SchemaRendererProps): boolean;
39
- removeAnimationStyle(): void;
30
+ handleGlobalVarChange(): void;
40
31
  resolveRenderer(props: SchemaRendererProps, force?: boolean): any;
41
32
  getWrappedInstance(): any;
42
33
  refFn(ref: any): void;
@@ -47,8 +38,6 @@ export declare class SchemaRenderer extends React.Component<SchemaRendererProps,
47
38
  [propName: string]: any;
48
39
  }): any;
49
40
  reRender(): void;
50
- addAnimationAttention(node: HTMLElement): void;
51
- removeAnimationAttention(node: HTMLElement): void;
52
41
  render(): JSX.Element | null;
53
42
  }
54
43
  export {};
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.11.0-beta.0
2
+ * amis-core v6.11.0-beta.2
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -14,24 +14,24 @@ import { asFormItem } from './renderers/Item.js';
14
14
  import { ScopedContext } from './Scoped.js';
15
15
  import { DebugWrapper } from './utils/debug.js';
16
16
  import { getExprProperties } from './utils/filter-schema.js';
17
- import { formateId, anyChanged, chainEvents, TestIdBuilder, autobind } from './utils/helper.js';
17
+ import { anyChanged, chainEvents, TestIdBuilder, autobind } from './utils/helper.js';
18
18
  import { SimpleMap } from './utils/SimpleMap.js';
19
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';
23
23
  import 'moment';
24
- import 'lodash/isPlainObject';
24
+ import { cloneObject } from './utils/object.js';
25
25
  import './utils/memoryParse.js';
26
26
  import '@rc-component/mini-decimal';
27
27
  import { resolveVariableAndFilter } from './utils/resolveVariableAndFilter.js';
28
+ import 'lodash/isPlainObject';
28
29
  import './utils/filter.js';
29
30
  import { buildStyle } from './utils/style.js';
30
31
  import { isExpression } from './utils/formula.js';
31
32
  import { filter, evalExpression } from './utils/tpl.js';
32
- import { CSSTransition } from 'react-transition-group';
33
- import { createAnimationStyle } from './utils/animations.js';
34
- import styleManager from './StyleManager.js';
33
+ import Animations from './components/Animations.js';
34
+ import { observeGlobalVars } from './globalVar.js';
35
35
 
36
36
  var RENDERER_TRANSMISSION_OMIT_PROPS = [
37
37
  'type',
@@ -74,64 +74,35 @@ var componentCache = new SimpleMap();
74
74
  var SchemaRenderer = /** @class */ (function (_super) {
75
75
  __extends(SchemaRenderer, _super);
76
76
  function SchemaRenderer(props) {
77
- var _this = this;
78
- var _a;
79
- _this = _super.call(this, props) || this;
77
+ var _this = _super.call(this, props) || this;
80
78
  _this.rendererKey = '';
81
- _this.animationTimeout = {};
82
- _this.animationClassNames = {};
83
79
  _this.toDispose = [];
84
80
  _this.unbindEvent = undefined;
85
81
  _this.unbindGlobalEvent = undefined;
86
82
  _this.isStatic = undefined;
87
- var animations = (_a = props === null || props === void 0 ? void 0 : props.schema) === null || _a === void 0 ? void 0 : _a.animations;
88
- if (animations) {
89
- var id = props === null || props === void 0 ? void 0 : props.schema.id;
90
- id = formateId(id);
91
- if (animations.enter) {
92
- _this.animationTimeout.enter =
93
- ((animations.enter.duration || 1) + (animations.enter.delay || 0)) *
94
- 1000;
95
- _this.animationClassNames.enter = "".concat(animations.enter.type, "-").concat(id, "-enter");
96
- _this.animationClassNames.appear = _this.animationClassNames.enter;
97
- }
98
- if (animations.exit) {
99
- _this.animationTimeout.exit =
100
- ((animations.exit.duration || 1) + (animations.exit.delay || 0)) *
101
- 1000;
102
- _this.animationClassNames.exit = "".concat(animations.exit.type, "-").concat(id, "-exit");
103
- }
104
- }
105
83
  _this.refFn = _this.refFn.bind(_this);
106
84
  _this.renderChild = _this.renderChild.bind(_this);
107
85
  _this.reRender = _this.reRender.bind(_this);
108
86
  _this.resolveRenderer(_this.props);
109
87
  _this.dispatchEvent = _this.dispatchEvent.bind(_this);
110
- _this.addAnimationAttention = _this.addAnimationAttention.bind(_this);
111
- _this.removeAnimationAttention = _this.removeAnimationAttention.bind(_this);
88
+ _this.handleGlobalVarChange = _this.handleGlobalVarChange.bind(_this);
89
+ var schema = props.schema;
112
90
  // 监听statusStore更新
113
91
  _this.toDispose.push(reaction(function () {
114
92
  var _a, _b, _c;
115
- var id = filter(props.schema.id, props.data);
116
- var name = filter(props.schema.name, props.data);
93
+ var id = filter(schema.id, props.data);
94
+ var name = filter(schema.name, props.data);
117
95
  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]);
118
96
  }, function () { return _this.forceUpdate(); }));
97
+ _this.toDispose.push(observeGlobalVars(schema, props.topStore, _this.handleGlobalVarChange));
119
98
  return _this;
120
99
  }
121
- SchemaRenderer.prototype.componentDidMount = function () {
122
- if (this.props.schema.animations) {
123
- var _a = this.props.schema, animations = _a.animations, id = _a.id;
124
- id = formateId(id);
125
- createAnimationStyle(id, animations);
126
- }
127
- };
128
100
  SchemaRenderer.prototype.componentWillUnmount = function () {
129
101
  var _a, _b;
130
102
  this.toDispose.forEach(function (fn) { return fn(); });
131
103
  this.toDispose = [];
132
104
  (_a = this.unbindEvent) === null || _a === void 0 ? void 0 : _a.call(this);
133
105
  (_b = this.unbindGlobalEvent) === null || _b === void 0 ? void 0 : _b.call(this);
134
- this.removeAnimationStyle();
135
106
  };
136
107
  // 限制:只有 schema 除外的 props 变化,或者 schema 里面的某个成员值发生变化才更新。
137
108
  SchemaRenderer.prototype.shouldComponentUpdate = function (nextProps) {
@@ -154,12 +125,19 @@ var SchemaRenderer = /** @class */ (function (_super) {
154
125
  }
155
126
  return false;
156
127
  };
157
- SchemaRenderer.prototype.removeAnimationStyle = function () {
158
- if (this.props.schema.animations) {
159
- var id = this.props.schema.id;
160
- id = formateId(id);
161
- styleManager.removeStyles(id);
128
+ SchemaRenderer.prototype.handleGlobalVarChange = function () {
129
+ var _this = this;
130
+ var _a;
131
+ var handler = (_a = this.renderer) === null || _a === void 0 ? void 0 : _a.onGlobalVarChanged;
132
+ var newData = cloneObject(this.props.data);
133
+ // 如果渲染器自己做了实现,且返回 false,则不再继续往下执行
134
+ if ((handler === null || handler === void 0 ? void 0 : handler(this.cRef, this.props.schema, newData)) === false) {
135
+ return;
162
136
  }
137
+ this.tmpData = newData;
138
+ this.forceUpdate(function () {
139
+ delete _this.tmpData;
140
+ });
163
141
  };
164
142
  SchemaRenderer.prototype.resolveRenderer = function (props, force) {
165
143
  if (force === void 0) { force = false; }
@@ -262,35 +240,19 @@ var SchemaRenderer = /** @class */ (function (_super) {
262
240
  ? false
263
241
  : undefined)) !== null && _b !== void 0 ? _b : this.isStatic) !== null && _c !== void 0 ? _c : (_.staticOn
264
242
  ? evalExpression(_.staticOn, rest.data)
265
- : (_d = _.static) !== null && _d !== void 0 ? _d : rest.defaultStatic) }), subProps), { data: subProps.data || rest.data, env: env }));
243
+ : (_d = _.static) !== null && _d !== void 0 ? _d : rest.defaultStatic) }), subProps), { data: this.tmpData && subProps.data === this.props.data
244
+ ? this.tmpData
245
+ : subProps.data || rest.data, env: env }));
266
246
  };
267
247
  SchemaRenderer.prototype.reRender = function () {
268
248
  this.resolveRenderer(this.props, true);
269
249
  this.forceUpdate();
270
250
  };
271
- SchemaRenderer.prototype.addAnimationAttention = function (node) {
272
- var schema = (this.props || {}).schema;
273
- var attention = ((schema === null || schema === void 0 ? void 0 : schema.animations) || {}).attention;
274
- if (attention) {
275
- var id = schema.id;
276
- id = formateId(id);
277
- node.classList.add("".concat(attention.type, "-").concat(id, "-attention"));
278
- }
279
- };
280
- SchemaRenderer.prototype.removeAnimationAttention = function (node) {
281
- var schema = (this.props || {}).schema;
282
- var attention = ((schema === null || schema === void 0 ? void 0 : schema.animations) || {}).attention;
283
- if (attention) {
284
- var id = schema.id;
285
- id = formateId(id);
286
- node.classList.remove("".concat(attention.type, "-").concat(id, "-attention"));
287
- }
288
- };
289
251
  SchemaRenderer.prototype.render = function () {
290
252
  var e_1, _a;
291
253
  var _this = this;
292
254
  var _b, _c, _d, _e, _f, _g, _h;
293
- var _j = this.props; _j.$path; var __ = _j.schema, rootStore = _j.rootStore, statusStore = _j.statusStore, render = _j.render, propKey = _j.key, rest = __rest(_j, ["$path", "schema", "rootStore", "statusStore", "render", "key"]);
255
+ var _j = this.props; _j.$path; var __ = _j.schema, rootStore = _j.rootStore, statusStore = _j.statusStore, render = _j.render, rest = __rest(_j, ["$path", "schema", "rootStore", "statusStore", "render"]);
294
256
  if (__ == null) {
295
257
  return null;
296
258
  }
@@ -340,12 +302,12 @@ var SchemaRenderer = /** @class */ (function (_super) {
340
302
  else if (schema.component && isValidElementType(schema.component)) {
341
303
  var isSFC = !(schema.component.prototype instanceof React.Component);
342
304
  var defaultData_1 = schema.data, defaultValue_1 = schema.value, // render时的value改放defaultValue中
343
- defaultActiveKey_1 = schema.activeKey, restSchema_1 = __rest(schema, ["data", "value", "activeKey"]);
305
+ defaultActiveKey_1 = schema.activeKey, propKey_1 = schema.key, restSchema_1 = __rest(schema, ["data", "value", "activeKey", "key"]);
344
306
  return rest.invisible
345
307
  ? null
346
308
  : React.createElement(schema.component, __assign(__assign(__assign(__assign({}, rest), restSchema_1), exprProps), {
347
309
  // value: defaultValue, // 备注: 此处并没有将value传递给渲染器
348
- defaultData: defaultData_1, defaultValue: defaultValue_1, defaultActiveKey: defaultActiveKey_1, propKey: propKey, $path: $path, $schema: schema, ref: isSFC ? undefined : this.refFn, forwardedRef: isSFC ? this.refFn : undefined, render: this.renderChild, rootStore: rootStore, statusStore: statusStore, dispatchEvent: this.dispatchEvent }));
310
+ defaultData: defaultData_1, defaultValue: defaultValue_1, defaultActiveKey: defaultActiveKey_1, propKey: propKey_1, $path: $path, $schema: schema, ref: isSFC ? undefined : this.refFn, forwardedRef: isSFC ? this.refFn : undefined, render: this.renderChild, rootStore: rootStore, statusStore: statusStore, dispatchEvent: this.dispatchEvent }));
349
311
  }
350
312
  else if (Object.keys(schema).length === 0) {
351
313
  return null;
@@ -386,9 +348,9 @@ var SchemaRenderer = /** @class */ (function (_super) {
386
348
  }
387
349
  var renderer = this.renderer;
388
350
  schema = filterSchema(schema, renderer, rest);
389
- var defaultData = schema.data, defaultValue = schema.value, defaultActiveKey = schema.activeKey, restSchema = __rest(schema, ["data", "value", "activeKey"]);
351
+ var defaultData = schema.data, defaultValue = schema.value, defaultActiveKey = schema.activeKey, propKey = schema.key, restSchema = __rest(schema, ["data", "value", "activeKey", "key"]);
390
352
  var Component = renderer.component;
391
- var animationIn = true;
353
+ var animationShow = true;
392
354
  // 原来表单项的 visible: false 和 hidden: true 表单项的值和验证是有效的
393
355
  // 而 visibleOn 和 hiddenOn 是无效的,
394
356
  // 这个本来就是个bug,但是已经被广泛使用了
@@ -399,7 +361,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
399
361
  !renderer.isFormItem ||
400
362
  (schema.visible !== false && !schema.hidden))) {
401
363
  if (schema.animations) {
402
- animationIn = false;
364
+ animationShow = false;
403
365
  }
404
366
  else {
405
367
  return null;
@@ -415,6 +377,8 @@ var SchemaRenderer = /** @class */ (function (_super) {
415
377
  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), {
416
378
  // value: defaultValue, // 备注: 此处并没有将value传递给渲染器
417
379
  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 });
380
+ // 用于全局变量刷新
381
+ props.data = this.tmpData || props.data;
418
382
  // style 支持公式
419
383
  if (schema.style) {
420
384
  props.style = buildStyle(schema.style, detectData);
@@ -454,7 +418,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
454
418
  }
455
419
  var component = supportRef ? (React.createElement(Component, __assign({}, props, { ref: this.childRef }))) : (React.createElement(Component, __assign({}, props, { forwardedRef: this.childRef })));
456
420
  if (schema.animations) {
457
- component = (React.createElement(CSSTransition, { in: animationIn, timeout: this.animationTimeout, classNames: this.animationClassNames, onEntered: this.addAnimationAttention, onExit: this.removeAnimationAttention, appear: true, unmountOnExit: true }, component));
421
+ component = (React.createElement(Animations, { schema: schema, component: component, show: animationShow }));
458
422
  }
459
423
  return this.props.env.enableAMISDebug ? (React.createElement(DebugWrapper, { renderer: renderer }, component)) : (component);
460
424
  };
package/esm/Scoped.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.11.0-beta.0
2
+ * amis-core v6.11.0-beta.2
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.11.0-beta.0
2
+ * amis-core v6.11.0-beta.2
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.11.0-beta.0
2
+ * amis-core v6.11.0-beta.2
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -359,7 +359,7 @@ export declare function withRootStore<T extends React.ComponentType<React.Compon
359
359
  componentWillUpdate?(nextProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "rootStore">>>, nextState: Readonly<{}>, nextContext: any): void;
360
360
  UNSAFE_componentWillUpdate?(nextProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "rootStore">>>, nextState: Readonly<{}>, nextContext: any): void;
361
361
  };
362
- displayName: any;
362
+ displayName: string;
363
363
  contextType: React.Context<{
364
364
  storeType: string;
365
365
  } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.11.0-beta.0
2
+ * amis-core v6.11.0-beta.2
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.11.0-beta.0
2
+ * amis-core v6.11.0-beta.2
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.11.0-beta.0
2
+ * amis-core v6.11.0-beta.2
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.11.0-beta.0
2
+ * amis-core v6.11.0-beta.2
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.11.0-beta.0
2
+ * amis-core v6.11.0-beta.2
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.11.0-beta.0
2
+ * amis-core v6.11.0-beta.2
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.11.0-beta.0
2
+ * amis-core v6.11.0-beta.2
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -22,7 +22,7 @@ var CmptAction = /** @class */ (function () {
22
22
  CmptAction.prototype.run = function (action, renderer, event) {
23
23
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7;
24
24
  return __awaiter(this, void 0, void 0, function () {
25
- var key, dataMergeMode, path, beforeSetData, res, component, msg, result, _8, dispatchEvent_1, data, valid, _9, e_1, result, e_2;
25
+ var key, dataMergeMode, path, topStore, beforeSetData, res, component, msg, result, _8, dispatchEvent_1, data, valid, _9, e_1, result, e_2;
26
26
  var _10, _11, _12, _13, _14, _15;
27
27
  return __generator(this, function (_16) {
28
28
  switch (_16.label) {
@@ -31,6 +31,10 @@ var CmptAction = /** @class */ (function () {
31
31
  dataMergeMode = action.dataMergeMode || 'merge';
32
32
  path = (_a = action.args) === null || _a === void 0 ? void 0 : _a.path;
33
33
  if (!(action.actionType === 'setValue' && path && typeof path === 'string')) return [3 /*break*/, 2];
34
+ if (path.startsWith('global.')) {
35
+ topStore = renderer.props.topStore;
36
+ topStore === null || topStore === void 0 ? void 0 : topStore.updateGlobalVarValue(path.substring(7), action.args.value);
37
+ }
34
38
  beforeSetData = (_c = (_b = event === null || event === void 0 ? void 0 : event.context) === null || _b === void 0 ? void 0 : _b.env) === null || _c === void 0 ? void 0 : _c.beforeSetData;
35
39
  if (!(beforeSetData && typeof beforeSetData === 'function')) return [3 /*break*/, 2];
36
40
  return [4 /*yield*/, beforeSetData(renderer, action, event)];
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.11.0-beta.0
2
+ * amis-core v6.11.0-beta.2
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.11.0-beta.0
2
+ * amis-core v6.11.0-beta.2
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.11.0-beta.0
2
+ * amis-core v6.11.0-beta.2
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.11.0-beta.0
2
+ * amis-core v6.11.0-beta.2
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.11.0-beta.0
2
+ * amis-core v6.11.0-beta.2
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.11.0-beta.0
2
+ * amis-core v6.11.0-beta.2
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.11.0-beta.0
2
+ * amis-core v6.11.0-beta.2
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.11.0-beta.0
2
+ * amis-core v6.11.0-beta.2
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.11.0-beta.0
2
+ * amis-core v6.11.0-beta.2
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.11.0-beta.0
2
+ * amis-core v6.11.0-beta.2
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.11.0-beta.0
2
+ * amis-core v6.11.0-beta.2
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.11.0-beta.0
2
+ * amis-core v6.11.0-beta.2
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.11.0-beta.0
2
+ * amis-core v6.11.0-beta.2
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.11.0-beta.0
2
+ * amis-core v6.11.0-beta.2
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.11.0-beta.0
2
+ * amis-core v6.11.0-beta.2
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.11.0-beta.0
2
+ * amis-core v6.11.0-beta.2
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { Schema } from '../types';
3
+ declare function Animations({ schema, component, show }: {
4
+ schema: Schema;
5
+ component: any;
6
+ show: boolean;
7
+ }): React.JSX.Element;
8
+ export default Animations;