amis-core 3.6.3 → 6.0.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 (286) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.js +1 -1
  3. package/esm/SchemaRenderer.js +1 -1
  4. package/esm/Scoped.js +2 -1
  5. package/esm/StatusScoped.js +1 -1
  6. package/esm/WithRootStore.js +1 -1
  7. package/esm/WithStore.js +1 -1
  8. package/esm/actions/Action.js +31 -27
  9. package/esm/actions/AjaxAction.js +1 -1
  10. package/esm/actions/BreakAction.js +1 -1
  11. package/esm/actions/BroadcastAction.js +1 -1
  12. package/esm/actions/CmptAction.js +65 -26
  13. package/esm/actions/ContinueAction.js +1 -1
  14. package/esm/actions/CopyAction.js +1 -1
  15. package/esm/actions/CustomAction.js +3 -2
  16. package/esm/actions/DialogAction.js +1 -1
  17. package/esm/actions/DrawerAction.js +1 -1
  18. package/esm/actions/EmailAction.js +1 -1
  19. package/esm/actions/LinkAction.js +1 -1
  20. package/esm/actions/LoopAction.js +1 -1
  21. package/esm/actions/PageAction.js +1 -1
  22. package/esm/actions/ParallelAction.js +1 -1
  23. package/esm/actions/StatusAction.js +1 -1
  24. package/esm/actions/SwitchAction.js +1 -1
  25. package/esm/actions/ToastAction.js +1 -1
  26. package/esm/components/CustomStyle.js +1 -1
  27. package/esm/components/ErrorBoundary.js +1 -1
  28. package/esm/components/LazyComponent.js +1 -1
  29. package/esm/components/Overlay.js +3 -2
  30. package/esm/components/PopOver.js +3 -2
  31. package/esm/env.js +1 -1
  32. package/esm/envOverwrite.js +1 -1
  33. package/esm/factory.js +1 -1
  34. package/esm/index.js +4 -2
  35. package/esm/locale.js +1 -1
  36. package/esm/polyfills.js +1 -1
  37. package/esm/renderers/Form.js +125 -111
  38. package/esm/renderers/Item.js +4 -3
  39. package/esm/renderers/Options.js +163 -49
  40. package/esm/renderers/Placeholder.js +1 -1
  41. package/esm/renderers/builtin.js +1 -1
  42. package/esm/renderers/register.js +1 -1
  43. package/esm/renderers/wrapControl.js +4 -3
  44. package/esm/store/app.d.ts +2 -2
  45. package/esm/store/app.js +3 -2
  46. package/esm/store/combo.d.ts +7 -7
  47. package/esm/store/combo.js +1 -1
  48. package/esm/store/crud.d.ts +3 -2
  49. package/esm/store/crud.js +18 -4
  50. package/esm/store/form.d.ts +3 -3
  51. package/esm/store/form.js +5 -5
  52. package/esm/store/formItem.js +1 -1
  53. package/esm/store/iRenderer.d.ts +1 -1
  54. package/esm/store/iRenderer.js +7 -2
  55. package/esm/store/index.js +1 -1
  56. package/esm/store/list.d.ts +1 -1
  57. package/esm/store/list.js +18 -13
  58. package/esm/store/manager.js +1 -1
  59. package/esm/store/modal.d.ts +2 -2
  60. package/esm/store/modal.js +1 -1
  61. package/esm/store/node.js +1 -1
  62. package/esm/store/pagination.d.ts +2 -1
  63. package/esm/store/pagination.js +3 -2
  64. package/esm/store/root.d.ts +2 -2
  65. package/esm/store/root.js +3 -2
  66. package/esm/store/service.d.ts +2 -2
  67. package/esm/store/service.js +11 -7
  68. package/esm/store/status.js +1 -1
  69. package/esm/store/table.d.ts +7 -7
  70. package/esm/store/table.js +26 -11
  71. package/esm/store/table2.d.ts +14 -3
  72. package/esm/store/table2.js +22 -9
  73. package/esm/theme.js +1 -1
  74. package/esm/types.d.ts +7 -0
  75. package/esm/utils/Animation.js +1 -1
  76. package/esm/utils/ColorScale.js +1 -1
  77. package/esm/utils/DataSchema.js +1 -1
  78. package/esm/utils/DataScope.js +1 -1
  79. package/esm/utils/RootClose.js +1 -1
  80. package/esm/utils/SimpleMap.js +1 -1
  81. package/esm/utils/api.js +1 -1
  82. package/esm/utils/arraySlice.js +1 -1
  83. package/esm/utils/attachmentAdpator.js +1 -1
  84. package/esm/utils/autobind.js +1 -1
  85. package/esm/utils/browser.d.ts +1 -0
  86. package/esm/utils/browser.js +11 -0
  87. package/esm/utils/columnsSplit.js +1 -1
  88. package/esm/utils/concatData.d.ts +8 -0
  89. package/esm/utils/concatData.js +39 -0
  90. package/esm/utils/dataMapping.js +1 -1
  91. package/esm/utils/date.js +1 -1
  92. package/esm/utils/debug.js +1 -1
  93. package/esm/utils/decodeEntity.js +1 -1
  94. package/esm/utils/dom.js +1 -1
  95. package/esm/utils/errors.js +1 -1
  96. package/esm/utils/escapeHtml.js +1 -1
  97. package/esm/utils/filter-schema.js +1 -1
  98. package/esm/utils/filter.js +1 -1
  99. package/esm/utils/formatDuration.js +1 -1
  100. package/esm/utils/formula.js +1 -1
  101. package/esm/utils/getVariable.js +1 -1
  102. package/esm/utils/grammar.js +1 -1
  103. package/esm/utils/handleAction.js +1 -1
  104. package/esm/utils/helper.d.ts +6 -1
  105. package/esm/utils/helper.js +23 -6
  106. package/esm/utils/highlight.js +1 -1
  107. package/esm/utils/icon.js +1 -1
  108. package/esm/utils/image.js +1 -1
  109. package/esm/utils/index.d.ts +2 -0
  110. package/esm/utils/isPureVariable.js +1 -1
  111. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  112. package/esm/utils/keyToPath.js +1 -1
  113. package/esm/utils/makeSorter.js +1 -1
  114. package/esm/utils/math.js +1 -1
  115. package/esm/utils/memoryParse.js +1 -1
  116. package/esm/utils/normalizeLink.js +1 -1
  117. package/esm/utils/normalizeOptions.js +1 -1
  118. package/esm/utils/object.js +1 -1
  119. package/esm/utils/offset.js +1 -1
  120. package/esm/utils/offsetParent.js +1 -1
  121. package/esm/utils/optionValueCompare.js +1 -1
  122. package/esm/utils/position.js +1 -1
  123. package/esm/utils/prettyBytes.js +1 -1
  124. package/esm/utils/renderer-event.js +19 -3
  125. package/esm/utils/replaceText.js +1 -1
  126. package/esm/utils/resize-sensor.js +1 -1
  127. package/esm/utils/resolveCondition.js +1 -1
  128. package/esm/utils/resolveVariable.js +1 -1
  129. package/esm/utils/resolveVariableAndFilter.js +1 -1
  130. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  131. package/esm/utils/scrollPosition.js +1 -1
  132. package/esm/utils/string2regExp.js +1 -1
  133. package/esm/utils/stripNumber.js +1 -1
  134. package/esm/utils/style-helper.js +4 -6
  135. package/esm/utils/style.js +1 -1
  136. package/esm/utils/toNumber.js +1 -1
  137. package/esm/utils/tokenize.js +1 -1
  138. package/esm/utils/tpl-builtin.js +1 -1
  139. package/esm/utils/tpl-lodash.js +1 -1
  140. package/esm/utils/tpl.js +1 -1
  141. package/esm/utils/uncontrollable.js +1 -1
  142. package/esm/utils/validations.js +1 -1
  143. package/lib/Root.js +1 -1
  144. package/lib/RootRenderer.d.ts +1 -1
  145. package/lib/RootRenderer.js +1 -1
  146. package/lib/SchemaRenderer.js +1 -1
  147. package/lib/Scoped.js +2 -1
  148. package/lib/StatusScoped.js +1 -1
  149. package/lib/WithRootStore.js +1 -1
  150. package/lib/WithStore.js +1 -1
  151. package/lib/actions/Action.js +31 -27
  152. package/lib/actions/AjaxAction.js +1 -1
  153. package/lib/actions/BreakAction.js +1 -1
  154. package/lib/actions/BroadcastAction.js +1 -1
  155. package/lib/actions/CmptAction.js +65 -26
  156. package/lib/actions/ContinueAction.js +1 -1
  157. package/lib/actions/CopyAction.js +1 -1
  158. package/lib/actions/CustomAction.js +3 -2
  159. package/lib/actions/DialogAction.js +1 -1
  160. package/lib/actions/DrawerAction.js +1 -1
  161. package/lib/actions/EmailAction.js +1 -1
  162. package/lib/actions/LinkAction.js +1 -1
  163. package/lib/actions/LoopAction.js +1 -1
  164. package/lib/actions/PageAction.js +1 -1
  165. package/lib/actions/ParallelAction.js +1 -1
  166. package/lib/actions/StatusAction.js +1 -1
  167. package/lib/actions/SwitchAction.js +1 -1
  168. package/lib/actions/ToastAction.js +1 -1
  169. package/lib/components/CustomStyle.js +1 -1
  170. package/lib/components/ErrorBoundary.js +1 -1
  171. package/lib/components/LazyComponent.js +1 -1
  172. package/lib/components/Overlay.js +3 -2
  173. package/lib/components/PopOver.js +3 -2
  174. package/lib/env.js +1 -1
  175. package/lib/envOverwrite.js +1 -1
  176. package/lib/factory.js +1 -1
  177. package/lib/index.js +6 -2
  178. package/lib/locale.js +1 -1
  179. package/lib/polyfills.js +1 -1
  180. package/lib/renderers/Form.js +125 -111
  181. package/lib/renderers/Item.js +4 -3
  182. package/lib/renderers/Options.js +163 -49
  183. package/lib/renderers/Placeholder.js +1 -1
  184. package/lib/renderers/builtin.js +1 -1
  185. package/lib/renderers/register.js +1 -1
  186. package/lib/renderers/wrapControl.js +4 -3
  187. package/lib/store/app.d.ts +2 -2
  188. package/lib/store/app.js +3 -2
  189. package/lib/store/combo.d.ts +31 -31
  190. package/lib/store/combo.js +1 -1
  191. package/lib/store/crud.d.ts +3 -2
  192. package/lib/store/crud.js +18 -4
  193. package/lib/store/form.d.ts +13 -13
  194. package/lib/store/form.js +5 -5
  195. package/lib/store/formItem.js +1 -1
  196. package/lib/store/iRenderer.d.ts +1 -1
  197. package/lib/store/iRenderer.js +7 -2
  198. package/lib/store/index.js +1 -1
  199. package/lib/store/list.d.ts +1 -1
  200. package/lib/store/list.js +18 -14
  201. package/lib/store/manager.js +1 -1
  202. package/lib/store/modal.d.ts +2 -2
  203. package/lib/store/modal.js +1 -1
  204. package/lib/store/node.js +1 -1
  205. package/lib/store/pagination.d.ts +2 -1
  206. package/lib/store/pagination.js +3 -2
  207. package/lib/store/root.d.ts +2 -2
  208. package/lib/store/root.js +3 -2
  209. package/lib/store/service.d.ts +2 -2
  210. package/lib/store/service.js +11 -7
  211. package/lib/store/status.js +1 -1
  212. package/lib/store/table.d.ts +27 -27
  213. package/lib/store/table.js +26 -12
  214. package/lib/store/table2.d.ts +14 -3
  215. package/lib/store/table2.js +22 -9
  216. package/lib/theme.js +1 -1
  217. package/lib/types.d.ts +7 -0
  218. package/lib/utils/Animation.js +1 -1
  219. package/lib/utils/ColorScale.js +1 -1
  220. package/lib/utils/DataSchema.js +1 -1
  221. package/lib/utils/DataScope.js +1 -1
  222. package/lib/utils/RootClose.js +1 -1
  223. package/lib/utils/SimpleMap.js +1 -1
  224. package/lib/utils/api.js +1 -1
  225. package/lib/utils/arraySlice.js +1 -1
  226. package/lib/utils/attachmentAdpator.js +1 -1
  227. package/lib/utils/autobind.js +1 -1
  228. package/lib/utils/browser.d.ts +1 -0
  229. package/lib/utils/browser.js +15 -0
  230. package/lib/utils/columnsSplit.js +1 -1
  231. package/lib/utils/concatData.d.ts +8 -0
  232. package/lib/utils/concatData.js +43 -0
  233. package/lib/utils/dataMapping.js +1 -1
  234. package/lib/utils/date.js +1 -1
  235. package/lib/utils/debug.js +1 -1
  236. package/lib/utils/decodeEntity.js +1 -1
  237. package/lib/utils/dom.js +1 -1
  238. package/lib/utils/errors.js +1 -1
  239. package/lib/utils/escapeHtml.js +1 -1
  240. package/lib/utils/filter-schema.js +1 -1
  241. package/lib/utils/filter.js +1 -1
  242. package/lib/utils/formatDuration.js +1 -1
  243. package/lib/utils/formula.js +1 -1
  244. package/lib/utils/getVariable.js +1 -1
  245. package/lib/utils/grammar.js +1 -1
  246. package/lib/utils/handleAction.js +1 -1
  247. package/lib/utils/helper.d.ts +6 -1
  248. package/lib/utils/helper.js +23 -6
  249. package/lib/utils/highlight.js +1 -1
  250. package/lib/utils/icon.js +1 -1
  251. package/lib/utils/image.js +1 -1
  252. package/lib/utils/index.d.ts +2 -0
  253. package/lib/utils/isPureVariable.js +1 -1
  254. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  255. package/lib/utils/keyToPath.js +1 -1
  256. package/lib/utils/makeSorter.js +1 -1
  257. package/lib/utils/math.js +1 -1
  258. package/lib/utils/memoryParse.js +1 -1
  259. package/lib/utils/normalizeLink.js +1 -1
  260. package/lib/utils/normalizeOptions.js +1 -1
  261. package/lib/utils/object.js +1 -1
  262. package/lib/utils/offset.js +1 -1
  263. package/lib/utils/offsetParent.js +1 -1
  264. package/lib/utils/optionValueCompare.js +1 -1
  265. package/lib/utils/position.js +1 -1
  266. package/lib/utils/prettyBytes.js +1 -1
  267. package/lib/utils/renderer-event.js +19 -3
  268. package/lib/utils/replaceText.js +1 -1
  269. package/lib/utils/resize-sensor.js +1 -1
  270. package/lib/utils/resolveCondition.js +1 -1
  271. package/lib/utils/resolveVariable.js +1 -1
  272. package/lib/utils/resolveVariableAndFilter.js +1 -1
  273. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  274. package/lib/utils/scrollPosition.js +1 -1
  275. package/lib/utils/string2regExp.js +1 -1
  276. package/lib/utils/stripNumber.js +1 -1
  277. package/lib/utils/style-helper.js +4 -6
  278. package/lib/utils/style.js +1 -1
  279. package/lib/utils/toNumber.js +1 -1
  280. package/lib/utils/tokenize.js +1 -1
  281. package/lib/utils/tpl-builtin.js +1 -1
  282. package/lib/utils/tpl-lodash.js +1 -1
  283. package/lib/utils/tpl.js +1 -1
  284. package/lib/utils/uncontrollable.js +1 -1
  285. package/lib/utils/validations.js +1 -1
  286. package/package.json +4 -3
