vxe-table 3.15.18 → 3.15.20

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 (151) hide show
  1. package/es/locale/lang/ar-EG.js +1 -1
  2. package/es/locale/lang/de-DE.js +1 -1
  3. package/es/locale/lang/en-US.js +1 -1
  4. package/es/locale/lang/es-ES.js +1 -1
  5. package/es/locale/lang/fr-FR.js +1 -1
  6. package/es/locale/lang/hu-HU.js +1 -1
  7. package/es/locale/lang/hy-AM.js +1 -1
  8. package/es/locale/lang/id-ID.js +1 -1
  9. package/es/locale/lang/it-IT.js +1 -1
  10. package/es/locale/lang/ja-JP.js +1 -1
  11. package/es/locale/lang/ko-KR.js +1 -1
  12. package/es/locale/lang/ms-MY.js +1 -1
  13. package/es/locale/lang/nb-NO.js +1 -1
  14. package/es/locale/lang/pt-BR.js +1 -1
  15. package/es/locale/lang/ru-RU.js +1 -1
  16. package/es/locale/lang/th-TH.js +1 -1
  17. package/es/locale/lang/ug-CN.js +1 -1
  18. package/es/locale/lang/uk-UA.js +1 -1
  19. package/es/locale/lang/uz-UZ.js +1 -1
  20. package/es/locale/lang/vi-VN.js +1 -1
  21. package/es/locale/lang/zh-CHT.js +1 -1
  22. package/es/locale/lang/zh-CN.js +1 -1
  23. package/es/style.css +1 -1
  24. package/es/table/render/index.js +27 -21
  25. package/es/table/src/body.js +2 -1
  26. package/es/table/src/footer.js +2 -1
  27. package/es/table/src/header.js +2 -1
  28. package/es/table/src/methods.js +98 -34
  29. package/es/table/src/table.js +2 -2
  30. package/es/ui/index.js +1 -1
  31. package/es/ui/src/log.js +1 -1
  32. package/lib/index.umd.js +153 -69
  33. package/lib/index.umd.min.js +1 -1
  34. package/lib/locale/lang/ar-EG.js +1 -1
  35. package/lib/locale/lang/ar-EG.min.js +1 -1
  36. package/lib/locale/lang/ar-EG.umd.js +1 -1
  37. package/lib/locale/lang/de-DE.js +1 -1
  38. package/lib/locale/lang/de-DE.min.js +1 -1
  39. package/lib/locale/lang/de-DE.umd.js +1 -1
  40. package/lib/locale/lang/en-US.js +1 -1
  41. package/lib/locale/lang/en-US.min.js +1 -1
  42. package/lib/locale/lang/en-US.umd.js +1 -1
  43. package/lib/locale/lang/es-ES.js +1 -1
  44. package/lib/locale/lang/es-ES.min.js +1 -1
  45. package/lib/locale/lang/es-ES.umd.js +1 -1
  46. package/lib/locale/lang/fr-FR.js +1 -1
  47. package/lib/locale/lang/fr-FR.min.js +1 -1
  48. package/lib/locale/lang/fr-FR.umd.js +1 -1
  49. package/lib/locale/lang/hu-HU.js +1 -1
  50. package/lib/locale/lang/hu-HU.min.js +1 -1
  51. package/lib/locale/lang/hu-HU.umd.js +1 -1
  52. package/lib/locale/lang/hy-AM.js +1 -1
  53. package/lib/locale/lang/hy-AM.min.js +1 -1
  54. package/lib/locale/lang/hy-AM.umd.js +1 -1
  55. package/lib/locale/lang/id-ID.js +1 -1
  56. package/lib/locale/lang/id-ID.min.js +1 -1
  57. package/lib/locale/lang/id-ID.umd.js +1 -1
  58. package/lib/locale/lang/it-IT.js +1 -1
  59. package/lib/locale/lang/it-IT.min.js +1 -1
  60. package/lib/locale/lang/it-IT.umd.js +1 -1
  61. package/lib/locale/lang/ja-JP.js +1 -1
  62. package/lib/locale/lang/ja-JP.min.js +1 -1
  63. package/lib/locale/lang/ja-JP.umd.js +1 -1
  64. package/lib/locale/lang/ko-KR.js +1 -1
  65. package/lib/locale/lang/ko-KR.min.js +1 -1
  66. package/lib/locale/lang/ko-KR.umd.js +1 -1
  67. package/lib/locale/lang/ms-MY.js +1 -1
  68. package/lib/locale/lang/ms-MY.min.js +1 -1
  69. package/lib/locale/lang/ms-MY.umd.js +1 -1
  70. package/lib/locale/lang/nb-NO.js +1 -1
  71. package/lib/locale/lang/nb-NO.min.js +1 -1
  72. package/lib/locale/lang/nb-NO.umd.js +1 -1
  73. package/lib/locale/lang/pt-BR.js +1 -1
  74. package/lib/locale/lang/pt-BR.min.js +1 -1
  75. package/lib/locale/lang/pt-BR.umd.js +1 -1
  76. package/lib/locale/lang/ru-RU.js +1 -1
  77. package/lib/locale/lang/ru-RU.min.js +1 -1
  78. package/lib/locale/lang/ru-RU.umd.js +1 -1
  79. package/lib/locale/lang/th-TH.js +1 -1
  80. package/lib/locale/lang/th-TH.min.js +1 -1
  81. package/lib/locale/lang/th-TH.umd.js +1 -1
  82. package/lib/locale/lang/ug-CN.js +1 -1
  83. package/lib/locale/lang/ug-CN.min.js +1 -1
  84. package/lib/locale/lang/ug-CN.umd.js +1 -1
  85. package/lib/locale/lang/uk-UA.js +1 -1
  86. package/lib/locale/lang/uk-UA.min.js +1 -1
  87. package/lib/locale/lang/uk-UA.umd.js +1 -1
  88. package/lib/locale/lang/uz-UZ.js +1 -1
  89. package/lib/locale/lang/uz-UZ.min.js +1 -1
  90. package/lib/locale/lang/uz-UZ.umd.js +1 -1
  91. package/lib/locale/lang/vi-VN.js +1 -1
  92. package/lib/locale/lang/vi-VN.min.js +1 -1
  93. package/lib/locale/lang/vi-VN.umd.js +1 -1
  94. package/lib/locale/lang/zh-CHT.js +1 -1
  95. package/lib/locale/lang/zh-CHT.min.js +1 -1
  96. package/lib/locale/lang/zh-CHT.umd.js +1 -1
  97. package/lib/locale/lang/zh-CN.js +1 -1
  98. package/lib/locale/lang/zh-CN.min.js +1 -1
  99. package/lib/locale/lang/zh-CN.umd.js +1 -1
  100. package/lib/style.css +1 -1
  101. package/lib/table/render/index.js +27 -21
  102. package/lib/table/render/index.min.js +1 -1
  103. package/lib/table/src/body.js +2 -1
  104. package/lib/table/src/body.min.js +1 -1
  105. package/lib/table/src/footer.js +2 -1
  106. package/lib/table/src/footer.min.js +1 -1
  107. package/lib/table/src/header.js +2 -1
  108. package/lib/table/src/header.min.js +1 -1
  109. package/lib/table/src/methods.js +114 -39
  110. package/lib/table/src/methods.min.js +1 -1
  111. package/lib/table/src/table.js +2 -2
  112. package/lib/table/src/table.min.js +1 -1
  113. package/lib/ui/index.js +1 -1
  114. package/lib/ui/index.min.js +1 -1
  115. package/lib/ui/src/log.js +1 -1
  116. package/lib/ui/src/log.min.js +1 -1
  117. package/package.json +1 -1
  118. package/packages/locale/lang/ar-EG.ts +1 -1
  119. package/packages/locale/lang/de-DE.ts +1 -1
  120. package/packages/locale/lang/en-US.ts +1 -1
  121. package/packages/locale/lang/es-ES.ts +1 -1
  122. package/packages/locale/lang/fr-FR.ts +1 -1
  123. package/packages/locale/lang/hu-HU.ts +1 -1
  124. package/packages/locale/lang/hy-AM.ts +1 -1
  125. package/packages/locale/lang/id-ID.ts +1 -1
  126. package/packages/locale/lang/it-IT.ts +1 -1
  127. package/packages/locale/lang/ja-JP.ts +1 -1
  128. package/packages/locale/lang/ko-KR.ts +1 -1
  129. package/packages/locale/lang/ms-MY.ts +1 -1
  130. package/packages/locale/lang/nb-NO.ts +1 -1
  131. package/packages/locale/lang/pt-BR.ts +1 -1
  132. package/packages/locale/lang/ru-RU.ts +1 -1
  133. package/packages/locale/lang/th-TH.ts +1 -1
  134. package/packages/locale/lang/ug-CN.ts +1 -1
  135. package/packages/locale/lang/uk-UA.ts +1 -1
  136. package/packages/locale/lang/uz-UZ.ts +1 -1
  137. package/packages/locale/lang/vi-VN.ts +1 -1
  138. package/packages/locale/lang/zh-CHT.ts +1 -1
  139. package/packages/locale/lang/zh-CN.ts +1 -1
  140. package/packages/table/render/index.ts +26 -20
  141. package/packages/table/src/body.ts +2 -1
  142. package/packages/table/src/footer.ts +2 -1
  143. package/packages/table/src/header.ts +2 -1
  144. package/packages/table/src/methods.ts +111 -37
  145. package/packages/table/src/table.ts +2 -2
  146. /package/es/{iconfont.1746578838891.ttf → iconfont.1746750963305.ttf} +0 -0
  147. /package/es/{iconfont.1746578838891.woff → iconfont.1746750963305.woff} +0 -0
  148. /package/es/{iconfont.1746578838891.woff2 → iconfont.1746750963305.woff2} +0 -0
  149. /package/lib/{iconfont.1746578838891.ttf → iconfont.1746750963305.ttf} +0 -0
  150. /package/lib/{iconfont.1746578838891.woff → iconfont.1746750963305.woff} +0 -0
  151. /package/lib/{iconfont.1746578838891.woff2 → iconfont.1746750963305.woff2} +0 -0
