vxe-table 4.19.6 → 4.19.8
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/dist/all.esm.js +203 -75
- package/dist/style.css +1 -1
- package/es/grid/src/grid.js +1 -1
- package/es/style.css +1 -1
- package/es/table/src/body.js +11 -11
- package/es/table/src/group.js +3 -0
- package/es/table/src/table.js +169 -61
- package/es/table/src/util.js +18 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +1 -1
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +70 -31
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/src/body.js +11 -11
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/group.js +3 -0
- package/lib/table/src/group.min.js +1 -1
- package/lib/table/src/table.js +35 -16
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +19 -1
- 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 +2 -2
- package/packages/grid/src/grid.ts +1 -1
- package/packages/table/src/body.ts +13 -13
- package/packages/table/src/group.ts +4 -0
- package/packages/table/src/table.ts +175 -63
- package/packages/table/src/util.ts +21 -1
- /package/es/{iconfont.1780293024194.ttf → iconfont.1780726776354.ttf} +0 -0
- /package/es/{iconfont.1780293024194.woff → iconfont.1780726776354.woff} +0 -0
- /package/es/{iconfont.1780293024194.woff2 → iconfont.1780726776354.woff2} +0 -0
- /package/lib/{iconfont.1780293024194.ttf → iconfont.1780726776354.ttf} +0 -0
- /package/lib/{iconfont.1780293024194.woff → iconfont.1780726776354.woff} +0 -0
- /package/lib/{iconfont.1780293024194.woff2 → iconfont.1780726776354.woff2} +0 -0
|
@@ -4,7 +4,7 @@ import XEUtils from 'xe-utils'
|
|
|
4
4
|
import { initTpImg, getTpImg, isPx, isScale, hasClass, addClass, removeClass, wheelScrollTopTo, wheelScrollLeftTo, getEventTargetNode, getPaddingTopBottomSize, setScrollTop, setScrollLeft, toCssUnit, hasControlKey, checkTargetElement, hasEventInputTarget } 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 { createReactData, createInternalData, getRowUniqueId, createRowId, clearTableAllStatus, getColumnList, toFilters, hasDeepKey, getRowkey, getRowid, rowToVisible, colToVisible, getCellValue, setCellValue, handleRowidOrRow, handleFieldOrColumn, toTreePathSeq, restoreScrollLocation, getRootColumn, getRefElem, getColReMinWidth, getColReMaxWidth, createHandleUpdateRowId, createHandleGetRowId, getCalcHeight, getCellRestHeight, getLastChildColumn } from './util'
|
|
7
|
+
import { createReactData, createInternalData, getRowUniqueId, createRowId, clearTableAllStatus, getColumnList, toFilters, hasDeepKey, getRowkey, getRowid, rowToVisible, colToVisible, getCellValue, setCellValue, handleRowidOrRow, handleFieldOrColumn, toTreePathSeq, restoreScrollLocation, getRootColumn, getRefElem, getColReMinWidth, getColReMaxWidth, createHandleUpdateRowId, createHandleGetRowId, getCalcHeight, getCellRestHeight, getLastChildColumn, getRowMaxHeight } from './util'
|
|
8
8
|
import { getSlotVNs } from '../../ui/src/vn'
|
|
9
9
|
import { moveRowAnimateToTb, clearRowAnimate, moveColAnimateToLr, clearColAnimate } from '../../ui/src/anime'
|
|
10
10
|
import { warnLog, errLog } from '../../ui/src/log'
|
|
@@ -2098,34 +2098,38 @@ export default defineVxeComponent({
|
|
|
2098
2098
|
/**
|
|
2099
2099
|
* 计算自适应行高
|
|
2100
2100
|
*/
|
|
2101
|
-
const calcCellAutoHeight = (rowRest: VxeTableDefines.RowCacheItem, wrapperEl: HTMLDivElement) => {
|
|
2102
|
-
const {
|
|
2101
|
+
const calcCellAutoHeight = (rowid: string | number, rowRest: VxeTableDefines.RowCacheItem, wrapperEl: HTMLDivElement) => {
|
|
2102
|
+
const { fullCellHeightMaps } = internalData
|
|
2103
|
+
let chRest = fullCellHeightMaps[rowid]
|
|
2104
|
+
if (!chRest) {
|
|
2105
|
+
chRest = {}
|
|
2106
|
+
fullCellHeightMaps[rowid] = chRest
|
|
2107
|
+
}
|
|
2103
2108
|
const wrapperElemList = wrapperEl.querySelectorAll(`.vxe-cell--wrapper[rowid="${rowRest.rowid}"]`)
|
|
2104
|
-
let colHeight = 0
|
|
2105
2109
|
let firstCellStyle: CSSStyleDeclaration | null = null
|
|
2106
2110
|
let topBottomPadding = 0
|
|
2111
|
+
let changeCH = false
|
|
2107
2112
|
for (let i = 0; i < wrapperElemList.length; i++) {
|
|
2108
2113
|
const wrapperElem = wrapperElemList[i] as HTMLElement
|
|
2109
2114
|
const cellElem = wrapperElem.parentElement as HTMLTableCellElement
|
|
2110
2115
|
const cellStyle = cellElem.style
|
|
2111
2116
|
const orHeight = cellStyle.height
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
}
|
|
2117
|
+
const colid = wrapperElem.getAttribute('colid') || ''
|
|
2118
|
+
cellStyle.height = ''
|
|
2115
2119
|
if (!firstCellStyle) {
|
|
2116
2120
|
firstCellStyle = getComputedStyle(cellElem)
|
|
2117
2121
|
topBottomPadding = firstCellStyle ? Math.ceil(XEUtils.toNumber(firstCellStyle.paddingTop) + XEUtils.toNumber(firstCellStyle.paddingBottom)) : 0
|
|
2118
2122
|
}
|
|
2119
|
-
if (!scrollXLoad) {
|
|
2120
|
-
cellStyle.height = orHeight
|
|
2121
|
-
}
|
|
2122
2123
|
const cellHeight = wrapperElem ? wrapperElem.clientHeight : 0
|
|
2123
|
-
colHeight = Math.
|
|
2124
|
-
|
|
2125
|
-
|
|
2126
|
-
|
|
2124
|
+
const colHeight = Math.ceil(cellHeight + topBottomPadding)
|
|
2125
|
+
if (chRest[colid] !== colHeight) {
|
|
2126
|
+
changeCH = true
|
|
2127
|
+
chRest[colid] = colHeight
|
|
2128
|
+
}
|
|
2129
|
+
cellStyle.height = orHeight
|
|
2127
2130
|
}
|
|
2128
|
-
|
|
2131
|
+
const cellMaxHeight = getRowMaxHeight(chRest, changeCH)
|
|
2132
|
+
return cellMaxHeight
|
|
2129
2133
|
}
|
|
2130
2134
|
|
|
2131
2135
|
/**
|
|
@@ -2148,7 +2152,7 @@ export default defineVxeComponent({
|
|
|
2148
2152
|
const rowid = handleGetRowId(row)
|
|
2149
2153
|
const rowRest = fullAllDataRowIdData[rowid]
|
|
2150
2154
|
if (rowRest) {
|
|
2151
|
-
const reHeight = calcCellAutoHeight(rowRest, el)
|
|
2155
|
+
const reHeight = calcCellAutoHeight(rowid, rowRest, el)
|
|
2152
2156
|
rowRest.height = Math.max(defaultRowHeight, reHeight)
|
|
2153
2157
|
}
|
|
2154
2158
|
el.removeAttribute('data-calc-row')
|
|
@@ -2570,7 +2574,7 @@ export default defineVxeComponent({
|
|
|
2570
2574
|
}
|
|
2571
2575
|
|
|
2572
2576
|
let yScrollbarVisible = overflowY ? 'visible' : 'hidden'
|
|
2573
|
-
if ((scrollbarYConf.visible === 'hidden' || scrollbarYConf.visible === false) || ($xeGanttView && !scrollbarYToLeft)) {
|
|
2577
|
+
if ((scrollbarYConf.visible === 'hidden' || scrollbarYConf.visible === false) || (($xeGantt && $xeGanttView && $xeGantt.reactData.showRightView) && !scrollbarYToLeft)) {
|
|
2574
2578
|
osbWidth = 0
|
|
2575
2579
|
yScrollbarVisible = 'hidden'
|
|
2576
2580
|
} else if (scrollbarYConf.visible === 'visible') {
|
|
@@ -3438,7 +3442,6 @@ export default defineVxeComponent({
|
|
|
3438
3442
|
|
|
3439
3443
|
const handleRecalculateStyle = (reFull: boolean, reWidth: boolean, reHeight: boolean) => {
|
|
3440
3444
|
const el = refElem.value
|
|
3441
|
-
internalData.rceRunTime = Date.now()
|
|
3442
3445
|
if (!el || !el.clientWidth) {
|
|
3443
3446
|
return nextTick()
|
|
3444
3447
|
}
|
|
@@ -3462,6 +3465,7 @@ export default defineVxeComponent({
|
|
|
3462
3465
|
if (reFull) {
|
|
3463
3466
|
updateTreeLineStyle()
|
|
3464
3467
|
}
|
|
3468
|
+
internalData.rceRunTime = Date.now()
|
|
3465
3469
|
return computeScrollLoad().then(() => {
|
|
3466
3470
|
// 初始化时需要在列计算之后再执行优化运算,达到最优显示效果
|
|
3467
3471
|
if (reWidth) {
|
|
@@ -3482,19 +3486,31 @@ export default defineVxeComponent({
|
|
|
3482
3486
|
if (reFull) {
|
|
3483
3487
|
updateTreeLineStyle()
|
|
3484
3488
|
}
|
|
3489
|
+
internalData.rceRunTime = Date.now()
|
|
3485
3490
|
if (reFull) {
|
|
3486
3491
|
return computeScrollLoad()
|
|
3487
3492
|
}
|
|
3488
3493
|
})
|
|
3489
3494
|
}
|
|
3490
3495
|
|
|
3496
|
+
const minRunDelay = 50
|
|
3497
|
+
|
|
3491
3498
|
const handleLazyRecalculate = (reFull: boolean, reWidth: boolean, reHeight: boolean) => {
|
|
3492
3499
|
return new Promise<void>(resolve => {
|
|
3493
3500
|
const $xeGanttView = internalData.xeGanttView
|
|
3494
3501
|
const { customStore } = reactData
|
|
3495
3502
|
const { rceTimeout, rceRunTime } = internalData
|
|
3496
3503
|
const resizeOpts = computeResizeOpts.value
|
|
3497
|
-
|
|
3504
|
+
let rceDelay = internalData.rceDelay
|
|
3505
|
+
// 如果在500毫秒内频繁执行,则执行次数减缓
|
|
3506
|
+
if (rceRunTime && rceRunTime > Date.now() - 500) {
|
|
3507
|
+
rceDelay += 50
|
|
3508
|
+
} else {
|
|
3509
|
+
rceDelay = 0
|
|
3510
|
+
}
|
|
3511
|
+
internalData.rceDelay = rceDelay
|
|
3512
|
+
const refreshDelay = resizeOpts.refreshDelay || 30
|
|
3513
|
+
const reDelay = rceDelay + refreshDelay
|
|
3498
3514
|
const el = refElem.value
|
|
3499
3515
|
if (el && el.clientWidth) {
|
|
3500
3516
|
autoCellWidth()
|
|
@@ -3505,7 +3521,7 @@ export default defineVxeComponent({
|
|
|
3505
3521
|
}
|
|
3506
3522
|
if (rceTimeout) {
|
|
3507
3523
|
clearTimeout(rceTimeout)
|
|
3508
|
-
if (rceRunTime && rceRunTime +
|
|
3524
|
+
if (rceRunTime && rceRunTime + minRunDelay < Date.now()) {
|
|
3509
3525
|
resolve(
|
|
3510
3526
|
handleRecalculateStyle(reFull, reWidth, reHeight)
|
|
3511
3527
|
)
|
|
@@ -3525,12 +3541,25 @@ export default defineVxeComponent({
|
|
|
3525
3541
|
internalData.rceTimeout = setTimeout(() => {
|
|
3526
3542
|
internalData.rceTimeout = undefined
|
|
3527
3543
|
handleRecalculateStyle(reFull, reWidth, reHeight)
|
|
3528
|
-
|
|
3544
|
+
if ($xeGanttView && $xeGanttView.handleLazyRecalculate) {
|
|
3545
|
+
$xeGanttView.handleLazyRecalculate()
|
|
3546
|
+
}
|
|
3547
|
+
}, reDelay)
|
|
3529
3548
|
})
|
|
3530
3549
|
}
|
|
3531
3550
|
|
|
3551
|
+
let resizePending = false
|
|
3552
|
+
|
|
3532
3553
|
const handleResizeEvent = () => {
|
|
3533
|
-
|
|
3554
|
+
if (resizePending) {
|
|
3555
|
+
return
|
|
3556
|
+
}
|
|
3557
|
+
resizePending = true
|
|
3558
|
+
handleLazyRecalculate(true, true, true).then(() => {
|
|
3559
|
+
resizePending = false
|
|
3560
|
+
}).catch(() => {
|
|
3561
|
+
resizePending = false
|
|
3562
|
+
})
|
|
3534
3563
|
}
|
|
3535
3564
|
|
|
3536
3565
|
const handleUpdateAggValues = () => {
|
|
@@ -3881,6 +3910,7 @@ export default defineVxeComponent({
|
|
|
3881
3910
|
reactData.insertRowFlag++
|
|
3882
3911
|
internalData.removeRowMaps = {}
|
|
3883
3912
|
reactData.removeRowFlag++
|
|
3913
|
+
internalData.fullCellHeightMaps = {}
|
|
3884
3914
|
const sYLoad = updateScrollYStatus(fullData)
|
|
3885
3915
|
// 全量数据
|
|
3886
3916
|
internalData.tableFullData = fullData
|
|
@@ -3912,6 +3942,7 @@ export default defineVxeComponent({
|
|
|
3912
3942
|
updateStyle()
|
|
3913
3943
|
}).then(() => {
|
|
3914
3944
|
computeScrollLoad()
|
|
3945
|
+
syncGanttScrollYStatus()
|
|
3915
3946
|
}).then(() => {
|
|
3916
3947
|
const virtualYOpts = computeVirtualYOpts.value
|
|
3917
3948
|
// 是否启用了虚拟滚动
|
|
@@ -3974,6 +4005,7 @@ export default defineVxeComponent({
|
|
|
3974
4005
|
reactData.isRowLoading = false
|
|
3975
4006
|
handleRecalculateStyle(false, false, false)
|
|
3976
4007
|
updateTreeLineStyle()
|
|
4008
|
+
syncGanttScrollYStatus()
|
|
3977
4009
|
|
|
3978
4010
|
// 如果是自动行高,特殊情况需调用 recalculate 手动刷新
|
|
3979
4011
|
if (!props.showOverflow) {
|
|
@@ -4241,8 +4273,45 @@ export default defineVxeComponent({
|
|
|
4241
4273
|
internalData.fullColumnFieldData = fullColFieldData
|
|
4242
4274
|
}
|
|
4243
4275
|
|
|
4244
|
-
const
|
|
4276
|
+
const buildColumnInfo = () => {
|
|
4277
|
+
const { scrollXLoad, scrollYLoad, expandColumn } = reactData
|
|
4245
4278
|
const expandOpts = computeExpandOpts.value
|
|
4279
|
+
cacheColumnMap()
|
|
4280
|
+
parseColumns(true).then(() => {
|
|
4281
|
+
if (reactData.scrollXLoad) {
|
|
4282
|
+
loadScrollXData()
|
|
4283
|
+
}
|
|
4284
|
+
})
|
|
4285
|
+
$xeTable.clearHeaderFormatterCache()
|
|
4286
|
+
$xeTable.clearMergeCells()
|
|
4287
|
+
$xeTable.clearMergeFooterItems()
|
|
4288
|
+
$xeTable.handleTableData(true)
|
|
4289
|
+
$xeTable.handleAggregateSummaryData()
|
|
4290
|
+
|
|
4291
|
+
if ((scrollXLoad || scrollYLoad) && (expandColumn && expandOpts.mode !== 'fixed')) {
|
|
4292
|
+
warnLog('vxe.error.scrollErrProp', ['column.type=expand'])
|
|
4293
|
+
}
|
|
4294
|
+
|
|
4295
|
+
return nextTick().then(() => {
|
|
4296
|
+
if ($xeToolbar) {
|
|
4297
|
+
$xeToolbar.syncUpdate({
|
|
4298
|
+
collectColumn: internalData.collectColumn,
|
|
4299
|
+
$table: $xeTable
|
|
4300
|
+
})
|
|
4301
|
+
}
|
|
4302
|
+
if ($xeTable.handleUpdateCustomColumn) {
|
|
4303
|
+
$xeTable.handleUpdateCustomColumn()
|
|
4304
|
+
}
|
|
4305
|
+
const columnOpts = computeColumnOpts.value
|
|
4306
|
+
if (props.showCustomHeader && reactData.isGroup && (columnOpts.resizable || props.resizable)) {
|
|
4307
|
+
warnLog('vxe.error.notConflictProp', ['show-custom-header & colgroup', 'column-config.resizable=false'])
|
|
4308
|
+
}
|
|
4309
|
+
reactData.isColLoading = false
|
|
4310
|
+
return handleLazyRecalculate(false, true, true)
|
|
4311
|
+
})
|
|
4312
|
+
}
|
|
4313
|
+
|
|
4314
|
+
const handleInitColumn = (collectColumn: VxeTableDefines.ColumnInfo[]) => {
|
|
4246
4315
|
internalData.collectColumn = collectColumn
|
|
4247
4316
|
const tFullColumn = getColumnList(collectColumn)
|
|
4248
4317
|
internalData.tableFullColumn = tFullColumn
|
|
@@ -4252,40 +4321,7 @@ export default defineVxeComponent({
|
|
|
4252
4321
|
return Promise.resolve(
|
|
4253
4322
|
restoreCustomStorage()
|
|
4254
4323
|
).then(() => {
|
|
4255
|
-
|
|
4256
|
-
cacheColumnMap()
|
|
4257
|
-
parseColumns(true).then(() => {
|
|
4258
|
-
if (reactData.scrollXLoad) {
|
|
4259
|
-
loadScrollXData()
|
|
4260
|
-
}
|
|
4261
|
-
})
|
|
4262
|
-
$xeTable.clearHeaderFormatterCache()
|
|
4263
|
-
$xeTable.clearMergeCells()
|
|
4264
|
-
$xeTable.clearMergeFooterItems()
|
|
4265
|
-
$xeTable.handleTableData(true)
|
|
4266
|
-
$xeTable.handleAggregateSummaryData()
|
|
4267
|
-
|
|
4268
|
-
if ((scrollXLoad || scrollYLoad) && (expandColumn && expandOpts.mode !== 'fixed')) {
|
|
4269
|
-
warnLog('vxe.error.scrollErrProp', ['column.type=expand'])
|
|
4270
|
-
}
|
|
4271
|
-
|
|
4272
|
-
return nextTick().then(() => {
|
|
4273
|
-
if ($xeToolbar) {
|
|
4274
|
-
$xeToolbar.syncUpdate({
|
|
4275
|
-
collectColumn: internalData.collectColumn,
|
|
4276
|
-
$table: $xeTable
|
|
4277
|
-
})
|
|
4278
|
-
}
|
|
4279
|
-
if ($xeTable.handleUpdateCustomColumn) {
|
|
4280
|
-
$xeTable.handleUpdateCustomColumn()
|
|
4281
|
-
}
|
|
4282
|
-
const columnOpts = computeColumnOpts.value
|
|
4283
|
-
if (props.showCustomHeader && reactData.isGroup && (columnOpts.resizable || props.resizable)) {
|
|
4284
|
-
warnLog('vxe.error.notConflictProp', ['show-custom-header & colgroup', 'column-config.resizable=false'])
|
|
4285
|
-
}
|
|
4286
|
-
reactData.isColLoading = false
|
|
4287
|
-
return handleLazyRecalculate(false, true, true)
|
|
4288
|
-
})
|
|
4324
|
+
return buildColumnInfo()
|
|
4289
4325
|
})
|
|
4290
4326
|
}
|
|
4291
4327
|
|
|
@@ -4298,9 +4334,15 @@ export default defineVxeComponent({
|
|
|
4298
4334
|
return scrollXLoad
|
|
4299
4335
|
}
|
|
4300
4336
|
|
|
4337
|
+
const syncGanttScrollYStatus = () => {
|
|
4338
|
+
const $xeGanttView = internalData.xeGanttView
|
|
4339
|
+
if ($xeGanttView && $xeGanttView.handleUpdateSYStatus) {
|
|
4340
|
+
$xeGanttView.handleUpdateSYStatus(reactData.scrollYLoad)
|
|
4341
|
+
}
|
|
4342
|
+
}
|
|
4343
|
+
|
|
4301
4344
|
const updateScrollYStatus = (fullData?: any[]) => {
|
|
4302
4345
|
const { treeConfig } = props
|
|
4303
|
-
const $xeGanttView = internalData.xeGanttView
|
|
4304
4346
|
const virtualYOpts = computeVirtualYOpts.value
|
|
4305
4347
|
const treeOpts = computeTreeOpts.value
|
|
4306
4348
|
const { transform } = treeOpts
|
|
@@ -4308,9 +4350,7 @@ export default defineVxeComponent({
|
|
|
4308
4350
|
// 如果gt为0,则总是启用
|
|
4309
4351
|
const scrollYLoad = (transform || !treeConfig) && !!virtualYOpts.enabled && virtualYOpts.gt > -1 && (virtualYOpts.gt === 0 || virtualYOpts.gt < allList.length)
|
|
4310
4352
|
reactData.scrollYLoad = scrollYLoad
|
|
4311
|
-
|
|
4312
|
-
$xeGanttView.handleUpdateSYStatus(scrollYLoad)
|
|
4313
|
-
}
|
|
4353
|
+
syncGanttScrollYStatus()
|
|
4314
4354
|
return scrollYLoad
|
|
4315
4355
|
}
|
|
4316
4356
|
|
|
@@ -6223,7 +6263,7 @@ export default defineVxeComponent({
|
|
|
6223
6263
|
const rowid = XEUtils.isString(row) || XEUtils.isNumber(row) ? row : handleGetRowId(row)
|
|
6224
6264
|
const rowRest = fullAllDataRowIdData[rowid]
|
|
6225
6265
|
if (rowRest) {
|
|
6226
|
-
rowRest.resizeHeight = calcCellAutoHeight(rowRest, el)
|
|
6266
|
+
rowRest.resizeHeight = calcCellAutoHeight(rowid, rowRest, el)
|
|
6227
6267
|
}
|
|
6228
6268
|
el.removeAttribute('data-calc-row')
|
|
6229
6269
|
})
|
|
@@ -7973,6 +8013,66 @@ export default defineVxeComponent({
|
|
|
7973
8013
|
clearHistory () {
|
|
7974
8014
|
return $xeTable.handleClearStack()
|
|
7975
8015
|
},
|
|
8016
|
+
/**
|
|
8017
|
+
* 用于 custom-config,用于手动恢复自定义列设置信息,恢复表格重置为初始状态
|
|
8018
|
+
* @param storeData
|
|
8019
|
+
* @returns
|
|
8020
|
+
*/
|
|
8021
|
+
setCustomStoreData (storeData) {
|
|
8022
|
+
if (!storeData) {
|
|
8023
|
+
return nextTick()
|
|
8024
|
+
}
|
|
8025
|
+
const customOpts = computeCustomOpts.value
|
|
8026
|
+
const { checkMethod } = customOpts
|
|
8027
|
+
// 重置状态
|
|
8028
|
+
clearTableAllStatus($xeTable)
|
|
8029
|
+
// 恢复列
|
|
8030
|
+
const allCols: VxeTableDefines.ColumnInfo[] = []
|
|
8031
|
+
XEUtils.eachTree(internalData.collectColumn, (column) => {
|
|
8032
|
+
column.resizeWidth = 0
|
|
8033
|
+
column.fixed = column.defaultFixed
|
|
8034
|
+
column.renderSortNumber = column.sortNumber
|
|
8035
|
+
column.parentId = column.defaultParentId
|
|
8036
|
+
if (!checkMethod || checkMethod({ $table: $xeTable, column })) {
|
|
8037
|
+
column.visible = column.defaultVisible
|
|
8038
|
+
}
|
|
8039
|
+
column.aggFunc = column.defaultAggFunc
|
|
8040
|
+
column.renderAggFn = column.defaultAggFunc
|
|
8041
|
+
column.renderResizeWidth = column.renderWidth
|
|
8042
|
+
allCols.push(column)
|
|
8043
|
+
})
|
|
8044
|
+
const newCollectCols = XEUtils.toArrayTree(XEUtils.orderBy(allCols, 'renderSortNumber'), { key: 'id', parentKey: 'parentId', children: 'children' })
|
|
8045
|
+
internalData.collectColumn = newCollectCols
|
|
8046
|
+
internalData.tableFullColumn = getColumnList(newCollectCols)
|
|
8047
|
+
|
|
8048
|
+
reactData.updateColFlag++
|
|
8049
|
+
reactData.isColLoading = true
|
|
8050
|
+
initColumnHierarchy()
|
|
8051
|
+
return Promise.resolve(
|
|
8052
|
+
handleCustomRestore(storeData)
|
|
8053
|
+
).then(() => {
|
|
8054
|
+
return buildColumnInfo()
|
|
8055
|
+
}).then(() => {
|
|
8056
|
+
// 恢复数据聚合分组
|
|
8057
|
+
const { isRowGroupStatus, rowGroupList } = reactData
|
|
8058
|
+
if (isRowGroupStatus && !!$xeTable.handlePivotTableAggData) {
|
|
8059
|
+
const rowGroupFields = computeRowGroupFields.value
|
|
8060
|
+
if (rowGroupFields ? rowGroupFields.length : rowGroupList.length) {
|
|
8061
|
+
if (rowGroupFields && rowGroupFields.length) {
|
|
8062
|
+
$xeTable.setRowGroups(rowGroupFields)
|
|
8063
|
+
} else {
|
|
8064
|
+
$xeTable.clearRowGroups()
|
|
8065
|
+
}
|
|
8066
|
+
} else {
|
|
8067
|
+
$xeTable.handleUpdateAggData()
|
|
8068
|
+
}
|
|
8069
|
+
}
|
|
8070
|
+
})
|
|
8071
|
+
},
|
|
8072
|
+
/**
|
|
8073
|
+
* 用于 custom-config,用于获取自定义列设置信息,用于自定义保持
|
|
8074
|
+
* @returns
|
|
8075
|
+
*/
|
|
7976
8076
|
getCustomStoreData () {
|
|
7977
8077
|
const { id } = props
|
|
7978
8078
|
const customOpts = computeCustomOpts.value
|
|
@@ -9746,6 +9846,9 @@ export default defineVxeComponent({
|
|
|
9746
9846
|
}
|
|
9747
9847
|
}
|
|
9748
9848
|
},
|
|
9849
|
+
/**
|
|
9850
|
+
* @private
|
|
9851
|
+
*/
|
|
9749
9852
|
handleRowResizeMousedownEvent (evnt, params) {
|
|
9750
9853
|
evnt.stopPropagation()
|
|
9751
9854
|
evnt.preventDefault()
|
|
@@ -9863,6 +9966,9 @@ export default defineVxeComponent({
|
|
|
9863
9966
|
}
|
|
9864
9967
|
updateEvent(evnt)
|
|
9865
9968
|
},
|
|
9969
|
+
/**
|
|
9970
|
+
* @private
|
|
9971
|
+
*/
|
|
9866
9972
|
handleRowResizeDblclickEvent (evnt, params) {
|
|
9867
9973
|
const resizableOpts = computeResizableOpts.value
|
|
9868
9974
|
const { isDblclickAutoHeight } = resizableOpts
|
|
@@ -9881,7 +9987,7 @@ export default defineVxeComponent({
|
|
|
9881
9987
|
}
|
|
9882
9988
|
const handleRsHeight = () => {
|
|
9883
9989
|
el.setAttribute('data-calc-row', 'Y')
|
|
9884
|
-
const resizeHeight = calcCellAutoHeight(rowRest, el)
|
|
9990
|
+
const resizeHeight = calcCellAutoHeight(rowid, rowRest, el)
|
|
9885
9991
|
el.removeAttribute('data-calc-row')
|
|
9886
9992
|
const resizeParams = { ...params, resizeHeight, resizeRow: row }
|
|
9887
9993
|
reactData.isDragResize = false
|
|
@@ -9900,6 +10006,9 @@ export default defineVxeComponent({
|
|
|
9900
10006
|
}
|
|
9901
10007
|
}
|
|
9902
10008
|
},
|
|
10009
|
+
/**
|
|
10010
|
+
* @private
|
|
10011
|
+
*/
|
|
9903
10012
|
saveCustomStore (type) {
|
|
9904
10013
|
const { customConfig } = props
|
|
9905
10014
|
const tableId = computeTableId.value
|
|
@@ -9945,6 +10054,9 @@ export default defineVxeComponent({
|
|
|
9945
10054
|
}
|
|
9946
10055
|
return nextTick()
|
|
9947
10056
|
},
|
|
10057
|
+
/**
|
|
10058
|
+
* @private
|
|
10059
|
+
*/
|
|
9948
10060
|
handleCustom () {
|
|
9949
10061
|
const { mouseConfig } = props
|
|
9950
10062
|
if (mouseConfig) {
|
|
@@ -90,6 +90,7 @@ export function createInternalData (): TableInternalData {
|
|
|
90
90
|
sourceDataRowIdData: {},
|
|
91
91
|
fullColumnIdData: {},
|
|
92
92
|
fullColumnFieldData: {},
|
|
93
|
+
fullCellHeightMaps: {},
|
|
93
94
|
|
|
94
95
|
// 当前行
|
|
95
96
|
currentRow: null,
|
|
@@ -160,7 +161,9 @@ export function createInternalData (): TableInternalData {
|
|
|
160
161
|
inited: false,
|
|
161
162
|
tooltipTimeout: null,
|
|
162
163
|
initStatus: false,
|
|
163
|
-
isActivated: false
|
|
164
|
+
isActivated: false,
|
|
165
|
+
|
|
166
|
+
rceDelay: 0
|
|
164
167
|
|
|
165
168
|
// _sToTime: null
|
|
166
169
|
}
|
|
@@ -422,6 +425,23 @@ export function createReactData (): TableReactData {
|
|
|
422
425
|
}
|
|
423
426
|
}
|
|
424
427
|
|
|
428
|
+
const maxKey = '__max'
|
|
429
|
+
|
|
430
|
+
export function getRowMaxHeight (chRest: Record<string, number>, isForce: boolean) {
|
|
431
|
+
if (isForce || !chRest[maxKey]) {
|
|
432
|
+
let max = 0
|
|
433
|
+
for (const key in chRest) {
|
|
434
|
+
const val = chRest[key]
|
|
435
|
+
if (key !== maxKey && XEUtils.isNumber(val) && val > max) {
|
|
436
|
+
max = val
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
chRest[maxKey] = max
|
|
440
|
+
return max
|
|
441
|
+
}
|
|
442
|
+
return chRest[maxKey]
|
|
443
|
+
}
|
|
444
|
+
|
|
425
445
|
const getAllConvertColumns = (columns: any, parentColumn?: any) => {
|
|
426
446
|
const result: any[] = []
|
|
427
447
|
columns.forEach((column: any) => {
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|