vxe-table 3.11.21 → 3.11.23
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/{iconfont.1733469864818.ttf → iconfont.1733805838288.ttf} +0 -0
- package/es/iconfont.1733805838288.woff +0 -0
- package/es/iconfont.1733805838288.woff2 +0 -0
- package/es/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/locale/lang/ar-EG.js +2 -0
- package/es/locale/lang/de-DE.js +2 -0
- package/es/locale/lang/en-US.js +3 -1
- package/es/locale/lang/es-ES.js +2 -0
- package/es/locale/lang/fr-FR.js +2 -0
- package/es/locale/lang/hu-HU.js +2 -0
- package/es/locale/lang/hy-AM.js +2 -0
- package/es/locale/lang/ja-JP.js +2 -0
- package/es/locale/lang/ko-KR.js +2 -0
- package/es/locale/lang/nb-NO.js +2 -0
- package/es/locale/lang/pt-BR.js +2 -0
- package/es/locale/lang/ru-RU.js +2 -0
- package/es/locale/lang/ug-CN.js +2 -0
- package/es/locale/lang/uk-UA.js +2 -0
- package/es/locale/lang/vi-VN.js +2 -0
- package/es/locale/lang/zh-CHT.js +2 -0
- package/es/locale/lang/zh-CN.js +2 -0
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/custom/mixin.js +8 -3
- package/es/table/module/custom/panel.js +44 -27
- package/es/table/render/index.js +26 -6
- package/es/table/src/body.js +2 -2
- package/es/table/src/cell.js +7 -2
- package/es/table/src/header.js +1 -1
- package/es/table/src/methods.js +195 -48
- package/es/table/src/table.js +31 -4
- package/es/table/style.css +62 -4
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +4 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +62 -4
- package/es/vxe-table/style.min.css +1 -1
- package/lib/{iconfont.1733469864818.ttf → iconfont.1733805838288.ttf} +0 -0
- package/lib/iconfont.1733805838288.woff +0 -0
- package/lib/iconfont.1733805838288.woff2 +0 -0
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +369 -106
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +2 -0
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/de-DE.js +2 -0
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/en-US.js +3 -1
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +3 -1
- package/lib/locale/lang/es-ES.js +2 -0
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +2 -0
- package/lib/locale/lang/fr-FR.js +2 -0
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/hu-HU.js +2 -0
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +2 -0
- package/lib/locale/lang/hy-AM.js +2 -0
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/ja-JP.js +2 -0
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +2 -0
- package/lib/locale/lang/ko-KR.js +2 -0
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +2 -0
- package/lib/locale/lang/nb-NO.js +2 -0
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/pt-BR.js +2 -0
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +2 -0
- package/lib/locale/lang/ru-RU.js +2 -0
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +2 -0
- package/lib/locale/lang/ug-CN.js +2 -0
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/uk-UA.js +2 -0
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +2 -0
- package/lib/locale/lang/vi-VN.js +2 -0
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/zh-CHT.js +2 -0
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +2 -0
- package/lib/locale/lang/zh-CN.js +2 -0
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +2 -0
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/custom/mixin.js +8 -3
- package/lib/table/module/custom/mixin.min.js +1 -1
- package/lib/table/module/custom/panel.js +49 -37
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/render/index.js +38 -6
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/body.js +2 -2
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +6 -1
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/header.js +1 -1
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/methods.js +232 -51
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +25 -3
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +62 -4
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +4 -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/lib/vxe-table/style/style.css +62 -4
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/locale/lang/ar-EG.ts +2 -0
- package/packages/locale/lang/de-DE.ts +2 -0
- package/packages/locale/lang/en-US.ts +3 -1
- package/packages/locale/lang/es-ES.ts +2 -0
- package/packages/locale/lang/fr-FR.ts +2 -0
- package/packages/locale/lang/hu-HU.ts +2 -0
- package/packages/locale/lang/hy-AM.ts +2 -0
- package/packages/locale/lang/ja-JP.ts +2 -0
- package/packages/locale/lang/ko-KR.ts +2 -0
- package/packages/locale/lang/nb-NO.ts +2 -0
- package/packages/locale/lang/pt-BR.ts +2 -0
- package/packages/locale/lang/ru-RU.ts +2 -0
- package/packages/locale/lang/ug-CN.ts +2 -0
- package/packages/locale/lang/uk-UA.ts +2 -0
- package/packages/locale/lang/vi-VN.ts +2 -0
- package/packages/locale/lang/zh-CHT.ts +2 -0
- package/packages/locale/lang/zh-CN.ts +2 -0
- package/packages/table/module/custom/mixin.ts +9 -3
- package/packages/table/module/custom/panel.ts +48 -27
- package/packages/table/render/index.ts +24 -5
- package/packages/table/src/body.ts +2 -2
- package/packages/table/src/cell.ts +8 -2
- package/packages/table/src/header.ts +1 -1
- package/packages/table/src/methods.ts +209 -50
- package/packages/table/src/table.ts +34 -4
- package/packages/ui/index.ts +3 -0
- package/styles/components/icon.scss +13 -1
- package/styles/components/table.scss +53 -3
- package/styles/icon/iconfont.ttf +0 -0
- package/styles/icon/iconfont.woff +0 -0
- package/styles/icon/iconfont.woff2 +0 -0
- package/styles/theme/dark.scss +1 -0
- package/styles/theme/light.scss +1 -0
- package/styles/variable.scss +1 -0
- package/es/iconfont.1733469864818.woff +0 -0
- package/es/iconfont.1733469864818.woff2 +0 -0
- package/lib/iconfont.1733469864818.woff +0 -0
- package/lib/iconfont.1733469864818.woff2 +0 -0
|
@@ -439,7 +439,7 @@ const updateColDropTipContent = ($xeTable: any, tdEl: HTMLElement) => {
|
|
|
439
439
|
reactData.dragTipText = tipContent
|
|
440
440
|
}
|
|
441
441
|
|
|
442
|
-
function showDropTip ($xeTable: any, evnt: DragEvent | MouseEvent, trEl: HTMLElement | null, thEl: HTMLElement | null, dragPos: string) {
|
|
442
|
+
function showDropTip ($xeTable: any, evnt: DragEvent | MouseEvent, trEl: HTMLElement | null, thEl: HTMLElement | null, showLine: boolean, dragPos: string) {
|
|
443
443
|
const reactData = $xeTable
|
|
444
444
|
|
|
445
445
|
const el = $xeTable.$refs.refElem as HTMLElement
|
|
@@ -451,26 +451,30 @@ function showDropTip ($xeTable: any, evnt: DragEvent | MouseEvent, trEl: HTMLEle
|
|
|
451
451
|
if (trEl) {
|
|
452
452
|
const rdLineEl = $xeTable.$refs.refDragRowLineElem as HTMLElement
|
|
453
453
|
if (rdLineEl) {
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
top = Math.
|
|
454
|
+
if (showLine) {
|
|
455
|
+
const trRect = trEl.getBoundingClientRect()
|
|
456
|
+
rdLineEl.style.display = 'block'
|
|
457
|
+
rdLineEl.style.top = `${Math.max(1, trRect.y - wrapperRect.y)}px`
|
|
458
|
+
rdLineEl.style.height = `${trRect.height}px`
|
|
459
|
+
rdLineEl.style.width = `${wrapperRect.width - scrollbarWidth}px`
|
|
460
|
+
rdLineEl.setAttribute('drag-pos', dragPos)
|
|
461
|
+
} else {
|
|
462
|
+
rdLineEl.style.display = ''
|
|
458
463
|
}
|
|
459
|
-
rdLineEl.style.top = `${top}px`
|
|
460
|
-
rdLineEl.style.width = `${wrapperRect.width - scrollbarWidth}px`
|
|
461
|
-
rdLineEl.style.display = 'block'
|
|
462
464
|
}
|
|
463
465
|
} else if (thEl) {
|
|
464
466
|
const cdLineEl = $xeTable.$refs.refDragColLineElem as HTMLElement
|
|
465
467
|
if (cdLineEl) {
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
left = Math.
|
|
468
|
+
if (showLine) {
|
|
469
|
+
const thRect = thEl.getBoundingClientRect()
|
|
470
|
+
cdLineEl.style.display = 'block'
|
|
471
|
+
cdLineEl.style.left = `${Math.max(1, thRect.x - wrapperRect.x)}px`
|
|
472
|
+
cdLineEl.style.width = `${thRect.width}px`
|
|
473
|
+
cdLineEl.style.height = `${wrapperRect.height - scrollbarHeight}px`
|
|
474
|
+
cdLineEl.setAttribute('drag-pos', dragPos)
|
|
475
|
+
} else {
|
|
476
|
+
cdLineEl.style.display = ''
|
|
470
477
|
}
|
|
471
|
-
cdLineEl.style.left = `${left}px`
|
|
472
|
-
cdLineEl.style.height = `${wrapperRect.height - scrollbarHeight}px`
|
|
473
|
-
cdLineEl.style.display = 'block'
|
|
474
478
|
}
|
|
475
479
|
}
|
|
476
480
|
const rdTipEl = $xeTable.$refs.refDragTipElem as HTMLElement
|
|
@@ -478,6 +482,7 @@ function showDropTip ($xeTable: any, evnt: DragEvent | MouseEvent, trEl: HTMLEle
|
|
|
478
482
|
rdTipEl.style.display = 'block'
|
|
479
483
|
rdTipEl.style.top = `${Math.min(el.clientHeight - el.scrollTop - rdTipEl.clientHeight, evnt.clientY - wrapperRect.y)}px`
|
|
480
484
|
rdTipEl.style.left = `${Math.min(el.clientWidth - el.scrollLeft - rdTipEl.clientWidth - 16, evnt.clientX - wrapperRect.x)}px`
|
|
485
|
+
rdTipEl.setAttribute('drag-status', showLine ? 'normal' : 'disabled')
|
|
481
486
|
}
|
|
482
487
|
}
|
|
483
488
|
|
|
@@ -964,6 +969,7 @@ const Methods = {
|
|
|
964
969
|
cacheItem = { row, rowid, seq, index: -1, _index: -1, $index: -1, items, parent, level, height: 0 }
|
|
965
970
|
}
|
|
966
971
|
if (isSource) {
|
|
972
|
+
cacheItem.level = level
|
|
967
973
|
cacheItem.index = treeConfig && parent ? -1 : index
|
|
968
974
|
fullDataRowIdMaps[rowid] = cacheItem
|
|
969
975
|
}
|
|
@@ -1663,6 +1669,16 @@ const Methods = {
|
|
|
1663
1669
|
tableColumn: this.tableColumn.slice(0)
|
|
1664
1670
|
}
|
|
1665
1671
|
},
|
|
1672
|
+
/**
|
|
1673
|
+
* 获取表格的全量列
|
|
1674
|
+
*/
|
|
1675
|
+
getFullColumns () {
|
|
1676
|
+
const $xeTable = this
|
|
1677
|
+
const internalData = $xeTable
|
|
1678
|
+
|
|
1679
|
+
const { collectColumn } = internalData
|
|
1680
|
+
return collectColumn.slice(0)
|
|
1681
|
+
},
|
|
1666
1682
|
/**
|
|
1667
1683
|
* 获取数据,和 data 的行为一致,也可以指定索引获取数据
|
|
1668
1684
|
*/
|
|
@@ -2016,6 +2032,32 @@ const Methods = {
|
|
|
2016
2032
|
footerData: footerTableData.slice(0)
|
|
2017
2033
|
}
|
|
2018
2034
|
},
|
|
2035
|
+
/**
|
|
2036
|
+
* 获取表格的全量数据,如果是 tree-config 则返回带层级的树结构
|
|
2037
|
+
*/
|
|
2038
|
+
getFullData () {
|
|
2039
|
+
const $xeTable = this
|
|
2040
|
+
const props = $xeTable
|
|
2041
|
+
const internalData = $xeTable
|
|
2042
|
+
|
|
2043
|
+
const { treeConfig } = props
|
|
2044
|
+
const { tableFullData, tableFullTreeData } = internalData
|
|
2045
|
+
if (treeConfig) {
|
|
2046
|
+
const treeOpts = $xeTable.computeTreeOpts
|
|
2047
|
+
const { transform, mapChildrenField } = treeOpts
|
|
2048
|
+
const childrenField = treeOpts.children || treeOpts.childrenField
|
|
2049
|
+
if (transform) {
|
|
2050
|
+
return XEUtils.toArrayTree(
|
|
2051
|
+
XEUtils.toTreeArray(tableFullTreeData, {
|
|
2052
|
+
children: mapChildrenField
|
|
2053
|
+
}),
|
|
2054
|
+
{ children: childrenField }
|
|
2055
|
+
)
|
|
2056
|
+
}
|
|
2057
|
+
return tableFullTreeData.slice(0)
|
|
2058
|
+
}
|
|
2059
|
+
return tableFullData.slice(0)
|
|
2060
|
+
},
|
|
2019
2061
|
/**
|
|
2020
2062
|
* 处理数据加载默认行为
|
|
2021
2063
|
* 默认执行一次,除非被重置
|
|
@@ -2218,7 +2260,11 @@ const Methods = {
|
|
|
2218
2260
|
return this.refreshColumn(true)
|
|
2219
2261
|
},
|
|
2220
2262
|
handleCustomRestore (storeData: any) {
|
|
2221
|
-
|
|
2263
|
+
const $xetable = this
|
|
2264
|
+
const reactData = $xetable
|
|
2265
|
+
const internalData = $xetable
|
|
2266
|
+
|
|
2267
|
+
let { collectColumn } = internalData
|
|
2222
2268
|
const { resizableData, sortData, visibleData, fixedData } = storeData
|
|
2223
2269
|
let hasCustomSort = false
|
|
2224
2270
|
// 处理还原
|
|
@@ -2245,9 +2291,12 @@ const Methods = {
|
|
|
2245
2291
|
// 如果自定义了顺序
|
|
2246
2292
|
if (hasCustomSort) {
|
|
2247
2293
|
collectColumn = XEUtils.orderBy(collectColumn, 'renderSortNumber')
|
|
2248
|
-
|
|
2249
|
-
|
|
2294
|
+
internalData.collectColumn = collectColumn
|
|
2295
|
+
internalData.tableFullColumn = getColumnList(collectColumn)
|
|
2250
2296
|
}
|
|
2297
|
+
reactData.isCustomStatus = true
|
|
2298
|
+
} else {
|
|
2299
|
+
reactData.isCustomStatus = false
|
|
2251
2300
|
}
|
|
2252
2301
|
},
|
|
2253
2302
|
/**
|
|
@@ -4668,13 +4717,30 @@ const Methods = {
|
|
|
4668
4717
|
this.emitEvent('radio-change', { oldValue, newValue, ...params }, evnt)
|
|
4669
4718
|
}
|
|
4670
4719
|
},
|
|
4720
|
+
triggerCurrentColumnEvent (evnt: any, params: any) {
|
|
4721
|
+
const $xeTable = this
|
|
4722
|
+
|
|
4723
|
+
const columnOpts = $xeTable.computeColumnOpts
|
|
4724
|
+
const { currentMethod } = columnOpts
|
|
4725
|
+
const { column } = params
|
|
4726
|
+
if (!currentMethod || currentMethod({ column })) {
|
|
4727
|
+
$xeTable.setCurrentColumn(column)
|
|
4728
|
+
}
|
|
4729
|
+
},
|
|
4671
4730
|
triggerCurrentRowEvent (evnt: any, params: any) {
|
|
4672
|
-
const
|
|
4731
|
+
const $xeTable = this
|
|
4732
|
+
const reactData = $xeTable
|
|
4733
|
+
|
|
4734
|
+
const { currentRow: oldValue } = reactData
|
|
4735
|
+
const rowOpts = $xeTable.computeRowOpts
|
|
4736
|
+
const { currentMethod } = rowOpts
|
|
4673
4737
|
const { row: newValue } = params
|
|
4674
4738
|
const isChange = oldValue !== newValue
|
|
4675
|
-
|
|
4676
|
-
|
|
4677
|
-
|
|
4739
|
+
if (!currentMethod || currentMethod({ row: newValue })) {
|
|
4740
|
+
$xeTable.setCurrentRow(newValue)
|
|
4741
|
+
if (isChange) {
|
|
4742
|
+
$xeTable.dispatchEvent('current-change', { oldValue, newValue, ...params }, evnt)
|
|
4743
|
+
}
|
|
4678
4744
|
}
|
|
4679
4745
|
},
|
|
4680
4746
|
/**
|
|
@@ -4790,7 +4856,7 @@ const Methods = {
|
|
|
4790
4856
|
}
|
|
4791
4857
|
this.emitEvent('header-cell-click', Object.assign({ triggerResizable, triggerSort, triggerFilter, cell }, params), evnt)
|
|
4792
4858
|
if (this.columnOpts.isCurrent || this.highlightCurrentColumn) {
|
|
4793
|
-
|
|
4859
|
+
this.triggerCurrentColumnEvent(evnt, params)
|
|
4794
4860
|
}
|
|
4795
4861
|
return this.$nextTick()
|
|
4796
4862
|
},
|
|
@@ -4998,11 +5064,13 @@ const Methods = {
|
|
|
4998
5064
|
|
|
4999
5065
|
const { treeConfig, dragConfig } = props
|
|
5000
5066
|
const rowDragOpts = $xeTable.computeRowDragOpts
|
|
5001
|
-
const {
|
|
5067
|
+
const { fullAllDataRowIdData } = internalData
|
|
5068
|
+
const { isCrossDrag, isSelfToChildDrag, dragEndMethod } = rowDragOpts
|
|
5002
5069
|
const treeOpts = $xeTable.computeTreeOpts
|
|
5003
|
-
const { transform } = treeOpts
|
|
5070
|
+
const { transform, mapChildrenField, parentField } = treeOpts
|
|
5071
|
+
const childrenField = treeOpts.children || treeOpts.childrenField
|
|
5004
5072
|
const { dragRow } = reactData
|
|
5005
|
-
const { afterFullData,
|
|
5073
|
+
const { afterFullData, tableFullData, prevDragRow, prevDragPos } = internalData
|
|
5006
5074
|
const dEndMethod = dragEndMethod || (dragConfig ? dragConfig.dragEndMethod : null)
|
|
5007
5075
|
const dragOffsetIndex = prevDragPos === 'bottom' ? 1 : 0
|
|
5008
5076
|
if (prevDragRow && dragRow) {
|
|
@@ -5024,27 +5092,105 @@ const Methods = {
|
|
|
5024
5092
|
|
|
5025
5093
|
let oafIndex = -1
|
|
5026
5094
|
let nafIndex = -1
|
|
5095
|
+
// 如果为树结构
|
|
5027
5096
|
if (treeConfig) {
|
|
5028
|
-
|
|
5029
|
-
|
|
5030
|
-
|
|
5031
|
-
|
|
5032
|
-
|
|
5033
|
-
|
|
5034
|
-
|
|
5035
|
-
|
|
5036
|
-
|
|
5037
|
-
|
|
5038
|
-
|
|
5039
|
-
|
|
5040
|
-
|
|
5097
|
+
if (transform) {
|
|
5098
|
+
// 移出源位置
|
|
5099
|
+
const oldRowid = getRowid($xeTable, dragRow)
|
|
5100
|
+
const oldRest = fullAllDataRowIdData[oldRowid]
|
|
5101
|
+
const newRowid = getRowid($xeTable, prevDragRow)
|
|
5102
|
+
const newRest = fullAllDataRowIdData[newRowid]
|
|
5103
|
+
if (oldRest && newRest) {
|
|
5104
|
+
const { level: oldLevel } = oldRest
|
|
5105
|
+
const { level: newLevel } = newRest
|
|
5106
|
+
|
|
5107
|
+
const oldAllMaps: Record<string, any> = {}
|
|
5108
|
+
XEUtils.eachTree([dragRow], item => {
|
|
5109
|
+
oldAllMaps[getRowid($xeTable, item)] = item
|
|
5110
|
+
}, { children: mapChildrenField })
|
|
5111
|
+
|
|
5112
|
+
let isSelfToChildStatus = false
|
|
5113
|
+
|
|
5114
|
+
if (oldLevel && newLevel) {
|
|
5115
|
+
// 子到子
|
|
5116
|
+
|
|
5117
|
+
if (!isCrossDrag) {
|
|
5118
|
+
return
|
|
5119
|
+
}
|
|
5120
|
+
if (oldAllMaps[newRowid]) {
|
|
5121
|
+
if (!isSelfToChildDrag) {
|
|
5122
|
+
isSelfToChildStatus = true
|
|
5123
|
+
if (VxeUI.modal) {
|
|
5124
|
+
VxeUI.modal.message({
|
|
5125
|
+
status: 'error',
|
|
5126
|
+
content: getI18n('vxe.error.treeDragChild')
|
|
5127
|
+
})
|
|
5128
|
+
}
|
|
5129
|
+
return
|
|
5130
|
+
}
|
|
5131
|
+
}
|
|
5132
|
+
} else if (oldLevel) {
|
|
5133
|
+
// 子到根
|
|
5134
|
+
|
|
5135
|
+
if (!isCrossDrag) {
|
|
5136
|
+
return
|
|
5137
|
+
}
|
|
5138
|
+
} else if (newLevel) {
|
|
5139
|
+
// 根到子
|
|
5140
|
+
|
|
5141
|
+
if (!isCrossDrag) {
|
|
5142
|
+
return
|
|
5143
|
+
}
|
|
5144
|
+
if (oldAllMaps[newRowid]) {
|
|
5145
|
+
isSelfToChildStatus = true
|
|
5146
|
+
if (!isSelfToChildDrag) {
|
|
5147
|
+
if (VxeUI.modal) {
|
|
5148
|
+
VxeUI.modal.message({
|
|
5149
|
+
status: 'error',
|
|
5150
|
+
content: getI18n('vxe.error.treeDragChild')
|
|
5151
|
+
})
|
|
5152
|
+
}
|
|
5153
|
+
return
|
|
5154
|
+
}
|
|
5155
|
+
}
|
|
5156
|
+
} else {
|
|
5157
|
+
// 根到根
|
|
5158
|
+
}
|
|
5159
|
+
|
|
5160
|
+
const fullList = XEUtils.toTreeArray(internalData.afterTreeFullData, { children: childrenField })
|
|
5161
|
+
|
|
5162
|
+
// 移出
|
|
5163
|
+
const otfIndex = $xeTable.findRowIndexOf(fullList, dragRow)
|
|
5164
|
+
fullList.splice(otfIndex, 1)
|
|
5165
|
+
|
|
5166
|
+
// 插入
|
|
5167
|
+
const ptfIndex = $xeTable.findRowIndexOf(fullList, prevDragRow)
|
|
5168
|
+
const ntfIndex = ptfIndex + dragOffsetIndex
|
|
5169
|
+
fullList.splice(ntfIndex, 0, dragRow)
|
|
5170
|
+
|
|
5171
|
+
// 改变层级
|
|
5172
|
+
if (isSelfToChildStatus && isSelfToChildDrag) {
|
|
5173
|
+
XEUtils.each(dragRow[childrenField], childRow => {
|
|
5174
|
+
childRow[parentField] = dragRow[parentField]
|
|
5175
|
+
})
|
|
5176
|
+
}
|
|
5177
|
+
dragRow[parentField] = prevDragRow[parentField]
|
|
5178
|
+
|
|
5179
|
+
internalData.tableFullTreeData = XEUtils.toArrayTree(fullList, {
|
|
5180
|
+
key: treeOpts.rowField,
|
|
5181
|
+
parentKey: treeOpts.parentField,
|
|
5182
|
+
children: childrenField,
|
|
5183
|
+
mapChildren: treeOpts.mapChildrenField
|
|
5184
|
+
})
|
|
5185
|
+
}
|
|
5186
|
+
}
|
|
5041
5187
|
} else {
|
|
5042
|
-
//
|
|
5188
|
+
// 移出
|
|
5043
5189
|
oafIndex = $xeTable.findRowIndexOf(afterFullData, dragRow)
|
|
5044
5190
|
const otfIndex = $xeTable.findRowIndexOf(tableFullData, dragRow)
|
|
5045
5191
|
afterFullData.splice(oafIndex, 1)
|
|
5046
5192
|
tableFullData.splice(otfIndex, 1)
|
|
5047
|
-
//
|
|
5193
|
+
// 插入
|
|
5048
5194
|
const pafIndex = $xeTable.findRowIndexOf(afterFullData, prevDragRow)
|
|
5049
5195
|
const ptfIndex = $xeTable.findRowIndexOf(tableFullData, prevDragRow)
|
|
5050
5196
|
nafIndex = pafIndex + dragOffsetIndex
|
|
@@ -5054,9 +5200,9 @@ const Methods = {
|
|
|
5054
5200
|
}
|
|
5055
5201
|
|
|
5056
5202
|
reactData.isDragRowMove = true
|
|
5057
|
-
$xeTable.cacheRowMap()
|
|
5058
|
-
$xeTable.updateScrollYStatus()
|
|
5059
5203
|
$xeTable.handleTableData(treeConfig && transform)
|
|
5204
|
+
$xeTable.cacheRowMap(true)
|
|
5205
|
+
$xeTable.updateScrollYStatus()
|
|
5060
5206
|
if (!(treeConfig && transform)) {
|
|
5061
5207
|
$xeTable.updateAfterDataIndex()
|
|
5062
5208
|
}
|
|
@@ -5072,7 +5218,7 @@ const Methods = {
|
|
|
5072
5218
|
$xeTable.dispatchEvent('row-dragend', {
|
|
5073
5219
|
oldRow: dragRow,
|
|
5074
5220
|
newRow: prevDragRow,
|
|
5075
|
-
dragPos: prevDragPos,
|
|
5221
|
+
dragPos: prevDragPos as any,
|
|
5076
5222
|
offsetIndex: dragOffsetIndex,
|
|
5077
5223
|
_index: {
|
|
5078
5224
|
newIndex: nafIndex,
|
|
@@ -5093,26 +5239,35 @@ const Methods = {
|
|
|
5093
5239
|
},
|
|
5094
5240
|
handleRowDragDragoverEvent (evnt: DragEvent) {
|
|
5095
5241
|
const $xeTable = this
|
|
5242
|
+
const props = $xeTable
|
|
5096
5243
|
const internalData = $xeTable
|
|
5097
5244
|
const reactData = $xeTable
|
|
5098
5245
|
|
|
5246
|
+
const { treeConfig } = props
|
|
5247
|
+
const { fullAllDataRowIdData } = internalData
|
|
5099
5248
|
const { dragRow } = reactData
|
|
5249
|
+
const rowDragOpts = $xeTable.computeRowDragOpts
|
|
5250
|
+
const { isCrossDrag } = rowDragOpts
|
|
5100
5251
|
if (!dragRow) {
|
|
5101
5252
|
evnt.preventDefault()
|
|
5102
5253
|
return
|
|
5103
5254
|
}
|
|
5104
5255
|
const trEl = evnt.currentTarget as HTMLElement
|
|
5105
|
-
const rowid = trEl.getAttribute('rowid')
|
|
5106
|
-
const
|
|
5107
|
-
if (
|
|
5108
|
-
|
|
5256
|
+
const rowid = trEl.getAttribute('rowid') || ''
|
|
5257
|
+
const rest = fullAllDataRowIdData[rowid]
|
|
5258
|
+
if (rest) {
|
|
5259
|
+
const row = rest.row
|
|
5109
5260
|
evnt.preventDefault()
|
|
5110
5261
|
const { dragRow } = reactData
|
|
5111
5262
|
const offsetY = evnt.clientY - trEl.getBoundingClientRect().y
|
|
5112
5263
|
const dragPos = offsetY < trEl.clientHeight / 2 ? 'top' : 'bottom'
|
|
5264
|
+
if ($xeTable.eqRow(dragRow, row) || (!isCrossDrag && treeConfig && rest.level)) {
|
|
5265
|
+
showDropTip($xeTable, evnt, trEl, null, false, dragPos)
|
|
5266
|
+
return
|
|
5267
|
+
}
|
|
5113
5268
|
internalData.prevDragRow = row
|
|
5114
5269
|
internalData.prevDragPos = dragPos
|
|
5115
|
-
showDropTip($xeTable, evnt, trEl, null, dragPos)
|
|
5270
|
+
showDropTip($xeTable, evnt, trEl, null, true, dragPos)
|
|
5116
5271
|
$xeTable.dispatchEvent('row-dragover', {
|
|
5117
5272
|
oldRow: dragRow,
|
|
5118
5273
|
targetRow: row,
|
|
@@ -5276,9 +5431,13 @@ const Methods = {
|
|
|
5276
5431
|
const { dragCol } = reactData
|
|
5277
5432
|
const offsetX = evnt.clientX - thEl.getBoundingClientRect().x
|
|
5278
5433
|
const dragPos = offsetX < thEl.clientWidth / 2 ? 'left' : 'right'
|
|
5434
|
+
if (dragCol.id === column.id || column.parentId) {
|
|
5435
|
+
showDropTip($xeTable, evnt, null, thEl, false, dragPos)
|
|
5436
|
+
return
|
|
5437
|
+
}
|
|
5279
5438
|
internalData.prevDragCol = column
|
|
5280
5439
|
internalData.prevDragPos = dragPos
|
|
5281
|
-
showDropTip($xeTable, evnt, null, thEl, dragPos)
|
|
5440
|
+
showDropTip($xeTable, evnt, null, thEl, true, dragPos)
|
|
5282
5441
|
$xeTable.dispatchEvent('column-dragover', {
|
|
5283
5442
|
oldColumn: dragCol,
|
|
5284
5443
|
targetColumn: column,
|
|
@@ -25,7 +25,7 @@ import customMixin from '../module/custom/mixin'
|
|
|
25
25
|
|
|
26
26
|
import type { VxeLoadingComponent, VxeTooltipComponent, VxeTabsConstructor, VxeTabsPrivateMethods } from 'vxe-pc-ui'
|
|
27
27
|
|
|
28
|
-
const { getConfig, getI18n, renderer, globalResize, globalEvents, globalMixins, renderEmptyElement } = VxeUI
|
|
28
|
+
const { getConfig, getIcon, getI18n, renderer, globalResize, globalEvents, globalMixins, renderEmptyElement } = VxeUI
|
|
29
29
|
|
|
30
30
|
/**
|
|
31
31
|
* 渲染浮固定列
|
|
@@ -121,8 +121,13 @@ const renderDragTipContents = (h: CreateElement, $xeTable: any) => {
|
|
|
121
121
|
}
|
|
122
122
|
|
|
123
123
|
const renderDragTip = (h: CreateElement, $xeTable: any) => {
|
|
124
|
+
const reactData = $xeTable
|
|
125
|
+
|
|
126
|
+
const { dragRow } = reactData
|
|
124
127
|
const rowOpts = $xeTable.computeRowOpts
|
|
125
128
|
const columnOpts = $xeTable.computeColumnOpts
|
|
129
|
+
const rowDragOpts = $xeTable.computeRowDragOpts
|
|
130
|
+
const columnDragOpts = $xeTable.computeColumnDragOpts
|
|
126
131
|
|
|
127
132
|
if (rowOpts.drag || columnOpts.drag) {
|
|
128
133
|
return h('div', {
|
|
@@ -130,16 +135,38 @@ const renderDragTip = (h: CreateElement, $xeTable: any) => {
|
|
|
130
135
|
}, [
|
|
131
136
|
h('div', {
|
|
132
137
|
ref: 'refDragRowLineElem',
|
|
133
|
-
class: 'vxe-table--drag-row-line'
|
|
138
|
+
class: ['vxe-table--drag-row-line', {
|
|
139
|
+
'is--guides': rowDragOpts.showGuidesStatus
|
|
140
|
+
}]
|
|
134
141
|
}),
|
|
135
142
|
h('div', {
|
|
136
143
|
ref: 'refDragColLineElem',
|
|
137
|
-
class: 'vxe-table--drag-col-line'
|
|
144
|
+
class: ['vxe-table--drag-col-line', {
|
|
145
|
+
'is--guides': columnDragOpts.showGuidesStatus
|
|
146
|
+
}]
|
|
138
147
|
}),
|
|
139
148
|
h('div', {
|
|
140
149
|
ref: 'refDragTipElem',
|
|
141
150
|
class: 'vxe-table--drag-sort-tip'
|
|
142
|
-
},
|
|
151
|
+
}, [
|
|
152
|
+
h('div', {
|
|
153
|
+
class: 'vxe-table--drag-sort-tip-wrapper'
|
|
154
|
+
}, [
|
|
155
|
+
h('div', {
|
|
156
|
+
class: 'vxe-table--drag-sort-tip-status'
|
|
157
|
+
}, [
|
|
158
|
+
h('span', {
|
|
159
|
+
class: ['vxe-table--drag-sort-tip-normal-status', dragRow ? getIcon().TABLE_DRAG_STATUS_ROW : getIcon().TABLE_DRAG_STATUS_COLUMN]
|
|
160
|
+
}),
|
|
161
|
+
h('span', {
|
|
162
|
+
class: ['vxe-table--drag-sort-tip-disabled-status', getIcon().TABLE_DRAG_DISABLED]
|
|
163
|
+
})
|
|
164
|
+
]),
|
|
165
|
+
h('div', {
|
|
166
|
+
class: 'vxe-table--drag-sort-tip-content'
|
|
167
|
+
}, renderDragTipContents(h, $xeTable))
|
|
168
|
+
])
|
|
169
|
+
])
|
|
143
170
|
])
|
|
144
171
|
}
|
|
145
172
|
return renderEmptyElement($xeTable)
|
|
@@ -400,6 +427,9 @@ export default {
|
|
|
400
427
|
},
|
|
401
428
|
|
|
402
429
|
scrollVMLoading: false,
|
|
430
|
+
|
|
431
|
+
isCustomStatus: false,
|
|
432
|
+
|
|
403
433
|
isDragRowMove: false,
|
|
404
434
|
dragRow: null,
|
|
405
435
|
isDragColMove: false,
|
package/packages/ui/index.ts
CHANGED
|
@@ -257,6 +257,9 @@ VxeUI.setIcon({
|
|
|
257
257
|
TABLE_MENU_OPTIONS: iconPrefix + 'arrow-right',
|
|
258
258
|
TABLE_DRAG_ROW: iconPrefix + 'drag-handle',
|
|
259
259
|
TABLE_DRAG_COLUMN: iconPrefix + 'drag-handle',
|
|
260
|
+
TABLE_DRAG_STATUS_ROW: iconPrefix + 'sort',
|
|
261
|
+
TABLE_DRAG_STATUS_COLUMN: iconPrefix + 'swap',
|
|
262
|
+
TABLE_DRAG_DISABLED: iconPrefix + 'no-drop',
|
|
260
263
|
|
|
261
264
|
// toolbar
|
|
262
265
|
TOOLBAR_TOOLS_REFRESH: iconPrefix + 'repeat',
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
@font-face {
|
|
6
6
|
font-family: "vxetableiconfont";
|
|
7
7
|
src:
|
|
8
|
-
url('data:application/x-font-woff2;charset=utf-8;base64,
|
|
8
|
+
url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2');
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
@keyframes rollCircle {
|
|
@@ -79,6 +79,18 @@ $btnThemeList: (
|
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
+
.vxe-table-icon-swap:before {
|
|
83
|
+
content: "\e7f3";
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.vxe-table-icon-sort:before {
|
|
87
|
+
content: "\e93e";
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.vxe-table-icon-no-drop:before {
|
|
91
|
+
content: "\e658";
|
|
92
|
+
}
|
|
93
|
+
|
|
82
94
|
.vxe-table-icon-edit:before {
|
|
83
95
|
content: "\e66e";
|
|
84
96
|
}
|
|
@@ -1279,7 +1279,16 @@
|
|
|
1279
1279
|
.vxe-table--drag-col-line {
|
|
1280
1280
|
height: 100%;
|
|
1281
1281
|
width: 1px;
|
|
1282
|
-
|
|
1282
|
+
border: 2px solid transparent;
|
|
1283
|
+
&[drag-pos="left"] {
|
|
1284
|
+
border-left-color: var(--vxe-ui-font-primary-color);
|
|
1285
|
+
}
|
|
1286
|
+
&[drag-pos="right"] {
|
|
1287
|
+
border-right-color: var(--vxe-ui-font-primary-color);
|
|
1288
|
+
}
|
|
1289
|
+
&.is--guides {
|
|
1290
|
+
background-color: var( --vxe-ui-table-drag-over-background-color);
|
|
1291
|
+
}
|
|
1283
1292
|
}
|
|
1284
1293
|
.vxe-header--column,
|
|
1285
1294
|
.vxe-body--column,
|
|
@@ -1327,7 +1336,16 @@
|
|
|
1327
1336
|
.vxe-table--drag-row-line {
|
|
1328
1337
|
width: 100%;
|
|
1329
1338
|
height: 1px;
|
|
1330
|
-
|
|
1339
|
+
border: 2px solid transparent;
|
|
1340
|
+
&[drag-pos="top"] {
|
|
1341
|
+
border-top-color: var(--vxe-ui-font-primary-color);
|
|
1342
|
+
}
|
|
1343
|
+
&[drag-pos="bottom"] {
|
|
1344
|
+
border-bottom-color: var(--vxe-ui-font-primary-color);
|
|
1345
|
+
}
|
|
1346
|
+
&.is--guides {
|
|
1347
|
+
background-color: var( --vxe-ui-table-drag-over-background-color);
|
|
1348
|
+
}
|
|
1331
1349
|
}
|
|
1332
1350
|
.vxe-body--row {
|
|
1333
1351
|
&.row--drag-origin {
|
|
@@ -1346,7 +1364,7 @@
|
|
|
1346
1364
|
position: absolute;
|
|
1347
1365
|
top: 0;
|
|
1348
1366
|
left: 0;
|
|
1349
|
-
padding: 0.6em
|
|
1367
|
+
padding: 0.6em 1.4em;
|
|
1350
1368
|
max-width: 50%;
|
|
1351
1369
|
min-width: 100px;
|
|
1352
1370
|
border-radius: var(--vxe-ui-border-radius);
|
|
@@ -1358,6 +1376,38 @@
|
|
|
1358
1376
|
background-color: var(--vxe-ui-layout-background-color);
|
|
1359
1377
|
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
|
|
1360
1378
|
z-index: 33;
|
|
1379
|
+
&[drag-status="normal"] {
|
|
1380
|
+
.vxe-table--drag-sort-tip-normal-status {
|
|
1381
|
+
display: block;
|
|
1382
|
+
}
|
|
1383
|
+
}
|
|
1384
|
+
&[drag-status="disabled"] {
|
|
1385
|
+
.vxe-table--drag-sort-tip-disabled-status {
|
|
1386
|
+
display: block;
|
|
1387
|
+
}
|
|
1388
|
+
}
|
|
1389
|
+
}
|
|
1390
|
+
.vxe-table--drag-sort-tip-wrapper {
|
|
1391
|
+
display: flex;
|
|
1392
|
+
flex-direction: row;
|
|
1393
|
+
align-items: center;
|
|
1394
|
+
}
|
|
1395
|
+
.vxe-table--drag-sort-tip-status {
|
|
1396
|
+
padding-right: 0.4em;
|
|
1397
|
+
}
|
|
1398
|
+
.vxe-table--drag-sort-tip-disabled-status {
|
|
1399
|
+
display: none;
|
|
1400
|
+
flex-shrink: 0;
|
|
1401
|
+
color: var(--vxe-ui-status-error-color)
|
|
1402
|
+
}
|
|
1403
|
+
.vxe-table--drag-sort-tip-normal-status {
|
|
1404
|
+
display: none;
|
|
1405
|
+
}
|
|
1406
|
+
.vxe-table--drag-sort-tip-content {
|
|
1407
|
+
flex-grow: 1;
|
|
1408
|
+
overflow: hidden;
|
|
1409
|
+
text-overflow: ellipsis;
|
|
1410
|
+
white-space: nowrap;
|
|
1361
1411
|
}
|
|
1362
1412
|
|
|
1363
1413
|
/*溢出列*/
|
package/styles/icon/iconfont.ttf
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/styles/theme/dark.scss
CHANGED
package/styles/theme/light.scss
CHANGED
|
@@ -37,4 +37,5 @@
|
|
|
37
37
|
--vxe-ui-table-row-current-background-color: #{light_variable.$vxe-ui-table-row-current-background-color};
|
|
38
38
|
--vxe-ui-table-row-hover-current-background-color: #{light_variable.$vxe-ui-table-row-hover-current-background-color};
|
|
39
39
|
--vxe-ui-table-fixed-scrolling-box-shadow-color: #{light_variable.$vxe-ui-table-fixed-scrolling-box-shadow-color};
|
|
40
|
+
--vxe-ui-table-drag-over-background-color:#{light_variable.$vxe-ui-table-drag-over-background-color};
|
|
40
41
|
}
|
package/styles/variable.scss
CHANGED
|
@@ -36,4 +36,5 @@ $vxe-ui-table-row-hover-checkbox-checked-background-color: #ffebbc !default;
|
|
|
36
36
|
$vxe-ui-table-row-current-background-color: #e6f7ff !default;
|
|
37
37
|
$vxe-ui-table-row-hover-current-background-color: #d7effb !default;
|
|
38
38
|
$vxe-ui-table-fixed-scrolling-box-shadow-color: rgba(0, 0, 0, 0.12) !default;
|
|
39
|
+
$vxe-ui-table-drag-over-background-color:rgba(255,255,200,0.3) !default;
|
|
39
40
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|