amis-core 3.6.2 → 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 (287) 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.d.ts +2 -1
  30. package/esm/components/Overlay.js +21 -6
  31. package/esm/components/PopOver.js +6 -3
  32. package/esm/env.js +1 -1
  33. package/esm/envOverwrite.js +1 -1
  34. package/esm/factory.js +1 -1
  35. package/esm/index.js +4 -2
  36. package/esm/locale.js +1 -1
  37. package/esm/polyfills.js +1 -1
  38. package/esm/renderers/Form.js +125 -111
  39. package/esm/renderers/Item.js +4 -3
  40. package/esm/renderers/Options.js +163 -49
  41. package/esm/renderers/Placeholder.js +1 -1
  42. package/esm/renderers/builtin.js +1 -1
  43. package/esm/renderers/register.js +1 -1
  44. package/esm/renderers/wrapControl.js +4 -3
  45. package/esm/store/app.d.ts +2 -2
  46. package/esm/store/app.js +3 -2
  47. package/esm/store/combo.d.ts +7 -7
  48. package/esm/store/combo.js +1 -1
  49. package/esm/store/crud.d.ts +3 -2
  50. package/esm/store/crud.js +18 -4
  51. package/esm/store/form.d.ts +3 -3
  52. package/esm/store/form.js +5 -5
  53. package/esm/store/formItem.js +1 -1
  54. package/esm/store/iRenderer.d.ts +1 -1
  55. package/esm/store/iRenderer.js +7 -2
  56. package/esm/store/index.js +1 -1
  57. package/esm/store/list.d.ts +1 -1
  58. package/esm/store/list.js +18 -13
  59. package/esm/store/manager.js +1 -1
  60. package/esm/store/modal.d.ts +2 -2
  61. package/esm/store/modal.js +1 -1
  62. package/esm/store/node.js +1 -1
  63. package/esm/store/pagination.d.ts +2 -1
  64. package/esm/store/pagination.js +3 -2
  65. package/esm/store/root.d.ts +2 -2
  66. package/esm/store/root.js +3 -2
  67. package/esm/store/service.d.ts +2 -2
  68. package/esm/store/service.js +11 -7
  69. package/esm/store/status.js +1 -1
  70. package/esm/store/table.d.ts +7 -7
  71. package/esm/store/table.js +26 -11
  72. package/esm/store/table2.d.ts +14 -3
  73. package/esm/store/table2.js +22 -9
  74. package/esm/theme.js +1 -1
  75. package/esm/types.d.ts +7 -0
  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/api.js +1 -1
  83. package/esm/utils/arraySlice.js +1 -1
  84. package/esm/utils/attachmentAdpator.js +1 -1
  85. package/esm/utils/autobind.js +1 -1
  86. package/esm/utils/browser.d.ts +1 -0
  87. package/esm/utils/browser.js +11 -0
  88. package/esm/utils/columnsSplit.js +1 -1
  89. package/esm/utils/concatData.d.ts +8 -0
  90. package/esm/utils/concatData.js +39 -0
  91. package/esm/utils/dataMapping.js +1 -1
  92. package/esm/utils/date.js +1 -1
  93. package/esm/utils/debug.js +1 -1
  94. package/esm/utils/decodeEntity.js +1 -1
  95. package/esm/utils/dom.js +1 -1
  96. package/esm/utils/errors.js +1 -1
  97. package/esm/utils/escapeHtml.js +1 -1
  98. package/esm/utils/filter-schema.js +1 -1
  99. package/esm/utils/filter.js +1 -1
  100. package/esm/utils/formatDuration.js +1 -1
  101. package/esm/utils/formula.js +1 -1
  102. package/esm/utils/getVariable.js +1 -1
  103. package/esm/utils/grammar.js +1 -1
  104. package/esm/utils/handleAction.js +1 -1
  105. package/esm/utils/helper.d.ts +6 -1
  106. package/esm/utils/helper.js +23 -6
  107. package/esm/utils/highlight.js +1 -1
  108. package/esm/utils/icon.js +1 -1
  109. package/esm/utils/image.js +1 -1
  110. package/esm/utils/index.d.ts +2 -0
  111. package/esm/utils/isPureVariable.js +1 -1
  112. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  113. package/esm/utils/keyToPath.js +1 -1
  114. package/esm/utils/makeSorter.js +1 -1
  115. package/esm/utils/math.js +1 -1
  116. package/esm/utils/memoryParse.js +1 -1
  117. package/esm/utils/normalizeLink.js +1 -1
  118. package/esm/utils/normalizeOptions.js +1 -1
  119. package/esm/utils/object.js +1 -1
  120. package/esm/utils/offset.js +1 -1
  121. package/esm/utils/offsetParent.js +1 -1
  122. package/esm/utils/optionValueCompare.js +1 -1
  123. package/esm/utils/position.js +1 -1
  124. package/esm/utils/prettyBytes.js +1 -1
  125. package/esm/utils/renderer-event.js +19 -3
  126. package/esm/utils/replaceText.js +1 -1
  127. package/esm/utils/resize-sensor.js +1 -1
  128. package/esm/utils/resolveCondition.js +1 -1
  129. package/esm/utils/resolveVariable.js +1 -1
  130. package/esm/utils/resolveVariableAndFilter.js +1 -1
  131. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  132. package/esm/utils/scrollPosition.js +1 -1
  133. package/esm/utils/string2regExp.js +1 -1
  134. package/esm/utils/stripNumber.js +1 -1
  135. package/esm/utils/style-helper.js +4 -6
  136. package/esm/utils/style.js +1 -1
  137. package/esm/utils/toNumber.js +1 -1
  138. package/esm/utils/tokenize.js +1 -1
  139. package/esm/utils/tpl-builtin.js +1 -1
  140. package/esm/utils/tpl-lodash.js +1 -1
  141. package/esm/utils/tpl.js +1 -1
  142. package/esm/utils/uncontrollable.js +1 -1
  143. package/esm/utils/validations.js +1 -1
  144. package/lib/Root.js +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.d.ts +2 -1
  173. package/lib/components/Overlay.js +21 -5
  174. package/lib/components/PopOver.js +6 -3
  175. package/lib/env.js +1 -1
  176. package/lib/envOverwrite.js +1 -1
  177. package/lib/factory.js +1 -1
  178. package/lib/index.js +6 -2
  179. package/lib/locale.js +1 -1
  180. package/lib/polyfills.js +1 -1
  181. package/lib/renderers/Form.js +125 -111
  182. package/lib/renderers/Item.js +4 -3
  183. package/lib/renderers/Options.js +163 -49
  184. package/lib/renderers/Placeholder.js +1 -1
  185. package/lib/renderers/builtin.js +1 -1
  186. package/lib/renderers/register.js +1 -1
  187. package/lib/renderers/wrapControl.js +4 -3
  188. package/lib/store/app.d.ts +2 -2
  189. package/lib/store/app.js +3 -2
  190. package/lib/store/combo.d.ts +7 -7
  191. package/lib/store/combo.js +1 -1
  192. package/lib/store/crud.d.ts +3 -2
  193. package/lib/store/crud.js +18 -4
  194. package/lib/store/form.d.ts +3 -3
  195. package/lib/store/form.js +5 -5
  196. package/lib/store/formItem.js +1 -1
  197. package/lib/store/iRenderer.d.ts +1 -1
  198. package/lib/store/iRenderer.js +7 -2
  199. package/lib/store/index.js +1 -1
  200. package/lib/store/list.d.ts +1 -1
  201. package/lib/store/list.js +18 -14
  202. package/lib/store/manager.js +1 -1
  203. package/lib/store/modal.d.ts +2 -2
  204. package/lib/store/modal.js +1 -1
  205. package/lib/store/node.js +1 -1
  206. package/lib/store/pagination.d.ts +2 -1
  207. package/lib/store/pagination.js +3 -2
  208. package/lib/store/root.d.ts +2 -2
  209. package/lib/store/root.js +3 -2
  210. package/lib/store/service.d.ts +2 -2
  211. package/lib/store/service.js +11 -7
  212. package/lib/store/status.js +1 -1
  213. package/lib/store/table.d.ts +7 -7
  214. package/lib/store/table.js +26 -12
  215. package/lib/store/table2.d.ts +14 -3
  216. package/lib/store/table2.js +22 -9
  217. package/lib/theme.js +1 -1
  218. package/lib/types.d.ts +7 -0
  219. package/lib/utils/Animation.js +1 -1
  220. package/lib/utils/ColorScale.js +1 -1
  221. package/lib/utils/DataSchema.js +1 -1
  222. package/lib/utils/DataScope.js +1 -1
  223. package/lib/utils/RootClose.js +1 -1
  224. package/lib/utils/SimpleMap.js +1 -1
  225. package/lib/utils/api.js +1 -1
  226. package/lib/utils/arraySlice.js +1 -1
  227. package/lib/utils/attachmentAdpator.js +1 -1
  228. package/lib/utils/autobind.js +1 -1
  229. package/lib/utils/browser.d.ts +1 -0
  230. package/lib/utils/browser.js +15 -0
  231. package/lib/utils/columnsSplit.js +1 -1
  232. package/lib/utils/concatData.d.ts +8 -0
  233. package/lib/utils/concatData.js +43 -0
  234. package/lib/utils/dataMapping.js +1 -1
  235. package/lib/utils/date.js +1 -1
  236. package/lib/utils/debug.js +1 -1
  237. package/lib/utils/decodeEntity.js +1 -1
  238. package/lib/utils/dom.js +1 -1
  239. package/lib/utils/errors.js +1 -1
  240. package/lib/utils/escapeHtml.js +1 -1
  241. package/lib/utils/filter-schema.js +1 -1
  242. package/lib/utils/filter.js +1 -1
  243. package/lib/utils/formatDuration.js +1 -1
  244. package/lib/utils/formula.js +1 -1
  245. package/lib/utils/getVariable.js +1 -1
  246. package/lib/utils/grammar.js +1 -1
  247. package/lib/utils/handleAction.js +1 -1
  248. package/lib/utils/helper.d.ts +6 -1
  249. package/lib/utils/helper.js +23 -6
  250. package/lib/utils/highlight.js +1 -1
  251. package/lib/utils/icon.js +1 -1
  252. package/lib/utils/image.js +1 -1
  253. package/lib/utils/index.d.ts +2 -0
  254. package/lib/utils/isPureVariable.js +1 -1
  255. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  256. package/lib/utils/keyToPath.js +1 -1
  257. package/lib/utils/makeSorter.js +1 -1
  258. package/lib/utils/math.js +1 -1
  259. package/lib/utils/memoryParse.js +1 -1
  260. package/lib/utils/normalizeLink.js +1 -1
  261. package/lib/utils/normalizeOptions.js +1 -1
  262. package/lib/utils/object.js +1 -1
  263. package/lib/utils/offset.js +1 -1
  264. package/lib/utils/offsetParent.js +1 -1
  265. package/lib/utils/optionValueCompare.js +1 -1
  266. package/lib/utils/position.js +1 -1
  267. package/lib/utils/prettyBytes.js +1 -1
  268. package/lib/utils/renderer-event.js +19 -3
  269. package/lib/utils/replaceText.js +1 -1
  270. package/lib/utils/resize-sensor.js +1 -1
  271. package/lib/utils/resolveCondition.js +1 -1
  272. package/lib/utils/resolveVariable.js +1 -1
  273. package/lib/utils/resolveVariableAndFilter.js +1 -1
  274. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  275. package/lib/utils/scrollPosition.js +1 -1
  276. package/lib/utils/string2regExp.js +1 -1
  277. package/lib/utils/stripNumber.js +1 -1
  278. package/lib/utils/style-helper.js +4 -6
  279. package/lib/utils/style.js +1 -1
  280. package/lib/utils/toNumber.js +1 -1
  281. package/lib/utils/tokenize.js +1 -1
  282. package/lib/utils/tpl-builtin.js +1 -1
  283. package/lib/utils/tpl-lodash.js +1 -1
  284. package/lib/utils/tpl.js +1 -1
  285. package/lib/utils/uncontrollable.js +1 -1
  286. package/lib/utils/validations.js +1 -1
  287. package/package.json +4 -3