package/esm/store/crud.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.3
2
+ * amis-core v6.0.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -19,6 +19,7 @@ import '../utils/filter.js';
19
19
  import { normalizeApiResponseData } from '../utils/api.js';
20
20
  import { matchSorter } from 'match-sorter';
21
21
  import { filter } from '../utils/tpl.js';
22
+ import { TableStore } from './table.js';
22
23
 
23
24
  var ServerError = /** @class */ (function (_super) {
24
25
  __extends(ServerError, _super);
@@ -318,7 +319,7 @@ var CRUDStore = ServiceStore.named('CRUDStore')
318
319
  self.columns = options.columns;
319
320
  }
320
321
  self.items.replace(rowsData);
321
- self.reInitData(data_2, !!api.replaceData);
322
+ self.reInitData(data_2, !!api.replaceData, api.concatDataFields);
322
323
  options.syncResponse2Query !== false &&
323
324
  updateQuery(pick(rest, Object.keys(self.query)), undefined, options.pageField || 'page', options.perPageField || 'perPage');
324
325
  self.total = parseInt((_k = data_2.total) !== null && _k !== void 0 ? _k : data_2.count, 10) || 0;
@@ -383,7 +384,7 @@ var CRUDStore = ServiceStore.named('CRUDStore')
383
384
  if (!isEmpty(json.data) || json.ok) {
384
385
  self.updateData(normalizeApiResponseData(json.data), {
385
386
  __saved: Date.now()
386
- }, !!api && api.replaceData);
387
+ }, !!api && api.replaceData, api === null || api === void 0 ? void 0 : api.concatDataFields);
387
388
  self.updatedAt = Date.now();
