amis-core 3.5.2 → 3.6.0

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 (285) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.d.ts +1 -1
  3. package/esm/RootRenderer.js +2 -2
  4. package/esm/SchemaRenderer.js +1 -1
  5. package/esm/Scoped.d.ts +2 -0
  6. package/esm/Scoped.js +49 -7
  7. package/esm/StatusScoped.js +1 -1
  8. package/esm/WithRootStore.js +1 -1
  9. package/esm/WithStore.js +27 -12
  10. package/esm/actions/Action.js +30 -22
  11. package/esm/actions/AjaxAction.js +2 -2
  12. package/esm/actions/BreakAction.js +1 -1
  13. package/esm/actions/BroadcastAction.js +1 -1
  14. package/esm/actions/CmptAction.js +31 -32
  15. package/esm/actions/ContinueAction.js +1 -1
  16. package/esm/actions/CopyAction.js +3 -3
  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/LinkAction.js +5 -5
  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/StatusAction.js +1 -1
  26. package/esm/actions/SwitchAction.js +1 -1
  27. package/esm/actions/ToastAction.js +3 -3
  28. package/esm/components/CustomStyle.js +1 -1
  29. package/esm/components/ErrorBoundary.d.ts +20 -0
  30. package/esm/components/ErrorBoundary.js +41 -0
  31. package/esm/components/LazyComponent.js +1 -1
  32. package/esm/components/Overlay.js +1 -1
  33. package/esm/components/PopOver.d.ts +4 -0
  34. package/esm/components/PopOver.js +66 -3
  35. package/esm/env.d.ts +9 -0
  36. package/esm/env.js +1 -1
  37. package/esm/envOverwrite.d.ts +1 -1
  38. package/esm/envOverwrite.js +15 -35
  39. package/esm/factory.js +1 -1
  40. package/esm/index.d.ts +2 -1
  41. package/esm/index.js +5 -4
  42. package/esm/locale.js +1 -1
  43. package/esm/polyfills.js +1 -1
  44. package/esm/renderers/Form.d.ts +10 -4
  45. package/esm/renderers/Form.js +64 -32
  46. package/esm/renderers/Item.d.ts +54 -0
  47. package/esm/renderers/Item.js +1 -1
  48. package/esm/renderers/Options.d.ts +5 -1
  49. package/esm/renderers/Options.js +11 -9
  50. package/esm/renderers/Placeholder.js +1 -1
  51. package/esm/renderers/builtin.js +1 -1
  52. package/esm/renderers/register.js +1 -1
  53. package/esm/renderers/wrapControl.js +10 -17
  54. package/esm/store/app.js +1 -1
  55. package/esm/store/combo.d.ts +1154 -48
  56. package/esm/store/combo.js +10 -3
  57. package/esm/store/crud.d.ts +9 -1
  58. package/esm/store/crud.js +50 -15
  59. package/esm/store/form.d.ts +480 -20
  60. package/esm/store/form.js +1 -1
  61. package/esm/store/formItem.d.ts +23 -1
  62. package/esm/store/formItem.js +103 -15
  63. package/esm/store/iRenderer.js +1 -1
  64. package/esm/store/index.js +1 -1
  65. package/esm/store/list.js +1 -1
  66. package/esm/store/manager.js +1 -1
  67. package/esm/store/modal.js +1 -1
  68. package/esm/store/node.js +1 -1
  69. package/esm/store/pagination.js +1 -1
  70. package/esm/store/root.js +1 -1
  71. package/esm/store/service.js +1 -1
  72. package/esm/store/status.js +1 -1
  73. package/esm/store/table.d.ts +1078 -42
  74. package/esm/store/table.js +64 -6
  75. package/esm/store/table2.js +1 -4
  76. package/esm/theme.js +1 -1
  77. package/esm/types.d.ts +8 -2
  78. package/esm/utils/Animation.js +1 -1
  79. package/esm/utils/ColorScale.js +1 -1
  80. package/esm/utils/DataSchema.js +1 -1
  81. package/esm/utils/DataScope.js +1 -1
  82. package/esm/utils/RootClose.js +1 -1
  83. package/esm/utils/SimpleMap.js +1 -1
  84. package/esm/utils/api.js +1 -1
  85. package/esm/utils/arraySlice.js +1 -1
  86. package/esm/utils/attachmentAdpator.js +3 -1
  87. package/esm/utils/autobind.js +1 -1
  88. package/esm/utils/columnsSplit.js +1 -1
  89. package/esm/utils/dataMapping.js +1 -1
  90. package/esm/utils/date.js +1 -1
  91. package/esm/utils/debug.js +1 -1
  92. package/esm/utils/decodeEntity.js +1 -1
  93. package/esm/utils/dom.js +1 -1
  94. package/esm/utils/errors.js +1 -1
  95. package/esm/utils/escapeHtml.js +1 -1
  96. package/esm/utils/filter-schema.d.ts +2 -1
  97. package/esm/utils/filter-schema.js +14 -5
  98. package/esm/utils/filter.js +1 -1
  99. package/esm/utils/formatDuration.js +1 -1
  100. package/esm/utils/formula.js +1 -1
  101. package/esm/utils/getVariable.js +1 -1
  102. package/esm/utils/grammar.js +1 -1
  103. package/esm/utils/handleAction.js +1 -1
  104. package/esm/utils/helper.d.ts +2 -2
  105. package/esm/utils/helper.js +37 -29
  106. package/esm/utils/highlight.js +1 -1
  107. package/esm/utils/icon.js +1 -1
  108. package/esm/utils/image.js +1 -1
  109. package/esm/utils/isPureVariable.js +1 -1
  110. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  111. package/esm/utils/keyToPath.js +1 -1
  112. package/esm/utils/makeSorter.js +1 -1
  113. package/esm/utils/math.js +8 -5
  114. package/esm/utils/memoryParse.js +1 -1
  115. package/esm/utils/normalizeLink.js +1 -1
  116. package/esm/utils/normalizeOptions.js +1 -1
  117. package/esm/utils/object.js +15 -1
  118. package/esm/utils/offset.js +1 -1
  119. package/esm/utils/offsetParent.js +1 -1
  120. package/esm/utils/optionValueCompare.js +1 -1
  121. package/esm/utils/position.js +1 -1
  122. package/esm/utils/prettyBytes.js +1 -1
  123. package/esm/utils/renderer-event.d.ts +7 -0
  124. package/esm/utils/renderer-event.js +30 -18
  125. package/esm/utils/replaceText.js +1 -1
  126. package/esm/utils/resize-sensor.js +1 -1
  127. package/esm/utils/resolveCondition.js +1 -1
  128. package/esm/utils/resolveVariable.js +1 -1
  129. package/esm/utils/resolveVariableAndFilter.js +1 -1
  130. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  131. package/esm/utils/scrollPosition.js +1 -1
  132. package/esm/utils/string2regExp.js +1 -1
  133. package/esm/utils/stripNumber.js +1 -1
  134. package/esm/utils/style-helper.js +12 -15
  135. package/esm/utils/style.js +3 -2
  136. package/esm/utils/toNumber.js +1 -1
  137. package/esm/utils/tokenize.js +1 -1
  138. package/esm/utils/tpl-builtin.js +1 -1
  139. package/esm/utils/tpl-lodash.js +1 -1
  140. package/esm/utils/tpl.js +1 -1
  141. package/esm/utils/uncontrollable.js +1 -1
  142. package/esm/utils/validations.js +1 -1
  143. package/lib/Root.js +1 -1
  144. package/lib/RootRenderer.d.ts +1 -1
  145. package/lib/RootRenderer.js +2 -2
  146. package/lib/SchemaRenderer.js +1 -1
  147. package/lib/Scoped.d.ts +2 -0
  148. package/lib/Scoped.js +48 -6
  149. package/lib/StatusScoped.js +1 -1
  150. package/lib/WithRootStore.js +1 -1
  151. package/lib/WithStore.js +26 -11
  152. package/lib/actions/Action.js +29 -21
  153. package/lib/actions/AjaxAction.js +2 -2
  154. package/lib/actions/BreakAction.js +1 -1
  155. package/lib/actions/BroadcastAction.js +1 -1
  156. package/lib/actions/CmptAction.js +31 -32
  157. package/lib/actions/ContinueAction.js +1 -1
  158. package/lib/actions/CopyAction.js +3 -3
  159. package/lib/actions/CustomAction.js +1 -1
  160. package/lib/actions/DialogAction.js +1 -1
  161. package/lib/actions/DrawerAction.js +1 -1
  162. package/lib/actions/EmailAction.js +1 -1
  163. package/lib/actions/LinkAction.js +5 -5
  164. package/lib/actions/LoopAction.js +1 -1
  165. package/lib/actions/PageAction.js +1 -1
  166. package/lib/actions/ParallelAction.js +1 -1
  167. package/lib/actions/StatusAction.js +1 -1
  168. package/lib/actions/SwitchAction.js +1 -1
  169. package/lib/actions/ToastAction.js +3 -3
  170. package/lib/components/CustomStyle.js +1 -1
  171. package/lib/components/ErrorBoundary.d.ts +20 -0
  172. package/lib/components/ErrorBoundary.js +52 -0
  173. package/lib/components/LazyComponent.js +1 -1
  174. package/lib/components/Overlay.js +1 -1
  175. package/lib/components/PopOver.d.ts +4 -0
  176. package/lib/components/PopOver.js +64 -1
  177. package/lib/env.d.ts +9 -0
  178. package/lib/env.js +1 -1
  179. package/lib/envOverwrite.d.ts +1 -1
  180. package/lib/envOverwrite.js +18 -34
  181. package/lib/factory.js +1 -1
  182. package/lib/index.d.ts +2 -1
  183. package/lib/index.js +6 -3
  184. package/lib/locale.js +1 -1
  185. package/lib/polyfills.js +1 -1
  186. package/lib/renderers/Form.d.ts +10 -4
  187. package/lib/renderers/Form.js +64 -32
  188. package/lib/renderers/Item.d.ts +54 -0
  189. package/lib/renderers/Item.js +1 -1
  190. package/lib/renderers/Options.d.ts +5 -1
  191. package/lib/renderers/Options.js +11 -9
  192. package/lib/renderers/Placeholder.js +1 -1
  193. package/lib/renderers/builtin.js +1 -1
  194. package/lib/renderers/register.js +1 -1
  195. package/lib/renderers/wrapControl.js +10 -17
  196. package/lib/store/app.js +1 -1
  197. package/lib/store/combo.d.ts +1154 -49
  198. package/lib/store/combo.js +10 -3
  199. package/lib/store/crud.d.ts +9 -1
  200. package/lib/store/crud.js +50 -15
  201. package/lib/store/form.d.ts +480 -21
  202. package/lib/store/form.js +1 -1
  203. package/lib/store/formItem.d.ts +23 -1
  204. package/lib/store/formItem.js +104 -15
  205. package/lib/store/iRenderer.js +1 -1
  206. package/lib/store/index.js +1 -1
  207. package/lib/store/list.js +1 -1
  208. package/lib/store/manager.js +1 -1
  209. package/lib/store/modal.js +1 -1
  210. package/lib/store/node.js +1 -1
  211. package/lib/store/pagination.js +1 -1
  212. package/lib/store/root.js +1 -1
  213. package/lib/store/service.js +1 -1
  214. package/lib/store/status.js +1 -1
  215. package/lib/store/table.d.ts +1078 -43
  216. package/lib/store/table.js +63 -5
  217. package/lib/store/table2.js +1 -4
  218. package/lib/theme.js +1 -1
  219. package/lib/types.d.ts +8 -2
  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/api.js +1 -1
  227. package/lib/utils/arraySlice.js +1 -1
  228. package/lib/utils/attachmentAdpator.js +3 -1
  229. package/lib/utils/autobind.js +1 -1
  230. package/lib/utils/columnsSplit.js +1 -1
  231. package/lib/utils/dataMapping.js +1 -1
  232. package/lib/utils/date.js +1 -1
  233. package/lib/utils/debug.js +1 -1
  234. package/lib/utils/decodeEntity.js +1 -1
  235. package/lib/utils/dom.js +1 -1
  236. package/lib/utils/errors.js +1 -1
  237. package/lib/utils/escapeHtml.js +1 -1
  238. package/lib/utils/filter-schema.d.ts +2 -1
  239. package/lib/utils/filter-schema.js +14 -4
  240. package/lib/utils/filter.js +1 -1
  241. package/lib/utils/formatDuration.js +1 -1
  242. package/lib/utils/formula.js +1 -1
  243. package/lib/utils/getVariable.js +1 -1
  244. package/lib/utils/grammar.js +1 -1
  245. package/lib/utils/handleAction.js +1 -1
  246. package/lib/utils/helper.d.ts +2 -2
  247. package/lib/utils/helper.js +36 -28
  248. package/lib/utils/highlight.js +1 -1
  249. package/lib/utils/icon.js +1 -1
  250. package/lib/utils/image.js +1 -1
  251. package/lib/utils/isPureVariable.js +1 -1
  252. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  253. package/lib/utils/keyToPath.js +1 -1
  254. package/lib/utils/makeSorter.js +1 -1
  255. package/lib/utils/math.js +8 -5
  256. package/lib/utils/memoryParse.js +1 -1
  257. package/lib/utils/normalizeLink.js +1 -1
  258. package/lib/utils/normalizeOptions.js +1 -1
  259. package/lib/utils/object.js +15 -1
  260. package/lib/utils/offset.js +1 -1
  261. package/lib/utils/offsetParent.js +1 -1
  262. package/lib/utils/optionValueCompare.js +1 -1
  263. package/lib/utils/position.js +1 -1
  264. package/lib/utils/prettyBytes.js +1 -1
  265. package/lib/utils/renderer-event.d.ts +7 -0
  266. package/lib/utils/renderer-event.js +30 -18
  267. package/lib/utils/replaceText.js +1 -1
  268. package/lib/utils/resize-sensor.js +1 -1
  269. package/lib/utils/resolveCondition.js +1 -1
  270. package/lib/utils/resolveVariable.js +1 -1
  271. package/lib/utils/resolveVariableAndFilter.js +1 -1
  272. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  273. package/lib/utils/scrollPosition.js +1 -1
  274. package/lib/utils/string2regExp.js +1 -1
  275. package/lib/utils/stripNumber.js +1 -1
  276. package/lib/utils/style-helper.js +12 -15
  277. package/lib/utils/style.js +3 -2
  278. package/lib/utils/toNumber.js +1 -1
  279. package/lib/utils/tokenize.js +1 -1
  280. package/lib/utils/tpl-builtin.js +1 -1
  281. package/lib/utils/tpl-lodash.js +1 -1
  282. package/lib/utils/tpl.js +1 -1
  283. package/lib/utils/uncontrollable.js +1 -1
  284. package/lib/utils/validations.js +1 -1
  285. package/package.json +3 -3