package/lib/store/crud.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.2
2
+ * amis-core v6.0.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -23,6 +23,7 @@ require('../utils/filter.js');
23
23
  var api = require('../utils/api.js');
24
24
  var matchSorter = require('match-sorter');
25
25
  var tpl = require('../utils/tpl.js');
26
+ var table = require('./table.js');
26
27
 
27
28
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
28
29
 
@@ -326,7 +327,7 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
326
327
  self.columns = options.columns;
327
328
  }
328
329
  self.items.replace(rowsData);
329
- self.reInitData(data_2, !!api$1.replaceData);
330
+ self.reInitData(data_2, !!api$1.replaceData, api$1.concatDataFields);
330
331
  options.syncResponse2Query !== false &&
331
332
  updateQuery(pick__default["default"](rest, Object.keys(self.query)), undefined, options.pageField || 'page', options.perPageField || 'perPage');
332
333
  self.total = parseInt((_k = data_2.total) !== null && _k !== void 0 ? _k : data_2.count, 10) || 0;
@@ -391,7 +392,7 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
391
392
  if (!helper.isEmpty(json.data) || json.ok) {
392
393
  self.updateData(api.normalizeApiResponseData(json.data), {
393
394
  __saved: Date.now()
394
- }, !!api$1 && api$1.replaceData);
395
+ }, !!api$1 && api$1.replaceData, api$1 === null || api$1 === void 0 ? void 0 : api$1.concatDataFields);
395
396
  self.updatedAt = Date.now();
