vxe-table 3.17.8 → 3.17.10

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 (49) hide show
  1. package/es/components.js +1 -1
  2. package/es/grid/src/grid.js +5 -4
  3. package/es/style.css +1 -1
  4. package/es/table/src/body.js +3 -3
  5. package/es/table/src/footer.js +1 -1
  6. package/es/table/src/header.js +2 -2
  7. package/es/table/src/methods.js +37 -21
  8. package/es/table/src/table.js +3 -7
  9. package/es/table/src/util.js +6 -0
  10. package/es/ui/index.js +1 -1
  11. package/es/ui/src/log.js +1 -1
  12. package/lib/components.js +17 -18
  13. package/lib/components.min.js +1 -1
  14. package/lib/grid/src/grid.js +5 -25
  15. package/lib/grid/src/grid.min.js +1 -1
  16. package/lib/index.umd.js +70 -66
  17. package/lib/index.umd.min.js +1 -1
  18. package/lib/style.css +1 -1
  19. package/lib/table/src/body.js +3 -2
  20. package/lib/table/src/body.min.js +1 -1
  21. package/lib/table/src/footer.js +1 -1
  22. package/lib/table/src/footer.min.js +1 -1
  23. package/lib/table/src/header.js +3 -2
  24. package/lib/table/src/header.min.js +1 -1
  25. package/lib/table/src/methods.js +48 -27
  26. package/lib/table/src/methods.min.js +1 -1
  27. package/lib/table/src/table.js +3 -7
  28. package/lib/table/src/table.min.js +1 -1
  29. package/lib/table/src/util.js +6 -0
  30. package/lib/table/src/util.min.js +1 -1
  31. package/lib/ui/index.js +1 -1
  32. package/lib/ui/index.min.js +1 -1
  33. package/lib/ui/src/log.js +1 -1
  34. package/lib/ui/src/log.min.js +1 -1
  35. package/package.json +1 -1
  36. package/packages/components.ts +1 -1
  37. package/packages/grid/src/grid.ts +34 -32
  38. package/packages/table/src/body.ts +3 -3
  39. package/packages/table/src/footer.ts +1 -1
  40. package/packages/table/src/header.ts +2 -2
  41. package/packages/table/src/methods.ts +39 -21
  42. package/packages/table/src/table.ts +3 -7
  43. package/packages/table/src/util.ts +7 -0
  44. /package/es/{iconfont.1754905462391.ttf → iconfont.1755133667514.ttf} +0 -0
  45. /package/es/{iconfont.1754905462391.woff → iconfont.1755133667514.woff} +0 -0
  46. /package/es/{iconfont.1754905462391.woff2 → iconfont.1755133667514.woff2} +0 -0
  47. /package/lib/{iconfont.1754905462391.ttf → iconfont.1755133667514.ttf} +0 -0
  48. /package/lib/{iconfont.1754905462391.woff → iconfont.1755133667514.woff} +0 -0
  49. /package/lib/{iconfont.1754905462391.woff2 → iconfont.1755133667514.woff2} +0 -0
@@ -388,6 +388,8 @@ function cacheColumnMap ($xeTable: VxeTableConstructor & VxeTablePrivateMethods)
388
388
  reactData.rowGroupColumn = rowGroupColumn
389
389
  reactData.treeNodeColumn = treeNodeColumn
390
390
  reactData.expandColumn = expandColumn
391
+ reactData.checkboxColumn = checkboxColumn
392
+ reactData.radioColumn = radioColumn
391
393
  reactData.isAllOverflow = isAllOverflow
392
394
  }
393
395
 
