vxe-table 4.14.11 → 4.14.13

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 (60) hide show
  1. package/es/locale/lang/de-DE.js +80 -80
  2. package/es/locale/lang/es-ES.js +79 -79
  3. package/es/locale/lang/ja-JP.js +82 -82
  4. package/es/locale/lang/ko-KR.js +88 -88
  5. package/es/locale/lang/ru-RU.js +84 -84
  6. package/es/locale/lang/vi-VN.js +79 -79
  7. package/es/locale/lang/zh-CHT.js +21 -21
  8. package/es/style.css +1 -1
  9. package/es/table/src/table.js +30 -122
  10. package/es/table/src/util.js +116 -0
  11. package/es/ui/index.js +1 -1
  12. package/es/ui/src/log.js +1 -1
  13. package/lib/index.umd.js +124 -45
  14. package/lib/index.umd.min.js +1 -1
  15. package/lib/locale/lang/de-DE.js +80 -80
  16. package/lib/locale/lang/de-DE.min.js +1 -1
  17. package/lib/locale/lang/de-DE.umd.js +80 -80
  18. package/lib/locale/lang/es-ES.js +79 -79
  19. package/lib/locale/lang/es-ES.min.js +1 -1
  20. package/lib/locale/lang/es-ES.umd.js +79 -79
  21. package/lib/locale/lang/ja-JP.js +82 -82
  22. package/lib/locale/lang/ja-JP.min.js +1 -1
  23. package/lib/locale/lang/ja-JP.umd.js +82 -82
  24. package/lib/locale/lang/ko-KR.js +88 -88
  25. package/lib/locale/lang/ko-KR.min.js +1 -1
  26. package/lib/locale/lang/ko-KR.umd.js +88 -88
  27. package/lib/locale/lang/ru-RU.js +84 -84
  28. package/lib/locale/lang/ru-RU.min.js +1 -1
  29. package/lib/locale/lang/ru-RU.umd.js +84 -84
  30. package/lib/locale/lang/vi-VN.js +79 -79
  31. package/lib/locale/lang/vi-VN.min.js +1 -1
  32. package/lib/locale/lang/vi-VN.umd.js +79 -79
  33. package/lib/locale/lang/zh-CHT.js +21 -21
  34. package/lib/locale/lang/zh-CHT.min.js +1 -1
  35. package/lib/locale/lang/zh-CHT.umd.js +21 -21
  36. package/lib/style.css +1 -1
  37. package/lib/table/src/table.js +6 -43
  38. package/lib/table/src/table.min.js +1 -1
  39. package/lib/table/src/util.js +117 -0
  40. package/lib/table/src/util.min.js +1 -1
  41. package/lib/ui/index.js +1 -1
  42. package/lib/ui/index.min.js +1 -1
  43. package/lib/ui/src/log.js +1 -1
  44. package/lib/ui/src/log.min.js +1 -1
  45. package/package.json +1 -1
  46. package/packages/locale/lang/de-DE.ts +80 -80
  47. package/packages/locale/lang/es-ES.ts +79 -79
  48. package/packages/locale/lang/ja-JP.ts +82 -82
  49. package/packages/locale/lang/ko-KR.ts +88 -88
  50. package/packages/locale/lang/ru-RU.ts +84 -84
  51. package/packages/locale/lang/vi-VN.ts +79 -79
  52. package/packages/locale/lang/zh-CHT.ts +21 -21
  53. package/packages/table/src/table.ts +31 -127
  54. package/packages/table/src/util.ts +121 -1
  55. /package/es/{iconfont.1754364719798.ttf → iconfont.1754456521837.ttf} +0 -0
  56. /package/es/{iconfont.1754364719798.woff → iconfont.1754456521837.woff} +0 -0
  57. /package/es/{iconfont.1754364719798.woff2 → iconfont.1754456521837.woff2} +0 -0
  58. /package/lib/{iconfont.1754364719798.ttf → iconfont.1754456521837.ttf} +0 -0
  59. /package/lib/{iconfont.1754364719798.woff → iconfont.1754456521837.woff} +0 -0
  60. /package/lib/{iconfont.1754364719798.woff2 → iconfont.1754456521837.woff2} +0 -0
@@ -4,7 +4,7 @@ import XEUtils from 'xe-utils';
4
4
  import { initTpImg, getTpImg, isPx, isScale, hasClass, addClass, removeClass, getEventTargetNode, getPaddingTopBottomSize, setScrollTop, setScrollLeft, toCssUnit, hasControlKey } from '../../ui/src/dom';
5
5
  import { getLastZIndex, nextZIndex, hasChildrenList, getFuncText, isEnableConf, formatText, eqEmptyValue } from '../../ui/src/utils';
6
6
  import { VxeUI } from '../../ui';
7
- import { getRowUniqueId, clearTableAllStatus, toFilters, hasDeepKey, getRowkey, getRowid, rowToVisible, colToVisible, getCellValue, setCellValue, handleRowidOrRow, handleFieldOrColumn, toTreePathSeq, restoreScrollLocation, getRootColumn, getRefElem, getColReMinWidth, createHandleUpdateRowId, createHandleGetRowId, getCalcHeight, getCellRestHeight } from './util';
7
+ import { createInternalData, getRowUniqueId, clearTableAllStatus, toFilters, hasDeepKey, getRowkey, getRowid, rowToVisible, colToVisible, getCellValue, setCellValue, handleRowidOrRow, handleFieldOrColumn, toTreePathSeq, restoreScrollLocation, getRootColumn, getRefElem, getColReMinWidth, createHandleUpdateRowId, createHandleGetRowId, getCalcHeight, getCellRestHeight } from './util';
8
8
  import { getSlotVNs } from '../../ui/src/vn';
9
9
  import { moveRowAnimateToTb, clearRowAnimate, moveColAnimateToLr, clearColAnimate } from './anime';
10
10
  import { warnLog, errLog } from '../../ui/src/log';
@@ -275,120 +275,7 @@ export default defineVxeComponent({
275
275
  isRowLoading: false,
276
276
  isColLoading: false
277
277
  });
