vxe-table 3.17.2 → 3.17.4

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 (76) hide show
  1. package/es/grid/src/grid.js +10 -1
  2. package/es/locale/lang/de-DE.js +80 -80
  3. package/es/locale/lang/es-ES.js +79 -79
  4. package/es/locale/lang/ja-JP.js +82 -82
  5. package/es/locale/lang/ko-KR.js +88 -88
  6. package/es/locale/lang/ru-RU.js +84 -84
  7. package/es/locale/lang/vi-VN.js +79 -79
  8. package/es/locale/lang/zh-CHT.js +21 -21
  9. package/es/style.css +1 -1
  10. package/es/table/src/body.js +4 -4
  11. package/es/table/src/methods.js +28 -5
  12. package/es/table/src/table.js +9 -120
  13. package/es/table/src/util.js +116 -0
  14. package/es/toolbar/src/toolbar.js +11 -3
  15. package/es/ui/index.js +1 -1
  16. package/es/ui/src/log.js +1 -1
  17. package/lib/grid/src/grid.js +10 -1
  18. package/lib/grid/src/grid.min.js +1 -1
  19. package/lib/index.umd.js +183 -132
  20. package/lib/index.umd.min.js +1 -1
  21. package/lib/locale/lang/de-DE.js +80 -80
  22. package/lib/locale/lang/de-DE.min.js +1 -1
  23. package/lib/locale/lang/de-DE.umd.js +80 -80
  24. package/lib/locale/lang/es-ES.js +79 -79
  25. package/lib/locale/lang/es-ES.min.js +1 -1
  26. package/lib/locale/lang/es-ES.umd.js +79 -79
  27. package/lib/locale/lang/ja-JP.js +82 -82
  28. package/lib/locale/lang/ja-JP.min.js +1 -1
  29. package/lib/locale/lang/ja-JP.umd.js +82 -82
  30. package/lib/locale/lang/ko-KR.js +88 -88
  31. package/lib/locale/lang/ko-KR.min.js +1 -1
  32. package/lib/locale/lang/ko-KR.umd.js +88 -88
  33. package/lib/locale/lang/ru-RU.js +84 -84
  34. package/lib/locale/lang/ru-RU.min.js +1 -1
  35. package/lib/locale/lang/ru-RU.umd.js +84 -84
  36. package/lib/locale/lang/vi-VN.js +79 -79
  37. package/lib/locale/lang/vi-VN.min.js +1 -1
  38. package/lib/locale/lang/vi-VN.umd.js +79 -79
  39. package/lib/locale/lang/zh-CHT.js +21 -21
  40. package/lib/locale/lang/zh-CHT.min.js +1 -1
  41. package/lib/locale/lang/zh-CHT.umd.js +21 -21
  42. package/lib/style.css +1 -1
  43. package/lib/table/src/body.js +4 -3
  44. package/lib/table/src/body.min.js +1 -1
  45. package/lib/table/src/methods.js +32 -4
  46. package/lib/table/src/methods.min.js +1 -1
  47. package/lib/table/src/table.js +8 -119
  48. package/lib/table/src/table.min.js +1 -1
  49. package/lib/table/src/util.js +117 -0
  50. package/lib/table/src/util.min.js +1 -1
  51. package/lib/toolbar/src/toolbar.js +11 -3
  52. package/lib/toolbar/src/toolbar.min.js +1 -1
  53. package/lib/ui/index.js +1 -1
  54. package/lib/ui/index.min.js +1 -1
  55. package/lib/ui/src/log.js +1 -1
  56. package/lib/ui/src/log.min.js +1 -1
  57. package/package.json +1 -1
  58. package/packages/grid/src/grid.ts +14 -2
  59. package/packages/locale/lang/de-DE.ts +80 -80
  60. package/packages/locale/lang/es-ES.ts +79 -79
  61. package/packages/locale/lang/ja-JP.ts +82 -82
  62. package/packages/locale/lang/ko-KR.ts +88 -88
  63. package/packages/locale/lang/ru-RU.ts +84 -84
  64. package/packages/locale/lang/vi-VN.ts +79 -79
  65. package/packages/locale/lang/zh-CHT.ts +21 -21
  66. package/packages/table/src/body.ts +4 -4
  67. package/packages/table/src/methods.ts +28 -5
  68. package/packages/table/src/table.ts +12 -123
  69. package/packages/table/src/util.ts +120 -0
  70. package/packages/toolbar/src/toolbar.ts +13 -3
  71. /package/es/{iconfont.1754370027268.ttf → iconfont.1754457088150.ttf} +0 -0
  72. /package/es/{iconfont.1754370027268.woff → iconfont.1754457088150.woff} +0 -0
  73. /package/es/{iconfont.1754370027268.woff2 → iconfont.1754457088150.woff2} +0 -0
  74. /package/lib/{iconfont.1754370027268.ttf → iconfont.1754457088150.ttf} +0 -0
  75. /package/lib/{iconfont.1754370027268.woff → iconfont.1754457088150.woff} +0 -0
  76. /package/lib/{iconfont.1754370027268.woff2 → iconfont.1754457088150.woff2} +0 -0