388
389
  }
389
390
  if (!json.ok) {
@@ -602,6 +603,18 @@ var CRUDStore = ServiceStore.named('CRUDStore')
602
603
  var updateTotal = function (total) {
603
604
  self.total = total || 0;
604
605
  };
606
+ /** 非Picker模式下,重置当前CRUD的所有的已选择项目 */
607
+ var resetSelection = function () {
608
+ var _a, _b, _c, _d;
609
+ // 初始化CRUD记录的已选择项目和未选择项目
610
+ setSelectedItems([]);
611
+ setUnSelectedItems([]);
612
+ var tableStore = (_b = (_a = self === null || self === void 0 ? void 0 : self.children) === null || _a === void 0 ? void 0 : _a.find) === null || _b === void 0 ? void 0 : _b.call(_a, function (s) { return s.storeType === TableStore.name; });
613
+ if (tableStore) {
614
+ // 清空Table记录的已选择项目
615
+ (_d = (_c = tableStore).clear) === null || _d === void 0 ? void 0 : _d.call(_c);
616
+ }
617
+ };
605
618
  return {
606
619
  getData: getData,
607
620
  updateSelectData: updateSelectData,
@@ -620,7 +633,8 @@ var CRUDStore = ServiceStore.named('CRUDStore')
620
633
  initFromScope: initFromScope,
621
634
  exportAsCSV: exportAsCSV,
622
635
  updateColumns: updateColumns,
623
- updateTotal: updateTotal
636
+ updateTotal: updateTotal,
637
+ resetSelection: resetSelection
624
638
  };
625
639
  });