@@ -549,7 +549,7 @@ function updateAfterDataIndex ($xeTable: VxeTableConstructor & VxeTablePrivateMe
549
549
  const internalData = $xeTable as unknown as TableInternalData
550
550
 
551
551
  const { treeConfig } = props
552
- const { fullDataRowIdData, fullAllDataRowIdData, afterTreeFullData } = internalData
552
+ const { fullDataRowIdData, fullAllDataRowIdData, afterFullData, afterTreeFullData } = internalData
553
553
  const treeOpts = $xeTable.computeTreeOpts
554
554
  const { transform } = treeOpts
555
555
  const childrenField = treeOpts.children || treeOpts.childrenField
@@ -570,8 +570,20 @@ function updateAfterDataIndex ($xeTable: VxeTableConstructor & VxeTablePrivateMe
570
570
  }
571
571
  fullMaps[rowid] = row
572
572
  }, { children: transform ? treeOpts.mapChildrenField : childrenField })
573
+ if (transform) {
574
+ afterFullData.forEach((row, index) => {
575
+ const rowid = handleGetRowId(row)
576
+ const rowRest = fullAllDataRowIdData[rowid]
577
+ const seq = index + 1
578
+ if (rowRest) {
579
+ if (!treeConfig) {
580
+ rowRest.seq = seq
581
+ }
582
+ rowRest._index = index
583
+ }
584
+ })
585
+ }
573
586
  internalData.afterFullRowMaps = fullMaps
