amis-core 6.13.0-beta.0 → 6.13.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 (311) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.js +1 -1
  3. package/esm/SchemaRenderer.d.ts +3 -0
  4. package/esm/SchemaRenderer.js +56 -8
  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 +5 -5
  44. package/esm/locale.js +1 -1
  45. package/esm/polyfills.js +1 -1
  46. package/esm/renderers/Form.js +1 -1
  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 +1 -1
  53. package/esm/store/app.d.ts +2 -0
  54. package/esm/store/app.js +1 -1
  55. package/esm/store/combo.d.ts +6 -0
  56. package/esm/store/combo.js +1 -1
  57. package/esm/store/crud.d.ts +2 -0
  58. package/esm/store/crud.js +2 -2
  59. package/esm/store/form.d.ts +2 -1
  60. package/esm/store/form.js +3 -2
  61. package/esm/store/formItem.js +1 -1
  62. package/esm/store/iRenderer.d.ts +2 -0
  63. package/esm/store/iRenderer.js +19 -2
  64. package/esm/store/index.js +1 -1
  65. package/esm/store/list.d.ts +2 -0
  66. package/esm/store/list.js +1 -1
  67. package/esm/store/manager.js +1 -1
  68. package/esm/store/modal.d.ts +2 -0
  69. package/esm/store/modal.js +1 -1
  70. package/esm/store/node.js +1 -1
  71. package/esm/store/pagination.d.ts +2 -0
  72. package/esm/store/pagination.js +1 -1
  73. package/esm/store/root.d.ts +6 -0
  74. package/esm/store/root.js +86 -23
  75. package/esm/store/service.d.ts +2 -0
  76. package/esm/store/service.js +1 -1
  77. package/esm/store/status.js +1 -1
  78. package/esm/store/table.d.ts +7 -0
  79. package/esm/store/table.js +8 -3
  80. package/esm/store/table2.d.ts +3 -0
  81. package/esm/store/table2.js +14 -8
  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 +1 -1
  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 +6 -2
  102. package/esm/utils/errors.js +1 -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 +1 -1
  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 +1 -1
  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.js +1 -1
  147. package/esm/utils/toNumber.js +1 -1
  148. package/esm/utils/tokenize.js +1 -1
  149. package/esm/utils/tpl-builtin.js +1 -1
  150. package/esm/utils/tpl-lodash.js +1 -1
  151. package/esm/utils/tpl.js +1 -1
  152. package/esm/utils/uncontrollable.js +1 -1
  153. package/esm/utils/validateId.js +1 -1
  154. package/esm/utils/validations.js +1 -1
  155. package/esm/utils/visitedCache.js +1 -1
  156. package/lib/Root.js +1 -1
  157. package/lib/RootRenderer.js +1 -1
  158. package/lib/SchemaRenderer.d.ts +3 -0
  159. package/lib/SchemaRenderer.js +59 -7
  160. package/lib/Scoped.js +1 -1
  161. package/lib/StatusScoped.js +1 -1
  162. package/lib/StyleManager.js +1 -1
  163. package/lib/WithRootStore.js +1 -1
  164. package/lib/WithStore.js +8 -4
  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/Animations.js +1 -1
  187. package/lib/components/CustomStyle.js +1 -1
  188. package/lib/components/ErrorBoundary.js +1 -1
  189. package/lib/components/LazyComponent.js +1 -1
  190. package/lib/components/Overlay.js +1 -1
  191. package/lib/components/PopOver.js +1 -1
  192. package/lib/env.js +1 -1
  193. package/lib/envOverwrite.js +1 -1
  194. package/lib/factory.js +1 -1
  195. package/lib/globalVar.js +19 -2
  196. package/lib/globalVarClientHandler.js +1 -1
  197. package/lib/globalVarDefaultValueHandler.js +1 -1
  198. package/lib/index.js +5 -4
  199. package/lib/locale.js +1 -1
  200. package/lib/polyfills.js +1 -1
  201. package/lib/renderers/Form.js +1 -1
  202. package/lib/renderers/Item.js +2 -17
  203. package/lib/renderers/Options.js +1 -1
  204. package/lib/renderers/Placeholder.js +1 -1
  205. package/lib/renderers/builtin.js +1 -1
  206. package/lib/renderers/register.js +1 -1
  207. package/lib/renderers/wrapControl.js +1 -1
  208. package/lib/store/app.d.ts +2 -0
  209. package/lib/store/app.js +1 -1
  210. package/lib/store/combo.d.ts +7 -0
  211. package/lib/store/combo.js +1 -1
  212. package/lib/store/crud.d.ts +2 -0
  213. package/lib/store/crud.js +2 -2
  214. package/lib/store/form.d.ts +3 -1
  215. package/lib/store/form.js +3 -2
  216. package/lib/store/formItem.js +1 -1
  217. package/lib/store/iRenderer.d.ts +2 -0
  218. package/lib/store/iRenderer.js +22 -1
  219. package/lib/store/index.js +1 -1
  220. package/lib/store/list.d.ts +2 -0
  221. package/lib/store/list.js +1 -1
  222. package/lib/store/manager.js +1 -1
  223. package/lib/store/modal.d.ts +2 -0
  224. package/lib/store/modal.js +1 -1
  225. package/lib/store/node.js +1 -1
  226. package/lib/store/pagination.d.ts +2 -0
  227. package/lib/store/pagination.js +1 -1
  228. package/lib/store/root.d.ts +7 -0
  229. package/lib/store/root.js +85 -22
  230. package/lib/store/service.d.ts +2 -0
  231. package/lib/store/service.js +1 -1
  232. package/lib/store/status.js +1 -1
  233. package/lib/store/table.d.ts +8 -0
  234. package/lib/store/table.js +7 -2
  235. package/lib/store/table2.d.ts +3 -0
  236. package/lib/store/table2.js +14 -8
  237. package/lib/theme.js +1 -1
  238. package/lib/utils/Animation.js +1 -1
  239. package/lib/utils/ColorScale.js +1 -1
  240. package/lib/utils/DataSchema.js +1 -1
  241. package/lib/utils/DataScope.js +1 -1
  242. package/lib/utils/RootClose.js +1 -1
  243. package/lib/utils/SimpleMap.js +1 -1
  244. package/lib/utils/animations.js +1 -1
  245. package/lib/utils/api.js +1 -1
  246. package/lib/utils/arraySlice.js +1 -1
  247. package/lib/utils/attachmentAdpator.js +1 -1
  248. package/lib/utils/autobind.js +1 -1
  249. package/lib/utils/browser.js +1 -1
  250. package/lib/utils/columnsSplit.js +1 -1
  251. package/lib/utils/concatData.js +1 -1
  252. package/lib/utils/dataMapping.js +1 -1
  253. package/lib/utils/date.js +1 -1
  254. package/lib/utils/debug.js +1 -1
  255. package/lib/utils/decodeEntity.js +1 -1
  256. package/lib/utils/dom.js +6 -2
  257. package/lib/utils/errors.js +1 -1
  258. package/lib/utils/escapeHtml.js +1 -1
  259. package/lib/utils/filter-schema.js +1 -1
  260. package/lib/utils/filter.js +1 -1
  261. package/lib/utils/formatDuration.js +1 -1
  262. package/lib/utils/formula.js +1 -1
  263. package/lib/utils/getPageId.js +1 -1
  264. package/lib/utils/getVariable.js +1 -1
  265. package/lib/utils/grammar.js +1 -1
  266. package/lib/utils/handleAction.js +1 -1
  267. package/lib/utils/helper.js +1 -1
  268. package/lib/utils/highlight.js +1 -1
  269. package/lib/utils/icon.js +1 -1
  270. package/lib/utils/image.js +1 -1
  271. package/lib/utils/index.js +1 -1
  272. package/lib/utils/isPureVariable.js +1 -1
  273. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  274. package/lib/utils/keyToPath.js +1 -1
  275. package/lib/utils/labelToString.js +1 -1
  276. package/lib/utils/loopTooMuch.js +1 -1
  277. package/lib/utils/makeSorter.js +1 -1
  278. package/lib/utils/math.d.ts +1 -0
  279. package/lib/utils/math.js +16 -1
  280. package/lib/utils/memoryParse.js +1 -1
  281. package/lib/utils/normalizeLink.js +1 -1
  282. package/lib/utils/normalizeOptions.js +1 -1
  283. package/lib/utils/object.js +1 -1
  284. package/lib/utils/offset.js +1 -1
  285. package/lib/utils/offsetParent.js +1 -1
  286. package/lib/utils/optionValueCompare.js +1 -1
  287. package/lib/utils/position.js +1 -1
  288. package/lib/utils/prettyBytes.js +1 -1
  289. package/lib/utils/printElement.js +1 -1
  290. package/lib/utils/renderer-event.js +1 -1
  291. package/lib/utils/replaceText.js +1 -1
  292. package/lib/utils/resize-sensor.js +14 -11
  293. package/lib/utils/resolveCondition.js +1 -1
  294. package/lib/utils/resolveVariable.js +1 -1
  295. package/lib/utils/resolveVariableAndFilter.js +1 -1
  296. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  297. package/lib/utils/scrollPosition.js +1 -1
  298. package/lib/utils/string2regExp.js +1 -1
  299. package/lib/utils/stripNumber.js +1 -1
  300. package/lib/utils/style-helper.js +1 -1
  301. package/lib/utils/style.js +1 -1
  302. package/lib/utils/toNumber.js +1 -1
  303. package/lib/utils/tokenize.js +1 -1
  304. package/lib/utils/tpl-builtin.js +1 -1
  305. package/lib/utils/tpl-lodash.js +1 -1
  306. package/lib/utils/tpl.js +1 -1
  307. package/lib/utils/uncontrollable.js +1 -1
  308. package/lib/utils/validateId.js +1 -1
  309. package/lib/utils/validations.js +1 -1
  310. package/lib/utils/visitedCache.js +1 -1
  311. package/package.json +2 -2