626
640
 
@@ -57,7 +57,7 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
57
57
  setTopStore(value: any): void;
58
58
  initData(data?: object, skipSetPristine?: boolean): void;
59
59
  reset(): void;
60
- updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined): void;
60
+ updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
61
61
  changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined): void;
62
62
  setCurrentAction(action: object): void;
63
63
  openDialog(ctx: any, additonal?: object | undefined, callback?: ((ret: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
@@ -74,7 +74,7 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
74
74
  markBusying: (busying?: boolean) => void;
75
75
  fetchInitData: (api: Api, data?: object | undefined, options?: fetchOptions | undefined) => Promise<any>;
76
76
  fetchData: (api: Api, data?: object | undefined, options?: fetchOptions | undefined) => Promise<any>;
77
- reInitData: (data: object | undefined, replace?: boolean) => void;
77
+ reInitData: (data: object | undefined, replace?: boolean, concatFields?: string | string[] | undefined) => void;
78
78
  updateMessage: (msg?: string | undefined, error?: boolean) => void;
79
79
  clearMessage: () => void;
80
80
  setHasRemoteData: () => void;
@@ -5206,7 +5206,7 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
5206
5206
  readonly persistKey: string;
5207
5207
  } & {
5208
5208
  setInited: (value: boolean) => void;
5209
- setValues: (values: object, tag?: object, replace?: boolean) => void;
5209
+ setValues: (values: object, tag?: object, replace?: boolean, concatFields?: string | string[]) => void;
5210
5210
  setValueByName: (name: string, value: any, isPristine?: boolean, force?: boolean) => void;
5211
5211
  trimValues: () => void;
5212
5212
  submit: (fn?: ((values: object) => Promise<any>) | undefined, hooks?: Array<() => Promise<any>>, failedMessage?: string, validateErrCb?: () => void, throwErrors?: boolean) => Promise<any>;
package/esm/store/form.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.3
2
+ * amis-core v6.0.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -131,8 +131,8 @@ var FormStore = ServiceStore.named('FormStore')
131
131
  };
132
132
  })