@@ -1,8 +1,9 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
6
+ import { __assign } from 'tslib';
6
7
  import { types } from 'mobx-state-tree';
7
8
  import { iRendererStore } from './iRenderer.js';
8
9
  import { getStoreById } from './manager.js';
@@ -35,7 +36,8 @@ var ComboStore = iRendererStore
35
36
  minLength: 0,
36
37
  maxLength: 0,
37
38
  length: 0,
38
- activeKey: 0
39
+ activeKey: 0,
40
+ memberValidMap: types.optional(types.frozen(), {})
39
41
  })
40
42
  .views(function (self) {
41
43
  function getForms() {
@@ -144,13 +146,18 @@ var ComboStore = iRendererStore
144
146
  function setActiveKey(key) {
145
147
  self.activeKey = key;
146
148
  }
149
+ function setMemberValid(valid, index) {
150
+ var _a;
151
+ self.memberValidMap = __assign(__assign({}, self.memberValidMap), (_a = {}, _a[index] = valid, _a));
152
+ }
147
153
  return {
148
154
  config: config,
149
155
  setActiveKey: setActiveKey,
150
156
  bindUniuqueItem: bindUniuqueItem,
151
157
  unBindUniuqueItem: unBindUniuqueItem,
152
158
  addForm: addForm,
153
- onChildStoreDispose: onChildStoreDispose
159
+ onChildStoreDispose: onChildStoreDispose,
160
+ setMemberValid: setMemberValid
154
161
  };
155
162
  });
156
163
 
@@ -1,11 +1,17 @@
1
1
  import { Instance } from 'mobx-state-tree';
2
2
  import { Api, fetchOptions, ActionObject } from '../types';
3
+ import type { MatchSorterOptions } from 'match-sorter';
3
4
  interface MatchFunc {
4
5
  (items: any, itemsRaw: any,
5
6
  /** 相关配置 */
6
7
  options?: {
7
8
  query: Record<string, any>;
8
9
  columns: any;
10
+ /**
11
+ * match-sorter 匹配函数
12
+ * @doc https://github.com/kentcdodds/match-sorter
13
+ */
14
+ matchSorter: (items: any[], value: string, options?: MatchSorterOptions<any>) => any[];
9
15
  }): any;
10
16
  }
11
17
  export declare const CRUDStore: import("mobx-state-tree").IModelType<{
@@ -120,7 +126,7 @@ export declare const CRUDStore: import("mobx-state-tree").IModelType<{
120
126
  columns?: Array<any>;
121
127
  isTable2?: Boolean;
122
128
  }) => Promise<any>;
123
- changePage: (page: number, perPage?: number | string) => void;
129
+ changePage: (page: number | string, perPage?: number | string) => void;
124
130
  changePerPage: (perPage: number | string) => void;
125
131
  selectAction: (action: ActionObject) => void;
126
132
  saveRemote: (api: Api, data?: object, options?: fetchOptions) => Promise<any>;
@@ -138,6 +144,8 @@ export declare const CRUDStore: import("mobx-state-tree").IModelType<{
138
144
  api?: Api | undefined;
139
145
  data?: any;
140
146
  filename?: string | undefined;
147
+ pageField?: string | undefined;
148
+ perPageField?: string | undefined;
141
149
  }) => Promise<void>;