@@ -971,8 +973,8 @@ function updateStyle ($xeTable: VxeTableConstructor & VxeTablePrivateMethods) {
971
973
  const internalData = $xeTable as unknown as TableInternalData
972
974
 
973
975
  const { showHeaderOverflow: allColumnHeaderOverflow, showFooterOverflow: allColumnFooterOverflow, mouseConfig, spanMethod, footerSpanMethod } = props
974
- const { isGroup, currentRow, tableColumn, scrollXLoad, scrollYLoad, overflowX, scrollbarWidth, overflowY, scrollbarHeight, scrollXWidth, columnStore, editStore, isAllOverflow, expandColumn, isColLoading, tHeaderHeight, tFooterHeight } = reactData
975
- const { visibleColumn, tableHeight, elemStore, customHeight, customMinHeight, customMaxHeight } = internalData
976
+ const { isGroup, currentRow, tableColumn, scrollXLoad, scrollYLoad, overflowX, scrollbarWidth, overflowY, scrollbarHeight, scrollXWidth, columnStore, editStore, isAllOverflow, expandColumn, isColLoading } = reactData
977
+ const { visibleColumn, tableHeight, elemStore, customHeight, customMinHeight, customMaxHeight, tHeaderHeight, tFooterHeight } = internalData
976
978
  const $xeGanttView = internalData.xeGanttView
977
979
  const el = $xeTable.$refs.refElem as HTMLDivElement
978
980
  if (!el || !el.clientHeight) {
@@ -980,8 +982,9 @@ function updateStyle ($xeTable: VxeTableConstructor & VxeTablePrivateMethods) {
980
982
  }
981
983
  const containerList = ['main', 'left', 'right']
982
984
  let osbWidth = overflowY ? scrollbarWidth : 0
983
- const osbHeight = overflowX ? scrollbarHeight : 0
985
+ let osbHeight = overflowX ? scrollbarHeight : 0
984
986
  const emptyPlaceholderElem = $xeTable.$refs.refEmptyPlaceholder as HTMLDivElement
987
+ const scrollbarOpts = $xeTable.computeScrollbarOpts
985
988
  const mouseOpts = $xeTable.computeMouseOpts
986
989
  const expandOpts = $xeTable.computeExpandOpts
987
990
  const bodyWrapperElem = getRefElem(elemStore['main-body-wrapper'])
@@ -994,13 +997,19 @@ function updateStyle ($xeTable: VxeTableConstructor & VxeTablePrivateMethods) {
994
997
  const scrollbarXToTop = $xeTable.computeScrollbarXToTop
995
998
  const scrollbarYToLeft = $xeTable.computeScrollbarYToLeft
996
999
 
997
- const xScrollbarVisible = overflowX ? 'visible' : 'hidden'
998
- let yScrollbarVisible = overflowY ? 'visible' : 'hidden'
1000
+ let xScrollbarVisible = overflowX ? 'visible' : 'hidden'
999
1001
  if ($xeGanttView) {
1000
- if (!scrollbarYToLeft) {
1001
- osbWidth = 0
1002
- yScrollbarVisible = 'hidden'
1003
- }
1002
+ osbHeight = scrollbarHeight
1003
+ xScrollbarVisible = 'visible'
1004
+ } else if (scrollbarOpts.x && scrollbarOpts.x.visible === false) {
1005
+ osbHeight = 0
1006
+ xScrollbarVisible = 'hidden'
1007
+ }
1008
+
1009
+ let yScrollbarVisible = overflowY ? 'visible' : 'hidden'
1010
+ if ((scrollbarOpts.y && scrollbarOpts.y.visible === false) || ($xeGanttView && !scrollbarYToLeft)) {
1011
+ osbWidth = 0
1012
+ yScrollbarVisible = 'hidden'
1004
1013
  }
1005
1014
 
1006
1015
  let tbHeight = 0
@@ -1074,7 +1083,7 @@ function updateStyle ($xeTable: VxeTableConstructor & VxeTablePrivateMethods) {
1074
1083
  rowExpandEl.style.top = `${tHeaderHeight}px`
1075
1084
  }
1076
1085
 
1077
- reactData.tBodyHeight = tbHeight
1086
+ internalData.tBodyHeight = tbHeight
1078
1087
 
1079
1088
  containerList.forEach((name, index) => {
1080
1089
  const fixedType = index > 0 ? name : ''
@@ -2781,8 +2790,8 @@ function calcScrollbar ($xeTable: VxeTableConstructor & VxeTablePrivateMethods)
2781
2790
  const hHeight = headerTableElem ? headerTableElem.clientHeight : 0
2782
2791
  const fHeight = footerTableElem ? footerTableElem.clientHeight : 0
2783
2792
  internalData.tableHeight = bodyWrapperElem.offsetHeight
2784
- reactData.tHeaderHeight = hHeight
2785
- reactData.tFooterHeight = fHeight
2793
+ internalData.tHeaderHeight = hHeight
2794
+ internalData.tFooterHeight = fHeight
2786
2795
  reactData.overflowX = overflowX
2787
2796
  reactData.parentHeight = Math.max(hHeight + fHeight + 20, $xeTable.getParentHeight())
2788
2797
  }
@@ -2878,6 +2887,10 @@ function handleLazyRecalculate ($xeTable: VxeTableConstructor & VxeTablePrivateM
2878
2887
  })
2879
2888
  }
2880
2889
 
2890
+ function handleResizeEvent ($xeTable: VxeTableConstructor & VxeTablePrivateMethods) {
2891
+ handleLazyRecalculate($xeTable, true, true, true)
2892
+ }
2893
+
2881
2894
  function handleUpdateAggValues ($xeTable: VxeTableConstructor & VxeTablePrivateMethods) {
2882
2895
  const reactData = $xeTable as unknown as TableReactData
2883
2896
  const internalData = $xeTable as unknown as TableInternalData
@@ -3598,12 +3611,12 @@ function checkLastSyncScroll ($xeTable: VxeTableConstructor & VxeTablePrivateMet
3598
3611
  const reactData = $xeTable as unknown as TableReactData
3599
3612
  const internalData = $xeTable as unknown as TableInternalData
3600
3613
 
3601
- const { scrollXLoad, scrollYLoad, isAllOverflow } = reactData
3602
3614
  const { lcsTimeout } = internalData
3603
3615
  if (lcsTimeout) {
3604
3616
  clearTimeout(lcsTimeout)
3605
3617
  }
3606
3618
  internalData.lcsTimeout = setTimeout(() => {
3619
+ const { scrollXLoad, scrollYLoad, isAllOverflow } = reactData
3607
3620
  internalData.lcsRunTime = Date.now()
3608
3621
  internalData.lcsTimeout = undefined
3609
3622
  internalData.intoRunScroll = false
@@ -6153,6 +6166,11 @@ const Methods = {
6153
6166
  }, 10)
6154
6167
  })
6155
6168
  },
6169
+ handleResizeEvent () {
6170
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
6171
+
6172
+ handleResizeEvent($xeTable)
6173
+ },
6156
6174
  /**
6157
6175
  * 重新渲染布局
6158
6176
  * 刷新布局
@@ -6749,7 +6767,7 @@ const Methods = {
6749
6767
 
6750
6768
  $xeTable.closeMenu()
6751
6769
  $xeTable.updateCellAreas()
6752
- handleLazyRecalculate($xeTable, true, true, true)
6770
+ handleResizeEvent($xeTable)
6753
6771
  $xeTable.updateCellAreas()
6754
6772
  },
6755
6773
  /**
@@ -7958,8 +7976,8 @@ const Methods = {
7958
7976
  const props = $xeTable
7959
7977
  const reactData = $xeTable as unknown as TableReactData
7960
7978
 
7961
- const { highlightCurrentRow, highlightCurrentColumn, editConfig } = props
7962
- const { editStore, isDragResize } = reactData
7979
+ const { treeConfig, highlightCurrentRow, highlightCurrentColumn, editConfig, aggregateConfig, rowGroupConfig } = props
7980
+ const { editStore, isDragResize, expandColumn, checkboxColumn, radioColumn } = reactData
7963
7981
  if (isDragResize) {
7964
7982
  return
7965
7983
  }
@@ -7988,15 +8006,15 @@ const Methods = {
7988
8006
  params = Object.assign({ cell, triggerRadio, triggerCheckbox, triggerTreeNode, triggerExpandNode }, params)
7989
8007
  if (!triggerCheckbox && !triggerRadio) {
7990
8008
  // 如果是展开行
7991
- if (!triggerExpandNode && (expandOpts.trigger === 'row' || (isExpandType && expandOpts.trigger === 'cell'))) {
8009
+ if (!triggerExpandNode && ((expandColumn && expandOpts.trigger === 'row') || (isExpandType && expandOpts.trigger === 'cell'))) {
7992
8010
  $xeTable.triggerRowExpandEvent(evnt, params)
7993
8011
  }
7994
8012
  // 如果是树形表格
7995
- if ((treeOpts.trigger === 'row' || (treeNode && treeOpts.trigger === 'cell'))) {
8013
+ if (treeConfig && (treeOpts.trigger === 'row' || (treeNode && treeOpts.trigger === 'cell'))) {
7996
8014
  $xeTable.triggerTreeExpandEvent(evnt, params)
7997
8015
  }
7998
8016
  // 如果是行分组
7999
- if ((aggregateOpts.trigger === 'row' || (rowGroupNode && aggregateOpts.trigger === 'cell'))) {
8017
+ if ((aggregateConfig || rowGroupConfig) && (aggregateOpts.trigger === 'row' || (rowGroupNode && aggregateOpts.trigger === 'cell'))) {
8000
8018
  $xeTable.triggerRowGroupExpandEvent(evnt, params)
8001
8019
  }
8002
8020
  }
@@ -8016,11 +8034,11 @@ const Methods = {
8016
8034
  }
8017
8035
  }
8018
8036
  // 如果是单选框
8019
- if (!triggerRadio && (radioOpts.trigger === 'row' || (isRadioType && radioOpts.trigger === 'cell'))) {
8037
+ if (!triggerRadio && ((radioColumn && radioOpts.trigger === 'row') || (isRadioType && radioOpts.trigger === 'cell'))) {
8020
8038
  $xeTable.triggerRadioRowEvent(evnt, params)
8021
8039
  }
8022
8040
  // 如果是复选框
8023
- if (!triggerCheckbox && (checkboxOpts.trigger === 'row' || (isCheckboxType && checkboxOpts.trigger === 'cell'))) {
8041
+ if (!triggerCheckbox && ((checkboxColumn && checkboxOpts.trigger === 'row') || (isCheckboxType && checkboxOpts.trigger === 'cell'))) {
8024
8042
  $xeTable.handleToggleCheckRowEvent(evnt, params)
8025
8043
  }
8026
8044
  }
@@ -522,12 +522,6 @@ export default {
522
522
  scrollbarHeight: 0,
523
523
  // 行高
524
524
  rowHeight: 0,
525
- // 表头高度
526
- tHeaderHeight: 0,
527
- // 表体高度
528
- tBodyHeight: 0,
529
- // 表尾高度
530
- tFooterHeight: 0,
531
525
  // 表格父容器的高度
532
526
  parentHeight: 0,
533
527
  // 是否使用分组表头
@@ -549,6 +543,8 @@ export default {
549
543
  rowGroupColumn: null,
550
544
  // 展开列信息
551
545
  expandColumn: null,
546
+ checkboxColumn: null,
547
+ radioColumn: null,
552
548
  hasFixedColumn: false,
553
549
  // 树节点列信息
554
550
  treeNodeColumn: null,
@@ -1839,7 +1835,7 @@ export default {
1839
1835
  if (this.autoResize) {
1840
1836
  const resizeObserver = globalResize.create(() => {
1841
1837
  if (this.autoResize) {
1842
- this.recalculate(true)
1838
+ this.handleResizeEvent()
1843
1839
  }
1844
1840
  })
1845
1841
  resizeObserver.observe(this.$el)
@@ -115,6 +115,13 @@ export function createInternalData (): TableInternalData {
115
115
 
116
116
  cvCacheMaps: {},
117
117
 
118
+ // 表头高度
119
+ tHeaderHeight: 0,
120
+ // 表体高度
121
+ tBodyHeight: 0,
122
+ // 表尾高度
123
+ tFooterHeight: 0,
124
+
118
125
  inited: false,
119
126
  tooltipTimeout: null,
120
127
  initStatus: false,