396
397
  }
397
398
  if (!json.ok) {
@@ -610,6 +611,18 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
610
611
  var updateTotal = function (total) {
611
612
  self.total = total || 0;
612
613
  };
614
+ /** 非Picker模式下,重置当前CRUD的所有的已选择项目 */
615
+ var resetSelection = function () {
616
+ var _a, _b, _c, _d;
617
+ // 初始化CRUD记录的已选择项目和未选择项目
618
+ setSelectedItems([]);
619
+ setUnSelectedItems([]);
620
+ 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 === table.TableStore.name; });
621
+ if (tableStore) {
622
+ // 清空Table记录的已选择项目
623
+ (_d = (_c = tableStore).clear) === null || _d === void 0 ? void 0 : _d.call(_c);
624
+ }
625
+ };
613
626
  return {
614
627
  getData: getData,
615
628
  updateSelectData: updateSelectData,
@@ -628,7 +641,8 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
628
641
  initFromScope: initFromScope,
629
642
  exportAsCSV: exportAsCSV,
630
643
  updateColumns: updateColumns,
631
- updateTotal: updateTotal
644
+ updateTotal: updateTotal,
645
+ resetSelection: resetSelection
632
646
  };
633
647
  });
634
648
 
@@ -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/lib/store/form.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.2
2
+ * amis-core v6.0.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -145,8 +145,8 @@ var FormStore = service.ServiceStore.named('FormStore')
145
145
  };
