amis-core 3.5.2 → 3.5.3

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 (269) 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.js +2 -2
  6. package/esm/StatusScoped.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 +31 -32
  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/LinkAction.js +1 -1
  21. package/esm/actions/LoopAction.js +1 -1
  22. package/esm/actions/PageAction.js +1 -1
  23. package/esm/actions/ParallelAction.js +1 -1
  24. package/esm/actions/StatusAction.js +1 -1
  25. package/esm/actions/SwitchAction.js +1 -1
  26. package/esm/actions/ToastAction.js +1 -1
  27. package/esm/components/CustomStyle.js +1 -1
  28. package/esm/components/LazyComponent.js +1 -1
  29. package/esm/components/Overlay.js +1 -1
  30. package/esm/components/PopOver.js +1 -1
  31. package/esm/env.d.ts +9 -0
  32. package/esm/env.js +1 -1
  33. package/esm/envOverwrite.d.ts +1 -1
  34. package/esm/envOverwrite.js +15 -35
  35. package/esm/factory.js +1 -1
  36. package/esm/index.js +3 -3
  37. package/esm/locale.js +1 -1
  38. package/esm/polyfills.js +1 -1
  39. package/esm/renderers/Form.d.ts +9 -3
  40. package/esm/renderers/Form.js +50 -25
  41. package/esm/renderers/Item.js +1 -1
  42. package/esm/renderers/Options.d.ts +1 -1
  43. package/esm/renderers/Options.js +7 -6
  44. package/esm/renderers/Placeholder.js +1 -1
  45. package/esm/renderers/builtin.js +1 -1
  46. package/esm/renderers/register.js +1 -1
  47. package/esm/renderers/wrapControl.js +7 -12
  48. package/esm/store/app.js +1 -1
  49. package/esm/store/combo.d.ts +1154 -48
  50. package/esm/store/combo.js +10 -3
  51. package/esm/store/crud.js +22 -3
  52. package/esm/store/form.d.ts +480 -20
  53. package/esm/store/form.js +1 -1
  54. package/esm/store/formItem.d.ts +23 -1
  55. package/esm/store/formItem.js +88 -9
  56. package/esm/store/iRenderer.js +1 -1
  57. package/esm/store/index.js +1 -1
  58. package/esm/store/list.js +1 -1
  59. package/esm/store/manager.js +1 -1
  60. package/esm/store/modal.js +1 -1
  61. package/esm/store/node.js +1 -1
  62. package/esm/store/pagination.js +1 -1
  63. package/esm/store/root.js +1 -1
  64. package/esm/store/service.js +1 -1
  65. package/esm/store/status.js +1 -1
  66. package/esm/store/table.d.ts +1077 -42
  67. package/esm/store/table.js +66 -4
  68. package/esm/store/table2.js +1 -4
  69. package/esm/theme.js +1 -1
  70. package/esm/types.d.ts +8 -2
  71. package/esm/utils/Animation.js +1 -1
  72. package/esm/utils/ColorScale.js +1 -1
  73. package/esm/utils/DataSchema.js +1 -1
  74. package/esm/utils/DataScope.js +1 -1
  75. package/esm/utils/RootClose.js +1 -1
  76. package/esm/utils/SimpleMap.js +1 -1
  77. package/esm/utils/api.js +1 -1
  78. package/esm/utils/arraySlice.js +1 -1
  79. package/esm/utils/attachmentAdpator.js +1 -1
  80. package/esm/utils/autobind.js +1 -1
  81. package/esm/utils/columnsSplit.js +1 -1
  82. package/esm/utils/dataMapping.js +1 -1
  83. package/esm/utils/date.js +1 -1
  84. package/esm/utils/debug.js +1 -1
  85. package/esm/utils/decodeEntity.js +1 -1
  86. package/esm/utils/dom.js +1 -1
  87. package/esm/utils/errors.js +1 -1
  88. package/esm/utils/escapeHtml.js +1 -1
  89. package/esm/utils/filter-schema.js +1 -1
  90. package/esm/utils/filter.js +1 -1
  91. package/esm/utils/formatDuration.js +1 -1
  92. package/esm/utils/formula.js +1 -1
  93. package/esm/utils/getVariable.js +1 -1
  94. package/esm/utils/grammar.js +1 -1
  95. package/esm/utils/handleAction.js +1 -1
  96. package/esm/utils/helper.d.ts +2 -2
  97. package/esm/utils/helper.js +37 -29
  98. package/esm/utils/highlight.js +1 -1
  99. package/esm/utils/icon.js +1 -1
  100. package/esm/utils/image.js +1 -1
  101. package/esm/utils/isPureVariable.js +1 -1
  102. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  103. package/esm/utils/keyToPath.js +1 -1
  104. package/esm/utils/makeSorter.js +1 -1
  105. package/esm/utils/math.js +8 -5
  106. package/esm/utils/memoryParse.js +1 -1
  107. package/esm/utils/normalizeLink.js +1 -1
  108. package/esm/utils/normalizeOptions.js +1 -1
  109. package/esm/utils/object.js +15 -1
  110. package/esm/utils/offset.js +1 -1
  111. package/esm/utils/offsetParent.js +1 -1
  112. package/esm/utils/optionValueCompare.js +1 -1
  113. package/esm/utils/position.js +1 -1
  114. package/esm/utils/prettyBytes.js +1 -1
  115. package/esm/utils/renderer-event.d.ts +7 -0
  116. package/esm/utils/renderer-event.js +30 -18
  117. package/esm/utils/replaceText.js +1 -1
  118. package/esm/utils/resize-sensor.js +1 -1
  119. package/esm/utils/resolveCondition.js +1 -1
  120. package/esm/utils/resolveVariable.js +1 -1
  121. package/esm/utils/resolveVariableAndFilter.js +1 -1
  122. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  123. package/esm/utils/scrollPosition.js +1 -1
  124. package/esm/utils/string2regExp.js +1 -1
  125. package/esm/utils/stripNumber.js +1 -1
  126. package/esm/utils/style-helper.js +8 -13
  127. package/esm/utils/style.js +3 -2
  128. package/esm/utils/toNumber.js +1 -1
  129. package/esm/utils/tokenize.js +1 -1
  130. package/esm/utils/tpl-builtin.js +1 -1
  131. package/esm/utils/tpl-lodash.js +1 -1
  132. package/esm/utils/tpl.js +1 -1
  133. package/esm/utils/uncontrollable.js +1 -1
  134. package/esm/utils/validations.js +1 -1
  135. package/lib/Root.js +1 -1
  136. package/lib/RootRenderer.d.ts +1 -1
  137. package/lib/RootRenderer.js +2 -2
  138. package/lib/SchemaRenderer.js +1 -1
  139. package/lib/Scoped.js +2 -2
  140. package/lib/StatusScoped.js +1 -1
  141. package/lib/WithRootStore.js +1 -1
  142. package/lib/WithStore.js +1 -1
  143. package/lib/actions/Action.js +1 -1
  144. package/lib/actions/AjaxAction.js +1 -1
  145. package/lib/actions/BreakAction.js +1 -1
  146. package/lib/actions/BroadcastAction.js +1 -1
  147. package/lib/actions/CmptAction.js +31 -32
  148. package/lib/actions/ContinueAction.js +1 -1
  149. package/lib/actions/CopyAction.js +1 -1
  150. package/lib/actions/CustomAction.js +1 -1
  151. package/lib/actions/DialogAction.js +1 -1
  152. package/lib/actions/DrawerAction.js +1 -1
  153. package/lib/actions/EmailAction.js +1 -1
  154. package/lib/actions/LinkAction.js +1 -1
  155. package/lib/actions/LoopAction.js +1 -1
  156. package/lib/actions/PageAction.js +1 -1
  157. package/lib/actions/ParallelAction.js +1 -1
  158. package/lib/actions/StatusAction.js +1 -1
  159. package/lib/actions/SwitchAction.js +1 -1
  160. package/lib/actions/ToastAction.js +1 -1
  161. package/lib/components/CustomStyle.js +1 -1
  162. package/lib/components/LazyComponent.js +1 -1
  163. package/lib/components/Overlay.js +1 -1
  164. package/lib/components/PopOver.js +1 -1
  165. package/lib/env.d.ts +9 -0
  166. package/lib/env.js +1 -1
  167. package/lib/envOverwrite.d.ts +1 -1
  168. package/lib/envOverwrite.js +18 -34
  169. package/lib/factory.js +1 -1
  170. package/lib/index.js +3 -3
  171. package/lib/locale.js +1 -1
  172. package/lib/polyfills.js +1 -1
  173. package/lib/renderers/Form.d.ts +9 -3
  174. package/lib/renderers/Form.js +50 -25
  175. package/lib/renderers/Item.js +1 -1
  176. package/lib/renderers/Options.d.ts +1 -1
  177. package/lib/renderers/Options.js +7 -6
  178. package/lib/renderers/Placeholder.js +1 -1
  179. package/lib/renderers/builtin.js +1 -1
  180. package/lib/renderers/register.js +1 -1
  181. package/lib/renderers/wrapControl.js +7 -12
  182. package/lib/store/app.js +1 -1
  183. package/lib/store/combo.d.ts +1154 -49
  184. package/lib/store/combo.js +10 -3
  185. package/lib/store/crud.js +22 -3
  186. package/lib/store/form.d.ts +480 -21
  187. package/lib/store/form.js +1 -1
  188. package/lib/store/formItem.d.ts +23 -1
  189. package/lib/store/formItem.js +89 -9
  190. package/lib/store/iRenderer.js +1 -1
  191. package/lib/store/index.js +1 -1
  192. package/lib/store/list.js +1 -1
  193. package/lib/store/manager.js +1 -1
  194. package/lib/store/modal.js +1 -1
  195. package/lib/store/node.js +1 -1
  196. package/lib/store/pagination.js +1 -1
  197. package/lib/store/root.js +1 -1
  198. package/lib/store/service.js +1 -1
  199. package/lib/store/status.js +1 -1
  200. package/lib/store/table.d.ts +1077 -43
  201. package/lib/store/table.js +65 -3
  202. package/lib/store/table2.js +1 -4
  203. package/lib/theme.js +1 -1
  204. package/lib/types.d.ts +8 -2
  205. package/lib/utils/Animation.js +1 -1
  206. package/lib/utils/ColorScale.js +1 -1
  207. package/lib/utils/DataSchema.js +1 -1
  208. package/lib/utils/DataScope.js +1 -1
  209. package/lib/utils/RootClose.js +1 -1
  210. package/lib/utils/SimpleMap.js +1 -1
  211. package/lib/utils/api.js +1 -1
  212. package/lib/utils/arraySlice.js +1 -1
  213. package/lib/utils/attachmentAdpator.js +1 -1
  214. package/lib/utils/autobind.js +1 -1
  215. package/lib/utils/columnsSplit.js +1 -1
  216. package/lib/utils/dataMapping.js +1 -1
  217. package/lib/utils/date.js +1 -1
  218. package/lib/utils/debug.js +1 -1
  219. package/lib/utils/decodeEntity.js +1 -1
  220. package/lib/utils/dom.js +1 -1
  221. package/lib/utils/errors.js +1 -1
  222. package/lib/utils/escapeHtml.js +1 -1
  223. package/lib/utils/filter-schema.js +1 -1
  224. package/lib/utils/filter.js +1 -1
  225. package/lib/utils/formatDuration.js +1 -1
  226. package/lib/utils/formula.js +1 -1
  227. package/lib/utils/getVariable.js +1 -1
  228. package/lib/utils/grammar.js +1 -1
  229. package/lib/utils/handleAction.js +1 -1
  230. package/lib/utils/helper.d.ts +2 -2
  231. package/lib/utils/helper.js +36 -28
  232. package/lib/utils/highlight.js +1 -1
  233. package/lib/utils/icon.js +1 -1
  234. package/lib/utils/image.js +1 -1
  235. package/lib/utils/isPureVariable.js +1 -1
  236. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  237. package/lib/utils/keyToPath.js +1 -1
  238. package/lib/utils/makeSorter.js +1 -1
  239. package/lib/utils/math.js +8 -5
  240. package/lib/utils/memoryParse.js +1 -1
  241. package/lib/utils/normalizeLink.js +1 -1
  242. package/lib/utils/normalizeOptions.js +1 -1
  243. package/lib/utils/object.js +15 -1
  244. package/lib/utils/offset.js +1 -1
  245. package/lib/utils/offsetParent.js +1 -1
  246. package/lib/utils/optionValueCompare.js +1 -1
  247. package/lib/utils/position.js +1 -1
  248. package/lib/utils/prettyBytes.js +1 -1
  249. package/lib/utils/renderer-event.d.ts +7 -0
  250. package/lib/utils/renderer-event.js +30 -18
  251. package/lib/utils/replaceText.js +1 -1
  252. package/lib/utils/resize-sensor.js +1 -1
  253. package/lib/utils/resolveCondition.js +1 -1
  254. package/lib/utils/resolveVariable.js +1 -1
  255. package/lib/utils/resolveVariableAndFilter.js +1 -1
  256. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  257. package/lib/utils/scrollPosition.js +1 -1
  258. package/lib/utils/string2regExp.js +1 -1
  259. package/lib/utils/stripNumber.js +1 -1
  260. package/lib/utils/style-helper.js +8 -13
  261. package/lib/utils/style.js +3 -2
  262. package/lib/utils/toNumber.js +1 -1
  263. package/lib/utils/tokenize.js +1 -1
  264. package/lib/utils/tpl-builtin.js +1 -1
  265. package/lib/utils/tpl-lodash.js +1 -1
  266. package/lib/utils/tpl.js +1 -1
  267. package/lib/utils/uncontrollable.js +1 -1
  268. package/lib/utils/validations.js +1 -1
  269. package/package.json +3 -3