133
133
  .actions(function (self) {
134
- function setValues(values, tag, replace) {
135
- self.updateData(values, tag, replace);
134
+ function setValues(values, tag, replace, concatFields) {
135
+ self.updateData(values, tag, replace, concatFields);
136
136
  // 如果数据域中有数据变化,就都reset一下,去掉之前残留的验证消息
137
137
  self.items.forEach(function (item) {
138
138
  if (item.extraName) {
@@ -301,7 +301,7 @@ var FormStore = ServiceStore.named('FormStore')
301
301
  ? {
302
302
  __saved: Date.now()
303
303
  }
304
- : undefined, !!api.replaceData);
304
+ : undefined, !!api.replaceData, api.concatDataFields);
305
305
  }
306
306
  if (!!json.ok) return [3 /*break*/, 6];
307
307
  if (json.status === 422 && json.errors) {
@@ -436,7 +436,7 @@ var FormStore = ServiceStore.named('FormStore')
436
436
  _a.label = 1;
437
437
  case 1:
438
438
  _a.trys.push([1, , 5, 6]);
439
- return [4 /*yield*/, validate(hooks, undefined, true, failedMessage, validateErrCb)];
439
+ return [4 /*yield*/, validate(hooks, true, true, failedMessage, validateErrCb)];
440
440
  case 2:
441
441
  _a.sent();
442
442
  if (!fn) return [3 /*break*/, 4];
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.3
2
+ * amis-core v6.0.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -36,7 +36,7 @@ export declare const iRendererStore: import("mobx-state-tree").IModelType<{
36
36
  setTopStore(value: any): void;
37
37
  initData(data?: object, skipSetPristine?: boolean): void;
38
38
  reset(): void;
39
- updateData(data?: object, tag?: object, replace?: boolean): void;
39
+ updateData(data?: object, tag?: object, replace?: boolean, concatFields?: string | string[]): void;
40
40
  changeValue(name: string, value: any, changePristine?: boolean, force?: boolean, otherModifier?: ((data: Object) => void) | undefined): void;
41
41
  setCurrentAction(action: object): void;
42
42
  openDialog(ctx: any, additonal?: object, callback?: ((ret: any) => void) | undefined, scoped?: IScopedContext): void;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.3
2
+ * amis-core v6.0.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -15,9 +15,11 @@ import '../utils/filter.js';
15
15
  import { SimpleMap } from '../utils/SimpleMap.js';
16
16
  import { StoreNode } from './node.js';
17
17
  import '../utils/api.js';
18
+ import '../utils/browser.js';
18
19
  import '../utils/ColorScale.js';
19
20
  import 'react';
20
21
  import 'lodash/chunk';
22
+ import { concatData } from '../utils/concatData.js';
21
23
  import '../utils/DataSchema.js';
22
24
  import '../utils/DataScope.js';
23
25
  import '../utils/debug.js';
@@ -88,8 +90,11 @@ var iRendererStore = StoreNode.named('iRendererStore')
88
90
  reset: function () {
89
91
  self.data = self.pristine;
90
92
  },
91
- updateData: function (data, tag, replace) {
93
+ updateData: function (data, tag, replace, concatFields) {
92
94
  if (data === void 0) { data = {}; }
95
+ if (concatFields) {
96
+ data = concatData(data, self.data, concatFields);
97
+ }
93
98
  var prev = self.data;
94
99
  var newData;
95
100
  if (tag) {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.3
2
+ * amis-core v6.0.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -103,7 +103,7 @@ export declare const ListStore: import("mobx-state-tree").IModelType<{
103
103
  setTopStore(value: any): void;
104
104
  initData(data?: object, skipSetPristine?: boolean): void;
105
105
  reset(): void;
106
- updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined): void;
106
+ updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
107
107
  changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined): void;
108
108
  setCurrentAction(action: object): void;
109
109
  openDialog(ctx: any, additonal?: object | undefined, callback?: ((ret: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
package/esm/store/list.js CHANGED
@@ -1,12 +1,11 @@
1
1
  /**
2
- * amis-core v3.6.3
2
+ * amis-core v6.0.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
6
6
  import { types, getParent } from 'mobx-state-tree';
7
7
  import { iRendererStore } from './iRenderer.js';
8
8
  import isEqual from 'lodash/isEqual';
9
- import find from 'lodash/find';
10
9
  import { immutableExtends, guid } from '../utils/helper.js';
11
10
  import { evalExpression } from '../utils/tpl.js';
12
11
  import { createObject, extendObject, isObject } from '../utils/object.js';
@@ -166,19 +165,25 @@ var ListStore = iRendererStore
166
165
  }
167
166
  function updateSelected(selected, valueField) {
168
167
  self.selectedItems.clear();
169
- self.items.forEach(function (item) {
170
- if (~selected.indexOf(item.pristine)) {
171
- self.selectedItems.push(item);
168
+ selected.forEach(function (item) {
169
+ var resolved = self.items.find(function (a) { return a.pristine === item; });
170
+ // 先严格比较,
171
+ if (!resolved) {
172
+ resolved = self.items.find(function (a) {
173
+ var selectValue = item[valueField || 'value'];
174
+ var itemValue = a.pristine[valueField || 'value'];
175
+ return selectValue === itemValue;
176
+ });
172
177
  }
173
- else if (find(selected, function (a) {
174
- var selectValue = a[valueField || 'value'];
175
- var itemValue = item.pristine[valueField || 'value'];
176
- return self.strictMode
177
- ? selectValue === itemValue
178
- : selectValue == itemValue;
179
- })) {
180
- self.selectedItems.push(item);
178
+ // 再宽松比较
179
+ if (!resolved) {
180
+ resolved = self.items.find(function (a) {
181
+ var selectValue = item[valueField || 'value'];
182
+ var itemValue = a.pristine[valueField || 'value'];
183
+ return selectValue == itemValue;
184
+ });
181
185
  }
186
+ resolved && self.selectedItems.push(resolved);
182
187
  });
183
188
  }
184
189
  function toggleAll() {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.3
2
+ * amis-core v6.0.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -50,7 +50,7 @@ export declare const ModalStore: import("mobx-state-tree").IModelType<{
50
50
  setTopStore(value: any): void;
51
51
  initData(data?: object, skipSetPristine?: boolean): void;
52
52
  reset(): void;
53
- updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined): void;
53
+ updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
54
54
  changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined): void;
55
55
  setCurrentAction(action: object): void;
56
56
  openDialog(ctx: any, additonal?: object | undefined, callback?: ((ret: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
@@ -67,7 +67,7 @@ export declare const ModalStore: import("mobx-state-tree").IModelType<{
67
67
  markBusying: (busying?: boolean) => void;
68
68
  fetchInitData: (api: import("..").Api, data?: object | undefined, options?: import("..").fetchOptions | undefined) => Promise<any>;
69
69
  fetchData: (api: import("..").Api, data?: object | undefined, options?: import("..").fetchOptions | undefined) => Promise<any>;
70
- reInitData: (data: object | undefined, replace?: boolean) => void;
70
+ reInitData: (data: object | undefined, replace?: boolean, concatFields?: string | string[] | undefined) => void;
71
71
  updateMessage: (msg?: string | undefined, error?: boolean) => void;
72
72
  clearMessage: () => void;
73
73
  setHasRemoteData: () => void;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.3
2
+ * amis-core v6.0.0
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.6.3
2
+ * amis-core v6.0.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -23,6 +23,7 @@ export declare const PaginationStore: import("mobx-state-tree").IModelType<{
23
23
  inputName: import("mobx-state-tree").IType<string | undefined, string, string>;
24
24
  outputName: import("mobx-state-tree").IType<string | undefined, string, string>;
25
25
  mode: import("mobx-state-tree").IType<string | undefined, string, string>;
26
+ ellipsisPageGap: import("mobx-state-tree").IType<number | undefined, number, number>;
26
27
  }, {
27
28
  readonly parentStore: any;
28
29
  readonly __: any;
@@ -41,7 +42,7 @@ export declare const PaginationStore: import("mobx-state-tree").IModelType<{
41
42
  setTopStore(value: any): void;
42
43
  initData(data?: object, skipSetPristine?: boolean): void;
43
44
  reset(): void;
44
- updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined): void;
45
+ updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
45
46
  changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined): void;
46
47
  setCurrentAction(action: object): void;
47
48
  openDialog(ctx: any, additonal?: object | undefined, callback?: ((ret: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.3
2
+ * amis-core v6.0.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -20,7 +20,8 @@ var PaginationStore = iRendererStore
20
20
  perPage: 10,
21
21
  inputName: '',
22
22
  outputName: '',
23
- mode: 'normal'
23
+ mode: 'normal',
24
+ ellipsisPageGap: 5
24
25
  })
25
26
  .views(function (self) { return ({
26
27
  get inputItems() {
@@ -49,7 +49,7 @@ export declare const RootStore: import("mobx-state-tree").IModelType<{
49
49
  setTopStore(value: any): void;
50
50
  initData(data?: object, skipSetPristine?: boolean): void;
51
51
  reset(): void;
52
- updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined): void;
52
+ updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
53
53
  changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined): void;
54
54
  setCurrentAction(action: object): void;
55
55
  openDialog(ctx: any, additonal?: object | undefined, callback?: ((ret: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
@@ -66,7 +66,7 @@ export declare const RootStore: import("mobx-state-tree").IModelType<{
66
66
  markBusying: (busying?: boolean) => void;
67
67
  fetchInitData: (api: import("..").Api, data?: object | undefined, options?: import("..").fetchOptions | undefined) => Promise<any>;
68
68
  fetchData: (api: import("..").Api, data?: object | undefined, options?: import("..").fetchOptions | undefined) => Promise<any>;
69
- reInitData: (data: object | undefined, replace?: boolean) => void;
69
+ reInitData: (data: object | undefined, replace?: boolean, concatFields?: string | string[] | undefined) => void;
70
70
  updateMessage: (msg?: string | undefined, error?: boolean) => void;
71
71
  clearMessage: () => void;
72
72
  setHasRemoteData: () => void;
package/esm/store/root.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.3
2
+ * amis-core v6.0.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -8,12 +8,13 @@ import { types } from 'mobx-state-tree';
8
8
  import { parseQuery, isObjectShallowModified } from '../utils/helper.js';
9
9
  import { ServiceStore } from './service.js';
10
10
  import '../utils/api.js';
11
+ import '../utils/browser.js';
11
12
  import '../utils/ColorScale.js';
12
13
  import 'react';
13
14
  import 'lodash/chunk';
15
+ import { extractObjectChain, createObjectFromChain } from '../utils/object.js';
14
16
  import 'amis-formula';
15
17
  import 'lodash/isPlainObject';
16
- import { extractObjectChain, createObjectFromChain } from '../utils/object.js';
17
18
  import '../utils/DataSchema.js';
18
19
  import '../utils/DataScope.js';
19
20
  import 'moment';
@@ -46,7 +46,7 @@ export declare const ServiceStore: import("mobx-state-tree").IModelType<{
46
46
  setTopStore(value: any): void;
47
47
  initData(data?: object, skipSetPristine?: boolean): void;
48
48
  reset(): void;
49
- updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined): void;
49
+ updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
50
50
  changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined): void;
51
51
  setCurrentAction(action: object): void;
52
52
  openDialog(ctx: any, additonal?: object | undefined, callback?: ((ret: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
@@ -63,7 +63,7 @@ export declare const ServiceStore: import("mobx-state-tree").IModelType<{
63
63
  markBusying: (busying?: boolean) => void;
64
64
  fetchInitData: (api: Api, data?: object, options?: fetchOptions) => Promise<any>;
65
65
  fetchData: (api: Api, data?: object, options?: fetchOptions) => Promise<any>;
66
- reInitData: (data: object | undefined, replace?: boolean) => void;
66
+ reInitData: (data: object | undefined, replace?: boolean, concatFields?: string | string[]) => void;
67
67
  updateMessage: (msg?: string, error?: boolean) => void;
68
68
  clearMessage: () => void;
69
69
  setHasRemoteData: () => void;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.3
2
+ * amis-core v6.0.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -10,6 +10,7 @@ import { isEmpty } from '../utils/helper.js';
10
10
  import { ServerError } from '../utils/errors.js';
11
11
  import { normalizeApiResponseData } from '../utils/api.js';
12
12
  import { replaceText } from '../utils/replaceText.js';
13
+ import { concatData } from '../utils/concatData.js';
13
14
  import { isObject, extendObject } from '../utils/object.js';
14
15
 
15
16
  var ServiceStore = iRendererStore
@@ -45,8 +46,11 @@ var ServiceStore = iRendererStore
45
46
  if (busying === void 0) { busying = true; }
46
47
  self.busying = busying;
47
48
  }
48
- function reInitData(data, replace) {
49
+ function reInitData(data, replace, concatFields) {
49
50
  if (replace === void 0) { replace = false; }
51
+ if (concatFields) {
52
+ data = concatData(data, self.data, concatFields);
53
+ }
50
54
  var newData = extendObject(self.pristine, data, !replace);
51
55
  self.data = self.pristine = newData;
52
56
  }
@@ -92,7 +96,7 @@ var ServiceStore = iRendererStore
92
96
  self.updatedAt = Date.now();
93
97
  replace = !!api.replaceData;
94
98
  data_1 = __assign(__assign({}, (replace ? {} : self.data)), normalizeApiResponseData(json.data));
95
- reInitData(data_1, replace);
99
+ reInitData(data_1, replace, api.concatDataFields);
96
100
  self.hasRemoteData = true;
97
101
  if (!(options && options.onSuccess)) return [3 /*break*/, 4];
98
102
  ret = options.onSuccess(json, data_1);
@@ -158,7 +162,7 @@ var ServiceStore = iRendererStore
158
162
  if (!isEmpty(json.data) || json.ok) {
159
163
  self.updatedAt = Date.now();
160
164
  json.data &&
161
- self.updateData(normalizeApiResponseData(json.data), undefined, !!api.replaceData);
165
+ self.updateData(normalizeApiResponseData(json.data), undefined, !!api.replaceData, api.concatDataFields);
162
166
  self.hasRemoteData = true;
163
167
  }
164
168
  if (!!json.ok) return [3 /*break*/, 2];
@@ -229,7 +233,7 @@ var ServiceStore = iRendererStore
229
233
  if (!isEmpty(json.data) || json.ok) {
230
234
  self.updatedAt = Date.now();
231
235
  json.data &&
232
- self.updateData(normalizeApiResponseData(json.data), undefined, !!api.replaceData);
236
+ self.updateData(normalizeApiResponseData(json.data), undefined, !!api.replaceData, api.concatDataFields);
233
237
  }
234
238
  if (!!json.ok) return [3 /*break*/, 4];
235
239
  if (!(options && options.onFailed)) return [3 /*break*/, 3];
@@ -343,7 +347,7 @@ var ServiceStore = iRendererStore
343
347
  }, normalizeApiResponseData(json.data));
344
348
  self.schemaKey = '' + Date.now();
345
349
  isObject(json.data.data) &&
346
- self.updateData(json.data.data, undefined, !!api.replaceData);
350
+ self.updateData(json.data.data, undefined, !!api.replaceData, api.concatDataFields);
347
351
  }
348
352
  updateMessage((_h = (_g = (_f = api === null || api === void 0 ? void 0 : api.messages) === null || _f === void 0 ? void 0 : _f.success) !== null && _g !== void 0 ? _g : json.msg) !== null && _h !== void 0 ? _h : (options && options.successMessage));
349
353
  // 配置了获取成功提示后提示,默认是空不会提示。
@@ -390,7 +394,7 @@ var ServiceStore = iRendererStore
390
394
  case 2:
391
395
  json = _a.sent();
392
396
  json.ok &&
393
- self.updateData(json.data, undefined, !!api.replaceData);
397
+ self.updateData(json.data, undefined, !!api.replaceData, api.concatDataFields);
394
398
  if (!json.ok) {
395
399
  throw new Error(json.msg);
396
400
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.3
2
+ * amis-core v6.0.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -324,7 +324,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
324
324
  setTopStore(value: any): void;
325
325
  initData(data?: object, skipSetPristine?: boolean): void;
326
326
  reset(): void;
327
- updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined): void;
327
+ updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
328
328
  changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined): void;
329
329
  setCurrentAction(action: object): void;
330
330
  openDialog(ctx: any, additonal?: object | undefined, callback?: ((ret: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
@@ -456,7 +456,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
456
456
  setTopStore(value: any): void;
457
457
  initData(data?: object, skipSetPristine?: boolean): void;
458
458
  reset(): void;
459
- updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined): void;
459
+ updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
460
460
  changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined): void;
461
461
  setCurrentAction(action: object): void;
462
462
  openDialog(ctx: any, additonal?: object | undefined, callback?: ((ret: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
@@ -473,7 +473,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
473
473
  markBusying: (busying?: boolean) => void;
474
474
  fetchInitData: (api: import("..").Api, data?: object | undefined, options?: import("..").fetchOptions | undefined) => Promise<any>;
475
475
  fetchData: (api: import("..").Api, data?: object | undefined, options?: import("..").fetchOptions | undefined) => Promise<any>;
476
- reInitData: (data: object | undefined, replace?: boolean) => void;
476
+ reInitData: (data: object | undefined, replace?: boolean, concatFields?: string | string[] | undefined) => void;
477
477
  updateMessage: (msg?: string | undefined, error?: boolean) => void;
478
478
  clearMessage: () => void;
479
479
  setHasRemoteData: () => void;
@@ -5604,7 +5604,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
5604
5604
  readonly persistKey: string;
5605
5605
  } & {
5606
5606
  setInited: (value: boolean) => void;
5607
- setValues: (values: object, tag?: object | undefined, replace?: boolean | undefined) => void;
5607
+ setValues: (values: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined) => void;
5608
5608
  setValueByName: (name: string, value: any, isPristine?: boolean, force?: boolean) => void;
5609
5609
  trimValues: () => void;
5610
5610
  submit: (fn?: ((values: object) => Promise<any>) | undefined, hooks?: (() => Promise<any>)[] | undefined, failedMessage?: string | undefined, validateErrCb?: (() => void) | undefined, throwErrors?: boolean | undefined) => Promise<any>;
@@ -5690,7 +5690,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
5690
5690
  setTopStore(value: any): void;
5691
5691
  initData(data?: object, skipSetPristine?: boolean): void;
5692
5692
  reset(): void;
5693
- updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined): void;
5693
+ updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
5694
5694
  changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined): void;
5695
5695
  setCurrentAction(action: object): void;
5696
5696
  openDialog(ctx: any, additonal?: object | undefined, callback?: ((ret: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
@@ -5707,7 +5707,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
5707
5707
  markBusying: (busying?: boolean) => void;
5708
5708
  fetchInitData: (api: import("..").Api, data?: object | undefined, options?: import("..").fetchOptions | undefined) => Promise<any>;
5709
5709
  fetchData: (api: import("..").Api, data?: object | undefined, options?: import("..").fetchOptions | undefined) => Promise<any>;
5710
- reInitData: (data: object | undefined, replace?: boolean) => void;
5710
+ reInitData: (data: object | undefined, replace?: boolean, concatFields?: string | string[] | undefined) => void;
5711
5711
  updateMessage: (msg?: string | undefined, error?: boolean) => void;
5712
5712
  clearMessage: () => void;
5713
5713
  setHasRemoteData: () => void;
@@ -10838,7 +10838,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
10838
10838
  readonly persistKey: string;
10839
10839
  } & {
10840
10840
  setInited: (value: boolean) => void;
10841
- setValues: (values: object, tag?: object | undefined, replace?: boolean | undefined) => void;
10841
+ setValues: (values: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined) => void;
10842
10842
  setValueByName: (name: string, value: any, isPristine?: boolean, force?: boolean) => void;
10843
10843
  trimValues: () => void;
10844
10844
  submit: (fn?: ((values: object) => Promise<any>) | undefined, hooks?: (() => Promise<any>)[] | undefined, failedMessage?: string | undefined, validateErrCb?: (() => void) | undefined, throwErrors?: boolean | undefined) => Promise<any>;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.3
2
+ * amis-core v6.0.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -14,7 +14,6 @@ import { resolveVariableAndFilter } from '../utils/resolveVariableAndFilter.js';
14
14
  import 'lodash/isPlainObject';
15
15
  import '../utils/filter.js';
16
16
  import isEqual from 'lodash/isEqual';
17
- import find from 'lodash/find';
18
17
  import sortBy from 'lodash/sortBy';
19
18
  import { immutableExtends, flattenTree, findTree, eachTree, guid, isVisible, hasVisibleExpression, isBreakpoint, difference, sortArray } from '../utils/helper.js';
20
19
  import { evalExpression } from '../utils/tpl.js';
@@ -864,11 +863,18 @@ var TableStore = iRendererStore
864
863
  className: 'Table-dragCell'
865
864
  });
866
865
  var originColumns_1 = self.columns.concat();
866
+ var ids_1 = [];
867
867
  columns = columns.map(function (item, index) {
868
868
  var origin = item.id
869
869
  ? originColumns_1.find(function (column) { return column.pristine.id === item.id; })
870
870
  : originColumns_1[index];
871
- return __assign(__assign({}, item), { id: (origin === null || origin === void 0 ? void 0 : origin.id) || guid(), index: index, width: (origin === null || origin === void 0 ? void 0 : origin.width) || 0, minWidth: (origin === null || origin === void 0 ? void 0 : origin.minWidth) || 0, realWidth: (origin === null || origin === void 0 ? void 0 : origin.realWidth) || 0, rawIndex: index - PARTITION_INDEX, type: item.type || 'plain', pristine: item.pristine || item, toggled: item.toggled !== false, breakpoint: item.breakpoint, isPrimary: index === PARTITION_INDEX });
871
+ var id = (origin === null || origin === void 0 ? void 0 : origin.id) || guid();
872
+ // 还不知道为何会出现这个,先用这种方式避免 id 重复
873
+ if (ids_1.includes(id)) {
874
+ id = guid();
875
+ }
876
+ ids_1.push(id);
877
+ return __assign(__assign({}, item), { id: id, index: index, width: (origin === null || origin === void 0 ? void 0 : origin.width) || 0, minWidth: (origin === null || origin === void 0 ? void 0 : origin.minWidth) || 0, realWidth: (origin === null || origin === void 0 ? void 0 : origin.realWidth) || 0, rawIndex: index - PARTITION_INDEX, type: item.type || 'plain', pristine: item.pristine || item, toggled: item.toggled !== false, breakpoint: item.breakpoint, isPrimary: index === PARTITION_INDEX });
872
878
  });
873
879
  self.columns.replace(columns);
874
880
  }
@@ -1111,16 +1117,25 @@ var TableStore = iRendererStore
1111
1117
  }
1112
1118
  function updateSelected(selected, valueField) {
1113
1119
  self.selectedRows.clear();
1114
- eachTree(self.rows, function (item) {
1115
- if (~selected.indexOf(item.pristine)) {
1116
- self.selectedRows.push(item.id);
1120
+ selected.forEach(function (item) {
1121
+ var resolved = self.rows.find(function (a) { return a.pristine === item; });
1122
+ // 先严格比较,
1123
+ if (!resolved) {
1124
+ resolved = self.rows.find(function (a) {
1125
+ var selectValue = item[valueField || 'value'];
1126
+ var itemValue = a.pristine[valueField || 'value'];
1127
+ return selectValue === itemValue;
1128
+ });
1117
1129
  }
1118
- else if (find(selected, function (a) {
1119
- return a[valueField || 'value'] &&
1120
- a[valueField || 'value'] == item.pristine[valueField || 'value'];
1121
- })) {
1122
- self.selectedRows.push(item.id);
1130
+ // 再宽松比较
1131
+ if (!resolved) {
1132
+ resolved = self.rows.find(function (a) {
1133
+ var selectValue = item[valueField || 'value'];
1134
+ var itemValue = a.pristine[valueField || 'value'];
1135
+ return selectValue == itemValue;
1136
+ });
1123
1137
  }
1138
+ resolved && self.selectedRows.push(resolved);
1124
1139
  });
1125
1140
  updateCheckDisable();
1126
1141
  }