146
146
  })
147
147
  .actions(function (self) {
148
- function setValues(values, tag, replace) {
149
- self.updateData(values, tag, replace);
148
+ function setValues(values, tag, replace, concatFields) {
149
+ self.updateData(values, tag, replace, concatFields);
150
150
  // 如果数据域中有数据变化,就都reset一下,去掉之前残留的验证消息
151
151
  self.items.forEach(function (item) {
152
152
  if (item.extraName) {
@@ -315,7 +315,7 @@ var FormStore = service.ServiceStore.named('FormStore')
315
315
  ? {
316
316
  __saved: Date.now()
317
317
  }
318
- : undefined, !!api$1.replaceData);
318
+ : undefined, !!api$1.replaceData, api$1.concatDataFields);
319
319
  }
320
320
  if (!!json.ok) return [3 /*break*/, 6];
321
321
  if (json.status === 422 && json.errors) {
@@ -450,7 +450,7 @@ var FormStore = service.ServiceStore.named('FormStore')
450
450
  _a.label = 1;
451
451
  case 1:
452
452
  _a.trys.push([1, , 5, 6]);
453
- return [4 /*yield*/, validate(hooks, undefined, true, failedMessage, validateErrCb)];
453
+ return [4 /*yield*/, validate(hooks, true, true, failedMessage, validateErrCb)];
454
454
  case 2:
455
455
  _a.sent();
456
456
  if (!fn) return [3 /*break*/, 4];
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.2
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.2
2
+ * amis-core v6.0.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -19,8 +19,10 @@ require('../utils/filter.js');
19
19
  var SimpleMap = require('../utils/SimpleMap.js');
20
20
  var node = require('./node.js');
21
21
  require('../utils/api.js');
22
+ require('../utils/browser.js');
22
23
  require('../utils/ColorScale.js');
23
24
  require('../utils/columnsSplit.js');
25
+ var concatData = require('../utils/concatData.js');
24
26
  require('../utils/DataSchema.js');
25
27
  require('../utils/DataScope.js');
26
28
  require('../utils/debug.js');
@@ -95,8 +97,11 @@ var iRendererStore = node.StoreNode.named('iRendererStore')
95
97
  reset: function () {
96
98
  self.data = self.pristine;
97
99
  },
98
- updateData: function (data, tag, replace) {
100
+ updateData: function (data, tag, replace, concatFields) {
99
101
  if (data === void 0) { data = {}; }
102
+ if (concatFields) {
103
+ data = concatData.concatData(data, self.data, concatFields);
104
+ }
100
105
  var prev = self.data;
101
106
  var newData;
102
107
  if (tag) {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.2
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/lib/store/list.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.2
2
+ * amis-core v6.0.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -10,7 +10,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
10
10
  var mobxStateTree = require('mobx-state-tree');
11
11
  var iRenderer = require('./iRenderer.js');
12
12
  var isEqual = require('lodash/isEqual');
13
- var find = require('lodash/find');
14
13
  var helper = require('../utils/helper.js');
15
14
  var tpl = require('../utils/tpl.js');
16
15
  var object = require('../utils/object.js');
@@ -18,7 +17,6 @@ var object = require('../utils/object.js');
18
17
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
19
18
 
20
19
  var isEqual__default = /*#__PURE__*/_interopDefaultLegacy(isEqual);
21
- var find__default = /*#__PURE__*/_interopDefaultLegacy(find);
22
20
 
23
21
  var Item = mobxStateTree.types
24
22
  .model('Item', {
@@ -175,19 +173,25 @@ var ListStore = iRenderer.iRendererStore
175
173
  }
176
174
  function updateSelected(selected, valueField) {
177
175
  self.selectedItems.clear();
178
- self.items.forEach(function (item) {
179
- if (~selected.indexOf(item.pristine)) {
180
- self.selectedItems.push(item);
176
+ selected.forEach(function (item) {
177
+ var resolved = self.items.find(function (a) { return a.pristine === 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
  }
182
- else if (find__default["default"](selected, function (a) {
183
- var selectValue = a[valueField || 'value'];
184
- var itemValue = item.pristine[valueField || 'value'];
185
- return self.strictMode
186
- ? selectValue === itemValue
187
- : selectValue == itemValue;
188
- })) {
189
- self.selectedItems.push(item);
186
+ // 再宽松比较
187
+ if (!resolved) {
188
+ resolved = self.items.find(function (a) {
189
+ var selectValue = item[valueField || 'value'];
190
+ var itemValue = a.pristine[valueField || 'value'];
191
+ return selectValue == itemValue;
192
+ });
190
193
  }
194
+ resolved && self.selectedItems.push(resolved);
191
195
  });
192
196
  }
193
197
  function toggleAll() {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.2
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.2
2
+ * amis-core v6.0.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
package/lib/store/node.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.2
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.2
2
+ * amis-core v6.0.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -24,7 +24,8 @@ var PaginationStore = iRenderer.iRendererStore
24
24
  perPage: 10,
25
25
  inputName: '',
26
26
  outputName: '',
27
- mode: 'normal'
27
+ mode: 'normal',
28
+ ellipsisPageGap: 5
28
29
  })
29
30
  .views(function (self) { return ({
30
31
  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/lib/store/root.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.2
2
+ * amis-core v6.0.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -12,11 +12,12 @@ var mobxStateTree = require('mobx-state-tree');
12
12
  var helper = require('../utils/helper.js');
13
13
  var service = require('./service.js');
14
14
  require('../utils/api.js');
15
+ require('../utils/browser.js');
15
16
  require('../utils/ColorScale.js');
16
17
  require('../utils/columnsSplit.js');
18
+ var object = require('../utils/object.js');
17
19
  require('amis-formula');
18
20
  require('lodash/isPlainObject');
19
- var object = require('../utils/object.js');
20
21
  require('../utils/DataSchema.js');
21
22
  require('../utils/DataScope.js');
22
23
  require('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.2
2
+ * amis-core v6.0.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -14,6 +14,7 @@ var helper = require('../utils/helper.js');
14
14
  var errors = require('../utils/errors.js');
15
15
  var api = require('../utils/api.js');
16
16
  var replaceText = require('../utils/replaceText.js');
17
+ var concatData = require('../utils/concatData.js');
17
18
  var object = require('../utils/object.js');
18
19
 
19
20
  var ServiceStore = iRenderer.iRendererStore
@@ -49,8 +50,11 @@ var ServiceStore = iRenderer.iRendererStore
49
50
  if (busying === void 0) { busying = true; }
50
51
  self.busying = busying;
51
52
  }
52
- function reInitData(data, replace) {
53
+ function reInitData(data, replace, concatFields) {
53
54
  if (replace === void 0) { replace = false; }
55
+ if (concatFields) {
56
+ data = concatData.concatData(data, self.data, concatFields);
57
+ }
54
58
  var newData = object.extendObject(self.pristine, data, !replace);
55
59
  self.data = self.pristine = newData;
56
60
  }
@@ -96,7 +100,7 @@ var ServiceStore = iRenderer.iRendererStore
96
100
  self.updatedAt = Date.now();
97
101
  replace = !!api$1.replaceData;
98
102
  data_1 = tslib.__assign(tslib.__assign({}, (replace ? {} : self.data)), api.normalizeApiResponseData(json.data));
99
- reInitData(data_1, replace);
103
+ reInitData(data_1, replace, api$1.concatDataFields);
100
104
  self.hasRemoteData = true;
101
105
  if (!(options && options.onSuccess)) return [3 /*break*/, 4];
102
106
  ret = options.onSuccess(json, data_1);
@@ -162,7 +166,7 @@ var ServiceStore = iRenderer.iRendererStore
162
166
  if (!helper.isEmpty(json.data) || json.ok) {
163
167
  self.updatedAt = Date.now();
164
168
  json.data &&
165
- self.updateData(api.normalizeApiResponseData(json.data), undefined, !!api$1.replaceData);
169
+ self.updateData(api.normalizeApiResponseData(json.data), undefined, !!api$1.replaceData, api$1.concatDataFields);
166
170
  self.hasRemoteData = true;
167
171
  }
168
172
  if (!!json.ok) return [3 /*break*/, 2];
@@ -233,7 +237,7 @@ var ServiceStore = iRenderer.iRendererStore
233
237
  if (!helper.isEmpty(json.data) || json.ok) {
234
238
  self.updatedAt = Date.now();
235
239
  json.data &&
236
- self.updateData(api.normalizeApiResponseData(json.data), undefined, !!api$1.replaceData);
240
+ self.updateData(api.normalizeApiResponseData(json.data), undefined, !!api$1.replaceData, api$1.concatDataFields);
237
241
  }
238
242
  if (!!json.ok) return [3 /*break*/, 4];
239
243
  if (!(options && options.onFailed)) return [3 /*break*/, 3];
@@ -347,7 +351,7 @@ var ServiceStore = iRenderer.iRendererStore
347
351
  }, api.normalizeApiResponseData(json.data));
348
352
  self.schemaKey = '' + Date.now();
349
353
  object.isObject(json.data.data) &&
350
- self.updateData(json.data.data, undefined, !!api$1.replaceData);
354
+ self.updateData(json.data.data, undefined, !!api$1.replaceData, api$1.concatDataFields);
351
355
  }
352
356
  updateMessage((_h = (_g = (_f = api$1 === null || api$1 === void 0 ? void 0 : api$1.messages) === null || _f === void 0 ? void 0 : _f.success) !== null && _g !== void 0 ? _g : json.msg) !== null && _h !== void 0 ? _h : (options && options.successMessage));
353
357
  // 配置了获取成功提示后提示,默认是空不会提示。
@@ -394,7 +398,7 @@ var ServiceStore = iRenderer.iRendererStore
394
398
  case 2:
395
399
  json = _a.sent();
396
400
  json.ok &&
397
- self.updateData(json.data, undefined, !!api.replaceData);
401
+ self.updateData(json.data, undefined, !!api.replaceData, api.concatDataFields);
398
402
  if (!json.ok) {
399
403
  throw new Error(json.msg);
400
404
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.2
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.2
2
+ * amis-core v6.0.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -18,7 +18,6 @@ var resolveVariableAndFilter = require('../utils/resolveVariableAndFilter.js');
18
18
  require('lodash/isPlainObject');
19
19
  require('../utils/filter.js');
20
20
  var isEqual = require('lodash/isEqual');
21
- var find = require('lodash/find');
22
21
  var sortBy = require('lodash/sortBy');
23
22
  var helper = require('../utils/helper.js');
24
23
  var tpl = require('../utils/tpl.js');
@@ -27,7 +26,6 @@ var manager = require('./manager.js');
27
26
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
28
27
 
29
28
  var isEqual__default = /*#__PURE__*/_interopDefaultLegacy(isEqual);
30
- var find__default = /*#__PURE__*/_interopDefaultLegacy(find);
31
29
  var sortBy__default = /*#__PURE__*/_interopDefaultLegacy(sortBy);
32
30
 
33
31
  /**
@@ -874,11 +872,18 @@ var TableStore = iRenderer.iRendererStore
874
872
  className: 'Table-dragCell'
875
873
  });
876
874
  var originColumns_1 = self.columns.concat();
875
+ var ids_1 = [];
877
876
  columns = columns.map(function (item, index) {
878
877
  var origin = item.id
879
878
  ? originColumns_1.find(function (column) { return column.pristine.id === item.id; })
880
879
  : originColumns_1[index];
881
- return tslib.__assign(tslib.__assign({}, item), { id: (origin === null || origin === void 0 ? void 0 : origin.id) || helper.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 });
880
+ var id = (origin === null || origin === void 0 ? void 0 : origin.id) || helper.guid();
881
+ // 还不知道为何会出现这个,先用这种方式避免 id 重复
882
+ if (ids_1.includes(id)) {
883
+ id = helper.guid();
884
+ }
885
+ ids_1.push(id);
886
+ return tslib.__assign(tslib.__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 });
882
887
  });
883
888
  self.columns.replace(columns);
884
889
  }
@@ -1121,16 +1126,25 @@ var TableStore = iRenderer.iRendererStore
1121
1126
  }
1122
1127
  function updateSelected(selected, valueField) {
1123
1128
  self.selectedRows.clear();
1124
- helper.eachTree(self.rows, function (item) {
1125
- if (~selected.indexOf(item.pristine)) {
1126
- self.selectedRows.push(item.id);
1129
+ selected.forEach(function (item) {
1130
+ var resolved = self.rows.find(function (a) { return a.pristine === item; });
1131
+ // 先严格比较,
1132
+ if (!resolved) {
1133
+ resolved = self.rows.find(function (a) {
1134
+ var selectValue = item[valueField || 'value'];
1135
+ var itemValue = a.pristine[valueField || 'value'];
1136
+ return selectValue === itemValue;
1137
+ });
1127
1138
  }
1128
- else if (find__default["default"](selected, function (a) {
1129
- return a[valueField || 'value'] &&
1130
- a[valueField || 'value'] == item.pristine[valueField || 'value'];
1131
- })) {
1132
- self.selectedRows.push(item.id);
1139
+ // 再宽松比较
1140
+ if (!resolved) {
1141
+ resolved = self.rows.find(function (a) {
1142
+ var selectValue = item[valueField || 'value'];
1143
+ var itemValue = a.pristine[valueField || 'value'];
1144
+ return selectValue == itemValue;
1145
+ });
1133
1146
  }
1147
+ resolved && self.selectedRows.push(resolved);
1134
1148
  });
1135
1149
  updateCheckDisable();
1136
1150
  }