amis-core 6.9.0 → 6.10.0-beta.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 (307) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.js +4 -2
  3. package/esm/SchemaRenderer.d.ts +1 -0
  4. package/esm/SchemaRenderer.js +8 -4
  5. package/esm/Scoped.d.ts +1 -1
  6. package/esm/Scoped.js +1 -1
  7. package/esm/StatusScoped.js +1 -1
  8. package/esm/StyleManager.js +1 -1
  9. package/esm/WithRootStore.js +1 -1
  10. package/esm/WithStore.js +1 -1
  11. package/esm/actions/Action.js +4 -1
  12. package/esm/actions/AjaxAction.js +1 -1
  13. package/esm/actions/BreakAction.js +1 -1
  14. package/esm/actions/BroadcastAction.d.ts +1 -1
  15. package/esm/actions/BroadcastAction.js +6 -6
  16. package/esm/actions/CmptAction.d.ts +1 -0
  17. package/esm/actions/CmptAction.js +51 -51
  18. package/esm/actions/ContinueAction.js +1 -1
  19. package/esm/actions/CopyAction.js +1 -1
  20. package/esm/actions/CustomAction.js +1 -1
  21. package/esm/actions/DialogAction.js +1 -1
  22. package/esm/actions/DrawerAction.js +1 -1
  23. package/esm/actions/EmailAction.js +1 -1
  24. package/esm/actions/EventAction.js +1 -1
  25. package/esm/actions/LinkAction.js +1 -1
  26. package/esm/actions/LoopAction.js +1 -1
  27. package/esm/actions/PageAction.js +1 -1
  28. package/esm/actions/ParallelAction.js +1 -1
  29. package/esm/actions/PrintAction.js +1 -1
  30. package/esm/actions/StatusAction.js +1 -1
  31. package/esm/actions/SwitchAction.js +1 -1
  32. package/esm/actions/ToastAction.js +1 -1
  33. package/esm/actions/WaitAction.js +1 -1
  34. package/esm/components/CustomStyle.js +1 -1
  35. package/esm/components/ErrorBoundary.js +1 -1
  36. package/esm/components/LazyComponent.js +1 -1
  37. package/esm/components/Overlay.js +13 -16
  38. package/esm/components/PopOver.js +2 -2
  39. package/esm/env.js +1 -1
  40. package/esm/envOverwrite.js +1 -1
  41. package/esm/factory.d.ts +1 -1
  42. package/esm/factory.js +5 -3
  43. package/esm/index.d.ts +4 -3
  44. package/esm/index.js +10 -9
  45. package/esm/locale.js +1 -1
  46. package/esm/polyfills.js +1 -1
  47. package/esm/renderers/Form.js +1 -1
  48. package/esm/renderers/Item.d.ts +1 -0
  49. package/esm/renderers/Item.js +2 -2
  50. package/esm/renderers/Options.d.ts +46 -1
  51. package/esm/renderers/Options.js +921 -914
  52. package/esm/renderers/Placeholder.js +1 -1
  53. package/esm/renderers/builtin.js +1 -1
  54. package/esm/renderers/register.js +1 -1
  55. package/esm/renderers/wrapControl.d.ts +2 -1
  56. package/esm/renderers/wrapControl.js +3 -3
  57. package/esm/store/app.js +1 -1
  58. package/esm/store/combo.js +1 -1
  59. package/esm/store/crud.d.ts +4 -2
  60. package/esm/store/crud.js +39 -141
  61. package/esm/store/form.js +1 -1
  62. package/esm/store/formItem.js +2 -2
  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.js +1 -1
  74. package/esm/store/table2.js +1 -1
  75. package/esm/theme.js +1 -1
  76. package/esm/utils/Animation.js +1 -1
  77. package/esm/utils/ColorScale.js +1 -1
  78. package/esm/utils/DataSchema.js +1 -1
  79. package/esm/utils/DataScope.js +1 -1
  80. package/esm/utils/RootClose.js +1 -1
  81. package/esm/utils/SimpleMap.js +1 -1
  82. package/esm/utils/animations.js +1 -1
  83. package/esm/utils/api.d.ts +2 -1
  84. package/esm/utils/api.js +6 -4
  85. package/esm/utils/arraySlice.js +1 -1
  86. package/esm/utils/attachmentAdpator.js +4 -1
  87. package/esm/utils/autobind.js +1 -1
  88. package/esm/utils/browser.js +1 -1
  89. package/esm/utils/columnsSplit.js +1 -1
  90. package/esm/utils/concatData.js +1 -1
  91. package/esm/utils/dataMapping.js +1 -1
  92. package/esm/utils/date.js +1 -1
  93. package/esm/utils/debug.d.ts +3 -3
  94. package/esm/utils/debug.js +104 -37
  95. package/esm/utils/decodeEntity.js +1 -1
  96. package/esm/utils/dom.js +1 -1
  97. package/esm/utils/errors.js +1 -1
  98. package/esm/utils/escapeHtml.js +1 -1
  99. package/esm/utils/filter-schema.js +1 -1
  100. package/esm/utils/filter.js +1 -1
  101. package/esm/utils/formatDuration.js +1 -1
  102. package/esm/utils/formula.js +1 -1
  103. package/esm/utils/getVariable.js +1 -1
  104. package/esm/utils/grammar.js +1 -1
  105. package/esm/utils/handleAction.js +1 -1
  106. package/esm/utils/helper.d.ts +7 -0
  107. package/esm/utils/helper.js +87 -2
  108. package/esm/utils/highlight.js +1 -1
  109. package/esm/utils/icon.js +1 -1
  110. package/esm/utils/image.js +1 -1
  111. package/esm/utils/index.d.ts +1 -0
  112. package/esm/utils/isPureVariable.js +1 -1
  113. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  114. package/esm/utils/keyToPath.js +1 -1
  115. package/esm/utils/labelToString.js +1 -1
  116. package/esm/utils/loopTooMuch.d.ts +1 -0
  117. package/esm/utils/loopTooMuch.js +27 -0
  118. package/esm/utils/makeSorter.js +1 -1
  119. package/esm/utils/math.js +1 -1
  120. package/esm/utils/memoryParse.js +1 -1
  121. package/esm/utils/normalizeLink.js +1 -1
  122. package/esm/utils/normalizeOptions.js +1 -1
  123. package/esm/utils/object.js +1 -1
  124. package/esm/utils/offset.js +1 -1
  125. package/esm/utils/offsetParent.js +1 -1
  126. package/esm/utils/optionValueCompare.js +1 -1
  127. package/esm/utils/position.js +11 -6
  128. package/esm/utils/prettyBytes.js +1 -1
  129. package/esm/utils/printElement.js +1 -1
  130. package/esm/utils/renderer-event.d.ts +4 -0
  131. package/esm/utils/renderer-event.js +97 -11
  132. package/esm/utils/replaceText.js +1 -1
  133. package/esm/utils/resize-sensor.js +1 -1
  134. package/esm/utils/resolveCondition.js +1 -1
  135. package/esm/utils/resolveVariable.js +1 -1
  136. package/esm/utils/resolveVariableAndFilter.js +1 -1
  137. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  138. package/esm/utils/scrollPosition.js +1 -1
  139. package/esm/utils/string2regExp.js +1 -1
  140. package/esm/utils/stripNumber.js +1 -1
  141. package/esm/utils/style-helper.js +1 -1
  142. package/esm/utils/style.js +1 -1
  143. package/esm/utils/toNumber.js +1 -1
  144. package/esm/utils/tokenize.js +1 -1
  145. package/esm/utils/tpl-builtin.js +1 -1
  146. package/esm/utils/tpl-lodash.js +1 -1
  147. package/esm/utils/tpl.js +1 -1
  148. package/esm/utils/uncontrollable.js +1 -1
  149. package/esm/utils/validateId.js +1 -1
  150. package/esm/utils/validations.js +5 -3
  151. package/esm/utils/visitedCache.js +1 -1
  152. package/lib/Root.js +1 -1
  153. package/lib/RootRenderer.d.ts +1 -1
  154. package/lib/RootRenderer.js +4 -2
  155. package/lib/SchemaRenderer.d.ts +1 -0
  156. package/lib/SchemaRenderer.js +7 -3
  157. package/lib/Scoped.d.ts +1 -1
  158. package/lib/Scoped.js +1 -1
  159. package/lib/StatusScoped.js +1 -1
  160. package/lib/StyleManager.js +1 -1
  161. package/lib/WithRootStore.js +1 -1
  162. package/lib/WithStore.js +1 -1
  163. package/lib/actions/Action.js +4 -1
  164. package/lib/actions/AjaxAction.js +1 -1
  165. package/lib/actions/BreakAction.js +1 -1
  166. package/lib/actions/BroadcastAction.d.ts +1 -1
  167. package/lib/actions/BroadcastAction.js +5 -5
  168. package/lib/actions/CmptAction.d.ts +1 -0
  169. package/lib/actions/CmptAction.js +50 -50
  170. package/lib/actions/ContinueAction.js +1 -1
  171. package/lib/actions/CopyAction.js +1 -1
  172. package/lib/actions/CustomAction.js +1 -1
  173. package/lib/actions/DialogAction.js +1 -1
  174. package/lib/actions/DrawerAction.js +1 -1
  175. package/lib/actions/EmailAction.js +1 -1
  176. package/lib/actions/EventAction.js +1 -1
  177. package/lib/actions/LinkAction.js +1 -1
  178. package/lib/actions/LoopAction.js +1 -1
  179. package/lib/actions/PageAction.js +1 -1
  180. package/lib/actions/ParallelAction.js +1 -1
  181. package/lib/actions/PrintAction.js +1 -1
  182. package/lib/actions/StatusAction.js +1 -1
  183. package/lib/actions/SwitchAction.js +1 -1
  184. package/lib/actions/ToastAction.js +1 -1
  185. package/lib/actions/WaitAction.js +1 -1
  186. package/lib/components/CustomStyle.js +1 -1
  187. package/lib/components/ErrorBoundary.js +1 -1
  188. package/lib/components/LazyComponent.js +1 -1
  189. package/lib/components/Overlay.js +11 -14
  190. package/lib/components/PopOver.js +2 -2
  191. package/lib/env.js +1 -1
  192. package/lib/envOverwrite.js +1 -1
  193. package/lib/factory.d.ts +1 -1
  194. package/lib/factory.js +5 -3
  195. package/lib/index.d.ts +4 -3
  196. package/lib/index.js +14 -5
  197. package/lib/locale.js +1 -1
  198. package/lib/polyfills.js +1 -1
  199. package/lib/renderers/Form.js +1 -1
  200. package/lib/renderers/Item.d.ts +1 -0
  201. package/lib/renderers/Item.js +2 -2
  202. package/lib/renderers/Options.d.ts +46 -1
  203. package/lib/renderers/Options.js +920 -912
  204. package/lib/renderers/Placeholder.js +1 -1
  205. package/lib/renderers/builtin.js +1 -1
  206. package/lib/renderers/register.js +1 -1
  207. package/lib/renderers/wrapControl.d.ts +2 -1
  208. package/lib/renderers/wrapControl.js +3 -3
  209. package/lib/store/app.js +1 -1
  210. package/lib/store/combo.d.ts +25 -24
  211. package/lib/store/combo.js +1 -1
  212. package/lib/store/crud.d.ts +4 -2
  213. package/lib/store/crud.js +37 -139
  214. package/lib/store/form.d.ts +11 -10
  215. package/lib/store/form.js +1 -1
  216. package/lib/store/formItem.js +2 -2
  217. package/lib/store/iRenderer.js +1 -1
  218. package/lib/store/index.js +1 -1
  219. package/lib/store/list.js +1 -1
  220. package/lib/store/manager.js +1 -1
  221. package/lib/store/modal.js +1 -1
  222. package/lib/store/node.js +1 -1
  223. package/lib/store/pagination.js +1 -1
  224. package/lib/store/root.js +1 -1
  225. package/lib/store/service.js +1 -1
  226. package/lib/store/status.js +1 -1
  227. package/lib/store/table.d.ts +21 -20
  228. package/lib/store/table.js +1 -1
  229. package/lib/store/table2.js +1 -1
  230. package/lib/theme.js +1 -1
  231. package/lib/utils/Animation.js +1 -1
  232. package/lib/utils/ColorScale.js +1 -1
  233. package/lib/utils/DataSchema.js +1 -1
  234. package/lib/utils/DataScope.js +1 -1
  235. package/lib/utils/RootClose.js +1 -1
  236. package/lib/utils/SimpleMap.js +1 -1
  237. package/lib/utils/animations.js +1 -1
  238. package/lib/utils/api.d.ts +2 -1
  239. package/lib/utils/api.js +5 -2
  240. package/lib/utils/arraySlice.js +1 -1
  241. package/lib/utils/attachmentAdpator.js +4 -1
  242. package/lib/utils/autobind.js +1 -1
  243. package/lib/utils/browser.js +1 -1
  244. package/lib/utils/columnsSplit.js +1 -1
  245. package/lib/utils/concatData.js +1 -1
  246. package/lib/utils/dataMapping.js +1 -1
  247. package/lib/utils/date.js +1 -1
  248. package/lib/utils/debug.d.ts +3 -3
  249. package/lib/utils/debug.js +103 -36
  250. package/lib/utils/decodeEntity.js +1 -1
  251. package/lib/utils/dom.js +1 -1
  252. package/lib/utils/errors.js +1 -1
  253. package/lib/utils/escapeHtml.js +1 -1
  254. package/lib/utils/filter-schema.js +1 -1
  255. package/lib/utils/filter.js +1 -1
  256. package/lib/utils/formatDuration.js +1 -1
  257. package/lib/utils/formula.js +1 -1
  258. package/lib/utils/getVariable.js +1 -1
  259. package/lib/utils/grammar.js +1 -1
  260. package/lib/utils/handleAction.js +1 -1
  261. package/lib/utils/helper.d.ts +7 -0
  262. package/lib/utils/helper.js +87 -1
  263. package/lib/utils/highlight.js +1 -1
  264. package/lib/utils/icon.js +1 -1
  265. package/lib/utils/image.js +1 -1
  266. package/lib/utils/index.d.ts +1 -0
  267. package/lib/utils/isPureVariable.js +1 -1
  268. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  269. package/lib/utils/keyToPath.js +1 -1
  270. package/lib/utils/labelToString.js +1 -1
  271. package/lib/utils/loopTooMuch.d.ts +1 -0
  272. package/lib/utils/loopTooMuch.js +31 -0
  273. package/lib/utils/makeSorter.js +1 -1
  274. package/lib/utils/math.js +1 -1
  275. package/lib/utils/memoryParse.js +1 -1
  276. package/lib/utils/normalizeLink.js +1 -1
  277. package/lib/utils/normalizeOptions.js +1 -1
  278. package/lib/utils/object.js +1 -1
  279. package/lib/utils/offset.js +1 -1
  280. package/lib/utils/offsetParent.js +1 -1
  281. package/lib/utils/optionValueCompare.js +1 -1
  282. package/lib/utils/position.js +11 -6
  283. package/lib/utils/prettyBytes.js +1 -1
  284. package/lib/utils/printElement.js +1 -1
  285. package/lib/utils/renderer-event.d.ts +4 -0
  286. package/lib/utils/renderer-event.js +99 -10
  287. package/lib/utils/replaceText.js +1 -1
  288. package/lib/utils/resize-sensor.js +1 -1
  289. package/lib/utils/resolveCondition.js +1 -1
  290. package/lib/utils/resolveVariable.js +1 -1
  291. package/lib/utils/resolveVariableAndFilter.js +1 -1
  292. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  293. package/lib/utils/scrollPosition.js +1 -1
  294. package/lib/utils/string2regExp.js +1 -1
  295. package/lib/utils/stripNumber.js +1 -1
  296. package/lib/utils/style-helper.js +1 -1
  297. package/lib/utils/style.js +1 -1
  298. package/lib/utils/toNumber.js +1 -1
  299. package/lib/utils/tokenize.js +1 -1
  300. package/lib/utils/tpl-builtin.js +1 -1
  301. package/lib/utils/tpl-lodash.js +1 -1
  302. package/lib/utils/tpl.js +1 -1
  303. package/lib/utils/uncontrollable.js +1 -1
  304. package/lib/utils/validateId.js +1 -1
  305. package/lib/utils/validations.js +5 -3
  306. package/lib/utils/visitedCache.js +1 -1
  307. package/package.json +5 -4
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -3,6 +3,7 @@ import { IFormStore, IFormItemStore } from '../store/form';
3
3
  import { RendererProps } from '../factory';