package/lib/store/root.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.2
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -68,6 +68,11 @@ var RootStore = service.ServiceStore.named('RootStore')
68
68
  runtimeErrorStack: mobxStateTree.types.frozen(),
69
69
  query: mobxStateTree.types.frozen(),
70
70
  ready: false,
71
+ // 临时变更,等 react 完成一轮渲染后,将临时变更切成正式变更
72
+ // 主要是为了让可能需要重新渲染的部分组件可以实现 this.props.data 和 prevProps.data 不一致
73
+ // 因为很多组件内部会 diff this.props.data 和 prevProps.data 来决定是否更新的逻辑
74
+ globalVarTempStates: mobxStateTree.types.optional(mobxStateTree.types.map(mobxStateTree.types.frozen()), {}),
75
+ // 正式变更
71
76
  globalVarStates: mobxStateTree.types.optional(mobxStateTree.types.map(mobxStateTree.types.frozen()), {})
72
77
  })
73
78
  .volatile(function (self) {
@@ -81,6 +86,41 @@ var RootStore = service.ServiceStore.named('RootStore')
81
86
  };
82
87
  })
83
88
  .views(function (self) { return ({
89
+ get nextGlobalData() {
90
+ var globalData = {};
91
+ var globalState = {};
92
+ if (self.globalVarTempStates.size) {
93
+ var touched_1 = false;
94
+ var saved_1 = true;
95
+ var errors_1 = {};
96
+ var initialized_1 = true;
97
+ self.globalVarTempStates.forEach(function (state, key) {
98
+ globalData[key] = state.value;
99
+ touched_1 = touched_1 || state.touched;
100
+ if (!state.saved) {
101
+ saved_1 = false;
102
+ }
103
+ if (state.errorMessages.length) {
104
+ errors_1[key] = state.errorMessages;
105
+ }
106
+ if (!state.initialized) {
107
+ initialized_1 = false;
108
+ }
109
+ });
110
+ globalState = {
111
+ fields: self.globalVarTempStates.toJSON(),
112
+ initialized: initialized_1,
113
+ touched: touched_1,
114
+ saved: saved_1,
115
+ errors: errors_1,
116
+ valid: !Object.keys(errors_1).length
117
+ };
118
+ }
119
+ return object.createObject(self.context, {
120
+ global: globalData,
121
+ globalState: globalState
122
+ });
123
+ },
84
124
  get downStream() {
85
125
  var result = self.data;
86
126
  if (self.context || self.query || self.globalVarStates.size) {
@@ -89,32 +129,32 @@ var RootStore = service.ServiceStore.named('RootStore')
89
129
  // 对应的是全局变量的值和全局变量的状态
90
130
  if (self.globalVarStates.size) {
91
131
  var globalData_1 = {};
92
- var touched_1 = false;
93
- var saved_1 = true;
94
- var errors_1 = {};
95
- var initialized_1 = true;
132
+ var touched_2 = false;
133
+ var saved_2 = true;
134
+ var errors_2 = {};
135
+ var initialized_2 = true;
96
136
  self.globalVarStates.forEach(function (state, key) {
97
137
  globalData_1[key] = state.value;
98
- touched_1 = touched_1 || state.touched;
138
+ touched_2 = touched_2 || state.touched;
99
139
  if (!state.saved) {
100
- saved_1 = false;
140
+ saved_2 = false;
101
141
  }
102
142
  if (state.errorMessages.length) {
103
- errors_1[key] = state.errorMessages;
143
+ errors_2[key] = state.errorMessages;
104
144
  }
105
145
  if (!state.initialized) {
106
- initialized_1 = false;
146
+ initialized_2 = false;
107
147
  }
108
148
  });
109
149
  // 保存全局变量的值和状态
110
150
  Object.assign(self.globalData.global, globalData_1);
111
151
  Object.assign(self.globalData.globalState, {
112
152
  fields: self.globalVarStates.toJSON(),
113
- initialized: initialized_1,
114
- touched: touched_1,
115
- saved: saved_1,
116
- errors: errors_1,
117
- valid: !Object.keys(errors_1).length
153
+ initialized: initialized_2,
154
+ touched: touched_2,
155
+ saved: saved_2,
156
+ errors: errors_2,
157
+ valid: !Object.keys(errors_2).length
118
158
  });
119
159
  // self.globalData 一直都是那个对象,这样组件里面始终拿到的都是最新的
120
160
  chain.unshift(self.globalData);
@@ -212,7 +252,7 @@ var RootStore = service.ServiceStore.named('RootStore')
212
252
  return [4 /*yield*/, getGlobalVarData(item, context, getter)];
213
253
  case 1:
214
254
  _a.sent();
215
- state = self.globalVarStates.get(item.key);
255
+ state = self.globalVarTempStates.get(item.key);
216
256
  updateState(item.key, {
217
257
  initialized: true,
218
258
  pristine: state.value
@@ -286,7 +326,7 @@ var RootStore = service.ServiceStore.named('RootStore')
286
326
  if (!variables.some(function (item) { return item.key === key; })) {
287
327
  return "continue";
288
328
  }
289
- var state = self.globalVarStates.get(key);
329
+ var state = self.globalVarTempStates.get(key);
290
330
  if (state) {
291
331
  updateState(key, {
292
332
  value: data[key],
@@ -329,7 +369,7 @@ var RootStore = service.ServiceStore.named('RootStore')
329
369
  bulkGetters = [];
330
370
  itemsNotInitialized = [];
331
371
  _loop_3 = function (item) {
332
- var state = self.globalVarStates.get(item.key);
372
+ var state = self.globalVarTempStates.get(item.key);
333
373
  if (state === null || state === void 0 ? void 0 : state.initialized) {
334
374
  return "continue";
335
375
  }
@@ -393,8 +433,9 @@ var RootStore = service.ServiceStore.named('RootStore')
393
433
  // 初始化全局变量
394
434
  _b.globalVars = _c.sent();
395
435
  removeVars.forEach(function (item) {
396
- self.globalVarStates.delete(item.key);
436
+ self.globalVarTempStates.delete(item.key);
397
437
  });
438
+ syncGlobalVarStates();
398
439
  return [2 /*return*/];
399
440
  }
400
441
  });
@@ -405,7 +446,7 @@ var RootStore = service.ServiceStore.named('RootStore')
405
446
  };
406
447
  // 如果对应变量是个对象,那么可以通过这个扩充变量的值
407
448
  var modifyGlobalVarValue = function (key, options) {
408
- var state = self.globalVarStates.get(key);
449
+ var state = self.globalVarTempStates.get(key);
409
450
  if (!state) {
410
451
  return;
411
452
  }
@@ -500,7 +541,7 @@ var RootStore = service.ServiceStore.named('RootStore')
500
541
  bulkSetters = [];
501
542
  values = {};
502
543
  _loop_4 = function (varItem) {
503
- var state = self.globalVarStates.get(varItem.key);
544
+ var state = self.globalVarTempStates.get(varItem.key);
504
545
  if (!(state === null || state === void 0 ? void 0 : state.touched)) {
505
546
  return "continue";
506
547
  }
@@ -566,6 +607,26 @@ var RootStore = service.ServiceStore.named('RootStore')
566
607
  trailing: true,
567
608
  leading: false
568
609
  });
610
+ function syncGlobalVarStates() {
611
+ self.globalVarStates.clear();
612
+ self.globalVarTempStates.forEach(function (state, key) {
613
+ self.globalVarStates.set(key, tslib.__assign({}, state));
614
+ });
615
+ }
616
+ var pendingCount = 0;
617
+ var callbacks = [];
618
+ function addSyncGlobalVarStatePendingTask(fn, callback) {
619
+ pendingCount++;
620
+ callback && callbacks.push(callback);
621
+ fn(function () {
622
+ pendingCount--;
623
+ if (pendingCount === 0) {
624
+ callbacks.forEach(function (callback) { return callback(); });
625
+ callbacks = [];
626
+ self.syncGlobalVarStates();
627
+ }
628
+ });
629
+ }
569
630
  return {
570
631
  updateContext: function (context) {
571
632
  // 因为 context 不是受控属性,直接共用引用好了
@@ -573,9 +634,9 @@ var RootStore = service.ServiceStore.named('RootStore')
573
634
  Object.assign(self.context, context);
574
635
  },
575
636
  updateGlobalVarState: function (key, state) {
576
- var origin = self.globalVarStates.get(key);
637
+ var origin = self.globalVarTempStates.get(key);
577
638
  var newState = tslib.__assign(tslib.__assign({}, (origin || globalVar.createGlobalVarState())), state);
578
- self.globalVarStates.set(key, newState);
639
+ self.globalVarTempStates.set(key, newState);
579
640
  },
580
641
  setGlobalVars: setGlobalVars,
581
642
  updateGlobalVarValue: updateGlobalVarValue,
@@ -592,6 +653,8 @@ var RootStore = service.ServiceStore.named('RootStore')
592
653
  }
593
654
  },
594
655
  init: init,
656
+ syncGlobalVarStates: syncGlobalVarStates,
657
+ addSyncGlobalVarStatePendingTask: addSyncGlobalVarStatePendingTask,
595
658
  afterDestroy: function () {
596
659
  lazySaveGlobalVarValues.flush();
597
660
  }
@@ -48,6 +48,8 @@ export declare const ServiceStore: import("mobx-state-tree").IModelType<{
48
48
  } & {
49
49
  setTopStore(value: any): void;
50
50
  initData(data?: object, skipSetPristine?: boolean, changeReason?: import("../types").DataChangeReason | undefined): void;
51
+ temporaryUpdateGlobalVars(globalVar: any): void;
52
+ unDoTemporaryUpdateGlobalVars(): void;
51
53
  reset(): void;
52
54
  updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined, changeReason?: import("../types").DataChangeReason | undefined): void;
53
55
  changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined, changeReason?: import("../types").DataChangeReason | undefined): void;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.2
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.2
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,3 +1,4 @@
1
+ /// <reference types="lodash" />
1
2
  import { SnapshotIn, IAnyModelType, Instance } from 'mobx-state-tree';
2
3
  import { IFormStore } from './form';
3
4
  export declare enum SELECTED_STATUS {
@@ -316,6 +317,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
316
317
  lazyRenderAfter: import("mobx-state-tree").IType<number | undefined, number, number>;
317
318
  tableLayout: import("mobx-state-tree").IType<string | undefined, string, string>;
318
319
  theadHeight: import("mobx-state-tree").IType<number | undefined, number, number>;
320
+ persistKey: import("mobx-state-tree").IType<string | undefined, string, string>;
319
321
  }, {
320
322
  readonly parentStore: any;
321
323
  readonly __: any;
@@ -334,6 +336,8 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
334
336
  } & {
335
337
  setTopStore(value: any): void;
336
338
  initData(data?: object, skipSetPristine?: boolean, changeReason?: import("..").DataChangeReason | undefined): void;
339
+ temporaryUpdateGlobalVars(globalVar: any): void;
340
+ unDoTemporaryUpdateGlobalVars(): void;
337
341
  reset(): void;
338
342
  updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined, changeReason?: import("..").DataChangeReason | undefined): void;
339
343
  changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined, changeReason?: import("..").DataChangeReason | undefined): void;
@@ -474,6 +478,8 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
474
478
  } & {
475
479
  setTopStore(value: any): void;
476
480
  initData(data?: object, skipSetPristine?: boolean, changeReason?: import("..").DataChangeReason | undefined): void;
481
+ temporaryUpdateGlobalVars(globalVar: any): void;
482
+ unDoTemporaryUpdateGlobalVars(): void;
477
483
  reset(): void;
478
484
  updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined, changeReason?: import("..").DataChangeReason | undefined): void;
479
485
  changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined, changeReason?: import("..").DataChangeReason | undefined): void;
@@ -5973,6 +5979,8 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
5973
5979
  } & {
5974
5980
  setTopStore(value: any): void;
5975
5981
  initData(data?: object, skipSetPristine?: boolean, changeReason?: import("..").DataChangeReason | undefined): void;
5982
+ temporaryUpdateGlobalVars(globalVar: any): void;
5983
+ unDoTemporaryUpdateGlobalVars(): void;
5976
5984
  reset(): void;
5977
5985
  updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined, changeReason?: import("..").DataChangeReason | undefined): void;
5978
5986
  changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined, changeReason?: import("..").DataChangeReason | undefined): void;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.2
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -433,7 +433,8 @@ var TableStore = iRenderer.iRendererStore
433
433
  searchFormExpanded: false,
434
434
  lazyRenderAfter: 100,
435
435
  tableLayout: 'auto',
436
- theadHeight: 0
436
+ theadHeight: 0,
437
+ persistKey: ''
437
438
  })