278
- const internalData = {
279
- tZindex: 0,
280
- currKeyField: '',
281
- isCurrDeepKey: false,
282
- elemStore: {},
283
- // 存放横向 X 虚拟滚动相关的信息
284
- scrollXStore: {
285
- preloadSize: 0,
286
- offsetSize: 0,
287
- visibleSize: 0,
288
- visibleStartIndex: 0,
289
- visibleEndIndex: 0,
290
- startIndex: 0,
291
- endIndex: 0
292
- },
293
- // 存放纵向 Y 虚拟滚动相关信息
294
- scrollYStore: {
295
- preloadSize: 0,
296
- offsetSize: 0,
297
- visibleSize: 0,
298
- visibleStartIndex: 0,
299
- visibleEndIndex: 0,
300
- startIndex: 0,
301
- endIndex: 0
302
- },
303
- // 表格宽度
304
- tableWidth: 0,
305
- // 表格高度
306
- tableHeight: 0,
307
- // 表头高度
308
- headerHeight: 0,
309
- // 表尾高度
310
- footerHeight: 0,
311
- customHeight: 0,
312
- customMinHeight: 0,
313
- customMaxHeight: 0,
314
- // 当前 hover 行
315
- hoverRow: null,
316
- // 最后滚动位置
317
- lastScrollLeft: 0,
318
- lastScrollTop: 0,
319
- // 单选框属性,已选中保留的行
320
- radioReserveRow: null,
321
- // 复选框属性,已选中保留的行集合
322
- checkboxReserveRowMap: {},
323
- // 行数据,已展开保留的行集合
324
- rowExpandedReserveRowMap: {},
325
- // 树结构数据,已展开保留的行集合
326
- treeExpandedReserveRowMap: {},
327
- // 树结构数据,不确定状态的集合
328
- treeIndeterminateRowMaps: {},
329
- // 列表完整数据、条件处理后
330
- tableFullData: [],
331
- afterFullData: [],
332
- afterTreeFullData: [],
333
- afterGroupFullData: [],
334
- // 列表条件处理后数据集合
335
- afterFullRowMaps: {},
336
- // 树结构完整数据、条件处理后
337
- tableFullTreeData: [],
338
- // 行分组全量数据、条件处理后
339
- tableFullGroupData: [],
340
- tableSynchData: [],
341
- tableSourceData: [],
342
- // 收集的列配置(带分组)
343
- collectColumn: [],
344
- // 完整所有列(不带分组)
345
- tableFullColumn: [],
346
- // 渲染所有列
347
- visibleColumn: [],
348
- // 全量数据集(包括当前和已删除)
349
- fullAllDataRowIdData: {},
350
- // 数据集(仅当前)
351
- fullDataRowIdData: {},
352
- // 数据集(仅可视)
353
- visibleDataRowIdData: {},
354
- // 渲染中缓存数据
355
- sourceDataRowIdData: {},
356
- fullColumnIdData: {},
357
- fullColumnFieldData: {},
358
- // 合并单元格的数据
359
- mergeBodyList: [],
360
- mergeBodyMaps: {},
361
- // 合并表尾的数据
362
- mergeFooterList: [],
363
- mergeFooterMaps: {},
364
- // 已合并单元格数据集合
365
- mergeBodyCellMaps: {},
366
- // 已合并表尾数据集合
367
- mergeFooterCellMaps: {},
368
- // 已展开的行集合
369
- rowExpandedMaps: {},
370
- // 懒加载中的展开行的集合
371
- rowExpandLazyLoadedMaps: {},
372
- // 已展开的分组行
373
- rowGroupExpandedMaps: {},
374
- // 已展开树节点集合
375
- treeExpandedMaps: {},
376
- // 懒加载中的树节点的集合
377
- treeExpandLazyLoadedMaps: {},
378
- // 复选框属性,已选中的行集合
379
- selectCheckboxMaps: {},
380
- // 已标记的对象集
381
- pendingRowMaps: {},
382
- // 已新增的临时行
383
- insertRowMaps: {},
384
- // 已删除行
385
- removeRowMaps: {},
386
- cvCacheMaps: {},
387
- inited: false,
388
- tooltipTimeout: null,
389
- initStatus: false,
390
- isActivated: false
391
- };
278
+ const internalData = createInternalData();
392
279
  let tableMethods = {};
393
280
  let tablePrivateMethods = {};
394
281
  const refElem = ref();
