amis-core 6.12.0-beta.5 → 6.12.0-beta.7

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 (292) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.js +1 -1
  3. package/esm/SchemaRenderer.js +1 -1
  4. package/esm/Scoped.js +1 -1
  5. package/esm/StatusScoped.js +1 -1
  6. package/esm/StyleManager.js +1 -1
  7. package/esm/WithRootStore.js +1 -1
  8. package/esm/WithStore.js +1 -1
  9. package/esm/actions/Action.js +1 -1
  10. package/esm/actions/AjaxAction.js +1 -1
  11. package/esm/actions/BreakAction.js +1 -1
  12. package/esm/actions/BroadcastAction.js +1 -1
  13. package/esm/actions/CmptAction.js +1 -1
  14. package/esm/actions/ContinueAction.js +1 -1
  15. package/esm/actions/CopyAction.js +1 -1
  16. package/esm/actions/CustomAction.js +1 -1
  17. package/esm/actions/DialogAction.js +1 -1
  18. package/esm/actions/DrawerAction.js +1 -1
  19. package/esm/actions/EmailAction.js +1 -1
  20. package/esm/actions/EventAction.js +1 -1
  21. package/esm/actions/LinkAction.js +1 -1
  22. package/esm/actions/LoopAction.js +1 -1
  23. package/esm/actions/PageAction.js +1 -1
  24. package/esm/actions/ParallelAction.js +1 -1
  25. package/esm/actions/PrintAction.js +1 -1
  26. package/esm/actions/StatusAction.js +1 -1
  27. package/esm/actions/SwitchAction.js +1 -1
  28. package/esm/actions/ToastAction.js +1 -1
  29. package/esm/actions/WaitAction.js +1 -1
  30. package/esm/components/Animations.js +1 -1
  31. package/esm/components/CustomStyle.js +1 -1
  32. package/esm/components/ErrorBoundary.js +1 -1
  33. package/esm/components/LazyComponent.js +1 -1
  34. package/esm/components/Overlay.js +1 -1
  35. package/esm/components/PopOver.js +1 -1
  36. package/esm/env.js +1 -1
  37. package/esm/envOverwrite.js +1 -1
  38. package/esm/factory.js +1 -1
  39. package/esm/globalVar.js +1 -1
  40. package/esm/globalVarClientHandler.js +1 -1
  41. package/esm/globalVarDefaultValueHandler.js +1 -1
  42. package/esm/index.js +5 -5
  43. package/esm/locale.js +1 -1
  44. package/esm/polyfills.js +1 -1
  45. package/esm/renderers/Form.js +4 -3
  46. package/esm/renderers/Item.js +1 -1
  47. package/esm/renderers/Options.d.ts +2 -2
  48. package/esm/renderers/Options.js +11 -5
  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 +14 -4
  53. package/esm/store/app.js +1 -1
  54. package/esm/store/combo.js +1 -1
  55. package/esm/store/crud.d.ts +2 -0
  56. package/esm/store/crud.js +116 -100
  57. package/esm/store/form.js +1 -1
  58. package/esm/store/formItem.js +1 -1
  59. package/esm/store/iRenderer.js +1 -1
  60. package/esm/store/index.js +1 -1
  61. package/esm/store/list.js +1 -1
  62. package/esm/store/manager.js +1 -1
  63. package/esm/store/modal.js +1 -1
  64. package/esm/store/node.js +1 -1
  65. package/esm/store/pagination.js +1 -1
  66. package/esm/store/root.js +1 -1
  67. package/esm/store/service.js +1 -1
  68. package/esm/store/status.js +1 -1
  69. package/esm/store/table.js +1 -1
  70. package/esm/store/table2.js +1 -1
  71. package/esm/theme.js +1 -1
  72. package/esm/utils/Animation.js +1 -1
  73. package/esm/utils/ColorScale.js +1 -1
  74. package/esm/utils/DataSchema.js +1 -1
  75. package/esm/utils/DataScope.js +1 -1
  76. package/esm/utils/RootClose.js +1 -1
  77. package/esm/utils/SimpleMap.js +1 -1
  78. package/esm/utils/animations.js +1 -1
  79. package/esm/utils/api.js +1 -1
  80. package/esm/utils/arraySlice.js +1 -1
  81. package/esm/utils/attachmentAdpator.js +1 -1
  82. package/esm/utils/autobind.js +1 -1
  83. package/esm/utils/browser.js +1 -1
  84. package/esm/utils/columnsSplit.js +1 -1
  85. package/esm/utils/concatData.js +1 -1
  86. package/esm/utils/dataMapping.js +1 -1
  87. package/esm/utils/date.js +1 -1
  88. package/esm/utils/debug.js +1 -1
  89. package/esm/utils/decodeEntity.js +1 -1
  90. package/esm/utils/dom.d.ts +1 -0
  91. package/esm/utils/dom.js +39 -2
  92. package/esm/utils/errors.js +1 -1
  93. package/esm/utils/escapeHtml.js +1 -1
  94. package/esm/utils/filter-schema.js +1 -1
  95. package/esm/utils/filter.js +1 -1
  96. package/esm/utils/formatDuration.js +1 -1
  97. package/esm/utils/formula.js +1 -1
  98. package/esm/utils/getVariable.js +1 -1
  99. package/esm/utils/grammar.js +1 -1
  100. package/esm/utils/handleAction.js +1 -1
  101. package/esm/utils/helper.js +1 -1
  102. package/esm/utils/highlight.js +1 -1
  103. package/esm/utils/icon.js +1 -1
  104. package/esm/utils/image.js +1 -1
  105. package/esm/utils/index.js +1 -1
  106. package/esm/utils/isPureVariable.js +1 -1
  107. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  108. package/esm/utils/keyToPath.js +1 -1
  109. package/esm/utils/labelToString.js +1 -1
  110. package/esm/utils/loopTooMuch.js +1 -1
  111. package/esm/utils/makeSorter.js +1 -1
  112. package/esm/utils/math.js +1 -1
  113. package/esm/utils/memoryParse.js +1 -1
  114. package/esm/utils/normalizeLink.js +1 -1
  115. package/esm/utils/normalizeOptions.js +1 -1
  116. package/esm/utils/object.js +1 -1
  117. package/esm/utils/offset.js +1 -1
  118. package/esm/utils/offsetParent.js +1 -1
  119. package/esm/utils/optionValueCompare.js +1 -1
  120. package/esm/utils/position.js +1 -1
  121. package/esm/utils/prettyBytes.js +1 -1
  122. package/esm/utils/printElement.js +1 -1
  123. package/esm/utils/renderer-event.js +1 -1
  124. package/esm/utils/replaceText.js +1 -1
  125. package/esm/utils/resize-sensor.js +1 -1
  126. package/esm/utils/resolveCondition.js +1 -1
  127. package/esm/utils/resolveVariable.js +1 -1
  128. package/esm/utils/resolveVariableAndFilter.js +1 -1
  129. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  130. package/esm/utils/scrollPosition.js +1 -1
  131. package/esm/utils/string2regExp.js +1 -1
  132. package/esm/utils/stripNumber.js +1 -1
  133. package/esm/utils/style-helper.js +1 -1
  134. package/esm/utils/style.js +1 -1
  135. package/esm/utils/toNumber.js +1 -1
  136. package/esm/utils/tokenize.js +1 -1
  137. package/esm/utils/tpl-builtin.js +1 -1
  138. package/esm/utils/tpl-lodash.js +1 -1
  139. package/esm/utils/tpl.js +1 -1
  140. package/esm/utils/uncontrollable.js +1 -1
  141. package/esm/utils/validateId.js +1 -1
  142. package/esm/utils/validations.js +1 -1
  143. package/esm/utils/visitedCache.js +1 -1
  144. package/lib/Root.js +1 -1
  145. package/lib/RootRenderer.d.ts +1 -1
  146. package/lib/RootRenderer.js +1 -1
  147. package/lib/SchemaRenderer.js +1 -1
  148. package/lib/Scoped.js +1 -1
  149. package/lib/StatusScoped.js +1 -1
  150. package/lib/StyleManager.js +1 -1
  151. package/lib/WithRootStore.js +1 -1
  152. package/lib/WithStore.js +1 -1
  153. package/lib/actions/Action.js +1 -1
  154. package/lib/actions/AjaxAction.js +1 -1
  155. package/lib/actions/BreakAction.js +1 -1
  156. package/lib/actions/BroadcastAction.js +1 -1
  157. package/lib/actions/CmptAction.js +1 -1
  158. package/lib/actions/ContinueAction.js +1 -1
  159. package/lib/actions/CopyAction.js +1 -1
  160. package/lib/actions/CustomAction.js +1 -1
  161. package/lib/actions/DialogAction.js +1 -1
  162. package/lib/actions/DrawerAction.js +1 -1
  163. package/lib/actions/EmailAction.js +1 -1
  164. package/lib/actions/EventAction.js +1 -1
  165. package/lib/actions/LinkAction.js +1 -1
  166. package/lib/actions/LoopAction.js +1 -1
  167. package/lib/actions/PageAction.js +1 -1
  168. package/lib/actions/ParallelAction.js +1 -1
  169. package/lib/actions/PrintAction.js +1 -1
  170. package/lib/actions/StatusAction.js +1 -1
  171. package/lib/actions/SwitchAction.js +1 -1
  172. package/lib/actions/ToastAction.js +1 -1
  173. package/lib/actions/WaitAction.js +1 -1
  174. package/lib/components/Animations.js +1 -1
  175. package/lib/components/CustomStyle.js +1 -1
  176. package/lib/components/ErrorBoundary.js +1 -1
  177. package/lib/components/LazyComponent.js +1 -1
  178. package/lib/components/Overlay.js +1 -1
  179. package/lib/components/PopOver.js +1 -1
  180. package/lib/env.js +1 -1
  181. package/lib/envOverwrite.js +1 -1
  182. package/lib/factory.js +1 -1
  183. package/lib/globalVar.js +1 -1
  184. package/lib/globalVarClientHandler.js +1 -1
  185. package/lib/globalVarDefaultValueHandler.js +1 -1
  186. package/lib/index.js +5 -4
  187. package/lib/locale.js +1 -1
  188. package/lib/polyfills.js +1 -1
  189. package/lib/renderers/Form.js +4 -3
  190. package/lib/renderers/Item.d.ts +1 -1
  191. package/lib/renderers/Item.js +1 -1
  192. package/lib/renderers/Options.d.ts +2 -2
  193. package/lib/renderers/Options.js +11 -5
  194. package/lib/renderers/Placeholder.js +1 -1
  195. package/lib/renderers/builtin.js +1 -1
  196. package/lib/renderers/register.js +1 -1
  197. package/lib/renderers/wrapControl.js +14 -4
  198. package/lib/store/app.js +1 -1
  199. package/lib/store/combo.d.ts +24 -24
  200. package/lib/store/combo.js +1 -1
  201. package/lib/store/crud.d.ts +2 -0
  202. package/lib/store/crud.js +116 -100
  203. package/lib/store/form.d.ts +11 -10
  204. package/lib/store/form.js +1 -1
  205. package/lib/store/formItem.js +1 -1
  206. package/lib/store/iRenderer.js +1 -1
  207. package/lib/store/index.js +1 -1
  208. package/lib/store/list.js +1 -1
  209. package/lib/store/manager.js +1 -1
  210. package/lib/store/modal.js +1 -1
  211. package/lib/store/node.js +1 -1
  212. package/lib/store/pagination.js +1 -1
  213. package/lib/store/root.js +1 -1
  214. package/lib/store/service.js +1 -1
  215. package/lib/store/status.js +1 -1
  216. package/lib/store/table.d.ts +21 -20
  217. package/lib/store/table.js +1 -1
  218. package/lib/store/table2.js +1 -1
  219. package/lib/theme.js +1 -1
  220. package/lib/utils/Animation.js +1 -1
  221. package/lib/utils/ColorScale.js +1 -1
  222. package/lib/utils/DataSchema.js +1 -1
  223. package/lib/utils/DataScope.js +1 -1
  224. package/lib/utils/RootClose.js +1 -1
  225. package/lib/utils/SimpleMap.js +1 -1
  226. package/lib/utils/animations.js +1 -1
  227. package/lib/utils/api.js +1 -1
  228. package/lib/utils/arraySlice.js +1 -1
  229. package/lib/utils/attachmentAdpator.js +1 -1
  230. package/lib/utils/autobind.js +1 -1
  231. package/lib/utils/browser.js +1 -1
  232. package/lib/utils/columnsSplit.js +1 -1
  233. package/lib/utils/concatData.js +1 -1
  234. package/lib/utils/dataMapping.js +1 -1
  235. package/lib/utils/date.js +1 -1
  236. package/lib/utils/debug.js +1 -1
  237. package/lib/utils/decodeEntity.js +1 -1
  238. package/lib/utils/dom.d.ts +1 -0
  239. package/lib/utils/dom.js +39 -1
  240. package/lib/utils/errors.js +1 -1
  241. package/lib/utils/escapeHtml.js +1 -1
  242. package/lib/utils/filter-schema.js +1 -1
  243. package/lib/utils/filter.js +1 -1
  244. package/lib/utils/formatDuration.js +1 -1
  245. package/lib/utils/formula.js +1 -1
  246. package/lib/utils/getVariable.js +1 -1
  247. package/lib/utils/grammar.js +1 -1
  248. package/lib/utils/handleAction.js +1 -1
  249. package/lib/utils/helper.js +1 -1
  250. package/lib/utils/highlight.js +1 -1
  251. package/lib/utils/icon.js +1 -1
  252. package/lib/utils/image.js +1 -1
  253. package/lib/utils/index.js +2 -1
  254. package/lib/utils/isPureVariable.js +1 -1
  255. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  256. package/lib/utils/keyToPath.js +1 -1
  257. package/lib/utils/labelToString.js +1 -1
  258. package/lib/utils/loopTooMuch.js +1 -1
  259. package/lib/utils/makeSorter.js +1 -1
  260. package/lib/utils/math.js +1 -1
  261. package/lib/utils/memoryParse.js +1 -1
  262. package/lib/utils/normalizeLink.js +1 -1
  263. package/lib/utils/normalizeOptions.js +1 -1
  264. package/lib/utils/object.js +1 -1
  265. package/lib/utils/offset.js +1 -1
  266. package/lib/utils/offsetParent.js +1 -1
  267. package/lib/utils/optionValueCompare.js +1 -1
  268. package/lib/utils/position.js +1 -1
  269. package/lib/utils/prettyBytes.js +1 -1
  270. package/lib/utils/printElement.js +1 -1
  271. package/lib/utils/renderer-event.js +1 -1
  272. package/lib/utils/replaceText.js +1 -1
  273. package/lib/utils/resize-sensor.js +1 -1
  274. package/lib/utils/resolveCondition.js +1 -1
  275. package/lib/utils/resolveVariable.js +1 -1
  276. package/lib/utils/resolveVariableAndFilter.js +1 -1
  277. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  278. package/lib/utils/scrollPosition.js +1 -1
  279. package/lib/utils/string2regExp.js +1 -1
  280. package/lib/utils/stripNumber.js +1 -1
  281. package/lib/utils/style-helper.js +1 -1
  282. package/lib/utils/style.js +1 -1
  283. package/lib/utils/toNumber.js +1 -1
  284. package/lib/utils/tokenize.js +1 -1
  285. package/lib/utils/tpl-builtin.js +1 -1
  286. package/lib/utils/tpl-lodash.js +1 -1
  287. package/lib/utils/tpl.js +1 -1
  288. package/lib/utils/uncontrollable.js +1 -1
  289. package/lib/utils/validateId.js +1 -1
  290. package/lib/utils/validations.js +1 -1
  291. package/lib/utils/visitedCache.js +1 -1
  292. package/package.json +2 -2