package/esm/store/form.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.5.3
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -40,6 +40,7 @@ export declare const FormItemStore: import("mobx-state-tree").IModelType<{
40
40
  joinValues: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
41
41
  extractValue: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
42
42
  options: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any[], any[], any[]>, [undefined]>;
43
+ optionsRaw: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any[], any[], any[]>, [undefined]>;
43
44
  expressionsInOptions: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
44
45
  selectFirst: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
45
46
  autoFill: import("mobx-state-tree").IType<any, any, any>;
@@ -55,6 +56,8 @@ export declare const FormItemStore: import("mobx-state-tree").IModelType<{
55
56
  inputGroupControl: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
56
57
  colIndex: import("mobx-state-tree").IType<any, any, any>;
57
58
  rowIndex: import("mobx-state-tree").IType<any, any, any>;
59
+ pagination: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
60
+ accumulatedOptions: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any[], any[], any[]>, [undefined]>;
58
61
  }, {
59
62
  readonly parentStore: any;
60
63
  readonly __: any;
@@ -75,13 +78,21 @@ export declare const FormItemStore: import("mobx-state-tree").IModelType<{
75
78
  readonly valid: boolean;
76
79
  readonly errClassNames: string;
77
80
  readonly lastSelectValue: string;
81
+ /** 数据源接口数据是否开启分页 */
82
+ readonly enableSourcePagination: boolean;
83
+ /** 数据源接口开启分页时当前页码 */
84
+ readonly sourcePageNum: number;
85
+ /** 数据源接口开启分页时每页显示条数 */
86
+ readonly sourcePerPageNum: number;
87
+ /** 数据源接口开启分页时数据总条数 */
88
+ readonly sourceTotalNum: number;
78
89
  getSelectedOptions: (value?: any, nodeValueArray?: any[] | undefined) => any;
79
90
  splitExtraValue(value: any): any[];
80
91
  getMergedData(data: any): any;
81
92
  } & {
82
93
  focus: () => void;
83
94
  blur: () => void;
84
- config: ({ extraName, required, unique, value, isValueSchemaExp, rules, messages, delimiter, multiple, valueField, labelField, joinValues, extractValue, type, id, selectFirst, autoFill, clearValueOnHidden, validateApi, maxLength, minLength, validateOnChange, label, inputGroupControl }: {
95
+ config: ({ extraName, required, unique, value, isValueSchemaExp, rules, messages, delimiter, multiple, valueField, labelField, joinValues, extractValue, type, id, selectFirst, autoFill, clearValueOnHidden, validateApi, maxLength, minLength, validateOnChange, label, inputGroupControl, pagination }: {
85
96
  extraName?: string | undefined;
86
97
  required?: boolean | undefined;
87
98
  unique?: boolean | undefined;
@@ -114,6 +125,11 @@ export declare const FormItemStore: import("mobx-state-tree").IModelType<{
114
125
  name: string;
115
126
  path: string;
116
127
  } | undefined;
128
+ pagination?: {
129
+ enable?: boolean | undefined;
130
+ page?: number | undefined;
131
+ perPage?: number | undefined;
132
+ } | undefined;
117
133
  }) => void;
118
134
  validate: (data: Object, hook?: any, customRules?: {
119
135
  [propName: string]: any;
@@ -124,10 +140,16 @@ export declare const FormItemStore: import("mobx-state-tree").IModelType<{
124
140
  rule: string;
125
141
  })[], tag?: string) => void;
126
142
  clearError: (tag?: string) => void;
143
+ setPagination: (params: {
144
+ page?: number | undefined;
145
+ perPage?: number | undefined;
146
+ total?: number | undefined;
147
+ }) => void;
127
148
  setOptions: (options: Array<object>, onChange?: ((value: any) => void) | undefined, data?: Object) => void;
128
149
  loadOptions: (api: Api, data?: object, config?: (fetchOptions & {
129
150
  extendsOptions?: boolean | undefined;
130
151
  }) | undefined, clearValue?: boolean, onChange?: ((value: any) => void) | undefined, setErrorFlag?: boolean) => Promise<Payload | null>;
152
+ loadOptionsFromDataScope: (source: string, ctx: Record<string, any>, onChange?: ((value: any) => void) | undefined) => any[];
131
153
  deferLoadOptions: (option: any, api: Api, data?: object, config?: fetchOptions | undefined) => Promise<Payload | null>;
132
154
  deferLoadLeftOptions: (option: any, leftOptions: any, api: Api, data?: object, config?: fetchOptions | undefined) => Promise<Payload | null>;
133
155
  expandTreeOptions: (nodePathArr: any[], api: Api, data?: object, config?: fetchOptions | undefined) => Promise<Payload | null | void>;
@@ -1,15 +1,22 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.5.3
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
6
6
  import { __generator, __assign, __values, __spreadArray, __read } from 'tslib';
7
7
  import { types, flow, getEnv, isAlive } from 'mobx-state-tree';
8
8
  import isEqualWith from 'lodash/isEqualWith';
9
+ import uniqWith from 'lodash/uniqWith';
9
10
  import { FormStore } from './form.js';
10
11
  import { validate, str2rules } from '../utils/validations.js';
11
12
  import { ComboStore } from './combo.js';
12
13
  import { evalExpression } from '../utils/tpl.js';
14
+ import 'amis-formula';
15
+ import 'moment';
16
+ import { cloneObject, setVariable, createObject, isObject } from '../utils/object.js';
17
+ import { resolveVariableAndFilter } from '../utils/resolveVariableAndFilter.js';
18
+ import { dataMapping } from '../utils/dataMapping.js';
19
+ import '../utils/filter.js';
13
20
  import { isEffectiveApi, buildApi } from '../utils/api.js';
14
21
  import findIndex from 'lodash/findIndex';
15
22
  import { findTree, spliceTree, flattenTree, findTreeIndex, isObjectShallowModified, filterTree, isArrayChildrenModified, eachTree, mapTree } from '../utils/helper.js';
@@ -21,8 +28,6 @@ import { StoreNode } from './node.js';
21
28
  import { getStoreById } from './manager.js';
22
29
  import { normalizeOptions } from '../utils/normalizeOptions.js';
23
30
  import { getOptionValueBindField, getOptionValue, optionValueCompare } from '../utils/optionValueCompare.js';
24
- import { dataMapping } from '../utils/dataMapping.js';
25
- import { cloneObject, setVariable, createObject, isObject } from '../utils/object.js';
26
31
 
27
32
  var ErrorDetail = types.model('ErrorDetail', {
28
33
  msg: '',
@@ -68,6 +73,7 @@ var FormItemStore = StoreNode.named('FormItemStore')
68
73
  joinValues: true,
69
74
  extractValue: false,
70
75
  options: types.optional(types.frozen(), []),
76
+ optionsRaw: types.optional(types.frozen(), []),
71
77
  expressionsInOptions: false,
72
78
  selectFirst: false,
73
79
  autoFill: types.frozen(),
@@ -83,7 +89,18 @@ var FormItemStore = StoreNode.named('FormItemStore')
83
89
  /** 当前表单项所属的InputGroup父元素, 用于收集InputGroup的子元素 */
84
90
  inputGroupControl: types.optional(types.frozen(), {}),
85
91
  colIndex: types.frozen(),
86
- rowIndex: types.frozen()
92
+ rowIndex: types.frozen(),
93
+ /** Transfer组件分页模式 */
94
+ pagination: types.optional(types.frozen(), {
95
+ enable: false,
96
+ /** 当前页数 */
97
+ page: 1,
98
+ /** 每页显示条数 */
99
+ perPage: 10,
100
+ /** 总条数 */
101
+ total: 0
102
+ }),
103
+ accumulatedOptions: types.optional(types.frozen(), [])
87
104
  })
88
105
  .views(function (self) {
89
106
  function getForm() {
@@ -134,6 +151,25 @@ var FormItemStore = StoreNode.named('FormItemStore')
134
151
  get lastSelectValue() {
135
152
  return getLastOptionValue();
136
153
  },
154
+ /** 数据源接口数据是否开启分页 */
155
+ get enableSourcePagination() {
156
+ return !!self.pagination.enable;
157
+ },
158
+ /** 数据源接口开启分页时当前页码 */
159
+ get sourcePageNum() {
160
+ var _a;
161
+ return (_a = self.pagination.page) !== null && _a !== void 0 ? _a : 1;
162
+ },
163
+ /** 数据源接口开启分页时每页显示条数 */
164
+ get sourcePerPageNum() {
165
+ var _a;
166
+ return (_a = self.pagination.perPage) !== null && _a !== void 0 ? _a : 10;
167
+ },
168
+ /** 数据源接口开启分页时数据总条数 */
169
+ get sourceTotalNum() {
170
+ var _a;
171
+ return (_a = self.pagination.total) !== null && _a !== void 0 ? _a : 0;
172
+ },
137
173
  getSelectedOptions: function (value, nodeValueArray) {
138
174
  if (value === void 0) { value = self.tmpValue; }
139
175
  // 查看是否命中缓存
@@ -221,7 +257,7 @@ var FormItemStore = StoreNode.named('FormItemStore')
221
257
  var dialogCallbacks = new SimpleMap();
222
258
  var loadAutoUpdateCancel = null;
223
259
  function config(_a) {
224
- var extraName = _a.extraName, required = _a.required, unique = _a.unique; _a.value; var isValueSchemaExp = _a.isValueSchemaExp, rules = _a.rules, messages = _a.messages, delimiter = _a.delimiter, multiple = _a.multiple, valueField = _a.valueField, labelField = _a.labelField, joinValues = _a.joinValues, extractValue = _a.extractValue, type = _a.type, id = _a.id, selectFirst = _a.selectFirst, autoFill = _a.autoFill, clearValueOnHidden = _a.clearValueOnHidden, validateApi = _a.validateApi, maxLength = _a.maxLength, minLength = _a.minLength, validateOnChange = _a.validateOnChange, label = _a.label, inputGroupControl = _a.inputGroupControl;
260
+ var extraName = _a.extraName, required = _a.required, unique = _a.unique; _a.value; var isValueSchemaExp = _a.isValueSchemaExp, rules = _a.rules, messages = _a.messages, delimiter = _a.delimiter, multiple = _a.multiple, valueField = _a.valueField, labelField = _a.labelField, joinValues = _a.joinValues, extractValue = _a.extractValue, type = _a.type, id = _a.id, selectFirst = _a.selectFirst, autoFill = _a.autoFill, clearValueOnHidden = _a.clearValueOnHidden, validateApi = _a.validateApi, maxLength = _a.maxLength, minLength = _a.minLength, validateOnChange = _a.validateOnChange, label = _a.label, inputGroupControl = _a.inputGroupControl, pagination = _a.pagination;
225
261
  if (typeof rules === 'string') {
226
262
  rules = str2rules(rules);
227
263
  }
@@ -253,6 +289,14 @@ var FormItemStore = StoreNode.named('FormItemStore')
253
289
  isObject(inputGroupControl) &&
254
290
  (inputGroupControl === null || inputGroupControl === void 0 ? void 0 : inputGroupControl.name) != null &&
255
291
  (self.inputGroupControl = inputGroupControl);
292
+ if (pagination && isObject(pagination) && !!pagination.enable) {
293
+ self.pagination = {
294
+ enable: true,
295
+ page: pagination.page ? pagination.page || 1 : 1,
296
+ perPage: pagination.perPage ? pagination.perPage || 10 : 10,
297
+ total: 0
298
+ };
299
+ }
256
300
  if (typeof rules !== 'undefined' ||
257
301
  typeof required !== 'undefined' ||
258
302
  typeof minLength === 'number' ||
@@ -390,6 +434,12 @@ var FormItemStore = StoreNode.named('FormItemStore')
390
434
  finally { if (e_1) throw e_1.error; }
391
435
  }
392
436
  }
437
+ function setPagination(params) {
438
+ var _a = params || {}, page = _a.page, perPage = _a.perPage, total = _a.total;
439
+ if (self.enableSourcePagination) {
440
+ self.pagination = __assign(__assign(__assign(__assign({}, self.pagination), (page != null && typeof page === 'number' ? { page: page } : {})), (perPage != null && typeof perPage === 'number' ? { perPage: perPage } : {})), (total != null && typeof total === 'number' ? { total: total } : {}));
441
+ }
442
+ }
393
443
  function setOptions(options, onChange, data) {
394
444
  if (!Array.isArray(options)) {
395
445
  return;
@@ -397,6 +447,14 @@ var FormItemStore = StoreNode.named('FormItemStore')
397
447
  options = filterTree(options, function (item) { return item; });
398
448
  var originOptions = self.options.concat();
399
449
  self.options = options;
450
+ /** 开启分页后当前选项内容需要累加 */
451
+ self.accumulatedOptions = self.enableSourcePagination
452
+ ? uniqWith(__spreadArray(__spreadArray([], __read(originOptions), false), __read(options), false), function (lhs, rhs) {
453
+ var _a, _b;
454
+ return lhs[(_a = self.valueField) !== null && _a !== void 0 ? _a : 'value'] ===
455
+ rhs[(_b = self.valueField) !== null && _b !== void 0 ? _b : 'value'];
456
+ })
457
+ : options;
400
458
  syncOptions(originOptions, data);
401
459
  var selectedOptions;
402
460
  if (onChange &&
@@ -486,12 +544,12 @@ var FormItemStore = StoreNode.named('FormItemStore')
486
544
  });
487
545
  var loadOptions = flow(function getInitData(api, data, config, clearValue, onChange, setErrorFlag) {
488
546
  var json, options;
489
- var _a, _b, _c;
490
- return __generator(this, function (_d) {
491
- switch (_d.label) {
547
+ var _a, _b, _c, _d, _e, _f, _g;
548
+ return __generator(this, function (_h) {
549
+ switch (_h.label) {
492
550
  case 0: return [4 /*yield*/, fetchOptions(api, data, config, setErrorFlag)];
493
551
  case 1:
494
- json = _d.sent();
552
+ json = _h.sent();
495
553
  if (!json) {
496
554
  return [2 /*return*/, null];
497
555
  }
@@ -503,6 +561,9 @@ var FormItemStore = StoreNode.named('FormItemStore')
503
561
  json.data ||
504
562
  [];
505
563
  options = normalizeOptions(options, undefined, self.valueField);
564
+ if (self.enableSourcePagination) {
565
+ self.pagination = __assign(__assign({}, self.pagination), { page: parseInt((_d = json.data) === null || _d === void 0 ? void 0 : _d.page, 10) || 1, total: parseInt((_f = (_e = json.data) === null || _e === void 0 ? void 0 : _e.total) !== null && _f !== void 0 ? _f : (_g = json.data) === null || _g === void 0 ? void 0 : _g.count, 10) || 0 });
566
+ }
506
567
  if ((config === null || config === void 0 ? void 0 : config.extendsOptions) && self.selectedOptions.length > 0) {
507
568
  self.selectedOptions.forEach(function (item) {
508
569
  var exited = findTree(options, optionValueCompare(item, self.valueField || 'value'), {
@@ -527,6 +588,22 @@ var FormItemStore = StoreNode.named('FormItemStore')
527
588
  }
528
589
  });
529
590
  });
591
+ /**
592
+ * 从数据域加载选项数据源,注意这里默认source变量解析后是全量的数据源
593
+ */
594
+ function loadOptionsFromDataScope(source, ctx, onChange) {
595
+ var options = resolveVariableAndFilter(source, ctx, '| raw');
596
+ if (!Array.isArray(options)) {
597
+ return [];
598
+ }
599
+ options = normalizeOptions(options, undefined, self.valueField);
600
+ if (self.enableSourcePagination) {
601
+ self.pagination = __assign(__assign(__assign(__assign({}, self.pagination), ((ctx === null || ctx === void 0 ? void 0 : ctx.page) ? { page: ctx === null || ctx === void 0 ? void 0 : ctx.page } : {})), ((ctx === null || ctx === void 0 ? void 0 : ctx.perPage) ? { perPage: ctx === null || ctx === void 0 ? void 0 : ctx.perPage } : {})), { total: options.length });
602
+ options = options.slice((self.pagination.page - 1) * self.pagination.perPage, self.pagination.page * self.pagination.perPage);
603
+ }
604
+ setOptions(options, onChange, ctx);
605
+ return options;
606
+ }
530
607
  var loadAutoUpdateData = flow(function getAutoUpdateData(api, data, silent) {
531
608
  var json, result;
532
609
  var _a, _b;
@@ -948,8 +1025,10 @@ var FormItemStore = StoreNode.named('FormItemStore')
948
1025
  setError: setError,
949
1026
  addError: addError,
950
1027
  clearError: clearError,
1028
+ setPagination: setPagination,
951
1029
  setOptions: setOptions,
952
1030
  loadOptions: loadOptions,
1031
+ loadOptionsFromDataScope: loadOptionsFromDataScope,
953
1032
  deferLoadOptions: deferLoadOptions,
954
1033
  deferLoadLeftOptions: deferLoadLeftOptions,
955
1034
  expandTreeOptions: expandTreeOptions,
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.5.3
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.5.3
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
package/esm/store/list.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.5.3
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.5.3
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.5.3
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
package/esm/store/node.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.5.3
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.5.3
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
package/esm/store/root.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.5.3
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.5.3
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.5.3
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5