@@ -5641,9 +5528,24 @@ export default defineVxeComponent({
5641
5528
  /**
5642
5529
  * 用于当前行,获取当前行的数据
5643
5530
  */
5644
- getCurrentRecord() {
5531
+ getCurrentRecord(isFull) {
5532
+ const { currentRow } = reactData;
5533
+ const { fullDataRowIdData, afterFullRowMaps } = internalData;
5645
5534
  const rowOpts = computeRowOpts.value;
5646
- return rowOpts.isCurrent || props.highlightCurrentRow ? reactData.currentRow : null;
5535
+ if (rowOpts.isCurrent || props.highlightCurrentRow) {
5536
+ const rowid = getRowid($xeTable, currentRow);
5537
+ if (isFull) {
5538
+ if (fullDataRowIdData[rowid]) {
5539
+ return currentRow;
5540
+ }
5541
+ }
5542
+ else {
5543
+ if (afterFullRowMaps[rowid]) {
5544
+ return currentRow;
5545
+ }
5546
+ }
5547
+ }
5548
+ return null;
5647
5549
  },
5648
5550
  /**
5649
5551
  * 用于单选行,获取当已选中的数据
@@ -7793,12 +7695,16 @@ export default defineVxeComponent({
7793
7695
  cacheRowMap(isReset) {
7794
7696
  const { treeConfig } = props;
7795
7697
  const { isRowGroupStatus } = reactData;
7796
- const { fullAllDataRowIdData, tableFullData, tableFullTreeData, tableFullGroupData, treeExpandedMaps } = internalData;
7698
+ const { currKeyField, fullAllDataRowIdData, tableFullData, tableFullTreeData, tableFullGroupData, treeExpandedMaps } = internalData;
7797
7699
  const fullAllDataRowIdMaps = isReset ? {} : Object.assign({}, fullAllDataRowIdData); // 存在已删除数据
7798
7700
  const fullDataRowIdMaps = {};
7701
+ const idMaps = {};
7799
7702
  const { handleUpdateRowId } = createHandleUpdateRowId($xeTable);
7800
7703
  const handleRowCache = (row, index, items, currIndex, parentRow, rowid, level, seq) => {
7801
7704
  let rowRest = fullAllDataRowIdMaps[rowid];
7705
+ if (idMaps[rowid]) {
7706
+ errLog('vxe.error.repeatKey', [currKeyField, rowid]);
7707
+ }
7802
7708
  if (!rowRest) {
7803
7709
  rowRest = { row, rowid, seq, index: -1, _index: -1, $index: -1, treeIndex: index, items, parent: parentRow, level, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
7804
7710
  fullDataRowIdMaps[rowid] = rowRest;
@@ -7812,6 +7718,7 @@ export default defineVxeComponent({
7812
7718
  rowRest.level = level;
7813
7719
  rowRest.index = currIndex;
7814
7720
  rowRest.treeIndex = index;
7721
+ idMaps[rowid] = true;
7815
7722
  fullDataRowIdMaps[rowid] = rowRest;
7816
7723
  fullAllDataRowIdMaps[rowid] = rowRest;
7817
7724
  };
@@ -11500,7 +11407,7 @@ export default defineVxeComponent({
11500
11407
  if (value && value.length >= 50000) {
11501
11408
  warnLog('vxe.error.errLargeData', ['loadData(data), reloadData(data)']);
11502
11409
  }
11503
- loadTableData(value, false).then(() => {
11410
+ loadTableData(value, true).then(() => {
11504
11411
  const { scrollXLoad, scrollYLoad, expandColumn } = reactData;
11505
11412
  const expandOpts = computeExpandOpts.value;
11506
11413
  internalData.inited = true;
@@ -11931,9 +11838,6 @@ export default defineVxeComponent({
11931
11838
  if ($xeTable.closeMenu) {
11932
11839
  $xeTable.closeMenu();
11933
11840
  }
11934
- tablePrivateMethods.preventEvent(null, 'beforeUnmount', { $table: $xeTable });
11935
- });
11936
- onUnmounted(() => {
11937
11841
  globalEvents.off($xeTable, 'paste');
11938
11842
  globalEvents.off($xeTable, 'copy');
11939
11843
  globalEvents.off($xeTable, 'cut');
@@ -11943,7 +11847,11 @@ export default defineVxeComponent({
11943
11847
  globalEvents.off($xeTable, 'keydown');
11944
11848
  globalEvents.off($xeTable, 'resize');
11945
11849
  globalEvents.off($xeTable, 'contextmenu');
11850
+ tablePrivateMethods.preventEvent(null, 'beforeUnmount', { $table: $xeTable });
11851
+ });
11852
+ onUnmounted(() => {
11946
11853
  tablePrivateMethods.preventEvent(null, 'unmounted', { $table: $xeTable });
11854
+ XEUtils.assign(internalData, createInternalData());
11947
11855
  });
11948
11856
  nextTick(() => {
11949
11857
  if (props.loading) {
@@ -3,6 +3,122 @@ import XEUtils from 'xe-utils';
3
3
  import { ColumnInfo } from './columnInfo';
4
4
  import { isPx, isScale, queryElement } from '../../ui/src/dom';
5
5
  import { eqEmptyValue } from '../../ui/src/utils';
6
+ export function createInternalData() {
7
+ return {
8
+ tZindex: 0,
9
+ currKeyField: '',
10
+ isCurrDeepKey: false,
11
+ elemStore: {},
12
+ // 存放横向 X 虚拟滚动相关的信息
13
+ scrollXStore: {
14
+ preloadSize: 0,
15
+ offsetSize: 0,
16
+ visibleSize: 0,
17
+ visibleStartIndex: 0,
18
+ visibleEndIndex: 0,
19
+ startIndex: 0,
20
+ endIndex: 0
21
+ },
22
+ // 存放纵向 Y 虚拟滚动相关信息
23
+ scrollYStore: {
24
+ preloadSize: 0,
25
+ offsetSize: 0,
26
+ visibleSize: 0,
27
+ visibleStartIndex: 0,
28
+ visibleEndIndex: 0,
29
+ startIndex: 0,
30
+ endIndex: 0
31
+ },
32
+ // 表格宽度
33
+ tableWidth: 0,
34
+ // 表格高度
35
+ tableHeight: 0,
36
+ // 表头高度
37
+ headerHeight: 0,
38
+ // 表尾高度
39
+ footerHeight: 0,
40
+ customHeight: 0,
41
+ customMinHeight: 0,
42
+ customMaxHeight: 0,
43
+ // 当前 hover 行
44
+ hoverRow: null,
45
+ // 最后滚动位置
46
+ lastScrollLeft: 0,
47
+ lastScrollTop: 0,
48
+ // 单选框属性,已选中保留的行
49
+ radioReserveRow: null,
50
+ // 复选框属性,已选中保留的行集合
51
+ checkboxReserveRowMap: {},
52
+ // 行数据,已展开保留的行集合
53
+ rowExpandedReserveRowMap: {},
54
+ // 树结构数据,已展开保留的行集合
55
+ treeExpandedReserveRowMap: {},
56
+ // 树结构数据,不确定状态的集合
57
+ treeIndeterminateRowMaps: {},
58
+ // 列表完整数据、条件处理后
59
+ tableFullData: [],
60
+ afterFullData: [],
61
+ afterTreeFullData: [],
62
+ afterGroupFullData: [],
63
+ // 列表条件处理后数据集合
64
+ afterFullRowMaps: {},
65
+ // 树结构完整数据、条件处理后
66
+ tableFullTreeData: [],
67
+ // 行分组全量数据、条件处理后
68
+ tableFullGroupData: [],
69
+ tableSynchData: [],
70
+ tableSourceData: [],
71
+ // 收集的列配置(带分组)
72
+ collectColumn: [],
73
+ // 完整所有列(不带分组)
74
+ tableFullColumn: [],
75
+ // 渲染所有列
76
+ visibleColumn: [],
77
+ // 全量数据集(包括当前和已删除)
78
+ fullAllDataRowIdData: {},
79
+ // 数据集(仅当前)
80
+ fullDataRowIdData: {},
81
+ // 数据集(仅可视)
82
+ visibleDataRowIdData: {},
83
+ // 渲染中缓存数据
84
+ sourceDataRowIdData: {},
85
+ fullColumnIdData: {},
86
+ fullColumnFieldData: {},
87
+ // 合并单元格的数据
88
+ mergeBodyList: [],
89
+ mergeBodyMaps: {},
90
+ // 合并表尾的数据
91
+ mergeFooterList: [],
92
+ mergeFooterMaps: {},
93
+ // 已合并单元格数据集合
94
+ mergeBodyCellMaps: {},
95
+ // 已合并表尾数据集合
96
+ mergeFooterCellMaps: {},
97
+ // 已展开的行集合
98
+ rowExpandedMaps: {},
99
+ // 懒加载中的展开行的集合
100
+ rowExpandLazyLoadedMaps: {},
101
+ // 已展开的分组行
102
+ rowGroupExpandedMaps: {},
103
+ // 已展开树节点集合
104
+ treeExpandedMaps: {},
105
+ // 懒加载中的树节点的集合
106
+ treeExpandLazyLoadedMaps: {},
107
+ // 复选框属性,已选中的行集合
108
+ selectCheckboxMaps: {},
109
+ // 已标记的对象集
110
+ pendingRowMaps: {},
111
+ // 已新增的临时行
112
+ insertRowMaps: {},
113
+ // 已删除行
114
+ removeRowMaps: {},
115
+ cvCacheMaps: {},
116
+ inited: false,
117
+ tooltipTimeout: null,
118
+ initStatus: false,
119
+ isActivated: false
120
+ };
121
+ }
6
122
  const getAllConvertColumns = (columns, parentColumn) => {
7
123
  const result = [];
8
124
  columns.forEach((column) => {
package/es/ui/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  import { getFuncText } from './src/utils';
3
- export const version = "4.14.11";
3
+ export const version = "4.14.13";
4
4
  VxeUI.version = version;
5
5
  VxeUI.tableVersion = version;
6
6
  VxeUI.setConfig({
package/es/ui/src/log.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  const { log } = VxeUI;
3
- const version = `table v${"4.14.11"}`;
3
+ const version = `table v${"4.14.13"}`;
4
4
  export const warnLog = log.create('warn', version);
5
5
  export const errLog = log.create('error', version);
package/lib/index.umd.js CHANGED
@@ -3233,7 +3233,7 @@ function eqEmptyValue(cellValue) {
3233
3233
  ;// ./packages/ui/index.ts
3234
3234
 
3235
3235
 
3236
- const version = "4.14.11";
3236
+ const version = "4.14.13";
3237
3237
  core_.VxeUI.version = version;
3238
3238
  core_.VxeUI.tableVersion = version;
3239
3239
  core_.VxeUI.setConfig({
@@ -3728,7 +3728,7 @@ var es_iterator_some = __webpack_require__(3579);
3728
3728
  const {
3729
3729
  log: log_log
3730
3730
  } = core_.VxeUI;
3731
- const log_version = `table v${"4.14.11"}`;
3731
+ const log_version = `table v${"4.14.13"}`;
3732
3732
  const warnLog = log_log.create('warn', log_version);
3733
3733
  const errLog = log_log.create('error', log_version);
3734
3734
  ;// ./packages/table/src/columnInfo.ts
@@ -4130,6 +4130,122 @@ function isNodeElement(elem) {
4130
4130
 
4131
4131
 
4132
4132
 
4133
+ function createInternalData() {
4134
+ return {
4135
+ tZindex: 0,
4136
+ currKeyField: '',
4137
+ isCurrDeepKey: false,
4138
+ elemStore: {},
4139
+ // 存放横向 X 虚拟滚动相关的信息
4140
+ scrollXStore: {
4141
+ preloadSize: 0,
4142
+ offsetSize: 0,
4143
+ visibleSize: 0,
4144
+ visibleStartIndex: 0,
4145
+ visibleEndIndex: 0,
4146
+ startIndex: 0,
4147
+ endIndex: 0
4148
+ },
4149
+ // 存放纵向 Y 虚拟滚动相关信息
4150
+ scrollYStore: {
4151
+ preloadSize: 0,
4152
+ offsetSize: 0,
4153
+ visibleSize: 0,
4154
+ visibleStartIndex: 0,
4155
+ visibleEndIndex: 0,
4156
+ startIndex: 0,
4157
+ endIndex: 0
4158
+ },
4159
+ // 表格宽度
4160
+ tableWidth: 0,
4161
+ // 表格高度
4162
+ tableHeight: 0,
4163
+ // 表头高度
4164
+ headerHeight: 0,
4165
+ // 表尾高度
4166
+ footerHeight: 0,
4167
+ customHeight: 0,
4168
+ customMinHeight: 0,
4169
+ customMaxHeight: 0,
4170
+ // 当前 hover 行
4171
+ hoverRow: null,
4172
+ // 最后滚动位置
4173
+ lastScrollLeft: 0,
4174
+ lastScrollTop: 0,
4175
+ // 单选框属性,已选中保留的行
4176
+ radioReserveRow: null,
4177
+ // 复选框属性,已选中保留的行集合
4178
+ checkboxReserveRowMap: {},
4179
+ // 行数据,已展开保留的行集合
4180
+ rowExpandedReserveRowMap: {},
4181
+ // 树结构数据,已展开保留的行集合
4182
+ treeExpandedReserveRowMap: {},
4183
+ // 树结构数据,不确定状态的集合
4184
+ treeIndeterminateRowMaps: {},
4185
+ // 列表完整数据、条件处理后
4186
+ tableFullData: [],
4187
+ afterFullData: [],
4188
+ afterTreeFullData: [],
4189
+ afterGroupFullData: [],
4190
+ // 列表条件处理后数据集合
4191
+ afterFullRowMaps: {},
4192
+ // 树结构完整数据、条件处理后
4193
+ tableFullTreeData: [],
4194
+ // 行分组全量数据、条件处理后
4195
+ tableFullGroupData: [],
4196
+ tableSynchData: [],
4197
+ tableSourceData: [],
4198
+ // 收集的列配置(带分组)
4199
+ collectColumn: [],
4200
+ // 完整所有列(不带分组)
4201
+ tableFullColumn: [],
4202
+ // 渲染所有列
4203
+ visibleColumn: [],
4204
+ // 全量数据集(包括当前和已删除)
4205
+ fullAllDataRowIdData: {},
4206
+ // 数据集(仅当前)
4207
+ fullDataRowIdData: {},
4208
+ // 数据集(仅可视)
4209
+ visibleDataRowIdData: {},
4210
+ // 渲染中缓存数据
4211
+ sourceDataRowIdData: {},
4212
+ fullColumnIdData: {},
4213
+ fullColumnFieldData: {},
4214
+ // 合并单元格的数据
4215
+ mergeBodyList: [],
4216
+ mergeBodyMaps: {},
4217
+ // 合并表尾的数据
4218
+ mergeFooterList: [],
4219
+ mergeFooterMaps: {},
4220
+ // 已合并单元格数据集合
4221
+ mergeBodyCellMaps: {},
4222
+ // 已合并表尾数据集合
4223
+ mergeFooterCellMaps: {},
4224
+ // 已展开的行集合
4225
+ rowExpandedMaps: {},
4226
+ // 懒加载中的展开行的集合
4227
+ rowExpandLazyLoadedMaps: {},
4228
+ // 已展开的分组行
4229
+ rowGroupExpandedMaps: {},
4230
+ // 已展开树节点集合
4231
+ treeExpandedMaps: {},
4232
+ // 懒加载中的树节点的集合
4233
+ treeExpandLazyLoadedMaps: {},
4234
+ // 复选框属性,已选中的行集合
4235
+ selectCheckboxMaps: {},
4236
+ // 已标记的对象集
4237
+ pendingRowMaps: {},
4238
+ // 已新增的临时行
4239
+ insertRowMaps: {},
4240
+ // 已删除行
4241
+ removeRowMaps: {},
4242
+ cvCacheMaps: {},
4243
+ inited: false,
4244
+ tooltipTimeout: null,
4245
+ initStatus: false,
4246
+ isActivated: false
4247
+ };
4248
+ }
4133
4249
  const getAllConvertColumns = (columns, parentColumn) => {
4134
4250
  const result = [];
4135
4251
  columns.forEach(column => {
@@ -11070,44 +11186,7 @@ focused:{row:null,column:null}},// 存放 tooltip 相关信息
11070
11186
  tooltipStore:{row:null,column:null,content:null,visible:false,currOpts:{}},// 存放数据校验相关信息
11071
11187
  validStore:{visible:false},validErrorMaps:{},// 导入相关信息
11072
11188
  importStore:{inited:false,file:null,type:'',modeList:[],typeList:[],filename:'',visible:false},importParams:{mode:'',types:null,message:true},// 导出相关信息
11073
- exportStore:{inited:false,name:'',modeList:[],typeList:[],columns:[],isPrint:false,hasFooter:false,hasMerge:false,hasTree:false,hasColgroup:false,visible:false},exportParams:{filename:'',sheetName:'',mode:'',type:'',isColgroup:false,isMerge:false,isAllExpand:false,useStyle:false,original:false,message:true,isHeader:false,isTitle:false,isFooter:false},visiblwRowsFlag:1,isRowGroupStatus:false,rowGroupList:[],aggHandleFields:[],aggHandleAggColumns:[],rowGroupExpandedFlag:1,rowExpandedFlag:1,treeExpandedFlag:1,updateCheckboxFlag:1,pendingRowFlag:1,insertRowFlag:1,removeRowFlag:1,mergeBodyFlag:1,mergeFootFlag:1,rowHeightStore:{large:52,default:48,medium:44,small:40,mini:36},scrollVMLoading:false,scrollYHeight:0,scrollYTop:0,isScrollYBig:false,scrollXLeft:0,scrollXWidth:0,isScrollXBig:false,lazScrollLoading:false,rowExpandHeightFlag:1,calcCellHeightFlag:1,resizeHeightFlag:1,resizeWidthFlag:1,isCustomStatus:false,isDragRowMove:false,dragRow:null,isDragColMove:false,dragCol:null,dragTipText:'',isDragResize:false,isRowLoading:false,isColLoading:false});const internalData={tZindex:0,currKeyField:'',isCurrDeepKey:false,elemStore:{},// 存放横向 X 虚拟滚动相关的信息
11074
- scrollXStore:{preloadSize:0,offsetSize:0,visibleSize:0,visibleStartIndex:0,visibleEndIndex:0,startIndex:0,endIndex:0},// 存放纵向 Y 虚拟滚动相关信息
11075
- scrollYStore:{preloadSize:0,offsetSize:0,visibleSize:0,visibleStartIndex:0,visibleEndIndex:0,startIndex:0,endIndex:0},// 表格宽度
11076
- tableWidth:0,// 表格高度
11077
- tableHeight:0,// 表头高度
11078
- headerHeight:0,// 表尾高度
11079
- footerHeight:0,customHeight:0,customMinHeight:0,customMaxHeight:0,// 当前 hover 行
11080
- hoverRow:null,// 最后滚动位置
11081
- lastScrollLeft:0,lastScrollTop:0,// 单选框属性,已选中保留的行
11082
- radioReserveRow:null,// 复选框属性,已选中保留的行集合
11083
- checkboxReserveRowMap:{},// 行数据,已展开保留的行集合
11084
- rowExpandedReserveRowMap:{},// 树结构数据,已展开保留的行集合
11085
- treeExpandedReserveRowMap:{},// 树结构数据,不确定状态的集合
11086
- treeIndeterminateRowMaps:{},// 列表完整数据、条件处理后
11087
- tableFullData:[],afterFullData:[],afterTreeFullData:[],afterGroupFullData:[],// 列表条件处理后数据集合
11088
- afterFullRowMaps:{},// 树结构完整数据、条件处理后
11089
- tableFullTreeData:[],// 行分组全量数据、条件处理后
11090
- tableFullGroupData:[],tableSynchData:[],tableSourceData:[],// 收集的列配置(带分组)
11091
- collectColumn:[],// 完整所有列(不带分组)
11092
- tableFullColumn:[],// 渲染所有列
11093
- visibleColumn:[],// 全量数据集(包括当前和已删除)
11094
- fullAllDataRowIdData:{},// 数据集(仅当前)
11095
- fullDataRowIdData:{},// 数据集(仅可视)
11096
- visibleDataRowIdData:{},// 渲染中缓存数据
11097
- sourceDataRowIdData:{},fullColumnIdData:{},fullColumnFieldData:{},// 合并单元格的数据
11098
- mergeBodyList:[],mergeBodyMaps:{},// 合并表尾的数据
11099
- mergeFooterList:[],mergeFooterMaps:{},// 已合并单元格数据集合
11100
- mergeBodyCellMaps:{},// 已合并表尾数据集合
11101
- mergeFooterCellMaps:{},// 已展开的行集合
11102
- rowExpandedMaps:{},// 懒加载中的展开行的集合
11103
- rowExpandLazyLoadedMaps:{},// 已展开的分组行
11104
- rowGroupExpandedMaps:{},// 已展开树节点集合
11105
- treeExpandedMaps:{},// 懒加载中的树节点的集合
11106
- treeExpandLazyLoadedMaps:{},// 复选框属性,已选中的行集合
11107
- selectCheckboxMaps:{},// 已标记的对象集
11108
- pendingRowMaps:{},// 已新增的临时行
11109
- insertRowMaps:{},// 已删除行
11110
- removeRowMaps:{},cvCacheMaps:{},inited:false,tooltipTimeout:null,initStatus:false,isActivated:false};let tableMethods={};let tablePrivateMethods={};const refElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refVarElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTooltip=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refCommTooltip=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refValidTooltip=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableMenu=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableFilter=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableCustom=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableViewportElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableHeader=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableBody=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableFooter=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableLeftHeader=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableLeftBody=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableLeftFooter=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableRightHeader=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableRightBody=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableRightFooter=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refLeftContainer=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refRightContainer=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refColResizeBar=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refRowResizeBar=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refEmptyPlaceholder=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refDragTipElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refDragRowLineElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refDragColLineElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refRowExpandElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refRowExpandYSpaceElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollXVirtualElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollYVirtualElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollXHandleElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollXLeftCornerElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollXRightCornerElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollYHandleElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollYTopCornerElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollXWrapperElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollYWrapperElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollYBottomCornerElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollXSpaceElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollYSpaceElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const $xeGrid=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('$xeGrid',null);let $xeToolbar;const computeTableId=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const{id}=props;if(id){if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(id)){return`${id({$table:$xeTable,$grid:$xeGrid})||''}`;}return`${id}`;}return'';});const computeRowField=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const rowOpts=computeRowOpts.value;return`${props.rowId||rowOpts.keyField||'_X_ROW_KEY'}`;});const computeValidOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.validConfig,props.validConfig);});/**
11189
+ exportStore:{inited:false,name:'',modeList:[],typeList:[],columns:[],isPrint:false,hasFooter:false,hasMerge:false,hasTree:false,hasColgroup:false,visible:false},exportParams:{filename:'',sheetName:'',mode:'',type:'',isColgroup:false,isMerge:false,isAllExpand:false,useStyle:false,original:false,message:true,isHeader:false,isTitle:false,isFooter:false},visiblwRowsFlag:1,isRowGroupStatus:false,rowGroupList:[],aggHandleFields:[],aggHandleAggColumns:[],rowGroupExpandedFlag:1,rowExpandedFlag:1,treeExpandedFlag:1,updateCheckboxFlag:1,pendingRowFlag:1,insertRowFlag:1,removeRowFlag:1,mergeBodyFlag:1,mergeFootFlag:1,rowHeightStore:{large:52,default:48,medium:44,small:40,mini:36},scrollVMLoading:false,scrollYHeight:0,scrollYTop:0,isScrollYBig:false,scrollXLeft:0,scrollXWidth:0,isScrollXBig:false,lazScrollLoading:false,rowExpandHeightFlag:1,calcCellHeightFlag:1,resizeHeightFlag:1,resizeWidthFlag:1,isCustomStatus:false,isDragRowMove:false,dragRow:null,isDragColMove:false,dragCol:null,dragTipText:'',isDragResize:false,isRowLoading:false,isColLoading:false});const internalData=createInternalData();let tableMethods={};let tablePrivateMethods={};const refElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refVarElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTooltip=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refCommTooltip=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refValidTooltip=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableMenu=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableFilter=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableCustom=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableViewportElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableHeader=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableBody=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableFooter=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableLeftHeader=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableLeftBody=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableLeftFooter=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableRightHeader=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableRightBody=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableRightFooter=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refLeftContainer=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refRightContainer=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refColResizeBar=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refRowResizeBar=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refEmptyPlaceholder=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refDragTipElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refDragRowLineElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refDragColLineElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refRowExpandElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refRowExpandYSpaceElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollXVirtualElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollYVirtualElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollXHandleElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollXLeftCornerElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollXRightCornerElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollYHandleElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollYTopCornerElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollXWrapperElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollYWrapperElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollYBottomCornerElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollXSpaceElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollYSpaceElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const $xeGrid=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('$xeGrid',null);let $xeToolbar;const computeTableId=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const{id}=props;if(id){if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(id)){return`${id({$table:$xeTable,$grid:$xeGrid})||''}`;}return`${id}`;}return'';});const computeRowField=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const rowOpts=computeRowOpts.value;return`${props.rowId||rowOpts.keyField||'_X_ROW_KEY'}`;});const computeValidOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.validConfig,props.validConfig);});/**
11111
11190
  * @deprecated
11112
11191
  */const computeSXOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const virtualXOpts=computeVirtualXOpts.value;return virtualXOpts;});const computeScrollXThreshold=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const virtualXOpts=computeVirtualXOpts.value;const{threshold}=virtualXOpts;if(threshold){return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(threshold);}return 0;});/**
11113
11192
  * @deprecated
@@ -11534,7 +11613,7 @@ reactData.currentRow=row;if(rowOpts.isCurrent||props.highlightCurrentRow){if(el)
11534
11613
  * 用于单选行,手动清空用户的选择
11535
11614
  */clearRadioRow(){reactData.selectRadioRow=null;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
11536
11615
  * 用于当前行,获取当前行的数据
11537
- */getCurrentRecord(){const rowOpts=computeRowOpts.value;return rowOpts.isCurrent||props.highlightCurrentRow?reactData.currentRow:null;},/**
11616
+ */getCurrentRecord(isFull){const{currentRow}=reactData;const{fullDataRowIdData,afterFullRowMaps}=internalData;const rowOpts=computeRowOpts.value;if(rowOpts.isCurrent||props.highlightCurrentRow){const rowid=getRowid($xeTable,currentRow);if(isFull){if(fullDataRowIdData[rowid]){return currentRow;}}else{if(afterFullRowMaps[rowid]){return currentRow;}}}return null;},/**
11538
11617
  * 用于单选行,获取当已选中的数据
11539
11618
  */getRadioRecord(isFull){const{fullDataRowIdData,afterFullRowMaps}=internalData;const{selectRadioRow}=reactData;if(selectRadioRow){const rowid=getRowid($xeTable,selectRadioRow);if(isFull){if(fullDataRowIdData[rowid]){return selectRadioRow;}}else{if(afterFullRowMaps[rowid]){return selectRadioRow;}}}return null;},getCurrentColumn(){const columnOpts=computeColumnOpts.value;return columnOpts.isCurrent||props.highlightCurrentColumn?reactData.currentColumn:null;},/**
11540
11619
  * 用于当前列,设置某列行为高亮状态
@@ -11727,8 +11806,8 @@ if(force){// 更新数据,处理筛选和排序
11727
11806
  updateAfterFullData();// 如果为虚拟树,将树结构拍平
11728
11807
  fullList=handleVirtualTreeToList();}const tableData=scrollYLoad?fullList.slice(scrollYStore.startIndex,scrollYStore.endIndex):fullList.slice(0);const visibleDataRowIdMaps={};tableData.forEach((row,$index)=>{const rowid=getRowid($xeTable,row);const rest=fullDataRowIdData[rowid];if(rest){rest.$index=$index;}visibleDataRowIdMaps[rowid]=row;});reactData.tableData=tableData;internalData.visibleDataRowIdData=visibleDataRowIdMaps;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
11729
11808
  * 更新数据行的 Map
11730
- */cacheRowMap(isReset){const{treeConfig}=props;const{isRowGroupStatus}=reactData;const{fullAllDataRowIdData,tableFullData,tableFullTreeData,tableFullGroupData,treeExpandedMaps}=internalData;const fullAllDataRowIdMaps=isReset?{}:{...fullAllDataRowIdData};// 存在已删除数据
11731
- const fullDataRowIdMaps={};const{handleUpdateRowId}=createHandleUpdateRowId($xeTable);const handleRowCache=(row,index,items,currIndex,parentRow,rowid,level,seq)=>{let rowRest=fullAllDataRowIdMaps[rowid];if(!rowRest){rowRest={row,rowid,seq,index:-1,_index:-1,$index:-1,treeIndex:index,items,parent:parentRow,level,height:0,resizeHeight:0,oTop:0,expandHeight:0};fullDataRowIdMaps[rowid]=rowRest;fullAllDataRowIdMaps[rowid]=rowRest;}rowRest.treeLoaded=false;rowRest.expandLoaded=false;rowRest.row=row;rowRest.items=items;rowRest.parent=parentRow;rowRest.level=level;rowRest.index=currIndex;rowRest.treeIndex=index;fullDataRowIdMaps[rowid]=rowRest;fullAllDataRowIdMaps[rowid]=rowRest;};if(treeConfig){const treeOpts=computeTreeOpts.value;const{lazy}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const hasChildField=treeOpts.hasChild||treeOpts.hasChildField;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullTreeData,(row,index,items,path,parentRow,nodes)=>{const rowid=handleUpdateRowId(row);if(treeConfig&&lazy){if(row[hasChildField]&&row[childrenField]===undefined){row[childrenField]=null;}if(treeExpandedMaps[rowid]){if(!row[childrenField]||!row[childrenField].length){delete treeExpandedMaps[rowid];}}}handleRowCache(row,index,items,parentRow?-1:index,parentRow,rowid,nodes.length-1,toTreePathSeq(path));},{children:childrenField});}else if(isRowGroupStatus){const aggregateOpts=computeAggregateOpts.value;const{mapChildrenField}=aggregateOpts;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullGroupData,(row,index,items,path,parentRow,nodes)=>{const rowid=handleUpdateRowId(row);handleRowCache(row,index,items,parentRow?-1:index,parentRow,rowid,nodes.length-1,toTreePathSeq(path));},{children:mapChildrenField});}else{tableFullData.forEach((row,index,items)=>{handleRowCache(row,index,items,index,null,handleUpdateRowId(row),0,index+1);});}internalData.fullDataRowIdData=fullDataRowIdMaps;internalData.fullAllDataRowIdData=fullAllDataRowIdMaps;reactData.treeExpandedFlag++;},cacheSourceMap(fullData){const{treeConfig}=props;const treeOpts=computeTreeOpts.value;const sourceData=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(fullData,true);const{handleUpdateRowId}=createHandleUpdateRowId($xeTable);const sourceRowIdData={};const handleSourceRow=row=>{const rowid=handleUpdateRowId(row);sourceRowIdData[rowid]=row;};// 源数据缓存
11809
+ */cacheRowMap(isReset){const{treeConfig}=props;const{isRowGroupStatus}=reactData;const{currKeyField,fullAllDataRowIdData,tableFullData,tableFullTreeData,tableFullGroupData,treeExpandedMaps}=internalData;const fullAllDataRowIdMaps=isReset?{}:{...fullAllDataRowIdData};// 存在已删除数据
11810
+ const fullDataRowIdMaps={};const idMaps={};const{handleUpdateRowId}=createHandleUpdateRowId($xeTable);const handleRowCache=(row,index,items,currIndex,parentRow,rowid,level,seq)=>{let rowRest=fullAllDataRowIdMaps[rowid];if(idMaps[rowid]){errLog('vxe.error.repeatKey',[currKeyField,rowid]);}if(!rowRest){rowRest={row,rowid,seq,index:-1,_index:-1,$index:-1,treeIndex:index,items,parent:parentRow,level,height:0,resizeHeight:0,oTop:0,expandHeight:0};fullDataRowIdMaps[rowid]=rowRest;fullAllDataRowIdMaps[rowid]=rowRest;}rowRest.treeLoaded=false;rowRest.expandLoaded=false;rowRest.row=row;rowRest.items=items;rowRest.parent=parentRow;rowRest.level=level;rowRest.index=currIndex;rowRest.treeIndex=index;idMaps[rowid]=true;fullDataRowIdMaps[rowid]=rowRest;fullAllDataRowIdMaps[rowid]=rowRest;};if(treeConfig){const treeOpts=computeTreeOpts.value;const{lazy}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const hasChildField=treeOpts.hasChild||treeOpts.hasChildField;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullTreeData,(row,index,items,path,parentRow,nodes)=>{const rowid=handleUpdateRowId(row);if(treeConfig&&lazy){if(row[hasChildField]&&row[childrenField]===undefined){row[childrenField]=null;}if(treeExpandedMaps[rowid]){if(!row[childrenField]||!row[childrenField].length){delete treeExpandedMaps[rowid];}}}handleRowCache(row,index,items,parentRow?-1:index,parentRow,rowid,nodes.length-1,toTreePathSeq(path));},{children:childrenField});}else if(isRowGroupStatus){const aggregateOpts=computeAggregateOpts.value;const{mapChildrenField}=aggregateOpts;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullGroupData,(row,index,items,path,parentRow,nodes)=>{const rowid=handleUpdateRowId(row);handleRowCache(row,index,items,parentRow?-1:index,parentRow,rowid,nodes.length-1,toTreePathSeq(path));},{children:mapChildrenField});}else{tableFullData.forEach((row,index,items)=>{handleRowCache(row,index,items,index,null,handleUpdateRowId(row),0,index+1);});}internalData.fullDataRowIdData=fullDataRowIdMaps;internalData.fullAllDataRowIdData=fullAllDataRowIdMaps;reactData.treeExpandedFlag++;},cacheSourceMap(fullData){const{treeConfig}=props;const treeOpts=computeTreeOpts.value;const sourceData=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(fullData,true);const{handleUpdateRowId}=createHandleUpdateRowId($xeTable);const sourceRowIdData={};const handleSourceRow=row=>{const rowid=handleUpdateRowId(row);sourceRowIdData[rowid]=row;};// 源数据缓存
11732
11811
  if(treeConfig){const childrenField=treeOpts.children||treeOpts.childrenField;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(sourceData,handleSourceRow,{children:treeOpts.transform?treeOpts.mapChildrenField:childrenField});}else{sourceData.forEach(handleSourceRow);}internalData.sourceDataRowIdData=sourceRowIdData;internalData.tableSourceData=sourceData;},/**
11733
11812
  * 指定列宽的列进行拆分
11734
11813
  */analyColumnWidth(){const{tableFullColumn}=internalData;const columnOpts=computeColumnOpts.value;const{width:defaultWidth,minWidth:defaultMinWidth}=columnOpts;const resizeList=[];const pxList=[];const pxMinList=[];const autoMinList=[];const scaleList=[];const scaleMinList=[];const autoList=[];const remainList=[];tableFullColumn.forEach(column=>{if(defaultWidth&&!column.width){column.width=defaultWidth;}if(defaultMinWidth&&!column.minWidth){column.minWidth=defaultMinWidth;}if(column.visible){if(column.resizeWidth){resizeList.push(column);}else if(column.width==='auto'){autoList.push(column);}else if(isPx(column.width)){pxList.push(column);}else if(isScale(column.width)){scaleList.push(column);}else if(isPx(column.minWidth)){pxMinList.push(column);}else if(column.minWidth==='auto'){autoMinList.push(column);}else if(isScale(column.minWidth)){scaleMinList.push(column);}else{remainList.push(column);}}});Object.assign(reactData.columnStore,{resizeList,pxList,pxMinList,autoMinList,scaleList,scaleMinList,autoList,remainList});},handleColResizeMousedownEvent(evnt,fixedType,params){evnt.stopPropagation();evnt.preventDefault();const{column}=params;const{columnStore,overflowX,scrollbarHeight}=reactData;const{elemStore,visibleColumn}=internalData;const{leftList,rightList}=columnStore;const resizableOpts=computeResizableOpts.value;const osbHeight=overflowX?scrollbarHeight:0;const tableEl=refElem.value;const leftContainerElem=refLeftContainer.value;const rightContainerElem=refRightContainer.value;const resizeBarElem=refColResizeBar.value;if(!resizeBarElem){return;}const isLeftFixed=fixedType==='left';const isRightFixed=fixedType==='right';const resizeTipElem=resizeBarElem.firstElementChild;const scrollbarXToTop=computeScrollbarXToTop.value;const{clientX:dragClientX}=evnt;const dragBtnElem=evnt.target;let resizeColumn=column;if(column.children&&column.children.length){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(column.children,childColumn=>{resizeColumn=childColumn;});}const cell=dragBtnElem.parentNode;const cellParams=Object.assign(params,{cell});let dragLeft=0;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);if(!bodyScrollElem){return;}const tableRect=tableEl.getBoundingClientRect();const rightContainerRect=rightContainerElem?rightContainerElem.getBoundingClientRect():null;const cellRect=cell.getBoundingClientRect();const dragBtnRect=dragBtnElem.getBoundingClientRect();const dragBtnWidth=dragBtnElem.clientWidth;const dragBtnOffsetWidth=Math.floor(dragBtnWidth/2);const dragPosLeft=dragBtnRect.x-tableRect.x+dragBtnOffsetWidth;const minInterval=getColReMinWidth(cellParams)-dragBtnOffsetWidth;// 列之间的最小间距