142
150
  updateColumns: (columns: Array<any>) => void;
143
151
  updateTotal: (total: number) => void;
package/esm/store/crud.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -91,7 +91,24 @@ var CRUDStore = ServiceStore.named('CRUDStore')
91
91
  var originQuery = self.query;
92
92
  var query = replace
93
93
  ? __assign({}, values) : __assign(__assign({}, originQuery), values);
94
- if (isObjectShallowModified(originQuery, query, false)) {
94
+ /**
95
+ * 非严格模式下也需要严格比较的CASE
96
+ * @reference https://tc39.es/ecma262/#sec-islooselyequal
97
+ */
98
+ var exceptedLooselyRules = [
99
+ [0, ''],
100
+ [false, ''],
101
+ [false, '0'],
102
+ [false, 0],
103
+ [true, 1],
104
+ [true, '1']
105
+ ];
106
+ if (isObjectShallowModified(originQuery, query, function (lhs, rhs) {
107
+ if (exceptedLooselyRules.some(function (rule) { return rule.includes(lhs) && rule.includes(rhs); })) {
108
+ return lhs !== rhs;
109
+ }
110
+ return lhs != rhs;
111
+ })) {
95
112
  if (query[pageField || 'page']) {
96
113
  self.page = parseInt(query[pageField || 'page'], 10);
97
114
  }
@@ -123,7 +140,8 @@ var CRUDStore = ServiceStore.named('CRUDStore')
123
140
  if (matchFunc && typeof matchFunc === 'function') {
124
141
  items_1 = matchFunc(items_1, self.data.itemsRaw, {
125
142
  query: self.query,
126
- columns: options.columns
143
+ columns: options.columns,
144
+ matchSorter: matchSorter
127
145
  });
128
146
  }
129
147
  else {
@@ -249,8 +267,11 @@ var CRUDStore = ServiceStore.named('CRUDStore')
249
267
  }
250
268
  data_2 = __assign(__assign(__assign({}, (api.replaceData ? {} : self.pristine)), { items: rowsData, count: count, total: total }), rest);
251
269
  if (options.loadDataOnce) {
252
- // 记录原始集合,后续可能基于原始数据做排序查找。
253
- data_2.itemsRaw = oItems || oRows;
270
+ /**
271
+ * 1. 记录原始集合,后续可能基于原始数据做排序查找。
272
+ * 2. 接口返回中没有 items 和 rows 字段,则直接用查到的数据。
273
+ */
274
+ data_2.itemsRaw = oItems || oRows || rowsData.concat();
254
275
  filteredItems_1 = rowsData.concat();
255
276
  if (Array.isArray(options.columns)) {
256
277
  options.columns.forEach(function (column) {
@@ -334,11 +355,13 @@ var CRUDStore = ServiceStore.named('CRUDStore')
334
355
  });
335
356
  });
336
357
  function changePage(page, perPage) {
337
- self.page = page;
358
+ var pageNum = typeof page !== 'number' ? parseInt(page, 10) : page;
359
+ self.page = isNaN(pageNum) ? 1 : pageNum;
338
360
  perPage && changePerPage(perPage);
339
361
  }
340
362
  function changePerPage(perPage) {
341
- self.perPage = parseInt(perPage, 10);
363
+ var perPageNum = typeof perPage !== 'number' ? parseInt(perPage, 10) : perPage;
364
+ self.perPage = isNaN(perPageNum) ? 10 : perPageNum;
342
365
  }
343
366
  function selectAction(action) {
344
367
  self.selectedAction = action;
@@ -436,7 +459,8 @@ var CRUDStore = ServiceStore.named('CRUDStore')
436
459
  if (matchFunc && typeof matchFunc === 'function') {
437
460
  items = matchFunc(items, items.concat(), {
438
461
  query: self.query,
439
- columns: options.columns
462
+ columns: options.columns,
463
+ matchSorter: matchSorter
440
464
  });
441
465
  }
442
466
  else {
@@ -452,6 +476,7 @@ var CRUDStore = ServiceStore.named('CRUDStore')
452
476
  if (value.length > 0) {
453
477
  var arr_3 = __spreadArray([], __read(items), false);
454
478
  var arrItems_3 = [];
479
+ /** 搜索 query 值为数组的情况 */
455
480
  value.forEach(function (item) {
456
481
  arrItems_3 = __spreadArray(__spreadArray([], __read(arrItems_3), false), __read(matchSorter(arr_3, item, {
457
482
  keys: [key],
@@ -477,7 +502,9 @@ var CRUDStore = ServiceStore.named('CRUDStore')
477
502
  var dir = /desc/i.test(self.query.orderDir) ? -1 : 1;
478
503
  items = sortArray(items, self.query.orderBy, dir);
479
504
  }
480
- var data = __assign(__assign({}, self.pristine), { items: items.slice((self.page - 1) * self.perPage, self.page * self.perPage), count: items.length, total: items.length });
505
+ var data = __assign(__assign({}, self.pristine), { items: items.length > self.perPage
506
+ ? items.slice((self.page - 1) * self.perPage, self.page * self.perPage)
507
+ : items, count: items.length, total: items.length });
481
508
  self.total = parseInt((_a = data.total) !== null && _a !== void 0 ? _a : data.count, 10) || 0;
482
509
  self.items.replace(items);
483
510
  self.reInitData(data);
@@ -485,19 +512,27 @@ var CRUDStore = ServiceStore.named('CRUDStore')
485
512
  var exportAsCSV = function (options) {
486
513
  if (options === void 0) { options = {}; }
487
514
  return __awaiter(void 0, void 0, void 0, function () {
488
- var items, filename, env, res;
489
- return __generator(this, function (_a) {
490
- switch (_a.label) {
515
+ var items, filename, pageField, perPageField, env, ctx, res;
516
+ var _a;
517
+ return __generator(this, function (_b) {
518
+ switch (_b.label) {
491
519
  case 0:
492
520
  items = options.loadDataOnce ? self.data.itemsRaw : self.data.items;
493
521
  filename = options.filename
494
522
  ? filter(options.filename, options.data, '| raw')
495
523
  : 'data';
496
524
  if (!options.api) return [3 /*break*/, 2];
525
+ pageField = options.pageField || 'page';
526
+ perPageField = options.perPageField || 'perPage';
497
527
  env = getEnv(self);
498
- return [4 /*yield*/, env.fetcher(options.api, options.data)];
528
+ ctx = createObject(self.data, __assign(__assign(__assign({}, self.query), options.data), (_a = {}, _a[pageField] = self.page || 1, _a[perPageField] = self.perPage || 10, _a)));
529
+ return [4 /*yield*/, env.fetcher(options.api, ctx, {
530
+ autoAppend: true,
531
+ pageField: pageField,
532
+ perPageField: perPageField
533
+ })];
499
534
  case 1:
500
- res = _a.sent();
535
+ res = _b.sent();
501
536
  if (!res.data) {
502
537
  return [2 /*return*/];
503
538
  }
@@ -507,7 +542,7 @@ var CRUDStore = ServiceStore.named('CRUDStore')
507
542
  else {
508
543
  items = res.data.rows || res.data.items;
509
544
  }
510
- _a.label = 2;
545
+ _b.label = 2;
511
546
  case 2:
512
547
  import('papaparse').then(function (papaparse) {
513
548
  var e_4, _a;