4
4
  import { IIRendererStore } from '../store';
5
5
  import hoistNonReactStatic from 'hoist-non-react-statics';
6
+ import { FormItemConfig } from './Item';
6
7
  import { Api, DataChangeReason } from '../types';
7
8
  export interface ControlOutterProps extends RendererProps {
8
9
  formStore?: IFormStore;
@@ -49,7 +50,7 @@ export interface ControlProps {
49
50
  onChange?: (value: any, name: string, submit: boolean) => void;
50
51
  store: IIRendererStore;
51
52
  }
52
- export declare function wrapControl<T extends React.ComponentType<React.ComponentProps<T> & ControlProps>>(ComposedComponent: T): {
53
+ export declare function wrapControl<T extends React.ComponentType<React.ComponentProps<T> & ControlProps>>(config: Omit<FormItemConfig, 'component'>, ComposedComponent: T): {
53
54
  new (props: Omit<any, "rootStore">): {
54
55
  ref: any;
55
56
  getWrappedInstance(): any;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -72,7 +72,7 @@ var pick__default = /*#__PURE__*/_interopDefaultLegacy(pick);
72
72
  var __react_jsx__ = require('react');
73
73
  var _J$X_ = (__react_jsx__["default"] || __react_jsx__).createElement;
74
74
  (__react_jsx__["default"] || __react_jsx__).Fragment;
75
- function wrapControl(ComposedComponent) {
75
+ function wrapControl(config, ComposedComponent) {
76
76
  var _a;
77
77
  var result = hoistNonReactStatic__default["default"](WithRootStore.withRootStore(mobxReact.observer((_a = /** @class */ (function (_super) {
78
78
  tslib.__extends(class_1, _super);
@@ -109,7 +109,7 @@ function wrapControl(ComposedComponent) {
109
109
  var model = rootStore.addStore({
110
110
  id: helper.guid(),
111
111
  path: _this.props.$path,
112
- storeType: formItem.FormItemStore.name,
112
+ storeType: config.formItemStoreType || formItem.FormItemStore.name,
113
113
  parentId: store === null || store === void 0 ? void 0 : store.id,
114
114
  name: name,
115
115
  colIndex: colIndex !== undefined ? colIndex : undefined,
package/lib/store/app.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,3 +1,4 @@
1
+ /// <reference types="lodash" />
1
2
  import { SnapshotIn, Instance } from 'mobx-state-tree';
2
3
  import type { IFormStore, IFormItemStore } from './form';
3
4
  export declare const UniqueGroup: import("mobx-state-tree").IModelType<{
@@ -171,7 +172,7 @@ export declare const UniqueGroup: import("mobx-state-tree").IModelType<{
171
172
  closeDialog: (confirmed?: any, result?: any) => void;
172
173
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
173
174
  closePopOver: (confirmed?: any, result?: any) => void;
174
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
175
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
175
176
  changeEmitedValue: (value: any) => void;
176
177
  addSubFormItem: (item: {
177
178
  id: string;
@@ -706,7 +707,7 @@ export declare const UniqueGroup: import("mobx-state-tree").IModelType<{
706
707
  closeDialog: (confirmed?: any, result?: any) => void;
707
708
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
708
709
  closePopOver: (confirmed?: any, result?: any) => void;
709
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
710
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
710
711
  changeEmitedValue: (value: any) => void;
711
712
  addSubFormItem: (item: {
712
713
  id: string;
@@ -1275,7 +1276,7 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
1275
1276
  closeDialog: (confirmed?: any, result?: any) => void;
1276
1277
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
1277
1278
  closePopOver: (confirmed?: any, result?: any) => void;
1278
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
1279
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
1279
1280
  changeEmitedValue: (value: any) => void;
1280
1281
  addSubFormItem: (item: {
1281
1282
  id: string;
@@ -1810,7 +1811,7 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
1810
1811
  closeDialog: (confirmed?: any, result?: any) => void;
1811
1812
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
1812
1813
  closePopOver: (confirmed?: any, result?: any) => void;
1813
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
1814
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
1814
1815
  changeEmitedValue: (value: any) => void;
1815
1816
  addSubFormItem: (item: {
1816
1817
  id: string;
@@ -2470,7 +2471,7 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
2470
2471
  closeDialog: (confirmed?: any, result?: any) => void;
2471
2472
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
2472
2473
  closePopOver: (confirmed?: any, result?: any) => void;
2473
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
2474
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
2474
2475
  changeEmitedValue: (value: any) => void;
2475
2476
  addSubFormItem: (item: {
2476
2477
  id: string;
@@ -3005,7 +3006,7 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
3005
3006
  closeDialog: (confirmed?: any, result?: any) => void;
3006
3007
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
3007
3008
  closePopOver: (confirmed?: any, result?: any) => void;
3008
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
3009
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
3009
3010
  changeEmitedValue: (value: any) => void;
3010
3011
  addSubFormItem: (item: {
3011
3012
  id: string;
@@ -3544,7 +3545,7 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
3544
3545
  closeDialog: (confirmed?: any, result?: any) => void;
3545
3546
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
3546
3547
  closePopOver: (confirmed?: any, result?: any) => void;
3547
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
3548
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
3548
3549
  changeEmitedValue: (value: any) => void;
3549
3550
  addSubFormItem: (item: {
3550
3551
  id: string;
@@ -4079,7 +4080,7 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
4079
4080
  closeDialog: (confirmed?: any, result?: any) => void;
4080
4081
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
4081
4082
  closePopOver: (confirmed?: any, result?: any) => void;
4082
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
4083
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
4083
4084
  changeEmitedValue: (value: any) => void;
4084
4085
  addSubFormItem: (item: {
4085
4086
  id: string;
@@ -4623,7 +4624,7 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
4623
4624
  closeDialog: (confirmed?: any, result?: any) => void;
4624
4625
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
4625
4626
  closePopOver: (confirmed?: any, result?: any) => void;
4626
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
4627
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
4627
4628
  changeEmitedValue: (value: any) => void;
4628
4629
  addSubFormItem: (item: {
4629
4630
  id: string;
@@ -5158,7 +5159,7 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
5158
5159
  closeDialog: (confirmed?: any, result?: any) => void;
5159
5160
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
5160
5161
  closePopOver: (confirmed?: any, result?: any) => void;
5161
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
5162
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
5162
5163
  changeEmitedValue: (value: any) => void;
5163
5164
  addSubFormItem: (item: {
5164
5165
  id: string;
@@ -5697,7 +5698,7 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
5697
5698
  closeDialog: (confirmed?: any, result?: any) => void;
5698
5699
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
5699
5700
  closePopOver: (confirmed?: any, result?: any) => void;
5700
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
5701
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
5701
5702
  changeEmitedValue: (value: any) => void;
5702
5703
  addSubFormItem: (item: {
5703
5704
  id: string;
@@ -6232,7 +6233,7 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
6232
6233
  closeDialog: (confirmed?: any, result?: any) => void;
6233
6234
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
6234
6235
  closePopOver: (confirmed?: any, result?: any) => void;
6235
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
6236
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
6236
6237
  changeEmitedValue: (value: any) => void;
6237
6238
  addSubFormItem: (item: {
6238
6239
  id: string;
@@ -6771,7 +6772,7 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
6771
6772
  closeDialog: (confirmed?: any, result?: any) => void;
6772
6773
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
6773
6774
  closePopOver: (confirmed?: any, result?: any) => void;
6774
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
6775
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
6775
6776
  changeEmitedValue: (value: any) => void;
6776
6777
  addSubFormItem: (item: {
6777
6778
  id: string;
@@ -7306,7 +7307,7 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
7306
7307
  closeDialog: (confirmed?: any, result?: any) => void;
7307
7308
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
7308
7309
  closePopOver: (confirmed?: any, result?: any) => void;
7309
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
7310
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
7310
7311
  changeEmitedValue: (value: any) => void;
7311
7312
  addSubFormItem: (item: {
7312
7313
  id: string;
@@ -7968,7 +7969,7 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
7968
7969
  closeDialog: (confirmed?: any, result?: any) => void;
7969
7970
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
7970
7971
  closePopOver: (confirmed?: any, result?: any) => void;
7971
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
7972
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
7972
7973
  changeEmitedValue: (value: any) => void;
7973
7974
  addSubFormItem: (item: {
7974
7975
  id: string;
@@ -8503,7 +8504,7 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
8503
8504
  closeDialog: (confirmed?: any, result?: any) => void;
8504
8505
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
8505
8506
  closePopOver: (confirmed?: any, result?: any) => void;
8506
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
8507
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
8507
8508
  changeEmitedValue: (value: any) => void;
8508
8509
  addSubFormItem: (item: {
8509
8510
  id: string;
@@ -9042,7 +9043,7 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
9042
9043
  closeDialog: (confirmed?: any, result?: any) => void;
9043
9044
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
9044
9045
  closePopOver: (confirmed?: any, result?: any) => void;
9045
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
9046
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
9046
9047
  changeEmitedValue: (value: any) => void;
9047
9048
  addSubFormItem: (item: {
9048
9049
  id: string;
@@ -9577,7 +9578,7 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
9577
9578
  closeDialog: (confirmed?: any, result?: any) => void;
9578
9579
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
9579
9580
  closePopOver: (confirmed?: any, result?: any) => void;
9580
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
9581
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
9581
9582
  changeEmitedValue: (value: any) => void;
9582
9583
  addSubFormItem: (item: {
9583
9584
  id: string;
@@ -10121,7 +10122,7 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
10121
10122
  closeDialog: (confirmed?: any, result?: any) => void;
10122
10123
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
10123
10124
  closePopOver: (confirmed?: any, result?: any) => void;
10124
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
10125
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
10125
10126
  changeEmitedValue: (value: any) => void;
10126
10127
  addSubFormItem: (item: {
10127
10128
  id: string;
@@ -10656,7 +10657,7 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
10656
10657
  closeDialog: (confirmed?: any, result?: any) => void;
10657
10658
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
10658
10659
  closePopOver: (confirmed?: any, result?: any) => void;
10659
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
10660
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
10660
10661
  changeEmitedValue: (value: any) => void;
10661
10662
  addSubFormItem: (item: {
10662
10663
  id: string;
@@ -11195,7 +11196,7 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
11195
11196
  closeDialog: (confirmed?: any, result?: any) => void;
11196
11197
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
11197
11198
  closePopOver: (confirmed?: any, result?: any) => void;
11198
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
11199
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
11199
11200
  changeEmitedValue: (value: any) => void;
11200
11201
  addSubFormItem: (item: {
11201
11202
  id: string;
@@ -11730,7 +11731,7 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
11730
11731
  closeDialog: (confirmed?: any, result?: any) => void;
11731
11732
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
11732
11733
  closePopOver: (confirmed?: any, result?: any) => void;
11733
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
11734
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
11734
11735
  changeEmitedValue: (value: any) => void;
11735
11736
  addSubFormItem: (item: {
11736
11737
  id: string;
@@ -12269,7 +12270,7 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
12269
12270
  closeDialog: (confirmed?: any, result?: any) => void;
12270
12271
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
12271
12272
  closePopOver: (confirmed?: any, result?: any) => void;
12272
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
12273
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
12273
12274
  changeEmitedValue: (value: any) => void;
12274
12275
  addSubFormItem: (item: {
12275
12276
  id: string;
@@ -12804,7 +12805,7 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
12804
12805
  closeDialog: (confirmed?: any, result?: any) => void;
12805
12806
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
12806
12807
  closePopOver: (confirmed?: any, result?: any) => void;
12807
- changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
12808
+ changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
12808
12809
  changeEmitedValue: (value: any) => void;
12809
12810
  addSubFormItem: (item: {
12810
12811
  id: string;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -127,6 +127,8 @@ export declare const CRUDStore: import("mobx-state-tree").IModelType<{
127
127
  loadDataMode?: boolean;
128
128
  syncResponse2Query?: boolean;
129
129
  columns?: Array<any>;
130
+ matchFunc?: MatchFunc;
131
+ filterOnAllColumns?: boolean;
130
132
  isTable2?: Boolean;
131
133
  }) => Promise<any>;
132
134
  changePage: (page: number | string, perPage?: number | string) => void;
@@ -139,8 +141,8 @@ export declare const CRUDStore: import("mobx-state-tree").IModelType<{
139
141
  setUnSelectedItems: (items: Array<any>) => void;
140
142
  setInnerModalOpened: (value: boolean) => void;
141
143
  initFromScope: (scope: any, source: string, options: {
142
- columns?: any[] | undefined;
143
- matchFunc?: MatchFunc | null | undefined;
144
+ columns?: Array<any>;
145
+ matchFunc?: MatchFunc | null;
144
146
  }) => void;
145
147
  exportAsCSV: (options?: {
146
148
  loadDataOnce?: boolean | undefined;
package/lib/store/crud.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -18,12 +18,10 @@ require('moment');
18
18
  var object = require('../utils/object.js');
19
19
  require('../utils/memoryParse.js');
20
20
  require('@rc-component/mini-decimal');
21
- var getVariable = require('../utils/getVariable.js');
22
21
  var resolveVariableAndFilter = require('../utils/resolveVariableAndFilter.js');
23
22
  require('lodash/isPlainObject');
24
23
  require('../utils/filter.js');
25
24
  var api = require('../utils/api.js');
26
- var matchSorter = require('match-sorter');
27
25
  var tpl = require('../utils/tpl.js');
28
26
  var table = require('./table.js');
29
27
 
@@ -132,7 +130,7 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
132
130
  }
133
131
  }
134
132
  var fetchInitData = mobxStateTree.flow(function getInitData(api$1, data, options) {
135
- var matchFunc, items_1, dir, data_1, ctx, json, result, total, count, page, hasNext, oItems, oRows, columns, rest, items, _a, _b, key, rowsData, data_2, filteredItems_1, dir, e_1, env;
133
+ 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
134
  var _c, e_2, _d;
137
135
  var _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
138
136
  if (options === void 0) { options = {}; }
@@ -140,61 +138,26 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
140
138
  switch (_q.label) {
141
139
  case 0:
142
140
  _q.trys.push([0, 2, , 3]);
143
- if (!options.forceReload && options.loadDataOnce && self.total) {
141
+ rawItems = options.source
142
+ ? resolveVariableAndFilter.resolveVariableAndFilter(options.source, object.createObject(self.mergedData, {
143
+ items: self.data.itemsRaw,
144
+ rows: self.data.itemsRaw
145
+ }), '| raw')
146
+ : self.items.concat();
147
+ if (!options.forceReload && options.loadDataOnce && (rawItems === null || rawItems === void 0 ? void 0 : rawItems.length)) {
144
148
  matchFunc = options.matchFunc;
145
- items_1 = options.source
146
- ? resolveVariableAndFilter.resolveVariableAndFilter(options.source, object.createObject(self.mergedData, {
147
- items: self.data.itemsRaw,
148
- rows: self.data.itemsRaw
149
- }), '| raw')
150
- : self.items.concat();
151
- /** 字段的格式类型无法穷举,所以支持使用函数过滤 */
152
- if (matchFunc && typeof matchFunc === 'function') {
153
- items_1 = matchFunc(items_1, self.data.itemsRaw, {
154
- query: self.query,
155
- columns: options.columns,
156
- matchSorter: matchSorter.matchSorter
157
- });
158
- }
159
- else {
160
- if (Array.isArray(options.columns)) {
161
- options.columns.forEach(function (column) {
162
- var value = typeof column.name === 'string'
163
- ? getVariable.getVariable(self.query, column.name)
164
- : undefined;
165
- var key = column.name;
166
- if (value != null && key) {
167
- // value可能为null、undefined、''、0
168
- if (Array.isArray(value)) {
169
- if (value.length > 0) {
170
- var arr_1 = tslib.__spreadArray([], tslib.__read(items_1), false);
171
- var arrItems_1 = [];
172
- value.forEach(function (item) {
173
- arrItems_1 = tslib.__spreadArray(tslib.__spreadArray([], tslib.__read(arrItems_1), false), tslib.__read(matchSorter.matchSorter(arr_1, item, {
174
- keys: [key],
175
- threshold: matchSorter.matchSorter.rankings.CONTAINS
176
- })), false);
177
- });
178
- items_1 = items_1.filter(function (item) {
179
- return arrItems_1.find(function (a) { return a === item; });
180
- });
181
- }
182
- }
183
- else {
184
- items_1 = matchSorter.matchSorter(items_1, value, {
185
- keys: [key],
186
- threshold: matchSorter.matchSorter.rankings.CONTAINS
187
- });
188
- }
189
- }
190
- });
191
- }
192
- }
149
+ items = rawItems;
150
+ items = helper.applyFilters(items, {
151
+ query: self.query,
152
+ columns: options.columns,
153
+ matchFunc: matchFunc,
154
+ filterOnAllColumns: options.filterOnAllColumns
155
+ });
193
156
  if (self.query.orderBy) {
194
157
  dir = /desc/i.test(self.query.orderDir) ? -1 : 1;
195
- items_1 = helper.sortArray(items_1, self.query.orderBy, dir);
158
+ items = helper.sortArray(items, self.query.orderBy, dir);
196
159
  }
197
- data_1 = tslib.__assign(tslib.__assign({}, self.data), { total: items_1.length, items: items_1.slice((self.page - 1) * self.perPage, self.page * self.perPage) });
160
+ data_1 = tslib.__assign(tslib.__assign({}, self.data), { total: items.length, items: items.slice((self.page - 1) * self.perPage, self.page * self.perPage) });
198
161
  self.total = parseInt((_e = data_1.total) !== null && _e !== void 0 ? _e : data_1.count, 10) || 0;
199
162
  self.reInitData(data_1);
200
163
  return [2 /*return*/];
@@ -284,44 +247,18 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
284
247
  * 2. 接口返回中没有 items 和 rows 字段,则直接用查到的数据。
285
248
  */
286
249
  data_2.itemsRaw = oItems || oRows || rowsData.concat();
287
- filteredItems_1 = rowsData.concat();
288
- if (Array.isArray(options.columns)) {
289
- options.columns.forEach(function (column) {
290
- var value;
291
- var key = column.name;
292
- if (column.searchable &&
293
- key &&
294
- (value = getVariable.getVariable(self.query, key))) {
295
- if (Array.isArray(value)) {
296
- if (value.length > 0) {
297
- var arr_2 = tslib.__spreadArray([], tslib.__read(filteredItems_1), false);
298
- var arrItems_2 = [];
299
- value.forEach(function (item) {
300
- arrItems_2 = tslib.__spreadArray(tslib.__spreadArray([], tslib.__read(arrItems_2), false), tslib.__read(matchSorter.matchSorter(arr_2, item, {
301
- keys: [key],
302
- threshold: matchSorter.matchSorter.rankings.CONTAINS
303
- })), false);
304
- });
305
- filteredItems_1 = filteredItems_1.filter(function (item) {
306
- return arrItems_2.find(function (a) { return a === item; });
307
- });
308
- }
309
- }
310
- else {
311
- filteredItems_1 = matchSorter.matchSorter(filteredItems_1, value, {
312
- keys: [key],
313
- threshold: matchSorter.matchSorter.rankings.CONTAINS
314
- });
315
- }
316
- }
317
- });
318
- }
250
+ filteredItems = helper.applyFilters(rowsData, {
251
+ query: self.query,
252
+ columns: options.columns,
253
+ filterOnAllColumns: false,
254
+ matchFunc: options.matchFunc
255
+ });
319
256
  if (self.query.orderBy) {
320
257
  dir = /desc/i.test(self.query.orderDir) ? -1 : 1;
321
- filteredItems_1 = helper.sortArray(filteredItems_1, self.query.orderBy, dir);
258
+ filteredItems = helper.sortArray(filteredItems, self.query.orderBy, dir);
322
259
  }
323
- data_2.items = filteredItems_1.slice((self.page - 1) * self.perPage, self.page * self.perPage);
324
- data_2.count = data_2.total = filteredItems_1.length;
260
+ data_2.items = filteredItems.slice((self.page - 1) * self.perPage, self.page * self.perPage);
261
+ data_2.count = data_2.total = filteredItems.length;
325
262
  }
326
263
  if (Array.isArray(columns)) {
327
264
  self.columns = columns.concat();
@@ -466,58 +403,19 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
466
403
  };
467
404
  var initFromScope = function (scope, source, options) {
468
405
  var _a;
469
- var matchFunc = options.matchFunc;
470
406
  var items = resolveVariableAndFilter.resolveVariableAndFilter(source, scope, '| raw');
471
407
  if (!Array.isArray(items) && !self.items.length) {
472
408
  return;
473
409
  }
474
- items = Array.isArray(items) ? items : [];
475
- /** 字段的格式类型无法穷举,所以支持使用函数过滤 */
476
- if (matchFunc && typeof matchFunc === 'function') {
477
- items = matchFunc(items, items.concat(), {
478
- query: self.query,
479
- columns: options.columns,
480
- matchSorter: matchSorter.matchSorter
481
- });
482
- }
483
- else {
484
- if (Array.isArray(options.columns)) {
485
- options.columns.forEach(function (column) {
486
- var value = typeof column.name === 'string'
487
- ? getVariable.getVariable(self.query, column.name)
488
- : undefined;
489
- var key = column.name;
490
- if (value != null && key) {
491
- // value可能为null、undefined、''、0
492
- if (Array.isArray(value)) {
493
- if (value.length > 0) {
494
- var arr_3 = tslib.__spreadArray([], tslib.__read(items), false);
495
- var arrItems_3 = [];
496
- /** 搜索 query 值为数组的情况 */
497
- value.forEach(function (item) {
498
- arrItems_3 = tslib.__spreadArray(tslib.__spreadArray([], tslib.__read(arrItems_3), false), tslib.__read(matchSorter.matchSorter(arr_3, item, {
499
- keys: [key],
500
- threshold: matchSorter.matchSorter.rankings.CONTAINS
501
- })), false);
502
- });
503
- items = items.filter(function (item) {
504
- return arrItems_3.find(function (a) { return a === item; });
505
- });
506
- }
507
- }
508
- else {
509
- items = matchSorter.matchSorter(items, value, {
510
- keys: [key],
511
- threshold: matchSorter.matchSorter.rankings.CONTAINS
512
- });
513
- }
514
- }
515
- });
516
- }
517
- }
410
+ items = helper.applyFilters(Array.isArray(items) ? items : [], {
411
+ query: self.query,
412
+ columns: options.columns,
413
+ matchFunc: options.matchFunc,
414
+ filterOnAllColumns: true
415
+ });
518
416
  if (self.query.orderBy) {
519
417
  var dir = /desc/i.test(self.query.orderDir) ? -1 : 1;
520
- items = helper.sortArray(items, self.query.orderBy, dir);
418
+ items = helper.sortArray(items.concat(), self.query.orderBy, dir);
521
419
  }
522
420
  var data = tslib.__assign(tslib.__assign({}, self.pristine), { items: items.length > self.perPage
523
421
  ? items.slice((self.page - 1) * self.perPage, self.page * self.perPage)
@@ -566,8 +464,8 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
566
464
  // 将数据里的对象转成 json 字符串,不然输出的 csv 没法显示
567
465
  var csvData = [];
568
466
  try {
569
- for (var items_2 = tslib.__values(items), items_2_1 = items_2.next(); !items_2_1.done; items_2_1 = items_2.next()) {
570
- var row = items_2_1.value;
467
+ for (var items_1 = tslib.__values(items), items_1_1 = items_1.next(); !items_1_1.done; items_1_1 = items_1.next()) {
468
+ var row = items_1_1.value;
571
469
  var rowData = {};
572
470
  for (var key in row) {
573
471
  var value = row[key];
@@ -584,7 +482,7 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
584
482
  catch (e_4_1) { e_4 = { error: e_4_1 }; }
585
483
  finally {
586
484
  try {
587
- if (items_2_1 && !items_2_1.done && (_a = items_2.return)) _a.call(items_2);
485
+ if (items_1_1 && !items_1_1.done && (_a = items_1.return)) _a.call(items_1);
588
486
  }
589
487
  finally { if (e_4) throw e_4.error; }
590
488
  }