@@ -11914,7 +11993,7 @@ if(bodyScrollElem&&bodyTableElem&&bodyScrollElem.scrollTop+clientHeight>=maxYHei
11914
11993
  * 工具提示
11915
11994
  */(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(VxeUITooltipComponent,{key:'btp',ref:refTooltip,theme:tableTipConfig.theme,enterable:tableTipConfig.enterable,enterDelay:tableTipConfig.enterDelay,leaveDelay:tableTipConfig.leaveDelay,useHTML:tableTipConfig.useHTML}),/**
11916
11995
  * 校验提示
11917
- */props.editRules&&validOpts.showMessage&&(validOpts.message==='default'?!height:validOpts.message==='tooltip')?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(VxeUITooltipComponent,{key:'vtp',ref:refValidTooltip,class:[{'old-cell-valid':editRules&&table_getConfig().cellVaildMode==='obsolete'},'vxe-table--valid-error'],theme:validTipConfig.theme,enterable:validTipConfig.enterable,enterDelay:validTipConfig.enterDelay,leaveDelay:validTipConfig.leaveDelay}):table_renderEmptyElement($xeTable)]):table_renderEmptyElement($xeTable)]);};const dataFlag=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(0);(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(()=>props.data?props.data.length:-1,()=>{dataFlag.value++;});(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(()=>props.data,()=>{dataFlag.value++;});(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(dataFlag,()=>{const{initStatus}=internalData;const value=props.data||[];if(value&&value.length>=50000){warnLog('vxe.error.errLargeData',['loadData(data), reloadData(data)']);}loadTableData(value,false).then(()=>{const{scrollXLoad,scrollYLoad,expandColumn}=reactData;const expandOpts=computeExpandOpts.value;internalData.inited=true;internalData.initStatus=true;if(!initStatus){handleLoadDefaults();}// const checkboxOpts = computeCheckboxOpts.value
11996
+ */props.editRules&&validOpts.showMessage&&(validOpts.message==='default'?!height:validOpts.message==='tooltip')?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(VxeUITooltipComponent,{key:'vtp',ref:refValidTooltip,class:[{'old-cell-valid':editRules&&table_getConfig().cellVaildMode==='obsolete'},'vxe-table--valid-error'],theme:validTipConfig.theme,enterable:validTipConfig.enterable,enterDelay:validTipConfig.enterDelay,leaveDelay:validTipConfig.leaveDelay}):table_renderEmptyElement($xeTable)]):table_renderEmptyElement($xeTable)]);};const dataFlag=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(0);(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(()=>props.data?props.data.length:-1,()=>{dataFlag.value++;});(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(()=>props.data,()=>{dataFlag.value++;});(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(dataFlag,()=>{const{initStatus}=internalData;const value=props.data||[];if(value&&value.length>=50000){warnLog('vxe.error.errLargeData',['loadData(data), reloadData(data)']);}loadTableData(value,true).then(()=>{const{scrollXLoad,scrollYLoad,expandColumn}=reactData;const expandOpts=computeExpandOpts.value;internalData.inited=true;internalData.initStatus=true;if(!initStatus){handleLoadDefaults();}// const checkboxOpts = computeCheckboxOpts.value
11918
11997
  // const checkboxColumn = internalData.tableFullColumn.find(column => column.type === 'checkbox')
11919
11998
  // if (checkboxColumn && internalData.tableFullData.length > 300 && !checkboxOpts.checkField) {
11920
11999
  // warnLog('vxe.error.checkProp', ['checkbox-config.checkField'])
@@ -11942,7 +12021,7 @@ if(importConfig&&importOpts.types&&!importOpts.importMethod&&!external_root_XEUt
11942
12021
  // }
11943
12022
  // }
11944
12023
  // 检查是否有安装需要的模块
11945
- if(props.editConfig&&!$xeTable.insert){errLog('vxe.error.reqModule',['Edit']);}if(props.editRules&&!$xeTable.validate){errLog('vxe.error.reqModule',['Validator']);}if((checkboxOpts.range||props.keyboardConfig||props.mouseConfig)&&!$xeTable.handleCellMousedownEvent){errLog('vxe.error.reqModule',['Keyboard']);}if((props.printConfig||props.importConfig||props.exportConfig)&&!$xeTable.exportData){errLog('vxe.error.reqModule',['Export']);}Object.assign(scrollYStore,{startIndex:0,endIndex:0,visibleSize:0});Object.assign(scrollXStore,{startIndex:0,endIndex:0,visibleSize:0});loadTableData(data||[],true).then(()=>{if(data&&data.length){internalData.inited=true;internalData.initStatus=true;handleLoadDefaults();}handleInitDefaults();updateStyle();});if(props.autoResize){const el=refElem.value;const parentEl=tablePrivateMethods.getParentElem();resizeObserver=table_globalResize.create(()=>{if(props.autoResize){tableMethods.recalculate(true);}});if(el){resizeObserver.observe(el);}if(parentEl){resizeObserver.observe(parentEl);}}});if(virtualYOpts.mode!=='scroll'){const tableViewportEl=refTableViewportElem.value;if(tableViewportEl){tableViewportEl.addEventListener('wheel',$xeTable.triggerBodyWheelEvent,{passive:false});}}table_globalEvents.on($xeTable,'paste',handleGlobalPasteEvent);table_globalEvents.on($xeTable,'copy',handleGlobalCopyEvent);table_globalEvents.on($xeTable,'cut',handleGlobalCutEvent);table_globalEvents.on($xeTable,'mousedown',handleGlobalMousedownEvent);table_globalEvents.on($xeTable,'blur',handleGlobalBlurEvent);table_globalEvents.on($xeTable,'mousewheel',handleGlobalMousewheelEvent);table_globalEvents.on($xeTable,'keydown',handleGlobalKeydownEvent);table_globalEvents.on($xeTable,'resize',handleGlobalResizeEvent);table_globalEvents.on($xeTable,'contextmenu',$xeTable.handleGlobalContextmenuEvent);$xeTable.preventEvent(null,'mounted',{$table:$xeTable});});(0,external_commonjs_vue_commonjs2_vue_root_Vue_.onBeforeUnmount)(()=>{const tableViewportEl=refTableViewportElem.value;if(tableViewportEl){tableViewportEl.removeEventListener('wheel',$xeTable.triggerBodyWheelEvent);}internalData.cvCacheMaps={};internalData.prevDragRow=null;internalData.prevDragCol=null;if(resizeObserver){resizeObserver.disconnect();}tableMethods.closeFilter();if($xeTable.closeMenu){$xeTable.closeMenu();}tablePrivateMethods.preventEvent(null,'beforeUnmount',{$table:$xeTable});});(0,external_commonjs_vue_commonjs2_vue_root_Vue_.onUnmounted)(()=>{table_globalEvents.off($xeTable,'paste');table_globalEvents.off($xeTable,'copy');table_globalEvents.off($xeTable,'cut');table_globalEvents.off($xeTable,'mousedown');table_globalEvents.off($xeTable,'blur');table_globalEvents.off($xeTable,'mousewheel');table_globalEvents.off($xeTable,'keydown');table_globalEvents.off($xeTable,'resize');table_globalEvents.off($xeTable,'contextmenu');tablePrivateMethods.preventEvent(null,'unmounted',{$table:$xeTable});});(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{if(props.loading){if(!VxeUILoadingComponent&&!slots.loading){errLog('vxe.error.errProp',['loading=true','loading=false | <template #loading>...</template>']);errLog('vxe.error.reqComp',['vxe-loading']);}}if(props.showOverflow===true||props.showOverflow==='tooltip'||props.showHeaderOverflow===true||props.showHeaderOverflow==='tooltip'||props.showFooterOverflow===true||props.showFooterOverflow==='tooltip'||props.tooltipConfig||props.editRules){if(!VxeUITooltipComponent){if(props.showOverflow===true){errLog('vxe.error.errProp',['show-overflow=true','show-overflow=title']);}if(props.showOverflow==='tooltip'){errLog('vxe.error.errProp',['show-overflow=tooltip','show-overflow=title']);}if(props.showHeaderOverflow===true){errLog('vxe.error.errProp',['show-header-overflow=true','show-header-overflow=title']);}if(props.showHeaderOverflow==='tooltip'){errLog('vxe.error.errProp',['show-header-overflow=tooltip','show-header-overflow=title']);}if(props.showFooterOverflow===true){errLog('vxe.error.errProp',['show-footer-overflow=true','show-footer-overflow=title']);}if(props.showFooterOverflow==='tooltip'){errLog('vxe.error.errProp',['show-footer-overflow=tooltip','show-footer-overflow=title']);}errLog('vxe.error.reqComp',['vxe-tooltip']);}}});(0,external_commonjs_vue_commonjs2_vue_root_Vue_.provide)('$xeColgroup',null);(0,external_commonjs_vue_commonjs2_vue_root_Vue_.provide)('$xeTable',$xeTable);$xeTable.renderVN=renderVN;return $xeTable;},render(){return this.renderVN();}}));
12024
+ if(props.editConfig&&!$xeTable.insert){errLog('vxe.error.reqModule',['Edit']);}if(props.editRules&&!$xeTable.validate){errLog('vxe.error.reqModule',['Validator']);}if((checkboxOpts.range||props.keyboardConfig||props.mouseConfig)&&!$xeTable.handleCellMousedownEvent){errLog('vxe.error.reqModule',['Keyboard']);}if((props.printConfig||props.importConfig||props.exportConfig)&&!$xeTable.exportData){errLog('vxe.error.reqModule',['Export']);}Object.assign(scrollYStore,{startIndex:0,endIndex:0,visibleSize:0});Object.assign(scrollXStore,{startIndex:0,endIndex:0,visibleSize:0});loadTableData(data||[],true).then(()=>{if(data&&data.length){internalData.inited=true;internalData.initStatus=true;handleLoadDefaults();}handleInitDefaults();updateStyle();});if(props.autoResize){const el=refElem.value;const parentEl=tablePrivateMethods.getParentElem();resizeObserver=table_globalResize.create(()=>{if(props.autoResize){tableMethods.recalculate(true);}});if(el){resizeObserver.observe(el);}if(parentEl){resizeObserver.observe(parentEl);}}});if(virtualYOpts.mode!=='scroll'){const tableViewportEl=refTableViewportElem.value;if(tableViewportEl){tableViewportEl.addEventListener('wheel',$xeTable.triggerBodyWheelEvent,{passive:false});}}table_globalEvents.on($xeTable,'paste',handleGlobalPasteEvent);table_globalEvents.on($xeTable,'copy',handleGlobalCopyEvent);table_globalEvents.on($xeTable,'cut',handleGlobalCutEvent);table_globalEvents.on($xeTable,'mousedown',handleGlobalMousedownEvent);table_globalEvents.on($xeTable,'blur',handleGlobalBlurEvent);table_globalEvents.on($xeTable,'mousewheel',handleGlobalMousewheelEvent);table_globalEvents.on($xeTable,'keydown',handleGlobalKeydownEvent);table_globalEvents.on($xeTable,'resize',handleGlobalResizeEvent);table_globalEvents.on($xeTable,'contextmenu',$xeTable.handleGlobalContextmenuEvent);$xeTable.preventEvent(null,'mounted',{$table:$xeTable});});(0,external_commonjs_vue_commonjs2_vue_root_Vue_.onBeforeUnmount)(()=>{const tableViewportEl=refTableViewportElem.value;if(tableViewportEl){tableViewportEl.removeEventListener('wheel',$xeTable.triggerBodyWheelEvent);}internalData.cvCacheMaps={};internalData.prevDragRow=null;internalData.prevDragCol=null;if(resizeObserver){resizeObserver.disconnect();}tableMethods.closeFilter();if($xeTable.closeMenu){$xeTable.closeMenu();}table_globalEvents.off($xeTable,'paste');table_globalEvents.off($xeTable,'copy');table_globalEvents.off($xeTable,'cut');table_globalEvents.off($xeTable,'mousedown');table_globalEvents.off($xeTable,'blur');table_globalEvents.off($xeTable,'mousewheel');table_globalEvents.off($xeTable,'keydown');table_globalEvents.off($xeTable,'resize');table_globalEvents.off($xeTable,'contextmenu');tablePrivateMethods.preventEvent(null,'beforeUnmount',{$table:$xeTable});});(0,external_commonjs_vue_commonjs2_vue_root_Vue_.onUnmounted)(()=>{tablePrivateMethods.preventEvent(null,'unmounted',{$table:$xeTable});external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign(internalData,createInternalData());});(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{if(props.loading){if(!VxeUILoadingComponent&&!slots.loading){errLog('vxe.error.errProp',['loading=true','loading=false | <template #loading>...</template>']);errLog('vxe.error.reqComp',['vxe-loading']);}}if(props.showOverflow===true||props.showOverflow==='tooltip'||props.showHeaderOverflow===true||props.showHeaderOverflow==='tooltip'||props.showFooterOverflow===true||props.showFooterOverflow==='tooltip'||props.tooltipConfig||props.editRules){if(!VxeUITooltipComponent){if(props.showOverflow===true){errLog('vxe.error.errProp',['show-overflow=true','show-overflow=title']);}if(props.showOverflow==='tooltip'){errLog('vxe.error.errProp',['show-overflow=tooltip','show-overflow=title']);}if(props.showHeaderOverflow===true){errLog('vxe.error.errProp',['show-header-overflow=true','show-header-overflow=title']);}if(props.showHeaderOverflow==='tooltip'){errLog('vxe.error.errProp',['show-header-overflow=tooltip','show-header-overflow=title']);}if(props.showFooterOverflow===true){errLog('vxe.error.errProp',['show-footer-overflow=true','show-footer-overflow=title']);}if(props.showFooterOverflow==='tooltip'){errLog('vxe.error.errProp',['show-footer-overflow=tooltip','show-footer-overflow=title']);}errLog('vxe.error.reqComp',['vxe-tooltip']);}}});(0,external_commonjs_vue_commonjs2_vue_root_Vue_.provide)('$xeColgroup',null);(0,external_commonjs_vue_commonjs2_vue_root_Vue_.provide)('$xeTable',$xeTable);$xeTable.renderVN=renderVN;return $xeTable;},render(){return this.renderVN();}}));
11946
12025
  ;// ./packages/toolbar/src/toolbar.ts
11947
12026
 
11948
12027