package/esm/store/crud.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -133,14 +133,15 @@ var CRUDStore = ServiceStore.named('CRUDStore')
133
133
  }
134
134
  }
135
135
  var fetchInitData = flow(function getInitData(api, data, options) {
136
- var rawItems, matchFunc, items, dir, data_1, ctx, json, result, total, count, page, hasNext, oItems, oRows, columns, rest, items, _a, _b, key, rowsData, data_2, filteredItems, dir, e_1, env;
136
+ var startTime, rawItems, matchFunc, items, dir, data_1, ctx, json, elapsedTime, remainingTime_1, result, total, count, page, hasNext, oItems, oRows, columns, rest, items, _a, _b, key, rowsData, data_2, filteredItems, dir, e_1, env;
137
137
  var _c, e_2, _d;
138
138
  var _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
139
139
  if (options === void 0) { options = {}; }
140
140
  return __generator(this, function (_q) {
141
141
  switch (_q.label) {
142
142
  case 0:
143
- _q.trys.push([0, 2, , 3]);
143
+ _q.trys.push([0, 6, , 7]);
144
+ startTime = Date.now();
144
145
  rawItems = options.source
145
146
  ? resolveVariableAndFilter(options.source, createObject(self.mergedData, {
146
147
  items: self.data.itemsRaw,
@@ -180,116 +181,131 @@ var CRUDStore = ServiceStore.named('CRUDStore')
180
181
  case 1:
181
182
  json = _q.sent();
182
183
  fetchCancel = null;
183
- if (!json.ok) {
184
- self.updateMessage((_j = (_h = (_g = (_f = api === null || api === void 0 ? void 0 : api.messages) === null || _f === void 0 ? void 0 : _f.failed) !== null && _g !== void 0 ? _g : json.msg) !== null && _h !== void 0 ? _h : options.errorMessage) !== null && _j !== void 0 ? _j : self.__('CRUD.fetchFailed'), true);
185
- !(api === null || api === void 0 ? void 0 : api.silent) &&
186
- getEnv(self).notify('error', json.msg, json.msgTimeout !== undefined
187
- ? {
188
- closeButton: true,
189
- timeout: json.msgTimeout
190
- }
191
- : undefined);
184
+ if (!!json.ok) return [3 /*break*/, 2];
185
+ self.updateMessage((_j = (_h = (_g = (_f = api === null || api === void 0 ? void 0 : api.messages) === null || _f === void 0 ? void 0 : _f.failed) !== null && _g !== void 0 ? _g : json.msg) !== null && _h !== void 0 ? _h : options.errorMessage) !== null && _j !== void 0 ? _j : self.__('CRUD.fetchFailed'), true);
186
+ !(api === null || api === void 0 ? void 0 : api.silent) &&
187
+ getEnv(self).notify('error', json.msg, json.msgTimeout !== undefined
188
+ ? {
189
+ closeButton: true,
190
+ timeout: json.msgTimeout
191
+ }
192
+ : undefined);
193
+ return [3 /*break*/, 5];
194
+ case 2:
195
+ if (!json.data) {
196
+ throw new Error(self.__('CRUD.invalidData'));
197
+ }
198
+ if (!options.minLoadingTime) return [3 /*break*/, 4];
199
+ elapsedTime = Date.now() - startTime;
200
+ remainingTime_1 = options.minLoadingTime - elapsedTime;
201
+ if (!(remainingTime_1 > 0)) return [3 /*break*/, 4];
202
+ return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, remainingTime_1); })];
203
+ case 3:
204
+ _q.sent();
205
+ _q.label = 4;
206
+ case 4:
207
+ self.updatedAt = Date.now();
208
+ result = normalizeApiResponseData(json.data);
209
+ total = result.total, count = result.count, page = result.page, hasNext = result.hasNext, oItems = result.items, oRows = result.rows, columns = result.columns, rest = __rest(result, ["total", "count", "page", "hasNext", "items", "rows", "columns"]);
210
+ items = void 0;
211
+ if (options.source) {
212
+ items = resolveVariableAndFilter(options.source, createObject(self.filterData, result), '| raw');
192
213
  }
193
214
  else {
194
- if (!json.data) {
195
- throw new Error(self.__('CRUD.invalidData'));
196
- }
197
- self.updatedAt = Date.now();
198
- result = normalizeApiResponseData(json.data);
199
- total = result.total, count = result.count, page = result.page, hasNext = result.hasNext, oItems = result.items, oRows = result.rows, columns = result.columns, rest = __rest(result, ["total", "count", "page", "hasNext", "items", "rows", "columns"]);
200
- items = void 0;
201
- if (options.source) {
202
- items = resolveVariableAndFilter(options.source, createObject(self.filterData, result), '| raw');
203
- }
204
- else {
205
- items = result.items || result.rows;
206
- }
207
- if (!Array.isArray(items)) {
208
- try {
209
- // 如果不按照 items 格式返回,就拿第一个数组当成 items
210
- for (_a = __values(Object.keys(result)), _b = _a.next(); !_b.done; _b = _a.next()) {
211
- key = _b.value;
212
- if (result.hasOwnProperty(key) && Array.isArray(result[key])) {
213
- items = result[key];
214
- break;
215
- }
216
- }
217
- }
218
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
219
- finally {
220
- try {
221
- if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
215
+ items = result.items || result.rows;
216
+ }
217
+ if (!Array.isArray(items)) {
218
+ try {
219
+ // 如果不按照 items 格式返回,就拿第一个数组当成 items
220
+ for (_a = __values(Object.keys(result)), _b = _a.next(); !_b.done; _b = _a.next()) {
221
+ key = _b.value;
222
+ if (result.hasOwnProperty(key) && Array.isArray(result[key])) {
223
+ items = result[key];
224
+ break;
222
225
  }
223
- finally { if (e_2) throw e_2.error; }
224
226
  }
225
227
  }
226
- else if (items == null) {
227
- items = [];
228
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
229
+ finally {
230
+ try {
231
+ if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
232
+ }
233
+ finally { if (e_2) throw e_2.error; }
228
234
  }
229
- if (!Array.isArray(items)) {
230
- throw new Error(self.__('CRUD.invalidArray'));
235
+ }
236
+ else if (items == null) {
237
+ items = [];
238
+ }
239
+ if (!Array.isArray(items)) {
240
+ throw new Error(self.__('CRUD.invalidArray'));
241
+ }
242
+ else {
243
+ // 确保成员是对象。
244
+ items.map(function (item) {
245
+ return typeof item === 'string' ? { text: item } : item;
246
+ });
247
+ }
248
+ rowsData = [];
249
+ if (options.loadDataMode && Array.isArray(self.data.items)) {
250
+ if (options.dataAppendTo === 'top') {
251
+ rowsData = items.concat(self.data.items);
231
252
  }
232
253
  else {
233
- // 确保成员是对象。
234
- items.map(function (item) {
235
- return typeof item === 'string' ? { text: item } : item;
236
- });
237
- }
238
- rowsData = [];
239
- if (options.loadDataMode && Array.isArray(self.data.items)) {
240
254
  rowsData = self.data.items.concat(items);
241
255
  }
242
- else {
243
- // 第一次的时候就是直接加载请求的数据
244
- rowsData = items;
245
- }
246
- data_2 = __assign(__assign(__assign({}, (api.replaceData ? {} : self.pristine)), { items: rowsData, count: count, total: total }), rest);
247
- if (options.loadDataOnce) {
248
- /**
249
- * 1. 记录原始集合,后续可能基于原始数据做排序查找。
250
- * 2. 接口返回中没有 items 和 rows 字段,则直接用查到的数据。
251
- */
252
- data_2.itemsRaw = oItems || oRows || rowsData.concat();
253
- filteredItems = applyFilters(rowsData, {
254
- query: self.query,
255
- columns: options.columns,
256
- filterOnAllColumns: false,
257
- matchFunc: options.matchFunc
258
- });
259
- if (self.query.orderBy) {
260
- dir = /desc/i.test(self.query.orderDir) ? -1 : 1;
261
- filteredItems = sortArray(filteredItems, self.query.orderBy, dir);
262
- }
263
- data_2.items = filteredItems.slice((self.page - 1) * self.perPage, self.page * self.perPage);
264
- data_2.count = data_2.total = filteredItems.length;
265
- }
266
- if (Array.isArray(columns)) {
267
- self.columns = columns.concat();
268
- }
269
- else if (rest.isTable2) {
270
- self.columns = options.columns;
271
- }
272
- self.items.replace(rowsData);
273
- self.reInitData(data_2, !!api.replaceData, api.concatDataFields);
274
- options.syncResponse2Query !== false &&
275
- updateQuery(pick(rest, Object.keys(self.query)), undefined, options.pageField || 'page', options.perPageField || 'perPage');
276
- self.total = parseInt((_k = data_2.total) !== null && _k !== void 0 ? _k : data_2.count, 10) || 0;
277
- typeof page !== 'undefined' && (self.page = parseInt(page, 10));
278
- // 分页情况不清楚,只能知道有没有下一页。
279
- if (typeof hasNext !== 'undefined') {
280
- self.mode = 'simple';
281
- self.total = 0;
282
- self.hasNext = !!hasNext;
256
+ }
257
+ else {
258
+ // 第一次的时候就是直接加载请求的数据
259
+ rowsData = items;
260
+ }
261
+ data_2 = __assign(__assign(__assign({}, (api.replaceData ? {} : self.pristine)), { items: rowsData, count: count, total: total }), rest);
262
+ if (options.loadDataOnce) {
263
+ /**
264
+ * 1. 记录原始集合,后续可能基于原始数据做排序查找。
265
+ * 2. 接口返回中没有 items 和 rows 字段,则直接用查到的数据。
266
+ */
267
+ data_2.itemsRaw = oItems || oRows || rowsData.concat();
268
+ filteredItems = applyFilters(rowsData, {
269
+ query: self.query,
270
+ columns: options.columns,
271
+ filterOnAllColumns: false,
272
+ matchFunc: options.matchFunc
273
+ });
274
+ if (self.query.orderBy) {
275
+ dir = /desc/i.test(self.query.orderDir) ? -1 : 1;
276
+ filteredItems = sortArray(filteredItems, self.query.orderBy, dir);
283
277
  }
284
- self.updateMessage((_p = (_o = (_m = (_l = api.messages) === null || _l === void 0 ? void 0 : _l.success) !== null && _m !== void 0 ? _m : json.msg) !== null && _o !== void 0 ? _o : options.successMessage) !== null && _p !== void 0 ? _p : json.defaultMsg);
285
- // 配置了获取成功提示后提示,默认是空不会提示。
286
- options &&
287
- options.successMessage &&
288
- getEnv(self).notify('success', self.msg);
278
+ data_2.items = filteredItems.slice((self.page - 1) * self.perPage, self.page * self.perPage);
279
+ data_2.count = data_2.total = filteredItems.length;
280
+ }
281
+ if (Array.isArray(columns)) {
282
+ self.columns = columns.concat();
283
+ }
284
+ else if (rest.isTable2) {
285
+ self.columns = options.columns;
289
286
  }
287
+ self.items.replace(rowsData);
288
+ self.reInitData(data_2, !!api.replaceData, api.concatDataFields);
289
+ options.syncResponse2Query !== false &&
290
+ updateQuery(pick(rest, Object.keys(self.query)), undefined, options.pageField || 'page', options.perPageField || 'perPage');
291
+ self.total = parseInt((_k = data_2.total) !== null && _k !== void 0 ? _k : data_2.count, 10) || 0;
292
+ typeof page !== 'undefined' && (self.page = parseInt(page, 10));
293
+ // 分页情况不清楚,只能知道有没有下一页。
294
+ if (typeof hasNext !== 'undefined') {
295
+ self.mode = 'simple';
296
+ self.total = 0;
297
+ self.hasNext = !!hasNext;
298
+ }
299
+ self.updateMessage((_p = (_o = (_m = (_l = api.messages) === null || _l === void 0 ? void 0 : _l.success) !== null && _m !== void 0 ? _m : json.msg) !== null && _o !== void 0 ? _o : options.successMessage) !== null && _p !== void 0 ? _p : json.defaultMsg);
300
+ // 配置了获取成功提示后提示,默认是空不会提示。
301
+ options &&
302
+ options.successMessage &&
303
+ getEnv(self).notify('success', self.msg);
304
+ _q.label = 5;
305
+ case 5:
290
306
  self.markFetching(false);
291
307
  return [2 /*return*/, json];
292
- case 2:
308
+ case 6:
293
309
  e_1 = _q.sent();
294
310
  env = getEnv(self);
295
311
  if (!isAlive(self) || self.disposed) {
@@ -302,7 +318,7 @@ var CRUDStore = ServiceStore.named('CRUDStore')
302
318
  console.error(e_1);
303
319
  !(api === null || api === void 0 ? void 0 : api.silent) && env.notify('error', e_1.message);
304
320
  return [2 /*return*/];
305
- case 3: return [2 /*return*/];
321
+ case 7: return [2 /*return*/];
306
322
  }
307
323
  });
308
324
  });
package/esm/store/form.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
package/esm/store/list.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
package/esm/store/node.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
package/esm/store/root.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
package/esm/theme.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
package/esm/utils/api.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
package/esm/utils/date.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -14,3 +14,4 @@ export declare function calculatePosition(placement: any, overlayNode: any, targ
14
14
  export declare function getStyleNumber(element: HTMLElement, styleName: string): number;
15
15
  /** 根据关键字高亮显示文本内容 */
16
16
  export declare function renderTextByKeyword(rendererText: string, curKeyword: string): string | React.JSX.Element;
17
+ export declare function calculateHeight(element: HTMLElement, excludeElement: HTMLElement): number;
package/esm/utils/dom.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -289,5 +289,42 @@ function renderTextByKeyword(rendererText, curKeyword) {
289
289
  return rendererText;
290
290
  }
291
291
  }
292
+ // 计算除去某个元素后,父元素剩余部分的高度总和(padding、margin、border、height)
293
+ function calculateHeight(element, excludeElement) {
294
+ var parentRect = element.getBoundingClientRect();
295
+ var childRect = excludeElement.getBoundingClientRect();
296
+ var topDifference = Math.abs(childRect.top - parentRect.top);
297
+ var bottomDifference = 0;
298
+ var selfNode = excludeElement;
299
+ var parentNode = selfNode.parentElement;
300
+ while (parentNode) {
301
+ var paddingBottom = getStyleNumber(parentNode, 'padding-bottom');
302
+ var borderBottom = getStyleNumber(parentNode, 'border-bottom-width');
303
+ var nextSiblingHeight = 0;
304
+ var nextSibling = selfNode.nextElementSibling;
305
+ while (nextSibling) {
306
+ var positon = getComputedStyle(nextSibling).position;
307
+ if (positon !== 'absolute' && positon !== 'fixed') {
308
+ var rect1 = selfNode.getBoundingClientRect();
309
+ var rect2 = nextSibling.getBoundingClientRect();
310
+ if (rect1.bottom <= rect2.top) {
311
+ nextSiblingHeight +=
312
+ nextSibling.offsetHeight +
313
+ getStyleNumber(nextSibling, 'margin-bottom');
314
+ }
315
+ }
316
+ nextSibling = nextSibling.nextElementSibling;
317
+ }
318
+ var marginBottom = getStyleNumber(selfNode, 'margin-bottom');
319
+ bottomDifference +=
320
+ paddingBottom + borderBottom + marginBottom + nextSiblingHeight;
321
+ selfNode = parentNode;
322
+ parentNode = selfNode.parentElement;
323
+ if (element === selfNode) {
324
+ break;
325
+ }
326
+ }
327
+ return topDifference + bottomDifference;
328
+ }
292
329
 
293
- export { calculatePosition, getContainer, getStyleNumber, ownerDocument, renderTextByKeyword };
330
+ export { calculateHeight, calculatePosition, getContainer, getStyleNumber, ownerDocument, renderTextByKeyword };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.5
2
+ * amis-core v6.12.0-beta.7
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5