vxe-table 3.19.27 → 3.19.29
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/locale/lang/ar-EG.js +16 -11
- package/es/locale/lang/de-DE.js +16 -11
- package/es/locale/lang/en-US.js +19 -14
- package/es/locale/lang/es-ES.js +16 -11
- package/es/locale/lang/fr-FR.js +16 -11
- package/es/locale/lang/hu-HU.js +16 -11
- package/es/locale/lang/hy-AM.js +16 -11
- package/es/locale/lang/id-ID.js +16 -11
- package/es/locale/lang/it-IT.js +16 -11
- package/es/locale/lang/ja-JP.js +16 -11
- package/es/locale/lang/ko-KR.js +16 -11
- package/es/locale/lang/ms-MY.js +16 -11
- package/es/locale/lang/nb-NO.js +16 -11
- package/es/locale/lang/pt-BR.js +16 -11
- package/es/locale/lang/ru-RU.js +16 -11
- package/es/locale/lang/th-TH.js +16 -11
- package/es/locale/lang/ug-CN.js +16 -11
- package/es/locale/lang/uk-UA.js +16 -11
- package/es/locale/lang/uz-UZ.js +16 -11
- package/es/locale/lang/vi-VN.js +16 -11
- package/es/locale/lang/zh-CHT.js +16 -11
- package/es/locale/lang/zh-CN.js +15 -12
- package/es/style.css +1 -1
- package/es/table/src/methods.js +230 -188
- package/es/table/src/table.js +14 -4
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +71 -55
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +16 -11
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/ar-EG.umd.js +16 -11
- package/lib/locale/lang/de-DE.js +16 -11
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/de-DE.umd.js +16 -11
- package/lib/locale/lang/en-US.js +19 -14
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +19 -14
- package/lib/locale/lang/es-ES.js +16 -11
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +16 -11
- package/lib/locale/lang/fr-FR.js +16 -11
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/fr-FR.umd.js +16 -11
- package/lib/locale/lang/hu-HU.js +16 -11
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +16 -11
- package/lib/locale/lang/hy-AM.js +16 -11
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/hy-AM.umd.js +16 -11
- package/lib/locale/lang/id-ID.js +16 -11
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/id-ID.umd.js +16 -11
- package/lib/locale/lang/it-IT.js +16 -11
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/it-IT.umd.js +16 -11
- package/lib/locale/lang/ja-JP.js +16 -11
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +16 -11
- package/lib/locale/lang/ko-KR.js +16 -11
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +16 -11
- package/lib/locale/lang/ms-MY.js +16 -11
- package/lib/locale/lang/ms-MY.min.js +1 -1
- package/lib/locale/lang/ms-MY.umd.js +16 -11
- package/lib/locale/lang/nb-NO.js +16 -11
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/nb-NO.umd.js +16 -11
- package/lib/locale/lang/pt-BR.js +16 -11
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +16 -11
- package/lib/locale/lang/ru-RU.js +16 -11
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +16 -11
- package/lib/locale/lang/th-TH.js +16 -11
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/th-TH.umd.js +16 -11
- package/lib/locale/lang/ug-CN.js +16 -11
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/ug-CN.umd.js +16 -11
- package/lib/locale/lang/uk-UA.js +16 -11
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +16 -11
- package/lib/locale/lang/uz-UZ.js +16 -11
- package/lib/locale/lang/uz-UZ.min.js +1 -1
- package/lib/locale/lang/uz-UZ.umd.js +16 -11
- package/lib/locale/lang/vi-VN.js +16 -11
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/vi-VN.umd.js +16 -11
- package/lib/locale/lang/zh-CHT.js +16 -11
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +16 -11
- package/lib/locale/lang/zh-CN.js +15 -12
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +15 -12
- package/lib/style.css +1 -1
- package/lib/table/src/methods.js +234 -190
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +19 -7
- package/lib/table/src/table.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/locale/lang/ar-EG.ts +16 -11
- package/packages/locale/lang/de-DE.ts +16 -11
- package/packages/locale/lang/en-US.ts +19 -14
- package/packages/locale/lang/es-ES.ts +16 -11
- package/packages/locale/lang/fr-FR.ts +16 -11
- package/packages/locale/lang/hu-HU.ts +16 -11
- package/packages/locale/lang/hy-AM.ts +16 -11
- package/packages/locale/lang/id-ID.ts +16 -11
- package/packages/locale/lang/it-IT.ts +16 -11
- package/packages/locale/lang/ja-JP.ts +16 -11
- package/packages/locale/lang/ko-KR.ts +16 -11
- package/packages/locale/lang/ms-MY.ts +16 -11
- package/packages/locale/lang/nb-NO.ts +16 -11
- package/packages/locale/lang/pt-BR.ts +16 -11
- package/packages/locale/lang/ru-RU.ts +16 -11
- package/packages/locale/lang/th-TH.ts +16 -11
- package/packages/locale/lang/ug-CN.ts +16 -11
- package/packages/locale/lang/uk-UA.ts +16 -11
- package/packages/locale/lang/uz-UZ.ts +16 -11
- package/packages/locale/lang/vi-VN.ts +16 -11
- package/packages/locale/lang/zh-CHT.ts +16 -11
- package/packages/locale/lang/zh-CN.ts +15 -12
- package/packages/table/src/cell.ts +3 -3
- package/packages/table/src/methods.ts +235 -191
- package/packages/table/src/table.ts +15 -4
- /package/es/{iconfont.1765156950513.ttf → iconfont.1765538900604.ttf} +0 -0
- /package/es/{iconfont.1765156950513.woff → iconfont.1765538900604.woff} +0 -0
- /package/es/{iconfont.1765156950513.woff2 → iconfont.1765538900604.woff2} +0 -0
- /package/es/{table → ui}/src/anime.js +0 -0
- /package/lib/{iconfont.1765156950513.ttf → iconfont.1765538900604.ttf} +0 -0
- /package/lib/{iconfont.1765156950513.woff → iconfont.1765538900604.woff} +0 -0
- /package/lib/{iconfont.1765156950513.woff2 → iconfont.1765538900604.woff2} +0 -0
- /package/lib/{table → ui}/src/anime.js +0 -0
- /package/lib/{table → ui}/src/anime.min.js +0 -0
- /package/packages/{table → ui}/src/anime.ts +0 -0
|
@@ -5,7 +5,7 @@ import { VxeUI } from '../../ui'
|
|
|
5
5
|
import Cell from './cell'
|
|
6
6
|
import { getRowUniqueId, clearTableAllStatus, getColumnList, toFilters, getRowkey, getRowid, rowToVisible, colToVisible, getCellValue, setCellValue, handleRowidOrRow, handleFieldOrColumn, toTreePathSeq, restoreScrollLocation, getRootColumn, getColReMinWidth, createHandleUpdateRowId, createHandleGetRowId, getRefElem, getCellRestHeight, getLastChildColumn } from './util'
|
|
7
7
|
import { getSlotVNs } from '../../ui/src/vn'
|
|
8
|
-
import { moveRowAnimateToTb, clearRowAnimate, moveColAnimateToLr, clearColAnimate } from '
|
|
8
|
+
import { moveRowAnimateToTb, clearRowAnimate, moveColAnimateToLr, clearColAnimate } from '../../ui/src/anime'
|
|
9
9
|
import { warnLog, errLog } from '../../ui/src/log'
|
|
10
10
|
import { getCrossTableDragRowInfo } from './store'
|
|
11
11
|
|
|
@@ -2633,6 +2633,18 @@ function clearDragStatus ($xeTable: VxeTableConstructor & VxeTablePrivateMethods
|
|
|
2633
2633
|
}
|
|
2634
2634
|
}
|
|
2635
2635
|
|
|
2636
|
+
function handleRowDragEndClearStatus ($xeTable: VxeTableConstructor & VxeTablePrivateMethods) {
|
|
2637
|
+
clearRowDragData($xeTable)
|
|
2638
|
+
clearCrossTableDragStatus($xeTable)
|
|
2639
|
+
handleRecalculateStyle($xeTable, false, true, true)
|
|
2640
|
+
}
|
|
2641
|
+
|
|
2642
|
+
function handleColDragEndClearStatus ($xeTable: VxeTableConstructor & VxeTablePrivateMethods) {
|
|
2643
|
+
clearColDragData($xeTable)
|
|
2644
|
+
clearCrossTableDragStatus($xeTable)
|
|
2645
|
+
handleRecalculateStyle($xeTable, true, true, true)
|
|
2646
|
+
}
|
|
2647
|
+
|
|
2636
2648
|
function clearRowDropOrigin ($xeTable: VxeTableConstructor & VxeTablePrivateMethods) {
|
|
2637
2649
|
const el = $xeTable.$el
|
|
2638
2650
|
if (el) {
|
|
@@ -3352,14 +3364,14 @@ function handleGroupData ($xeTable: VxeTableConstructor & VxeTablePrivateMethods
|
|
|
3352
3364
|
* 加载表格数据
|
|
3353
3365
|
* @param {Array} datas 数据
|
|
3354
3366
|
*/
|
|
3355
|
-
function loadTableData ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, datas: any[], isReset: boolean) {
|
|
3367
|
+
function loadTableData ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, datas: any[], isReload: boolean, isReset: boolean) {
|
|
3356
3368
|
const props = $xeTable
|
|
3357
3369
|
const reactData = $xeTable as unknown as TableReactData
|
|
3358
3370
|
const internalData = $xeTable as unknown as TableInternalData
|
|
3359
3371
|
|
|
3360
3372
|
const { keepSource, treeConfig, aggregateConfig, rowGroupConfig } = props
|
|
3361
3373
|
const { rowGroupList, scrollYLoad: oldScrollYLoad } = reactData
|
|
3362
|
-
const { scrollYStore, scrollXStore, lastScrollLeft, lastScrollTop } = internalData
|
|
3374
|
+
const { initStatus, scrollYStore, scrollXStore, lastScrollLeft, lastScrollTop } = internalData
|
|
3363
3375
|
const rowOpts = $xeTable.computeRowOpts
|
|
3364
3376
|
const treeOpts = $xeTable.computeTreeOpts
|
|
3365
3377
|
const expandOpts = $xeTable.computeExpandOpts
|
|
@@ -3498,6 +3510,18 @@ function loadTableData ($xeTable: VxeTableConstructor & VxeTablePrivateMethods,
|
|
|
3498
3510
|
|
|
3499
3511
|
handleReserveStatus($xeTable)
|
|
3500
3512
|
$xeTable.checkSelectionStatus()
|
|
3513
|
+
if (initStatus) {
|
|
3514
|
+
$xeTable.dispatchEvent('data-rendered', {
|
|
3515
|
+
isReload,
|
|
3516
|
+
visibleColumn: internalData.visibleColumn,
|
|
3517
|
+
visibleData: internalData.afterFullData
|
|
3518
|
+
}, null)
|
|
3519
|
+
} else {
|
|
3520
|
+
$xeTable.dispatchEvent('init-rendered', {
|
|
3521
|
+
visibleColumn: internalData.visibleColumn,
|
|
3522
|
+
visibleData: internalData.afterFullData
|
|
3523
|
+
}, null)
|
|
3524
|
+
}
|
|
3501
3525
|
$xeTable.dispatchEvent('data-change', {
|
|
3502
3526
|
visibleColumn: internalData.visibleColumn,
|
|
3503
3527
|
visibleData: internalData.afterFullData
|
|
@@ -3569,7 +3593,14 @@ function handleLoadDefaults ($xeTable: VxeTableConstructor & VxeTablePrivateMeth
|
|
|
3569
3593
|
handleDefaultMergeCells($xeTable)
|
|
3570
3594
|
handleDefaultMergeHeaderItems($xeTable)
|
|
3571
3595
|
handleDefaultMergeFooterItems($xeTable)
|
|
3572
|
-
$xeTable.$nextTick(() =>
|
|
3596
|
+
$xeTable.$nextTick(() => {
|
|
3597
|
+
const internalData = $xeTable as unknown as TableInternalData
|
|
3598
|
+
$xeTable.dispatchEvent('init-rendered', {
|
|
3599
|
+
visibleColumn: internalData.visibleColumn,
|
|
3600
|
+
visibleData: internalData.afterFullData
|
|
3601
|
+
}, null)
|
|
3602
|
+
setTimeout(() => $xeTable.recalculate())
|
|
3603
|
+
})
|
|
3573
3604
|
}
|
|
3574
3605
|
|
|
3575
3606
|
/**
|
|
@@ -4505,7 +4536,7 @@ const tableMethods: any = {
|
|
|
4505
4536
|
errLog('vxe.error.delFunc', ['syncData', 'getData'])
|
|
4506
4537
|
return $xeTable.$nextTick().then(() => {
|
|
4507
4538
|
reactData.tableData = []
|
|
4508
|
-
return $xeTable.$nextTick().then(() => loadTableData($xeTable, internalData.tableFullData, true))
|
|
4539
|
+
return $xeTable.$nextTick().then(() => loadTableData($xeTable, internalData.tableFullData, true, true))
|
|
4509
4540
|
})
|
|
4510
4541
|
},
|
|
4511
4542
|
/**
|
|
@@ -4576,7 +4607,8 @@ const tableMethods: any = {
|
|
|
4576
4607
|
const internalData = $xeTable as unknown as TableInternalData
|
|
4577
4608
|
|
|
4578
4609
|
const { data } = props
|
|
4579
|
-
|
|
4610
|
+
$xeTable.dispatchEvent('ready', {}, null)
|
|
4611
|
+
loadTableData($xeTable, data || [], true, true).then(() => {
|
|
4580
4612
|
if (data && data.length) {
|
|
4581
4613
|
internalData.inited = true
|
|
4582
4614
|
internalData.initStatus = true
|
|
@@ -4594,10 +4626,10 @@ const tableMethods: any = {
|
|
|
4594
4626
|
* 加载表格数据
|
|
4595
4627
|
* @param {Array} datas 数据
|
|
4596
4628
|
*/
|
|
4597
|
-
loadTableData (datas: any[], isReset: boolean) {
|
|
4629
|
+
loadTableData (datas: any[], isReload: boolean, isReset: boolean) {
|
|
4598
4630
|
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
4599
4631
|
|
|
4600
|
-
return loadTableData($xeTable, datas, isReset)
|
|
4632
|
+
return loadTableData($xeTable, datas, isReload, isReset)
|
|
4601
4633
|
},
|
|
4602
4634
|
/**
|
|
4603
4635
|
* 重新加载数据,不会清空表格状态
|
|
@@ -4605,12 +4637,13 @@ const tableMethods: any = {
|
|
|
4605
4637
|
*/
|
|
4606
4638
|
loadData (datas: any) {
|
|
4607
4639
|
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
4640
|
+
const internalData = $xeTable as unknown as TableInternalData
|
|
4608
4641
|
|
|
4609
|
-
const { initStatus } =
|
|
4610
|
-
return loadTableData($xeTable, datas, false).then(() => {
|
|
4611
|
-
|
|
4612
|
-
|
|
4613
|
-
if (
|
|
4642
|
+
const { initStatus } = internalData
|
|
4643
|
+
return loadTableData($xeTable, datas, false, false).then(() => {
|
|
4644
|
+
internalData.inited = true
|
|
4645
|
+
internalData.initStatus = true
|
|
4646
|
+
if (initStatus) {
|
|
4614
4647
|
handleLoadDefaults($xeTable)
|
|
4615
4648
|
}
|
|
4616
4649
|
return handleLazyRecalculate($xeTable, false, true, true)
|
|
@@ -4622,12 +4655,13 @@ const tableMethods: any = {
|
|
|
4622
4655
|
*/
|
|
4623
4656
|
reloadData (datas: any) {
|
|
4624
4657
|
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
4658
|
+
const internalData = $xeTable as unknown as TableInternalData
|
|
4625
4659
|
|
|
4626
|
-
return
|
|
4660
|
+
return $xeTable.clearAll()
|
|
4627
4661
|
.then(() => {
|
|
4628
|
-
|
|
4629
|
-
|
|
4630
|
-
return loadTableData($xeTable, datas, true)
|
|
4662
|
+
internalData.inited = true
|
|
4663
|
+
internalData.initStatus = true
|
|
4664
|
+
return loadTableData($xeTable, datas, true, true)
|
|
4631
4665
|
})
|
|
4632
4666
|
.then(() => {
|
|
4633
4667
|
handleLoadDefaults($xeTable)
|
|
@@ -4638,6 +4672,8 @@ const tableMethods: any = {
|
|
|
4638
4672
|
* 修改行数据
|
|
4639
4673
|
*/
|
|
4640
4674
|
setRow (rows: any, record: any) {
|
|
4675
|
+
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
4676
|
+
|
|
4641
4677
|
if (record) {
|
|
4642
4678
|
let rest = rows
|
|
4643
4679
|
if (!XEUtils.isArray(rows)) {
|
|
@@ -4645,7 +4681,7 @@ const tableMethods: any = {
|
|
|
4645
4681
|
}
|
|
4646
4682
|
rest.forEach((item:any) => Object.assign(item, record))
|
|
4647
4683
|
}
|
|
4648
|
-
return
|
|
4684
|
+
return $xeTable.$nextTick()
|
|
4649
4685
|
},
|
|
4650
4686
|
/**
|
|
4651
4687
|
* 局部加载行数据并恢复到初始状态
|
|
@@ -5273,7 +5309,7 @@ const tableMethods: any = {
|
|
|
5273
5309
|
cellLabel = formatter(formatParams)
|
|
5274
5310
|
}
|
|
5275
5311
|
} else if (renderOpts && tcFormatter) {
|
|
5276
|
-
cellLabel =
|
|
5312
|
+
cellLabel = tcFormatter(renderOpts, formatParams)
|
|
5277
5313
|
}
|
|
5278
5314
|
if (formatData) {
|
|
5279
5315
|
formatData[colid] = { value: cellValue, label: cellLabel }
|
|
@@ -9026,82 +9062,48 @@ const tableMethods: any = {
|
|
|
9026
9062
|
dragToChild: !!prevDragToChild,
|
|
9027
9063
|
offsetIndex: dragOffsetIndex as 0 | 1
|
|
9028
9064
|
}
|
|
9029
|
-
const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild
|
|
9030
|
-
return Promise.resolve(dEndMethod ? dEndMethod(dragParams) : true).then((status) => {
|
|
9031
|
-
if (!status) {
|
|
9032
|
-
clearRowDragData($xeTable)
|
|
9033
|
-
clearCrossTableDragStatus($xeTable)
|
|
9034
|
-
return errRest
|
|
9035
|
-
}
|
|
9036
9065
|
|
|
9037
|
-
|
|
9038
|
-
|
|
9039
|
-
|
|
9040
|
-
|
|
9041
|
-
|
|
9042
|
-
|
|
9043
|
-
|
|
9044
|
-
|
|
9045
|
-
|
|
9046
|
-
|
|
9047
|
-
}
|
|
9066
|
+
const dragRowid = getRowid($xeTable, dragRow)
|
|
9067
|
+
const dragRowRest = fullAllDataRowIdData[dragRowid] || {}
|
|
9068
|
+
const _dragRowIndex = dragRowRest._index
|
|
9069
|
+
let dragRowHeight = 0
|
|
9070
|
+
let dragOffsetTop = -1
|
|
9071
|
+
if (animation) {
|
|
9072
|
+
dragRowHeight = getCellRestHeight(dragRowRest, cellOpts, rowOpts, defaultRowHeight)
|
|
9073
|
+
const oldTrEl = el.querySelector<HTMLElement>(`.vxe-body--row[rowid="${dragRowid}"]`)
|
|
9074
|
+
if (oldTrEl) {
|
|
9075
|
+
dragOffsetTop = oldTrEl.offsetTop
|
|
9048
9076
|
}
|
|
9077
|
+
}
|
|
9049
9078
|
|
|
9050
|
-
|
|
9051
|
-
|
|
9052
|
-
|
|
9053
|
-
|
|
9054
|
-
|
|
9055
|
-
|
|
9056
|
-
|
|
9057
|
-
const newRowid = getRowid($xeTable, prevDragRow)
|
|
9058
|
-
const newRest = fullAllDataRowIdData[newRowid]
|
|
9059
|
-
|
|
9060
|
-
if (oldRest && newRest) {
|
|
9061
|
-
const { level: oldLevel } = oldRest
|
|
9062
|
-
const { level: newLevel } = newRest
|
|
9063
|
-
|
|
9064
|
-
const oldAllMaps: Record<string, any> = {}
|
|
9065
|
-
XEUtils.eachTree([dragRow], item => {
|
|
9066
|
-
oldAllMaps[getRowid($xeTable, item)] = item
|
|
9067
|
-
}, { children: mapChildrenField })
|
|
9079
|
+
let oafIndex = -1
|
|
9080
|
+
let nafIndex = -1
|
|
9081
|
+
const oldRest = dragRowRest
|
|
9082
|
+
const newRowid = getRowid($xeTable, prevDragRow)
|
|
9083
|
+
const newRest = fullAllDataRowIdData[newRowid]
|
|
9084
|
+
const oldAllMaps: Record<string, any> = {}
|
|
9085
|
+
let isSelfToChildStatus = false
|
|
9068
9086
|
|
|
9069
|
-
|
|
9087
|
+
// 如果为树结构
|
|
9088
|
+
if (treeConfig) {
|
|
9089
|
+
if (transform) {
|
|
9090
|
+
if (oldRest && newRest) {
|
|
9091
|
+
const { level: oldLevel } = oldRest
|
|
9092
|
+
const { level: newLevel } = newRest
|
|
9070
9093
|
|
|
9071
|
-
|
|
9072
|
-
|
|
9094
|
+
XEUtils.eachTree([dragRow], item => {
|
|
9095
|
+
oldAllMaps[getRowid($xeTable, item)] = item
|
|
9096
|
+
}, { children: mapChildrenField })
|
|
9073
9097
|
|
|
9074
|
-
|
|
9075
|
-
|
|
9076
|
-
// 非同级
|
|
9077
|
-
return errRest
|
|
9078
|
-
}
|
|
9079
|
-
} else {
|
|
9080
|
-
if (!isCrossDrag) {
|
|
9081
|
-
return errRest
|
|
9082
|
-
}
|
|
9083
|
-
if (oldAllMaps[newRowid]) {
|
|
9084
|
-
isSelfToChildStatus = true
|
|
9085
|
-
if (!(isCrossDrag && isSelfToChildDrag)) {
|
|
9086
|
-
if (VxeUI.modal) {
|
|
9087
|
-
VxeUI.modal.message({
|
|
9088
|
-
status: 'error',
|
|
9089
|
-
content: getI18n('vxe.error.treeDragChild')
|
|
9090
|
-
})
|
|
9091
|
-
}
|
|
9092
|
-
return errRest
|
|
9093
|
-
}
|
|
9094
|
-
}
|
|
9095
|
-
}
|
|
9096
|
-
} else if (oldLevel) {
|
|
9097
|
-
// 子到根
|
|
9098
|
+
if (oldLevel && newLevel) {
|
|
9099
|
+
// 子到子
|
|
9098
9100
|
|
|
9099
|
-
|
|
9101
|
+
if (isPeerDrag && !isCrossDrag) {
|
|
9102
|
+
if (oldRest.row[parentField] !== newRest.row[parentField]) {
|
|
9103
|
+
// 非同级
|
|
9100
9104
|
return errRest
|
|
9101
9105
|
}
|
|
9102
|
-
} else
|
|
9103
|
-
// 根到子
|
|
9104
|
-
|
|
9106
|
+
} else {
|
|
9105
9107
|
if (!isCrossDrag) {
|
|
9106
9108
|
return errRest
|
|
9107
9109
|
}
|
|
@@ -9117,10 +9119,49 @@ const tableMethods: any = {
|
|
|
9117
9119
|
return errRest
|
|
9118
9120
|
}
|
|
9119
9121
|
}
|
|
9120
|
-
} else {
|
|
9121
|
-
// 根到根
|
|
9122
9122
|
}
|
|
9123
|
+
} else if (oldLevel) {
|
|
9124
|
+
// 子到根
|
|
9123
9125
|
|
|
9126
|
+
if (!isCrossDrag) {
|
|
9127
|
+
return errRest
|
|
9128
|
+
}
|
|
9129
|
+
} else if (newLevel) {
|
|
9130
|
+
// 根到子
|
|
9131
|
+
|
|
9132
|
+
if (!isCrossDrag) {
|
|
9133
|
+
return errRest
|
|
9134
|
+
}
|
|
9135
|
+
if (oldAllMaps[newRowid]) {
|
|
9136
|
+
isSelfToChildStatus = true
|
|
9137
|
+
if (!(isCrossDrag && isSelfToChildDrag)) {
|
|
9138
|
+
if (VxeUI.modal) {
|
|
9139
|
+
VxeUI.modal.message({
|
|
9140
|
+
status: 'error',
|
|
9141
|
+
content: getI18n('vxe.error.treeDragChild')
|
|
9142
|
+
})
|
|
9143
|
+
}
|
|
9144
|
+
return errRest
|
|
9145
|
+
}
|
|
9146
|
+
}
|
|
9147
|
+
} else {
|
|
9148
|
+
// 根到根
|
|
9149
|
+
}
|
|
9150
|
+
}
|
|
9151
|
+
}
|
|
9152
|
+
}
|
|
9153
|
+
|
|
9154
|
+
const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild
|
|
9155
|
+
return Promise.resolve(dEndMethod ? dEndMethod(dragParams) : true).then((status) => {
|
|
9156
|
+
if (!status) {
|
|
9157
|
+
return errRest
|
|
9158
|
+
}
|
|
9159
|
+
|
|
9160
|
+
// 如果为树结构
|
|
9161
|
+
if (treeConfig) {
|
|
9162
|
+
if (transform) {
|
|
9163
|
+
// 移出源位置
|
|
9164
|
+
if (oldRest && newRest) {
|
|
9124
9165
|
const fullList = XEUtils.toTreeArray(internalData.afterTreeFullData, {
|
|
9125
9166
|
key: rowField,
|
|
9126
9167
|
parentKey: parentField,
|
|
@@ -9166,8 +9207,6 @@ const tableMethods: any = {
|
|
|
9166
9207
|
afterFullData.splice(nafIndex, 0, dragRow)
|
|
9167
9208
|
tableFullData.splice(ntfIndex, 0, dragRow)
|
|
9168
9209
|
}
|
|
9169
|
-
clearRowDragData($xeTable)
|
|
9170
|
-
clearCrossTableDragStatus($xeTable)
|
|
9171
9210
|
|
|
9172
9211
|
$xeTable.handleTableData(treeConfig && transform)
|
|
9173
9212
|
$xeTable.cacheRowMap(false)
|
|
@@ -9198,6 +9237,7 @@ const tableMethods: any = {
|
|
|
9198
9237
|
return $xeTable.$nextTick().then(() => {
|
|
9199
9238
|
if (animation) {
|
|
9200
9239
|
const { tableData } = reactData
|
|
9240
|
+
const { fullAllDataRowIdData } = internalData
|
|
9201
9241
|
const dragRowRest = fullAllDataRowIdData[dragRowid]
|
|
9202
9242
|
const _newRowIndex = dragRowRest._index
|
|
9203
9243
|
const firstRow = tableData[0]
|
|
@@ -9276,17 +9316,18 @@ const tableMethods: any = {
|
|
|
9276
9316
|
})
|
|
9277
9317
|
}).catch(() => {
|
|
9278
9318
|
return errRest
|
|
9319
|
+
}).then((rest) => {
|
|
9320
|
+
handleRowDragEndClearStatus($xeTable)
|
|
9321
|
+
return rest
|
|
9279
9322
|
})
|
|
9280
9323
|
}
|
|
9281
|
-
|
|
9282
|
-
clearCrossTableDragStatus($xeTable)
|
|
9324
|
+
handleRowDragEndClearStatus($xeTable)
|
|
9283
9325
|
return Promise.resolve(errRest)
|
|
9284
9326
|
},
|
|
9285
9327
|
handleCrossTableRowDragCancelEvent () {
|
|
9286
9328
|
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
9287
9329
|
|
|
9288
|
-
|
|
9289
|
-
clearCrossTableDragStatus($xeTable)
|
|
9330
|
+
handleRowDragEndClearStatus($xeTable)
|
|
9290
9331
|
},
|
|
9291
9332
|
/**
|
|
9292
9333
|
* 处理跨表拖拽完成
|
|
@@ -9352,8 +9393,7 @@ const tableMethods: any = {
|
|
|
9352
9393
|
$xeTable.dispatchEvent('row-remove-dragend', {
|
|
9353
9394
|
row: dragRow
|
|
9354
9395
|
}, evnt)
|
|
9355
|
-
|
|
9356
|
-
clearCrossTableDragStatus($xeTable)
|
|
9396
|
+
handleRowDragEndClearStatus($xeTable)
|
|
9357
9397
|
}
|
|
9358
9398
|
}
|
|
9359
9399
|
},
|
|
@@ -9437,8 +9477,7 @@ const tableMethods: any = {
|
|
|
9437
9477
|
$oldTable.handleCrossTableRowDragCancelEvent(evnt)
|
|
9438
9478
|
}
|
|
9439
9479
|
}
|
|
9440
|
-
|
|
9441
|
-
clearCrossTableDragStatus($xeTable)
|
|
9480
|
+
handleRowDragEndClearStatus($xeTable)
|
|
9442
9481
|
return errRest
|
|
9443
9482
|
}
|
|
9444
9483
|
let insertRest: Promise<any> = Promise.resolve()
|
|
@@ -9594,12 +9633,10 @@ const tableMethods: any = {
|
|
|
9594
9633
|
const isControlKey = hasControlKey(evnt)
|
|
9595
9634
|
const trEl = evnt.currentTarget as HTMLElement
|
|
9596
9635
|
const rowid = trEl.getAttribute('rowid') || ''
|
|
9597
|
-
const
|
|
9598
|
-
if (
|
|
9636
|
+
const rowRest = fullAllDataRowIdData[rowid]
|
|
9637
|
+
if (rowRest) {
|
|
9599
9638
|
evnt.preventDefault()
|
|
9600
|
-
const row =
|
|
9601
|
-
const rowid = getRowid($xeTable, row)
|
|
9602
|
-
const rowRest = fullAllDataRowIdData[rowid]
|
|
9639
|
+
const row = rowRest.row
|
|
9603
9640
|
const offsetY = evnt.clientY - trEl.getBoundingClientRect().y
|
|
9604
9641
|
const dragPos = offsetY < trEl.clientHeight / 2 ? 'top' : 'bottom'
|
|
9605
9642
|
internalData.prevDragToChild = !!(treeConfig && transform && (isCrossDrag && isToChildDrag) && isControlKey)
|
|
@@ -9632,7 +9669,7 @@ const tableMethods: any = {
|
|
|
9632
9669
|
}
|
|
9633
9670
|
if ($xeTable.eqRow(dragRow, row) ||
|
|
9634
9671
|
(isControlKey && treeConfig && lazy && row[hasChildField] && rowRest && !rowRest.treeLoaded) ||
|
|
9635
|
-
(!isCrossDrag && treeConfig && transform && (isPeerDrag ? dragRow[parentField] !== row[parentField] :
|
|
9672
|
+
(!isCrossDrag && treeConfig && transform && (isPeerDrag ? dragRow[parentField] !== row[parentField] : rowRest.level))
|
|
9636
9673
|
) {
|
|
9637
9674
|
showDropTip($xeTable, evnt, trEl, null, false, dragPos)
|
|
9638
9675
|
return
|
|
@@ -9737,88 +9774,58 @@ const tableMethods: any = {
|
|
|
9737
9774
|
dragToChild: !!prevDragToChild,
|
|
9738
9775
|
offsetIndex: dragOffsetIndex as 0 | 1
|
|
9739
9776
|
}
|
|
9740
|
-
const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild
|
|
9741
|
-
return Promise.resolve(dragEndMethod ? dragEndMethod(dragParams) : true).then((status) => {
|
|
9742
|
-
if (!status) {
|
|
9743
|
-
clearColDragData($xeTable)
|
|
9744
|
-
clearCrossTableDragStatus($xeTable)
|
|
9745
|
-
return errRest
|
|
9746
|
-
}
|
|
9747
|
-
|
|
9748
|
-
let dragTargetColumn: VxeTableDefines.ColumnInfo | null = null
|
|
9749
|
-
const dragAllTargetCols: VxeTableDefines.ColumnInfo[] = []
|
|
9750
|
-
let dragColWidth = 0
|
|
9751
|
-
if (animation) {
|
|
9752
|
-
XEUtils.eachTree([dragColumn], column => {
|
|
9753
|
-
if (!dragTargetColumn && (!column.children || !column.children.length)) {
|
|
9754
|
-
dragTargetColumn = column
|
|
9755
|
-
dragColWidth += column.renderWidth
|
|
9756
|
-
}
|
|
9757
|
-
dragAllTargetCols.push(column)
|
|
9758
|
-
})
|
|
9759
|
-
}
|
|
9760
|
-
if (!dragTargetColumn) {
|
|
9761
|
-
dragTargetColumn = dragColumn
|
|
9762
|
-
}
|
|
9763
|
-
const dragColRest = fullColumnIdData[dragTargetColumn.id] || {}
|
|
9764
|
-
const _dragColIndex = dragColRest._index
|
|
9765
9777
|
|
|
9766
|
-
|
|
9767
|
-
|
|
9768
|
-
|
|
9769
|
-
|
|
9770
|
-
|
|
9778
|
+
let dragTargetColumn: VxeTableDefines.ColumnInfo | null = null
|
|
9779
|
+
const dragAllTargetCols: VxeTableDefines.ColumnInfo[] = []
|
|
9780
|
+
let dragColWidth = 0
|
|
9781
|
+
if (animation) {
|
|
9782
|
+
XEUtils.eachTree([dragColumn], column => {
|
|
9783
|
+
if (!dragTargetColumn && (!column.children || !column.children.length)) {
|
|
9784
|
+
dragTargetColumn = column
|
|
9785
|
+
dragColWidth += column.renderWidth
|
|
9771
9786
|
}
|
|
9772
|
-
|
|
9787
|
+
dragAllTargetCols.push(column)
|
|
9788
|
+
})
|
|
9789
|
+
}
|
|
9790
|
+
if (!dragTargetColumn) {
|
|
9791
|
+
dragTargetColumn = dragColumn
|
|
9792
|
+
}
|
|
9793
|
+
const dragColRest = fullColumnIdData[dragTargetColumn.id] || {}
|
|
9794
|
+
const _dragColIndex = dragColRest._index
|
|
9773
9795
|
|
|
9774
|
-
|
|
9775
|
-
|
|
9796
|
+
let dragOffsetLeft = -1
|
|
9797
|
+
if (animation) {
|
|
9798
|
+
const oldTrEl = el.querySelector<HTMLElement>(`.vxe-table--column[colid="${dragTargetColumn.id}"]`)
|
|
9799
|
+
if (oldTrEl) {
|
|
9800
|
+
dragOffsetLeft = oldTrEl.offsetLeft
|
|
9801
|
+
}
|
|
9802
|
+
}
|
|
9776
9803
|
|
|
9777
|
-
|
|
9778
|
-
|
|
9779
|
-
oldAllMaps[column.id] = column
|
|
9780
|
-
})
|
|
9804
|
+
let oafIndex = -1
|
|
9805
|
+
let nafIndex = -1
|
|
9781
9806
|
|
|
9782
|
-
|
|
9807
|
+
const oldAllMaps: Record<string, any> = {}
|
|
9808
|
+
XEUtils.eachTree([dragColumn], column => {
|
|
9809
|
+
oldAllMaps[column.id] = column
|
|
9810
|
+
})
|
|
9783
9811
|
|
|
9784
|
-
|
|
9785
|
-
// 子到子
|
|
9812
|
+
let isSelfToChildStatus = false
|
|
9786
9813
|
|
|
9787
|
-
|
|
9788
|
-
|
|
9789
|
-
// 非同级
|
|
9790
|
-
return errRest
|
|
9791
|
-
}
|
|
9792
|
-
} else {
|
|
9793
|
-
if (!isCrossDrag) {
|
|
9794
|
-
return errRest
|
|
9795
|
-
}
|
|
9814
|
+
if (dragColumn.parentId && newColumn.parentId) {
|
|
9815
|
+
// 子到子
|
|
9796
9816
|
|
|
9797
|
-
|
|
9798
|
-
|
|
9799
|
-
|
|
9800
|
-
|
|
9801
|
-
|
|
9802
|
-
status: 'error',
|
|
9803
|
-
content: getI18n('vxe.error.treeDragChild')
|
|
9804
|
-
})
|
|
9805
|
-
}
|
|
9806
|
-
return errRest
|
|
9807
|
-
}
|
|
9808
|
-
}
|
|
9817
|
+
if (isPeerDrag && !isCrossDrag) {
|
|
9818
|
+
if (dragColumn.parentId !== newColumn.parentId) {
|
|
9819
|
+
// 非同级
|
|
9820
|
+
handleColDragEndClearStatus($xeTable)
|
|
9821
|
+
return Promise.resolve(errRest)
|
|
9809
9822
|
}
|
|
9810
|
-
} else
|
|
9811
|
-
// 子到根
|
|
9812
|
-
|
|
9823
|
+
} else {
|
|
9813
9824
|
if (!isCrossDrag) {
|
|
9814
|
-
|
|
9825
|
+
handleColDragEndClearStatus($xeTable)
|
|
9826
|
+
return Promise.resolve(errRest)
|
|
9815
9827
|
}
|
|
9816
|
-
} else if (newColumn.parentId) {
|
|
9817
|
-
// 根到子
|
|
9818
9828
|
|
|
9819
|
-
if (!isCrossDrag) {
|
|
9820
|
-
return errRest
|
|
9821
|
-
}
|
|
9822
9829
|
if (oldAllMaps[newColumn.id]) {
|
|
9823
9830
|
isSelfToChildStatus = true
|
|
9824
9831
|
if (!(isCrossDrag && isSelfToChildDrag)) {
|
|
@@ -9828,11 +9835,46 @@ const tableMethods: any = {
|
|
|
9828
9835
|
content: getI18n('vxe.error.treeDragChild')
|
|
9829
9836
|
})
|
|
9830
9837
|
}
|
|
9831
|
-
|
|
9838
|
+
handleColDragEndClearStatus($xeTable)
|
|
9839
|
+
return Promise.resolve(errRest)
|
|
9832
9840
|
}
|
|
9833
9841
|
}
|
|
9834
|
-
}
|
|
9835
|
-
|
|
9842
|
+
}
|
|
9843
|
+
} else if (dragColumn.parentId) {
|
|
9844
|
+
// 子到根
|
|
9845
|
+
|
|
9846
|
+
if (!isCrossDrag) {
|
|
9847
|
+
handleColDragEndClearStatus($xeTable)
|
|
9848
|
+
return Promise.resolve(errRest)
|
|
9849
|
+
}
|
|
9850
|
+
} else if (newColumn.parentId) {
|
|
9851
|
+
// 根到子
|
|
9852
|
+
|
|
9853
|
+
if (!isCrossDrag) {
|
|
9854
|
+
handleColDragEndClearStatus($xeTable)
|
|
9855
|
+
return Promise.resolve(errRest)
|
|
9856
|
+
}
|
|
9857
|
+
if (oldAllMaps[newColumn.id]) {
|
|
9858
|
+
isSelfToChildStatus = true
|
|
9859
|
+
if (!(isCrossDrag && isSelfToChildDrag)) {
|
|
9860
|
+
if (VxeUI.modal) {
|
|
9861
|
+
VxeUI.modal.message({
|
|
9862
|
+
status: 'error',
|
|
9863
|
+
content: getI18n('vxe.error.treeDragChild')
|
|
9864
|
+
})
|
|
9865
|
+
}
|
|
9866
|
+
handleColDragEndClearStatus($xeTable)
|
|
9867
|
+
return Promise.resolve(errRest)
|
|
9868
|
+
}
|
|
9869
|
+
}
|
|
9870
|
+
} else {
|
|
9871
|
+
// 根到根
|
|
9872
|
+
}
|
|
9873
|
+
|
|
9874
|
+
const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild
|
|
9875
|
+
return Promise.resolve(dragEndMethod ? dragEndMethod(dragParams) : true).then((status) => {
|
|
9876
|
+
if (!status) {
|
|
9877
|
+
return errRest
|
|
9836
9878
|
}
|
|
9837
9879
|
|
|
9838
9880
|
const oldewMatchRest = XEUtils.findTree(collectColumn as VxeTableDefines.ColumnInfo[], item => item.id === dragColumn.id)
|
|
@@ -9891,9 +9933,6 @@ const tableMethods: any = {
|
|
|
9891
9933
|
}
|
|
9892
9934
|
}
|
|
9893
9935
|
|
|
9894
|
-
clearColDragData($xeTable)
|
|
9895
|
-
clearCrossTableDragStatus($xeTable)
|
|
9896
|
-
|
|
9897
9936
|
if (evnt) {
|
|
9898
9937
|
$xeTable.dispatchEvent('column-dragend', {
|
|
9899
9938
|
oldColumn: dragColumn,
|
|
@@ -10002,10 +10041,12 @@ const tableMethods: any = {
|
|
|
10002
10041
|
})
|
|
10003
10042
|
}).catch(() => {
|
|
10004
10043
|
return errRest
|
|
10044
|
+
}).then((rest) => {
|
|
10045
|
+
handleColDragEndClearStatus($xeTable)
|
|
10046
|
+
return rest
|
|
10005
10047
|
})
|
|
10006
10048
|
}
|
|
10007
|
-
|
|
10008
|
-
clearCrossTableDragStatus($xeTable)
|
|
10049
|
+
handleColDragEndClearStatus($xeTable)
|
|
10009
10050
|
return Promise.resolve(errRest)
|
|
10010
10051
|
},
|
|
10011
10052
|
handleHeaderCellDragDragendEvent (evnt: DragEvent) {
|
|
@@ -10758,7 +10799,7 @@ const tableMethods: any = {
|
|
|
10758
10799
|
handleUpdateRowGroup($xeTable, confList.map(fieldOrColumn => {
|
|
10759
10800
|
return XEUtils.isString(fieldOrColumn) ? fieldOrColumn : fieldOrColumn.field
|
|
10760
10801
|
}))
|
|
10761
|
-
return loadTableData($xeTable, internalData.tableSynchData, true)
|
|
10802
|
+
return loadTableData($xeTable, internalData.tableSynchData, false, true)
|
|
10762
10803
|
}
|
|
10763
10804
|
return $xeTable.$nextTick()
|
|
10764
10805
|
},
|
|
@@ -10798,7 +10839,7 @@ const tableMethods: any = {
|
|
|
10798
10839
|
return $xeTable.$nextTick()
|
|
10799
10840
|
}
|
|
10800
10841
|
handleUpdateRowGroup($xeTable, [])
|
|
10801
|
-
return loadTableData($xeTable, internalData.tableSynchData, true)
|
|
10842
|
+
return loadTableData($xeTable, internalData.tableSynchData, false, true)
|
|
10802
10843
|
},
|
|
10803
10844
|
isRowGroupRecord (row: any) {
|
|
10804
10845
|
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
@@ -11954,12 +11995,15 @@ const tableMethods: any = {
|
|
|
11954
11995
|
const lastRow = afterFullData[afterFullData.length - 1]
|
|
11955
11996
|
rowid = getRowid($xeTable, lastRow)
|
|
11956
11997
|
rowRest = fullAllDataRowIdData[rowid] || {}
|
|
11957
|
-
|
|
11958
|
-
|
|
11959
|
-
|
|
11960
|
-
|
|
11961
|
-
|
|
11962
|
-
|
|
11998
|
+
if (rowRest) {
|
|
11999
|
+
const rHeight = getCellRestHeight(rowRest, cellOpts, rowOpts, defaultRowHeight)
|
|
12000
|
+
// 如果为空时还没计算完数据,保持原高度不变
|
|
12001
|
+
if (rHeight) {
|
|
12002
|
+
sYHeight = (rowRest.oTop || 0) + rHeight
|
|
12003
|
+
// 是否展开行
|
|
12004
|
+
if (expandColumn && rowExpandedMaps[rowid]) {
|
|
12005
|
+
sYHeight += rowRest.expandHeight || expandOpts.height || 0
|
|
12006
|
+
}
|
|
11963
12007
|
}
|
|
11964
12008
|
}
|
|
11965
12009
|
if (sYHeight > maxYHeight) {
|
|
@@ -12459,7 +12503,7 @@ const tableMethods: any = {
|
|
|
12459
12503
|
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
12460
12504
|
const internalData = $xeTable as unknown as TableInternalData
|
|
12461
12505
|
|
|
12462
|
-
return loadTableData($xeTable, internalData.tableSynchData, true)
|
|
12506
|
+
return loadTableData($xeTable, internalData.tableSynchData, false, true)
|
|
12463
12507
|
},
|
|
12464
12508
|
updateZindex () {
|
|
12465
12509
|
if (this.zIndex) {
|