@@ -2,7 +2,7 @@ import { CreateElement } from 'vue'
2
2
  import XEUtils from 'xe-utils'
3
3
  import { getFuncText, isEnableConf } from '../../ui/src/utils'
4
4
  import { initTpImg } from '../../ui/src/dom'
5
- import { createHandleGetRowId, getCellHeight, hasDeepKey } from './util'
5
+ import { createInternalData, createHandleGetRowId, getCellHeight, hasDeepKey } from './util'
6
6
  import { VxeUI } from '../../ui'
7
7
  import methods from './methods'
8
8
  import TableBodyComponent from './body'
@@ -1378,7 +1378,7 @@ export default {
1378
1378
  if (value && value.length >= 50000) {
1379
1379
  warnLog('vxe.error.errLargeData', ['loadData(data), reloadData(data)'])
1380
1380
  }
1381
- this.loadTableData(value || [], false).then(() => {
1381
+ this.loadTableData(value || [], true).then(() => {
1382
1382
  const { scrollXLoad, scrollYLoad, expandColumn } = reactData
1383
1383
  const expandOpts = $xeTable.computeExpandOpts
1384
1384
  this.inited = true
@@ -1513,119 +1513,7 @@ export default {
1513
1513
  const props = $xeTable
1514
1514
  const internalData = $xeTable as unknown as TableInternalData
1515
1515
 
1516
- Object.assign($xeTable, {
1517
- tZindex: 0,
1518
- currKeyField: '',
1519
- isCurrDeepKey: false,
1520
- elemStore: {},
1521
- // 存放横向 X 虚拟滚动相关的信息
1522
- scrollXStore: {
1523
- preloadSize: 0,
1524
- offsetSize: 0,
1525
- visibleSize: 0,
1526
- visibleStartIndex: 0,
1527
- visibleEndIndex: 0,
1528
- startIndex: 0,
1529
- endIndex: 0
1530
- },
1531
- // 存放纵向 Y 虚拟滚动相关信息
1532
- scrollYStore: {
1533
- preloadSize: 0,
1534
- offsetSize: 0,
1535
- visibleSize: 0,
1536
- visibleStartIndex: 0,
1537
- visibleEndIndex: 0,
1538
- startIndex: 0,
1539
- endIndex: 0
1540
- },
1541
- // 表格宽度
1542
- tableWidth: 0,
1543
- // 表格高度
1544
- tableHeight: 0,
1545
- // 表头高度
1546
- headerHeight: 0,
1547
- // 表尾高度
1548
- footerHeight: 0,
1549
- // 当前 hover 行
1550
- // hoverRow: null,
1551
- // 最后滚动位置
1552
- lastScrollLeft: 0,
1553
- lastScrollTop: 0,
1554
- // 单选框属性,已选中保留的行
1555
- radioReserveRow: null,
1556
- // 复选框属性,已选中保留的行集合
1557
- checkboxReserveRowMap: {},
1558
- // 行数据,已展开保留的行集合
1559
- rowExpandedReserveRowMap: {},
1560
- // 树结构数据,已展开保留的行集合
1561
- treeExpandedReserveRowMap: {},
1562
- // 树结构数据,不确定状态的集合
1563
- treeIndeterminateRowMaps: {},
1564
- // 列表完整数据、条件处理后
1565
- tableFullData: [],
1566
- afterFullData: [],
1567
- afterTreeFullData: [],
1568
- afterGroupFullData: [],
1569
- // 列表条件处理后数据集合
1570
- afterFullRowMaps: {},
1571
- // 树结构完整数据、条件处理后
1572
- tableFullTreeData: [],
1573
- // 行分组全量数据、条件处理后
1574
- tableFullGroupData: [],
1575
- tableSynchData: [],
1576
- tableSourceData: [],
1577
- // 收集的列配置(带分组)
1578
- collectColumn: [],
1579
- // 完整所有列(不带分组)
1580
- tableFullColumn: [],
1581
- // 渲染所有列
1582
- visibleColumn: [],
1583
- // 全量数据集(包括当前和已删除)
1584
- fullAllDataRowIdData: {},
1585
- // 数据集(仅当前)
1586
- fullDataRowIdData: {},
1587
- // 数据集(仅可视)
1588
- visibleDataRowIdData: {},
1589
- // 渲染中缓存数据
1590
- sourceDataRowIdData: {},
1591
- fullColumnIdData: {},
1592
- fullColumnFieldData: {},
1593
-
1594
- // 合并单元格的数据
1595
- mergeBodyList: [],
1596
- mergeBodyMaps: {},
1597
- // 合并表尾的数据
1598
- mergeFooterList: [],
1599
- mergeFooterMaps: {},
1600
- // 已合并单元格数据集合
1601
- mergeBodyCellMaps: {},
1602
- // 已合并表尾数据集合
1603
- mergeFooterCellMaps: {},
1604
- // 已展开的行集合
1605
- rowExpandedMaps: {},
1606
- // 懒加载中的展开行的集合
1607
- rowExpandLazyLoadedMaps: {},
1608
- // 已展开的分组行
1609
- rowGroupExpandedMaps: {},
1610
- // 已展开树节点集合
1611
- treeExpandedMaps: {},
1612
- // 懒加载中的树节点的集合
1613
- treeExpandLazyLoadedMaps: {},
1614
- // 复选框属性,已选中的行集合
1615
- selectCheckboxMaps: {},
1616
- // 已标记的对象集
1617
- pendingRowMaps: {},
1618
- // 已新增的临时行
1619
- insertRowMaps: {},
1620
- // 已删除行
1621
- removeRowMaps: {},
1622
-
1623
- cvCacheMaps: {},
1624
-
1625
- swYSize: 0,
1626
- swYInterval: 0,
1627
- swYTotal: 0
1628
- })
1516
+ XEUtils.assign(internalData, createInternalData())
1629
1517
 
1630
1518
  handleKeyField($xeTable)
1631
1519
 
@@ -1980,24 +1868,16 @@ export default {
1980
1868
  },
1981
1869
  beforeDestroy () {
1982
1870
  const $xeTable = this
1983
- const internalData = $xeTable as unknown as TableInternalData
1984
1871
 
1985
1872
  const tableViewportEl = $xeTable.$refs.refTableViewportElem as HTMLDivElement
1986
1873
  if (tableViewportEl) {
1987
1874
  tableViewportEl.removeEventListener('wheel', $xeTable.triggerBodyWheelEvent)
1988
1875
  }
1989
- internalData.cvCacheMaps = {}
1990
- internalData.prevDragRow = null
1991
- internalData.prevDragCol = null
1992
1876
  if (this.$resize) {
1993
1877
  this.$resize.disconnect()
1994
1878
  }
1995
1879
  this.closeFilter()
1996
1880
  this.closeMenu()
1997
- this.preventEvent(null, 'beforeDestroy')
1998
- },
1999
- destroyed () {
2000
- const $xeTable = this
2001
1881
 
2002
1882
  globalEvents.off($xeTable, 'paste')
2003
1883
  globalEvents.off($xeTable, 'copy')
@@ -2008,7 +1888,16 @@ export default {
2008
1888
  globalEvents.off($xeTable, 'keydown')
2009
1889
  globalEvents.off($xeTable, 'resize')
2010
1890
  globalEvents.off($xeTable, 'contextmenu')
1891
+
1892
+ this.preventEvent(null, 'beforeDestroy')
1893
+ },
1894
+ destroyed () {
1895
+ const $xeTable = this
1896
+ const internalData = $xeTable as unknown as TableInternalData
1897
+
2011
1898
  this.preventEvent(null, 'destroyed')
1899
+
1900
+ XEUtils.assign(internalData, createInternalData())
2012
1901
  },
2013
1902
  render (h: CreateElement) {
2014
1903
  // 使用已安装的组件,如果未安装则不渲染
@@ -6,6 +6,126 @@ import { eqEmptyValue } from '../../ui/src/utils'
6
6
 
7
7
  import type { VxeTableDefines, VxeTableConstructor, TableReactData, TableInternalData, VxeTablePrivateMethods, VxeTablePropTypes } from '../../../types'
8
8
 
9
+ export function createInternalData (): TableInternalData {
10
+ return {
11
+ tZindex: 0,
12
+ currKeyField: '',
13
+ isCurrDeepKey: false,
14
+ elemStore: {},
15
+ // 存放横向 X 虚拟滚动相关的信息
16
+ scrollXStore: {
17
+ preloadSize: 0,
18
+ offsetSize: 0,
19
+ visibleSize: 0,
20
+ visibleStartIndex: 0,
21
+ visibleEndIndex: 0,
22
+ startIndex: 0,
23
+ endIndex: 0
24
+ },
25
+ // 存放纵向 Y 虚拟滚动相关信息
26
+ scrollYStore: {
27
+ preloadSize: 0,
28
+ offsetSize: 0,
29
+ visibleSize: 0,
30
+ visibleStartIndex: 0,
31
+ visibleEndIndex: 0,
32
+ startIndex: 0,
33
+ endIndex: 0
34
+ },
35
+ // 表格宽度
36
+ tableWidth: 0,
37
+ // 表格高度
38
+ tableHeight: 0,
39
+ // 表头高度
40
+ headerHeight: 0,
41
+ // 表尾高度
42
+ footerHeight: 0,
43
+ customHeight: 0,
44
+ customMinHeight: 0,
45
+ customMaxHeight: 0,
46
+ // 当前 hover 行
47
+ hoverRow: null,
48
+ // 最后滚动位置
49
+ lastScrollLeft: 0,
50
+ lastScrollTop: 0,
51
+ // 单选框属性,已选中保留的行
52
+ radioReserveRow: null,
53
+ // 复选框属性,已选中保留的行集合
54
+ checkboxReserveRowMap: {},
55
+ // 行数据,已展开保留的行集合
56
+ rowExpandedReserveRowMap: {},
57
+ // 树结构数据,已展开保留的行集合
58
+ treeExpandedReserveRowMap: {},
59
+ // 树结构数据,不确定状态的集合
60
+ treeIndeterminateRowMaps: {},
61
+ // 列表完整数据、条件处理后
62
+ tableFullData: [],
63
+ afterFullData: [],
64
+ afterTreeFullData: [],
65
+ afterGroupFullData: [],
66
+ // 列表条件处理后数据集合
67
+ afterFullRowMaps: {},
68
+ // 树结构完整数据、条件处理后
69
+ tableFullTreeData: [],
70
+ // 行分组全量数据、条件处理后
71
+ tableFullGroupData: [],
72
+ tableSynchData: [],
73
+ tableSourceData: [],
74
+ // 收集的列配置(带分组)
75
+ collectColumn: [],
76
+ // 完整所有列(不带分组)
77
+ tableFullColumn: [],
78
+ // 渲染所有列
79
+ visibleColumn: [],
80
+ // 全量数据集(包括当前和已删除)
81
+ fullAllDataRowIdData: {},
82
+ // 数据集(仅当前)
83
+ fullDataRowIdData: {},
84
+ // 数据集(仅可视)
85
+ visibleDataRowIdData: {},
86
+ // 渲染中缓存数据
87
+ sourceDataRowIdData: {},
88
+ fullColumnIdData: {},
89
+ fullColumnFieldData: {},
90
+
91
+ // 合并单元格的数据
92
+ mergeBodyList: [],
93
+ mergeBodyMaps: {},
94
+ // 合并表尾的数据
95
+ mergeFooterList: [],
96
+ mergeFooterMaps: {},
97
+ // 已合并单元格数据集合
98
+ mergeBodyCellMaps: {},
99
+ // 已合并表尾数据集合
100
+ mergeFooterCellMaps: {},
101
+ // 已展开的行集合
102
+ rowExpandedMaps: {},
103
+ // 懒加载中的展开行的集合
104
+ rowExpandLazyLoadedMaps: {},
105
+ // 已展开的分组行
106
+ rowGroupExpandedMaps: {},
107
+ // 已展开树节点集合
108
+ treeExpandedMaps: {},
109
+ // 懒加载中的树节点的集合
110
+ treeExpandLazyLoadedMaps: {},
111
+ // 复选框属性,已选中的行集合
112
+ selectCheckboxMaps: {},
113
+ // 已标记的对象集
114
+ pendingRowMaps: {},
115
+ // 已新增的临时行
116
+ insertRowMaps: {},
117
+ // 已删除行
118
+ removeRowMaps: {},
119
+
120
+ cvCacheMaps: {},
121
+
122
+ inited: false,
123
+ tooltipTimeout: null,
124
+ initStatus: false,
125
+ isActivated: false
126
+ }
127
+ }
128
+
9
129
  const getAllConvertColumns = (columns: any, parentColumn?: any) => {
10
130
  const result: any[] = []
11
131
  columns.forEach((column: any) => {
@@ -10,6 +10,12 @@ import type { VxeGridConstructor, GridPrivateMethods, ToolbarInternalData, VxeTa
10
10
 
11
11
  const { getConfig, getIcon, getI18n, renderer, commands, createEvent, globalMixins, renderEmptyElement } = VxeUI
12
12
 
13
+ function createInternalData (): ToolbarInternalData {
14
+ return {
15
+ connectTable: null
16
+ }
17
+ }
18
+
13
19
  export default /* define-vxe-component start */ defineVxeComponent({
14
20
  name: 'VxeToolbar',
15
21
  mixins: [
@@ -59,9 +65,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
59
65
  connectFlag: 0,
60
66
  columns: []
61
67
  }
62
- const internalData: ToolbarInternalData = {
63
- connectTable: null
64
- }
68
+ const internalData = createInternalData()
65
69
  return {
66
70
  xID,
67
71
  reactData,
@@ -852,6 +856,12 @@ export default /* define-vxe-component start */ defineVxeComponent({
852
856
  }
853
857
  }
854
858
  },
859
+ destroyed () {
860
+ const $xeToolbar = this
861
+ const internalData = $xeToolbar.internalData
862
+
863
+ XEUtils.assign(internalData, createInternalData())
864
+ },
855
865
  render (this: any, h) {
856
866
  return this.renderVN(h)
857
867
  }