574
- updateAfterListIndex($xeTable)
575
587
  } else {
576
588
  updateAfterListIndex($xeTable)
577
589
  }
@@ -1870,7 +1882,7 @@ const handleFooterMerge = ($xeTable: VxeTableConstructor & VxeTablePrivateMethod
1870
1882
  const internalData = $xeTable as unknown as TableInternalData
1871
1883
 
1872
1884
  const { footerTableData } = reactData
1873
- const { mergeFooterList, mergeFooterMaps } = internalData
1885
+ const { mergeFooterList, mergeFooterMaps, fullColumnIdData } = internalData
1874
1886
  if (merges) {
1875
1887
  const { visibleColumn } = internalData
1876
1888
  if (!XEUtils.isArray(merges)) {
@@ -1882,6 +1894,12 @@ const handleFooterMerge = ($xeTable: VxeTableConstructor & VxeTablePrivateMethod
1882
1894
  let mergeColumnIndex = -1
1883
1895
  if (XEUtils.isNumber(margeCol)) {
1884
1896
  mergeColumnIndex = margeCol
1897
+ } else {
1898
+ const colid = margeCol ? margeCol.id : null
1899
+ const colRest = colid ? fullColumnIdData[colid] : null
1900
+ if (colRest) {
1901
+ mergeColumnIndex = colRest._index
1902
+ }
1885
1903
  }
1886
1904
  if (mergeRowIndex > -1 && mergeColumnIndex > -1 && (rowspan || colspan)) {
1887
1905
  rowspan = XEUtils.toNumber(rowspan) || 1
@@ -1915,32 +1933,80 @@ const handleFooterMerge = ($xeTable: VxeTableConstructor & VxeTablePrivateMethod
1915
1933
  }
1916
1934
  }
1917
1935
 
1918
- function removeMerges ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, merges: VxeTableDefines.MergeOptions | VxeTableDefines.MergeOptions[], mList: VxeTableDefines.MergeItem[], rowList?: any) {
1919
- // const props = $xeTable
1936
+ function removeBodyMerges ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, merges: VxeTableDefines.MergeOptions | VxeTableDefines.MergeOptions[]) {
1920
1937
  const internalData = $xeTable as unknown as TableInternalData
1921
1938
 
1922
- const rest: any[] = []
1939
+ const { mergeBodyList, fullColumnIdData, fullAllDataRowIdData } = internalData
1940
+ const rest: VxeTableDefines.MergeItem[] = []
1923
1941
  if (merges) {
1924
- // const { treeConfig } = props
1925
- const { visibleColumn } = internalData
1942
+ const { handleGetRowId } = createHandleGetRowId($xeTable)
1926
1943
  if (!XEUtils.isArray(merges)) {
1927
1944
  merges = [merges]
1928
1945
  }
1929
- // if (treeConfig && merges.length) {
1930
- // errLog('vxe.error.noTree', ['merge-cells | merge-footer-items'])
1931
- // }
1932
- merges.forEach((item: any) => {
1933
- let { row, col } = item
1934
- if (rowList && XEUtils.isNumber(row)) {
1935
- row = rowList[row]
1946
+ merges.forEach((item) => {
1947
+ const { row: margeRow, col: margeCol } = item
1948
+ let mergeRowIndex = -1
1949
+ let mergeColumnIndex = -1
1950
+ if (XEUtils.isNumber(margeRow)) {
1951
+ mergeRowIndex = margeRow
1952
+ } else {
1953
+ const rowid = margeRow ? handleGetRowId(margeRow) : null
1954
+ const rowRest = rowid ? fullAllDataRowIdData[rowid] : null
1955
+ if (rowRest) {
1956
+ mergeRowIndex = rowRest._index
1957
+ }
1936
1958
  }
1937
- if (XEUtils.isNumber(col)) {
1938
- col = visibleColumn[col]
1959
+ if (XEUtils.isNumber(margeCol)) {
1960
+ mergeColumnIndex = margeCol
1961
+ } else {
1962
+ const colid = margeCol ? margeCol.id : null
1963
+ const colRest = colid ? fullColumnIdData[colid] : null
1964
+ if (colRest) {
1965
+ mergeColumnIndex = colRest._index
1966
+ }
1939
1967
  }
1940
- const mcIndex = XEUtils.findIndexOf(mList, item => item._row === row && item._col === col)
1968
+ const mcIndex = XEUtils.findIndexOf(mergeBodyList, item => (item.row === mergeRowIndex) && (item.col === mergeColumnIndex))
1941
1969
  if (mcIndex > -1) {
1942
- const rItems = mList.splice(mcIndex, 1)
1943
- rest.push(rItems[0])
1970
+ const rItems = mergeBodyList.splice(mcIndex, 1)
1971
+ const item = rItems[0]
1972
+ if (item) {
1973
+ rest.push(rItems[0])
1974
+ }
1975
+ }
1976
+ })
1977
+ }
1978
+ return rest
1979
+ }
1980
+
1981
+ function removeFooterMerges ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, merges: VxeTableDefines.MergeOptions | VxeTableDefines.MergeOptions[]) {
1982
+ const internalData = $xeTable as unknown as TableInternalData
1983
+
1984
+ const { mergeFooterList, fullColumnIdData } = internalData
1985
+ const rest: VxeTableDefines.MergeItem[] = []
1986
+ if (merges) {
1987
+ if (!XEUtils.isArray(merges)) {
1988
+ merges = [merges]
1989
+ }
1990
+ merges.forEach((item) => {
1991
+ const { row: margeRow, col: margeCol } = item
1992
+ const mergeRowIndex = XEUtils.isNumber(margeRow) ? margeRow : -1
1993
+ let mergeColumnIndex = -1
1994
+ if (XEUtils.isNumber(margeCol)) {
1995
+ mergeColumnIndex = margeCol
1996
+ } else {
1997
+ const colid = margeCol ? margeCol.id : null
1998
+ const colRest = colid ? fullColumnIdData[colid] : null
1999
+ if (colRest) {
2000
+ mergeColumnIndex = colRest._index
2001
+ }
2002
+ }
2003
+ const mcIndex = XEUtils.findIndexOf(mergeFooterList, item => item.row === mergeRowIndex && item.col === mergeColumnIndex)
2004
+ if (mcIndex > -1) {
2005
+ const rItems = mergeFooterList.splice(mcIndex, 1)
2006
+ const item = rItems[0]
2007
+ if (item) {
2008
+ rest.push(item)
2009
+ }
1944
2010
  }
1945
2011
  })
1946
2012
  }
@@ -7096,24 +7162,26 @@ const Methods = {
7096
7162
  const { selectRadioRow: oldValue } = reactData
7097
7163
  const { row } = params
7098
7164
  const radioOpts = $xeTable.computeRadioOpts
7099
- const { trigger } = radioOpts
7165
+ const { trigger, checkMethod } = radioOpts
7100
7166
  if (trigger === 'manual') {
7101
7167
  return
7102
7168
  }
7103
7169
  evnt.stopPropagation()
7104
- let newValue = row
7105
- let isChange = oldValue !== newValue
7106
- if (isChange) {
7107
- handleCheckedRadioRow($xeTable, newValue)
7108
- } else if (!radioOpts.strict) {
7109
- isChange = oldValue === newValue
7170
+ if (!checkMethod || checkMethod({ $table: $xeTable, row })) {
7171
+ let newValue = row
7172
+ let isChange = oldValue !== newValue
7110
7173
  if (isChange) {
7111
- newValue = null
7112
- $xeTable.clearRadioRow()
7174
+ handleCheckedRadioRow($xeTable, newValue)
7175
+ } else if (!radioOpts.strict) {
7176
+ isChange = oldValue === newValue
7177
+ if (isChange) {
7178
+ newValue = null
7179
+ $xeTable.clearRadioRow()
7180
+ }
7181
+ }
7182
+ if (isChange) {
7183
+ $xeTable.dispatchEvent('radio-change', { oldValue, newValue, ...params }, evnt)
7113
7184
  }
7114
- }
7115
- if (isChange) {
7116
- $xeTable.dispatchEvent('radio-change', { oldValue, newValue, ...params }, evnt)
7117
7185
  }
7118
7186
  },
7119
7187
  triggerCurrentColumnEvent (evnt: Event, params: {
@@ -8922,7 +8990,9 @@ const Methods = {
8922
8990
  return rest
8923
8991
  },
8924
8992
  /**
8925
- * 获取树表格状态
8993
+ * 内部方法、获取树表格状态
8994
+ * @deprecated
8995
+ * @private
8926
8996
  */
8927
8997
  getTreeStatus () {
8928
8998
  if (this.treeConfig) {
@@ -10149,12 +10219,12 @@ const Methods = {
10149
10219
  removeMergeCells (merges: any) {
10150
10220
  const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
10151
10221
  const props = $xeTable
10152
- const internalData = $xeTable as unknown as TableInternalData
10153
10222
 
10154
10223
  if (props.spanMethod) {
10155
10224
  errLog('vxe.error.errConflicts', ['merge-cells', 'span-method'])
10156
10225
  }
10157
- const rest = removeMerges($xeTable, merges, internalData.mergeBodyList, internalData.afterFullData)
10226
+ const rest = removeBodyMerges($xeTable, merges)
10227
+ $xeTable.handleUpdateBodyMerge()
10158
10228
  return $xeTable.$nextTick().then(() => {
10159
10229
  $xeTable.updateCellAreas()
10160
10230
  updateStyle($xeTable)
@@ -10175,11 +10245,13 @@ const Methods = {
10175
10245
  */
10176
10246
  clearMergeCells () {
10177
10247
  const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
10248
+ const reactData = $xeTable as unknown as TableReactData
10178
10249
  const internalData = $xeTable as unknown as TableInternalData
10179
10250
 
10180
10251
  internalData.mergeBodyList = []
10181
10252
  internalData.mergeBodyMaps = {}
10182
10253
  internalData.mergeBodyCellMaps = {}
10254
+ reactData.mergeBodyFlag++
10183
10255
  return $xeTable.$nextTick().then(() => {
10184
10256
  return updateStyle($xeTable)
10185
10257
  })
@@ -10201,12 +10273,12 @@ const Methods = {
10201
10273
  removeMergeFooterItems (merges: any) {
10202
10274
  const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
10203
10275
  const props = $xeTable
10204
- const internalData = $xeTable as unknown as TableInternalData
10205
10276
 
10206
10277
  if (props.footerSpanMethod) {
10207
10278
  errLog('vxe.error.errConflicts', ['merge-footer-items', 'footer-span-method'])
10208
10279
  }
10209
- const rest = removeMerges($xeTable, merges, internalData.mergeFooterList)
10280
+ const rest = removeFooterMerges($xeTable, merges)
10281
+ $xeTable.handleUpdateFooterMerge()
10210
10282
  return $xeTable.$nextTick().then(() => {
10211
10283
  $xeTable.updateCellAreas()
10212
10284
  updateStyle($xeTable)
@@ -10227,11 +10299,13 @@ const Methods = {
10227
10299
  */
10228
10300
  clearMergeFooterItems () {
10229
10301
  const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
10302
+ const reactData = $xeTable as unknown as TableReactData
10230
10303
  const internalData = $xeTable as unknown as TableInternalData
10231
10304
 
10232
10305
  internalData.mergeFooterList = []
10233
10306
  internalData.mergeFooterMaps = {}
10234
10307
  internalData.mergeFooterCellMaps = {}
10308
+ reactData.mergeFootFlag++
10235
10309
  return $xeTable.$nextTick().then(() => {
10236
10310
  return updateStyle($xeTable)
10237
10311
  })
@@ -1548,8 +1548,8 @@ export default {
1548
1548
  if (props.editConfig && editOpts.showStatus && !props.keepSource) {
1549
1549
  warnLog('vxe.error.reqProp', ['keep-source'])
1550
1550
  }
1551
- if (treeConfig && (treeOpts.showLine || treeOpts.line) && (!(props.rowKey || rowOpts.useKey) || !showOverflow)) {
1552
- warnLog('vxe.error.reqProp', ['row-config.useKey | show-overflow'])
1551
+ if (treeConfig && (treeOpts.showLine || treeOpts.line) && !showOverflow) {
1552
+ warnLog('vxe.error.reqProp', ['show-overflow'])
1553
1553
  }
1554
1554
  if (treeConfig && !treeOpts.transform && props.stripe) {
1555
1555
  warnLog('vxe.error.noTree', ['stripe'])