amis-core 6.9.0 → 6.10.0-beta.1

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 +8 -3
  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 +8 -3
  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 +1 -0
  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 +1 -0
  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 +1 -0
  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.1
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.1
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.1
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.1
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.1
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<{
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.1
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.1
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
  }
@@ -1,3 +1,4 @@
1
+ /// <reference types="lodash" />
1
2
  import { Instance } from 'mobx-state-tree';
2
3
  import type { IFormItemStore } from './formItem';
3
4
  import { Api, DataChangeReason, fetchOptions, Payload } from '../types';
package/lib/store/form.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.1
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.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -454,7 +454,7 @@ var FormItemStore = node.StoreNode.named('FormItemStore')
454
454
  try {
455
455
  for (var options_1 = tslib.__values(options), options_1_1 = options_1.next(); !options_1_1.done; options_1_1 = options_1.next()) {
456
456
  var option = options_1_1.value;
457
- if (Array.isArray(option.children)) {
457
+ if (Array.isArray(option.children) && option.children.length) {
458
458
  var childFirst = getFirstAvaibleOption(option.children);
459
459
  if (childFirst !== undefined) {
460
460
  return childFirst;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.1
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.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/lib/store/list.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.1
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.1
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.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/lib/store/node.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.1
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.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/lib/store/root.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.1
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.1
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.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,3 +1,4 @@
1
+ /// <reference types="lodash" />
1
2
  import { SnapshotIn, IAnyModelType, Instance } from 'mobx-state-tree';
2
3
  import { IFormStore } from './form';
3
4
  export declare enum SELECTED_STATUS {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.1
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.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/lib/theme.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.1
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.1
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.1
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.1
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.1
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.1
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.1
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.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -18,7 +18,8 @@ export declare function removeApiRequestAdaptor(adaptor: RequestAdaptor): void;
18
18
  * 添加全局响应适配器
19
19
  * @param adaptor
20
20
  */
21
- export declare function addApiResponseAdator(adaptor: ResponseAdaptor): () => void;
21
+ export declare function addApiResponseAdaptor(adaptor: ResponseAdaptor): () => void;
22
+ export declare const addApiResponseAdator: typeof addApiResponseAdaptor;
22
23
  /**
23
24
  * 删除全局响应适配器
24
25
  * @param adaptor
package/lib/utils/api.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -56,10 +56,12 @@ function removeApiRequestAdaptor(adaptor) {
56
56
  * 添加全局响应适配器
57
57
  * @param adaptor
58
58
  */
59
- function addApiResponseAdator(adaptor) {
59
+ function addApiResponseAdaptor(adaptor) {
60
60
  responseAdaptors.push(adaptor);
61
61
  return function () { return removeApiResponseAdaptor(adaptor); };
62
62
  }
63
+ // :( 之前写错了,这里为了让以前的代码能继续跑,暂时保留
64
+ var addApiResponseAdator = addApiResponseAdaptor;
63
65
  /**
64
66
  * 删除全局响应适配器
65
67
  * @param adaptor
@@ -822,6 +824,7 @@ function normalizeApiResponseData(data) {
822
824
  // window.apiCaches = apiCaches;
823
825
 
824
826
  exports.addApiRequestAdaptor = addApiRequestAdaptor;
827
+ exports.addApiResponseAdaptor = addApiResponseAdaptor;
825
828
  exports.addApiResponseAdator = addApiResponseAdator;
826
829
  exports.buildApi = buildApi;
827
830
  exports.callStrFunction = callStrFunction;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.1
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.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -33,6 +33,9 @@ function attachmentAdpator(response, __, api) {
33
33
  if (matches && matches.length) {
34
34
  filename = matches[1].replace("UTF-8''", '').replace(/['"]/g, '');
35
35
  }
36
+ else {
37
+ filename = disposition === null || disposition === void 0 ? void 0 : disposition.split(';')[1];
38
+ }
36
39
  // 很可能是中文被 url-encode 了
37
40
  if (filename && filename.replace(/[^%]/g, '').length > 2) {
38
41
  filename = decodeURIComponent(filename);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.1
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.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5