438
439
  .views(function (self) {
439
440
  function getColumnsExceptBuiltinTypes() {
@@ -621,6 +622,9 @@ var TableStore = iRenderer.iRendererStore
621
622
  },
622
623
  getSelectionUpperLimit: getSelectionUpperLimit,
623
624
  get columnsKey() {
625
+ if (self.persistKey) {
626
+ return tpl.filter(self.persistKey, self.data);
627
+ }
624
628
  var fn = mobxStateTree.getEnv(self).getPageId || getPageId.getPageId;
625
629
  return fn() + self.path;
626
630
  },
@@ -899,6 +903,7 @@ var TableStore = iRenderer.iRendererStore
899
903
  typeof config.tableLayout === 'string' &&
900
904
  (self.tableLayout = config.tableLayout);
901
905
  config.showIndex !== undefined && (self.showIndex = config.showIndex);
906
+ config.persistKey !== undefined && (self.persistKey = config.persistKey);
902
907
  if (config.columns && Array.isArray(config.columns)) {
903
908
  var columns = config.columns
904
909
  .map(function (column) {
@@ -147,6 +147,7 @@ export declare const TableStore2: import("mobx-state-tree").IModelType<{
147
147
  rowSelectionKeyField: import("mobx-state-tree").IType<string | undefined, string, string>;
148
148
  formsRef: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<any, any, any>>, [undefined]>;
149
149
  canAccessSuperData: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
150
+ persistKey: import("mobx-state-tree").IType<string | undefined, string, string>;
150
151
  }, {
151
152
  readonly parentStore: any;
152
153
  readonly __: any;
@@ -165,6 +166,8 @@ export declare const TableStore2: import("mobx-state-tree").IModelType<{
165
166
  } & {
166
167
  setTopStore(value: any): void;
167
168
  initData(data?: object, skipSetPristine?: boolean, changeReason?: import("../types").DataChangeReason | undefined): void;
169
+ temporaryUpdateGlobalVars(globalVar: any): void;
170
+ unDoTemporaryUpdateGlobalVars(): void;
168
171
  reset(): void;
169
172
  updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined, changeReason?: import("../types").DataChangeReason | undefined): void;
170
173
  changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined, changeReason?: import("../types").DataChangeReason | undefined): void;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.2
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -15,6 +15,7 @@ var helper = require('../utils/helper.js');
15
15
  var api = require('../utils/api.js');
16
16
  var service = require('./service.js');
17
17
  var getPageId = require('../utils/getPageId.js');
18
+ var tpl = require('../utils/tpl.js');
18
19
  var object = require('../utils/object.js');
19
20
 
20
21
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -162,7 +163,8 @@ var TableStore2 = service.ServiceStore.named('TableStore2')
162
163
  dragging: false,
163
164
  rowSelectionKeyField: 'id',
164
165
  formsRef: mobxStateTree.types.optional(mobxStateTree.types.array(mobxStateTree.types.frozen()), []),
165
- canAccessSuperData: false
166
+ canAccessSuperData: false,
167
+ persistKey: ''
166
168
  })
167
169
  .views(function (self) {
168
170
  function getToggable() {
@@ -324,6 +326,7 @@ var TableStore2 = service.ServiceStore.named('TableStore2')
324
326
  (self.columnsTogglable = config.columnsTogglable);
325
327
  config.canAccessSuperData !== undefined &&
326
328
  (self.canAccessSuperData = !!config.canAccessSuperData);
329
+ config.persistKey !== undefined && (self.persistKey = config.persistKey);
327
330
  if (typeof config.orderBy === 'string') {
328
331
  setOrderByInfo(config.orderBy, config.order === 'desc' ? 'desc' : 'asc');
329
332
  }
@@ -366,10 +369,15 @@ var TableStore2 = service.ServiceStore.named('TableStore2')
366
369
  }
367
370
  persistSaveToggledColumns();
368
371
  }
369
- function persistSaveToggledColumns() {
372
+ function getPersistKey() {
373
+ if (self.persistKey) {
374
+ return tpl.filter(self.persistKey, self.data);
375
+ }
370
376
  var fn = mobxStateTree.getEnv(self).getPageId || getPageId.getPageId;
371
- var key = fn() +
372
- self.path +
377
+ return fn() + self.path;
378
+ }
379
+ function persistSaveToggledColumns() {
380
+ var key = getPersistKey() +
373
381
  self.toggableColumns.map(function (item) { return item.name || item.index; }).join('-');
374
382
  localStorage.setItem(key, JSON.stringify(self.activeToggaleColumns.map(function (item) { return item.index; })));
375
383
  }
@@ -602,9 +610,7 @@ var TableStore2 = service.ServiceStore.named('TableStore2')
602
610
  if (!mobxStateTree.isAlive(self)) {
603
611
  return;
604
612
  }
605
- var fn = mobxStateTree.getEnv(self).getPageId || getPageId.getPageId;
606
- var key = fn() +
607
- self.path +
613
+ var key = getPersistKey() +
608
614
  self.toggableColumns.map(function (item) { return item.name || item.index; }).join('-');
609
615
  var data = localStorage.getItem(key);
610
616
  if (data) {
package/lib/theme.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.2
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.2
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.2
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.2
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.2
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.2
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.2
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.2
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
package/lib/utils/api.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.2
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.2
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.2
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.2
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.2
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.2
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.2
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.2
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
package/lib/utils/date.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.2
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.2
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.2
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
package/lib/utils/dom.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.2
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -315,7 +315,11 @@ function calculateHeight(element, excludeElement) {
315
315
  var nextSibling = selfNode.nextElementSibling;
316
316
  while (nextSibling) {
317
317
  var positon = getComputedStyle(nextSibling).position;
318
- if (positon !== 'absolute' && positon !== 'fixed') {
318
+ var className = nextSibling.className;
319
+ if (positon !== 'absolute' &&
320
+ positon !== 'fixed' &&
321
+ !className.includes('Spinner') // 过滤掉Loading
322
+ ) {
319
323
  var rect1 = selfNode.getBoundingClientRect();
320
324
  var rect2 = nextSibling.getBoundingClientRect();
321
325
  if (rect1.bottom <= rect2.top) {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.0
2
+ * amis-core v6.13.0-beta.2
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.2
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.2
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.2
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.2
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.2
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.2
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.2
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.2
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.2
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.2
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5