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/lib/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
 
@@ -141,14 +141,15 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
141
141
  }
142
142
  }
143
143
  var fetchInitData = mobxStateTree.flow(function getInitData(api$1, data, options) {
144
- 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;
144
+ 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;
145
145
  var _c, e_2, _d;
146
146
  var _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
147
147
  if (options === void 0) { options = {}; }
148
148
  return tslib.__generator(this, function (_q) {
149
149
  switch (_q.label) {
150
150
  case 0:
151
- _q.trys.push([0, 2, , 3]);
151
+ _q.trys.push([0, 6, , 7]);
152
+ startTime = Date.now();
152
153
  rawItems = options.source
153
154
  ? resolveVariableAndFilter.resolveVariableAndFilter(options.source, object.createObject(self.mergedData, {
154
155
  items: self.data.itemsRaw,
@@ -188,116 +189,131 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
188
189
  case 1:
189
190
  json = _q.sent();
190
191
  fetchCancel = null;
191
- if (!json.ok) {
192
- self.updateMessage((_j = (_h = (_g = (_f = api$1 === null || api$1 === void 0 ? void 0 : api$1.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);
193
- !(api$1 === null || api$1 === void 0 ? void 0 : api$1.silent) &&
194
- mobxStateTree.getEnv(self).notify('error', json.msg, json.msgTimeout !== undefined
195
- ? {
196
- closeButton: true,
197
- timeout: json.msgTimeout
198
- }
199
- : undefined);
192
+ if (!!json.ok) return [3 /*break*/, 2];
193
+ self.updateMessage((_j = (_h = (_g = (_f = api$1 === null || api$1 === void 0 ? void 0 : api$1.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);
194
+ !(api$1 === null || api$1 === void 0 ? void 0 : api$1.silent) &&
195
+ mobxStateTree.getEnv(self).notify('error', json.msg, json.msgTimeout !== undefined
196
+ ? {
197
+ closeButton: true,
198
+ timeout: json.msgTimeout
199
+ }
200
+ : undefined);
201
+ return [3 /*break*/, 5];
202
+ case 2:
203
+ if (!json.data) {
204
+ throw new Error(self.__('CRUD.invalidData'));
205
+ }
206
+ if (!options.minLoadingTime) return [3 /*break*/, 4];
207
+ elapsedTime = Date.now() - startTime;
208
+ remainingTime_1 = options.minLoadingTime - elapsedTime;
209
+ if (!(remainingTime_1 > 0)) return [3 /*break*/, 4];
210
+ return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, remainingTime_1); })];
211
+ case 3:
212
+ _q.sent();
213
+ _q.label = 4;
214
+ case 4:
215
+ self.updatedAt = Date.now();
216
+ result = api.normalizeApiResponseData(json.data);
217
+ total = result.total, count = result.count, page = result.page, hasNext = result.hasNext, oItems = result.items, oRows = result.rows, columns = result.columns, rest = tslib.__rest(result, ["total", "count", "page", "hasNext", "items", "rows", "columns"]);
218
+ items = void 0;
219
+ if (options.source) {
220
+ items = resolveVariableAndFilter.resolveVariableAndFilter(options.source, object.createObject(self.filterData, result), '| raw');
200
221
  }
201
222
  else {
202
- if (!json.data) {
203
- throw new Error(self.__('CRUD.invalidData'));
204
- }
205
- self.updatedAt = Date.now();
206
- result = api.normalizeApiResponseData(json.data);
207
- total = result.total, count = result.count, page = result.page, hasNext = result.hasNext, oItems = result.items, oRows = result.rows, columns = result.columns, rest = tslib.__rest(result, ["total", "count", "page", "hasNext", "items", "rows", "columns"]);
208
- items = void 0;
209
- if (options.source) {
210
- items = resolveVariableAndFilter.resolveVariableAndFilter(options.source, object.createObject(self.filterData, result), '| raw');
211
- }
212
- else {
213
- items = result.items || result.rows;
214
- }
215
- if (!Array.isArray(items)) {
216
- try {
217
- // 如果不按照 items 格式返回,就拿第一个数组当成 items
218
- for (_a = tslib.__values(Object.keys(result)), _b = _a.next(); !_b.done; _b = _a.next()) {
219
- key = _b.value;
220
- if (result.hasOwnProperty(key) && Array.isArray(result[key])) {
221
- items = result[key];
222
- break;
223
- }
224
- }
225
- }
226
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
227
- finally {
228
- try {
229
- if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
223
+ items = result.items || result.rows;
224
+ }
225
+ if (!Array.isArray(items)) {
226
+ try {
227
+ // 如果不按照 items 格式返回,就拿第一个数组当成 items
228
+ for (_a = tslib.__values(Object.keys(result)), _b = _a.next(); !_b.done; _b = _a.next()) {
229
+ key = _b.value;
230
+ if (result.hasOwnProperty(key) && Array.isArray(result[key])) {
231
+ items = result[key];
232
+ break;
230
233
  }
231
- finally { if (e_2) throw e_2.error; }
232
234
  }
233
235
  }
234
- else if (items == null) {
235
- items = [];
236
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
237
+ finally {
238
+ try {
239
+ if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
240
+ }
241
+ finally { if (e_2) throw e_2.error; }
236
242
  }
237
- if (!Array.isArray(items)) {
238
- throw new Error(self.__('CRUD.invalidArray'));
243
+ }
244
+ else if (items == null) {
245
+ items = [];
246
+ }
247
+ if (!Array.isArray(items)) {
248
+ throw new Error(self.__('CRUD.invalidArray'));
249
+ }
250
+ else {
251
+ // 确保成员是对象。
252
+ items.map(function (item) {
253
+ return typeof item === 'string' ? { text: item } : item;
254
+ });
255
+ }
256
+ rowsData = [];
257
+ if (options.loadDataMode && Array.isArray(self.data.items)) {
258
+ if (options.dataAppendTo === 'top') {
259
+ rowsData = items.concat(self.data.items);
239
260
  }
240
261
  else {
241
- // 确保成员是对象。
242
- items.map(function (item) {
243
- return typeof item === 'string' ? { text: item } : item;
244
- });
245
- }
246
- rowsData = [];
247
- if (options.loadDataMode && Array.isArray(self.data.items)) {
248
262
  rowsData = self.data.items.concat(items);
249
263
  }
250
- else {
251
- // 第一次的时候就是直接加载请求的数据
252
- rowsData = items;
253
- }
254
- data_2 = tslib.__assign(tslib.__assign(tslib.__assign({}, (api$1.replaceData ? {} : self.pristine)), { items: rowsData, count: count, total: total }), rest);
255
- if (options.loadDataOnce) {
256
- /**
257
- * 1. 记录原始集合,后续可能基于原始数据做排序查找。
258
- * 2. 接口返回中没有 items 和 rows 字段,则直接用查到的数据。
259
- */
260
- data_2.itemsRaw = oItems || oRows || rowsData.concat();
261
- filteredItems = helper.applyFilters(rowsData, {
262
- query: self.query,
263
- columns: options.columns,
264
- filterOnAllColumns: false,
265
- matchFunc: options.matchFunc
266
- });
267
- if (self.query.orderBy) {
268
- dir = /desc/i.test(self.query.orderDir) ? -1 : 1;
269
- filteredItems = helper.sortArray(filteredItems, self.query.orderBy, dir);
270
- }
271
- data_2.items = filteredItems.slice((self.page - 1) * self.perPage, self.page * self.perPage);
272
- data_2.count = data_2.total = filteredItems.length;
273
- }
274
- if (Array.isArray(columns)) {
275
- self.columns = columns.concat();
276
- }
277
- else if (rest.isTable2) {
278
- self.columns = options.columns;
279
- }
280
- self.items.replace(rowsData);
281
- self.reInitData(data_2, !!api$1.replaceData, api$1.concatDataFields);
282
- options.syncResponse2Query !== false &&
283
- updateQuery(pick__default["default"](rest, Object.keys(self.query)), undefined, options.pageField || 'page', options.perPageField || 'perPage');
284
- self.total = parseInt((_k = data_2.total) !== null && _k !== void 0 ? _k : data_2.count, 10) || 0;
285
- typeof page !== 'undefined' && (self.page = parseInt(page, 10));
286
- // 分页情况不清楚,只能知道有没有下一页。
287
- if (typeof hasNext !== 'undefined') {
288
- self.mode = 'simple';
289
- self.total = 0;
290
- self.hasNext = !!hasNext;
264
+ }
265
+ else {
266
+ // 第一次的时候就是直接加载请求的数据
267
+ rowsData = items;
268
+ }
269
+ data_2 = tslib.__assign(tslib.__assign(tslib.__assign({}, (api$1.replaceData ? {} : self.pristine)), { items: rowsData, count: count, total: total }), rest);
270
+ if (options.loadDataOnce) {
271
+ /**
272
+ * 1. 记录原始集合,后续可能基于原始数据做排序查找。
273
+ * 2. 接口返回中没有 items 和 rows 字段,则直接用查到的数据。
274
+ */
275
+ data_2.itemsRaw = oItems || oRows || rowsData.concat();
276
+ filteredItems = helper.applyFilters(rowsData, {
277
+ query: self.query,
278
+ columns: options.columns,
279
+ filterOnAllColumns: false,
280
+ matchFunc: options.matchFunc
281
+ });
282
+ if (self.query.orderBy) {
283
+ dir = /desc/i.test(self.query.orderDir) ? -1 : 1;
284
+ filteredItems = helper.sortArray(filteredItems, self.query.orderBy, dir);
291
285
  }
292
- self.updateMessage((_p = (_o = (_m = (_l = api$1.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);
293
- // 配置了获取成功提示后提示,默认是空不会提示。
294
- options &&
295
- options.successMessage &&
296
- mobxStateTree.getEnv(self).notify('success', self.msg);
286
+ data_2.items = filteredItems.slice((self.page - 1) * self.perPage, self.page * self.perPage);
287
+ data_2.count = data_2.total = filteredItems.length;
288
+ }
289
+ if (Array.isArray(columns)) {
290
+ self.columns = columns.concat();
291
+ }
292
+ else if (rest.isTable2) {
293
+ self.columns = options.columns;
297
294
  }
295
+ self.items.replace(rowsData);
296
+ self.reInitData(data_2, !!api$1.replaceData, api$1.concatDataFields);
297
+ options.syncResponse2Query !== false &&
298
+ updateQuery(pick__default["default"](rest, Object.keys(self.query)), undefined, options.pageField || 'page', options.perPageField || 'perPage');
299
+ self.total = parseInt((_k = data_2.total) !== null && _k !== void 0 ? _k : data_2.count, 10) || 0;
300
+ typeof page !== 'undefined' && (self.page = parseInt(page, 10));
301
+ // 分页情况不清楚,只能知道有没有下一页。
302
+ if (typeof hasNext !== 'undefined') {
303
+ self.mode = 'simple';
304
+ self.total = 0;
305
+ self.hasNext = !!hasNext;
306
+ }
307
+ self.updateMessage((_p = (_o = (_m = (_l = api$1.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);
308
+ // 配置了获取成功提示后提示,默认是空不会提示。
309
+ options &&
310
+ options.successMessage &&
311
+ mobxStateTree.getEnv(self).notify('success', self.msg);
312
+ _q.label = 5;
313
+ case 5:
298
314
  self.markFetching(false);
299
315
  return [2 /*return*/, json];
300
- case 2:
316
+ case 6:
301
317
  e_1 = _q.sent();
302
318
  env = mobxStateTree.getEnv(self);
303
319
  if (!mobxStateTree.isAlive(self) || self.disposed) {
@@ -310,7 +326,7 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
310
326
  console.error(e_1);
311
327
  !(api$1 === null || api$1 === void 0 ? void 0 : api$1.silent) && env.notify('error', e_1.message);
312
328
  return [2 /*return*/];
313
- case 3: return [2 /*return*/];
329
+ case 7: return [2 /*return*/];
314
330
  }
315
331
  });
316
332
  });
@@ -1,3 +1,4 @@
1
+ /// <reference types="lodash" />
1
2
  import { Instance } from 'mobx-state-tree';
2
3
  import type { IFormItemStore } from './formItem';
3
4
  import { Api, DataChangeReason, fetchOptions, Payload } from '../types';
@@ -252,7 +253,7 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
252
253
  closeDialog: (confirmed?: any, result?: any) => void;
253
254
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
254
255
  closePopOver: (confirmed?: any, result?: any) => void;
255
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
256
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
256
257
  changeEmitedValue: (value: any) => void;
257
258
  addSubFormItem: (item: {
258
259
  id: string;
@@ -787,7 +788,7 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
787
788
  closeDialog: (confirmed?: any, result?: any) => void;
788
789
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
789
790
  closePopOver: (confirmed?: any, result?: any) => void;
790
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
791
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
791
792
  changeEmitedValue: (value: any) => void;
792
793
  addSubFormItem: (item: {
793
794
  id: string;
@@ -1327,7 +1328,7 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
1327
1328
  closeDialog: (confirmed?: any, result?: any) => void;
1328
1329
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
1329
1330
  closePopOver: (confirmed?: any, result?: any) => void;
1330
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
1331
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
1331
1332
  changeEmitedValue: (value: any) => void;
1332
1333
  addSubFormItem: (item: {
1333
1334
  id: string;
@@ -1862,7 +1863,7 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
1862
1863
  closeDialog: (confirmed?: any, result?: any) => void;
1863
1864
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
1864
1865
  closePopOver: (confirmed?: any, result?: any) => void;
1865
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
1866
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
1866
1867
  changeEmitedValue: (value: any) => void;
1867
1868
  addSubFormItem: (item: {
1868
1869
  id: string;
@@ -2406,7 +2407,7 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
2406
2407
  closeDialog: (confirmed?: any, result?: any) => void;
2407
2408
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
2408
2409
  closePopOver: (confirmed?: any, result?: any) => void;
2409
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
2410
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
2410
2411
  changeEmitedValue: (value: any) => void;
2411
2412
  addSubFormItem: (item: {
2412
2413
  id: string;
@@ -2941,7 +2942,7 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
2941
2942
  closeDialog: (confirmed?: any, result?: any) => void;
2942
2943
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
2943
2944
  closePopOver: (confirmed?: any, result?: any) => void;
2944
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
2945
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
2945
2946
  changeEmitedValue: (value: any) => void;
2946
2947
  addSubFormItem: (item: {
2947
2948
  id: string;
@@ -3480,7 +3481,7 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
3480
3481
  closeDialog: (confirmed?: any, result?: any) => void;
3481
3482
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
3482
3483
  closePopOver: (confirmed?: any, result?: any) => void;
3483
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
3484
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
3484
3485
  changeEmitedValue: (value: any) => void;
3485
3486
  addSubFormItem: (item: {
3486
3487
  id: string;
@@ -4015,7 +4016,7 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
4015
4016
  closeDialog: (confirmed?: any, result?: any) => void;
4016
4017
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
4017
4018
  closePopOver: (confirmed?: any, result?: any) => void;
4018
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
4019
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
4019
4020
  changeEmitedValue: (value: any) => void;
4020
4021
  addSubFormItem: (item: {
4021
4022
  id: string;
@@ -4554,7 +4555,7 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
4554
4555
  closeDialog: (confirmed?: any, result?: any) => void;
4555
4556
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
4556
4557
  closePopOver: (confirmed?: any, result?: any) => void;
4557
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
4558
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
4558
4559
  changeEmitedValue: (value: any) => void;
4559
4560
  addSubFormItem: (item: {
4560
4561
  id: string;
@@ -5089,7 +5090,7 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
5089
5090
  closeDialog: (confirmed?: any, result?: any) => void;
5090
5091
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
5091
5092
  closePopOver: (confirmed?: any, result?: any) => void;
5092
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
5093
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
5093
5094
  changeEmitedValue: (value: any) => void;
5094
5095
  addSubFormItem: (item: {
5095
5096
  id: string;
package/lib/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/lib/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/lib/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/lib/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