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.
- package/es/components.js +1 -1
- package/es/grid/src/grid.js +5 -4
- package/es/style.css +1 -1
- package/es/table/src/body.js +3 -3
- package/es/table/src/footer.js +1 -1
- package/es/table/src/header.js +2 -2
- package/es/table/src/methods.js +37 -21
- package/es/table/src/table.js +3 -7
- package/es/table/src/util.js +6 -0
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/components.js +17 -18
- package/lib/components.min.js +1 -1
- package/lib/grid/src/grid.js +5 -25
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +70 -66
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/src/body.js +3 -2
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/footer.js +1 -1
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +3 -2
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/methods.js +48 -27
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +3 -7
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +6 -0
- package/lib/table/src/util.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +1 -1
- package/packages/components.ts +1 -1
- package/packages/grid/src/grid.ts +34 -32
- package/packages/table/src/body.ts +3 -3
- package/packages/table/src/footer.ts +1 -1
- package/packages/table/src/header.ts +2 -2
- package/packages/table/src/methods.ts +39 -21
- package/packages/table/src/table.ts +3 -7
- package/packages/table/src/util.ts +7 -0
- /package/es/{iconfont.1754905462391.ttf → iconfont.1755133667514.ttf} +0 -0
- /package/es/{iconfont.1754905462391.woff → iconfont.1755133667514.woff} +0 -0
- /package/es/{iconfont.1754905462391.woff2 → iconfont.1755133667514.woff2} +0 -0
- /package/lib/{iconfont.1754905462391.ttf → iconfont.1755133667514.ttf} +0 -0
- /package/lib/{iconfont.1754905462391.woff → iconfont.1755133667514.woff} +0 -0
- /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
|
|
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
|
-
|
|
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
|
-
|
|
998
|
-
let yScrollbarVisible = overflowY ? 'visible' : 'hidden'
|
|
1000
|
+
let xScrollbarVisible = overflowX ? 'visible' : 'hidden'
|
|
999
1001
|
if ($xeGanttView) {
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
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
|
-
|
|
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
|
-
|
|
2785
|
-
|
|
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
|
-
|
|
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.
|
|
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,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|