vxe-table 4.15.0-beta.0 → 4.15.0-beta.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/grid/src/grid.js +88 -1
- package/es/locale/lang/ar-EG.js +3 -1
- package/es/locale/lang/de-DE.js +3 -1
- package/es/locale/lang/en-US.js +3 -1
- package/es/locale/lang/es-ES.js +3 -1
- package/es/locale/lang/fr-FR.js +3 -1
- package/es/locale/lang/hu-HU.js +3 -1
- package/es/locale/lang/hy-AM.js +3 -1
- package/es/locale/lang/id-ID.js +3 -1
- package/es/locale/lang/it-IT.js +3 -1
- package/es/locale/lang/ja-JP.js +3 -1
- package/es/locale/lang/ko-KR.js +3 -1
- package/es/locale/lang/ms-MY.js +3 -1
- package/es/locale/lang/nb-NO.js +3 -1
- package/es/locale/lang/pt-BR.js +3 -1
- package/es/locale/lang/ru-RU.js +3 -1
- package/es/locale/lang/th-TH.js +3 -1
- package/es/locale/lang/ug-CN.js +3 -1
- package/es/locale/lang/uk-UA.js +3 -1
- package/es/locale/lang/uz-UZ.js +3 -1
- package/es/locale/lang/vi-VN.js +3 -1
- package/es/locale/lang/zh-CHT.js +3 -1
- package/es/locale/lang/zh-CN.js +3 -1
- package/es/style.css +1 -1
- package/es/table/module/filter/hook.js +9 -22
- package/es/table/module/keyboard/hook.js +2 -2
- package/es/table/src/body.js +2 -2
- package/es/table/src/cell.js +5 -5
- package/es/table/src/columnInfo.js +11 -2
- package/es/table/src/footer.js +2 -3
- package/es/table/src/header.js +2 -2
- package/es/table/src/table.js +158 -37
- package/es/ui/index.js +2 -1
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +96 -1
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +157 -69
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +3 -1
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/ar-EG.umd.js +3 -1
- package/lib/locale/lang/de-DE.js +3 -1
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/de-DE.umd.js +3 -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 +3 -1
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +3 -1
- package/lib/locale/lang/fr-FR.js +3 -1
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/fr-FR.umd.js +3 -1
- package/lib/locale/lang/hu-HU.js +3 -1
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +3 -1
- package/lib/locale/lang/hy-AM.js +3 -1
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/hy-AM.umd.js +3 -1
- package/lib/locale/lang/id-ID.js +3 -1
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/id-ID.umd.js +3 -1
- package/lib/locale/lang/it-IT.js +3 -1
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/it-IT.umd.js +3 -1
- package/lib/locale/lang/ja-JP.js +3 -1
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +3 -1
- package/lib/locale/lang/ko-KR.js +3 -1
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +3 -1
- package/lib/locale/lang/ms-MY.js +3 -1
- package/lib/locale/lang/ms-MY.min.js +1 -1
- package/lib/locale/lang/ms-MY.umd.js +3 -1
- package/lib/locale/lang/nb-NO.js +3 -1
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/nb-NO.umd.js +3 -1
- package/lib/locale/lang/pt-BR.js +3 -1
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +3 -1
- package/lib/locale/lang/ru-RU.js +3 -1
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +3 -1
- package/lib/locale/lang/th-TH.js +3 -1
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/th-TH.umd.js +3 -1
- package/lib/locale/lang/ug-CN.js +3 -1
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/ug-CN.umd.js +3 -1
- package/lib/locale/lang/uk-UA.js +3 -1
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +3 -1
- package/lib/locale/lang/uz-UZ.js +3 -1
- package/lib/locale/lang/uz-UZ.min.js +1 -1
- package/lib/locale/lang/uz-UZ.umd.js +3 -1
- package/lib/locale/lang/vi-VN.js +3 -1
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/vi-VN.umd.js +3 -1
- package/lib/locale/lang/zh-CHT.js +3 -1
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +3 -1
- package/lib/locale/lang/zh-CN.js +3 -1
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +3 -1
- package/lib/style.css +1 -1
- package/lib/table/module/filter/hook.js +10 -33
- package/lib/table/module/filter/hook.min.js +1 -1
- package/lib/table/module/keyboard/hook.js +2 -2
- package/lib/table/module/keyboard/hook.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 +5 -4
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/columnInfo.js +14 -2
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/footer.js +2 -3
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +2 -2
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/table.js +18 -17
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +2 -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/grid/src/grid.ts +90 -1
- package/packages/locale/lang/ar-EG.ts +3 -1
- package/packages/locale/lang/de-DE.ts +3 -1
- package/packages/locale/lang/en-US.ts +3 -1
- package/packages/locale/lang/es-ES.ts +3 -1
- package/packages/locale/lang/fr-FR.ts +3 -1
- package/packages/locale/lang/hu-HU.ts +3 -1
- package/packages/locale/lang/hy-AM.ts +3 -1
- package/packages/locale/lang/id-ID.ts +3 -1
- package/packages/locale/lang/it-IT.ts +3 -1
- package/packages/locale/lang/ja-JP.ts +3 -1
- package/packages/locale/lang/ko-KR.ts +3 -1
- package/packages/locale/lang/ms-MY.ts +3 -1
- package/packages/locale/lang/nb-NO.ts +3 -1
- package/packages/locale/lang/pt-BR.ts +3 -1
- package/packages/locale/lang/ru-RU.ts +3 -1
- package/packages/locale/lang/th-TH.ts +3 -1
- package/packages/locale/lang/ug-CN.ts +3 -1
- package/packages/locale/lang/uk-UA.ts +3 -1
- package/packages/locale/lang/uz-UZ.ts +3 -1
- package/packages/locale/lang/vi-VN.ts +3 -1
- package/packages/locale/lang/zh-CHT.ts +3 -1
- package/packages/locale/lang/zh-CN.ts +3 -1
- package/packages/table/module/filter/hook.ts +10 -24
- package/packages/table/module/keyboard/hook.ts +2 -2
- package/packages/table/src/body.ts +2 -2
- package/packages/table/src/cell.ts +5 -5
- package/packages/table/src/columnInfo.ts +13 -2
- package/packages/table/src/footer.ts +2 -3
- package/packages/table/src/header.ts +2 -2
- package/packages/table/src/table.ts +168 -37
- package/packages/ui/index.ts +1 -0
- /package/es/{iconfont.1752731438597.ttf → iconfont.1753519951433.ttf} +0 -0
- /package/es/{iconfont.1752731438597.woff → iconfont.1753519951433.woff} +0 -0
- /package/es/{iconfont.1752731438597.woff2 → iconfont.1753519951433.woff2} +0 -0
- /package/lib/{iconfont.1752731438597.ttf → iconfont.1753519951433.ttf} +0 -0
- /package/lib/{iconfont.1752731438597.woff → iconfont.1753519951433.woff} +0 -0
- /package/lib/{iconfont.1752731438597.woff2 → iconfont.1753519951433.woff2} +0 -0
|
@@ -17,6 +17,7 @@ export default {
|
|
|
17
17
|
groupTag: 'Nhóm tiêu đề nhóm nên sử dụng "{0}" thay vì "{1}", có thể gây ra lỗi',
|
|
18
18
|
scrollErrProp: 'Tham số này "{0}" không được hỗ trợ sau khi cuộn ảo được bật',
|
|
19
19
|
errConflicts: 'Tham số "{0}" Xung đột với "{1}"',
|
|
20
|
+
modelConflicts: '绑定的字段值 "{0}" 与 "{1}" 存在冲突,将会出现错误',
|
|
20
21
|
notSupportProp: '"{1}" không được hỗ trợ khi tham số "{0}" được bật, nó phải là "{2}", nếu không sẽ xảy ra lỗi',
|
|
21
22
|
notConflictProp: 'Khi sử dụng "{0}", "{1}" nên được đặt, nếu không có thể có xung đột chức năng',
|
|
22
23
|
unableInsert: 'Không thể được chèn vào vị trí đã chỉ định, vui lòng kiểm tra xem các tham số có đúng không',
|
|
@@ -54,7 +55,8 @@ export default {
|
|
|
54
55
|
treeCrossDrag: 'Chỉ kéo cấp độ đầu tiên',
|
|
55
56
|
treeDragChild: 'Cha mẹ không thể kéo đến con cái của họ',
|
|
56
57
|
reqPlugin: '"{1}" không được cài đặt tại https://vxeui.com/other/khác',
|
|
57
|
-
errMaxRow: 'Vượt quá khối lượng dữ liệu được hỗ trợ tối đa {0}, điều này có thể gây ra lỗi'
|
|
58
|
+
errMaxRow: 'Vượt quá khối lượng dữ liệu được hỗ trợ tối đa {0}, điều này có thể gây ra lỗi',
|
|
59
|
+
useNew: '不建议使用 {0},请使用 {1}'
|
|
58
60
|
},
|
|
59
61
|
table: {
|
|
60
62
|
emptyText: 'Chưa có dữ liệu',
|
|
@@ -17,6 +17,7 @@ export default {
|
|
|
17
17
|
groupTag: '分組列頭應該使用 "{0}" 而不是 "{1}",這可能會出現錯誤',
|
|
18
18
|
scrollErrProp: '啟用虛擬滾動後不支持該參數 "{0}"',
|
|
19
19
|
errConflicts: '參數 "{0}" 與 "{1}" 有衝突',
|
|
20
|
+
modelConflicts: '绑定的字段值 "{0}" 与 "{1}" 存在冲突,将会出现错误',
|
|
20
21
|
notSupportProp: '當啟用參數 "{0}" 時不支持 "{1}",應該為 "{2}",否則將會出現錯誤',
|
|
21
22
|
notConflictProp: '當使用 "{0}" 時,應該設置 "{1}",否則可能會存在功能衝突',
|
|
22
23
|
unableInsert: '無法插入到指定位置,請檢查參數是否正確',
|
|
@@ -54,7 +55,8 @@ export default {
|
|
|
54
55
|
treeCrossDrag: '只能拖拽第一層級',
|
|
55
56
|
treeDragChild: '父級不能拖拽到自己的子級中',
|
|
56
57
|
reqPlugin: '擴展插件未安裝 "{1}" https://vxeui.com/other{0}/#/{1}/install',
|
|
57
|
-
errMaxRow: '超過支持的最大數據量 {0} 行,這可能會導致出現錯誤'
|
|
58
|
+
errMaxRow: '超過支持的最大數據量 {0} 行,這可能會導致出現錯誤',
|
|
59
|
+
useNew: '不建议使用 {0},请使用 {1}'
|
|
58
60
|
},
|
|
59
61
|
table: {
|
|
60
62
|
emptyText: '暫無數據',
|
|
@@ -17,6 +17,7 @@ export default {
|
|
|
17
17
|
groupTag: '分组列头应该使用 "{0}" 而不是 "{1}",这可能会出现错误',
|
|
18
18
|
scrollErrProp: '启用虚拟滚动后不支持该参数 "{0}"',
|
|
19
19
|
errConflicts: '参数 "{0}" 与 "{1}" 有冲突',
|
|
20
|
+
modelConflicts: '绑定的字段值 "{0}" 与 "{1}" 存在冲突,将会出现错误',
|
|
20
21
|
notSupportProp: '当启用参数 "{0}" 时不支持 "{1}",应该为 "{2}",否则将会出现错误',
|
|
21
22
|
notConflictProp: '当使用 "{0}" 时,应该设置 "{1}",否则可能会存在功能冲突',
|
|
22
23
|
unableInsert: '无法插入到指定位置,请检查参数是否正确',
|
|
@@ -54,7 +55,8 @@ export default {
|
|
|
54
55
|
treeCrossDrag: '只能拖拽第一层级',
|
|
55
56
|
treeDragChild: '父级不能拖拽到自己的子级中',
|
|
56
57
|
reqPlugin: '扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install',
|
|
57
|
-
errMaxRow: '超过支持的最大数据量 {0} 行,这可能会导致出现错误'
|
|
58
|
+
errMaxRow: '超过支持的最大数据量 {0} 行,这可能会导致出现错误',
|
|
59
|
+
useNew: '不建议使用 {0},请使用 {1}'
|
|
58
60
|
},
|
|
59
61
|
table: {
|
|
60
62
|
emptyText: '暂无数据',
|
|
@@ -5,7 +5,7 @@ import { toFilters, handleFieldOrColumn, getRefElem } from '../../src/util'
|
|
|
5
5
|
import { toCssUnit, triggerEvent, getDomNode } from '../../../ui/src/dom'
|
|
6
6
|
import { isEnableConf } from '../../../ui/src/utils'
|
|
7
7
|
|
|
8
|
-
import type { TableFilterMethods, TableFilterPrivateMethods } from '../../../../types'
|
|
8
|
+
import type { TableFilterMethods, TableFilterPrivateMethods, VxeTableDefines } from '../../../../types'
|
|
9
9
|
|
|
10
10
|
const { renderer, hooks } = VxeUI
|
|
11
11
|
|
|
@@ -72,7 +72,7 @@ hooks.add('tableFilterModule', {
|
|
|
72
72
|
* @param {ColumnInfo} column 列配置
|
|
73
73
|
* @param {Object} params 参数
|
|
74
74
|
*/
|
|
75
|
-
triggerFilterEvent (evnt: MouseEvent, column, params) {
|
|
75
|
+
triggerFilterEvent (evnt: MouseEvent, column: VxeTableDefines.ColumnInfo, params) {
|
|
76
76
|
const { initStore, filterStore } = reactData
|
|
77
77
|
const { elemStore } = internalData
|
|
78
78
|
if (filterStore.column === column && filterStore.visible) {
|
|
@@ -84,27 +84,9 @@ hooks.add('tableFilterModule', {
|
|
|
84
84
|
const { transfer } = filterOpts
|
|
85
85
|
const tableRect = el.getBoundingClientRect()
|
|
86
86
|
const btnElem = evnt.currentTarget as HTMLDivElement
|
|
87
|
-
|
|
88
|
-
const compConf = isEnableConf(filterRender) ? renderer.get(filterRender.name) : null
|
|
89
|
-
const frMethod = column.filterRecoverMethod || (compConf ? (compConf.tableFilterRecoverMethod || compConf.filterRecoverMethod) : null)
|
|
87
|
+
$xeTable.handleFilterOptions(column)
|
|
90
88
|
internalData._currFilterParams = params
|
|
91
|
-
|
|
92
|
-
multiple: filterMultiple,
|
|
93
|
-
options: filters,
|
|
94
|
-
column,
|
|
95
|
-
style: null
|
|
96
|
-
})
|
|
97
|
-
// 复原状态
|
|
98
|
-
filterStore.options.forEach((option: any) => {
|
|
99
|
-
const { _checked, checked } = option
|
|
100
|
-
option._checked = checked
|
|
101
|
-
if (!checked && _checked !== checked) {
|
|
102
|
-
if (frMethod) {
|
|
103
|
-
frMethod({ option, column, $table: $xeTable })
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
})
|
|
107
|
-
this.checkFilterOptions()
|
|
89
|
+
filterStore.style = null
|
|
108
90
|
filterStore.visible = true
|
|
109
91
|
initStore.filter = true
|
|
110
92
|
nextTick(() => {
|
|
@@ -271,12 +253,16 @@ hooks.add('tableFilterModule', {
|
|
|
271
253
|
* @param {Array} options 选项
|
|
272
254
|
*/
|
|
273
255
|
setFilter (fieldOrColumn, options, isUpdate) {
|
|
256
|
+
const { filterStore } = reactData
|
|
274
257
|
const column = handleFieldOrColumn($xeTable, fieldOrColumn)
|
|
275
258
|
if (column && column.filters) {
|
|
276
259
|
column.filters = toFilters(options || [])
|
|
277
260
|
if (isUpdate) {
|
|
278
|
-
|
|
279
|
-
|
|
261
|
+
return $xeTable.handleColumnConfirmFilter(column, null)
|
|
262
|
+
} else {
|
|
263
|
+
if (filterStore.visible) {
|
|
264
|
+
$xeTable.handleFilterOptions(column)
|
|
265
|
+
}
|
|
280
266
|
}
|
|
281
267
|
}
|
|
282
268
|
return nextTick()
|
|
@@ -268,8 +268,8 @@ hooks.add('tableKeyboardModule', {
|
|
|
268
268
|
const checkboxOpts = computeCheckboxOpts.value
|
|
269
269
|
const mouseOpts = computeMouseOpts.value
|
|
270
270
|
const editOpts = computeEditOpts.value
|
|
271
|
-
if (mouseConfig && mouseOpts.area && $xeTable.
|
|
272
|
-
return $xeTable.
|
|
271
|
+
if (mouseConfig && mouseOpts.area && $xeTable.triggerCellAreaModownEvent) {
|
|
272
|
+
return $xeTable.triggerCellAreaModownEvent(evnt, params)
|
|
273
273
|
} else {
|
|
274
274
|
if (checkboxConfig && checkboxOpts.range) {
|
|
275
275
|
handleCheckboxRangeEvent(evnt, params)
|
|
@@ -140,7 +140,7 @@ export default defineVxeComponent({
|
|
|
140
140
|
const _columnIndex = colRest._index
|
|
141
141
|
const isEdit = isEnableConf(editRender)
|
|
142
142
|
const resizeHeight = resizeHeightFlag ? rowRest.resizeHeight : 0
|
|
143
|
-
let fixedHiddenColumn = fixedType ? column.fixed !== fixedType : column.fixed
|
|
143
|
+
let fixedHiddenColumn = overflowX && (fixedType ? column.fixed !== fixedType : !!column.fixed)
|
|
144
144
|
const isCellPadding = XEUtils.eqNull(padding) ? (allPadding === null ? cellOpts.padding : allPadding) : padding
|
|
145
145
|
const cellOverflow = XEUtils.eqNull(showOverflow) ? allShowOverflow : showOverflow
|
|
146
146
|
const showEllipsis = cellOverflow === 'ellipsis'
|
|
@@ -291,7 +291,7 @@ export default defineVxeComponent({
|
|
|
291
291
|
const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto')
|
|
292
292
|
|
|
293
293
|
let isVNPreEmptyStatus = false
|
|
294
|
-
if (!isMergeCell) {
|
|
294
|
+
if (overflowX && !isMergeCell) {
|
|
295
295
|
if (!dragRow || getRowid($xeTable, dragRow) !== rowid) {
|
|
296
296
|
if (scrollYLoad && !treeConfig && !virtualYOpts.immediate && (_rowIndex < scrollYStore.visibleStartIndex - scrollYStore.preloadSize || _rowIndex > scrollYStore.visibleEndIndex + scrollYStore.preloadSize)) {
|
|
297
297
|
isVNPreEmptyStatus = true
|
|
@@ -419,7 +419,7 @@ export const Cell = {
|
|
|
419
419
|
const { computeAggregateOpts } = $table.getComputeMaps()
|
|
420
420
|
const aggregateOpts = computeAggregateOpts.value
|
|
421
421
|
const { mode, showTotal, totalMethod, countFields, contentMethod, mapChildrenField } = aggregateOpts
|
|
422
|
-
const
|
|
422
|
+
const aggCalcMethod = aggregateOpts.calcValuesMethod || aggregateOpts.countMethod || aggregateOpts.aggregateMethod
|
|
423
423
|
const groupField = aggRow.groupField
|
|
424
424
|
const groupContent = aggRow.groupContent
|
|
425
425
|
const childList = mapChildrenField ? (aggRow[mapChildrenField] || []) : []
|
|
@@ -452,9 +452,9 @@ export const Cell = {
|
|
|
452
452
|
} else if ($table.getPivotTableAggregateCellAggValue) {
|
|
453
453
|
cellValue = $table.getPivotTableAggregateCellAggValue(params)
|
|
454
454
|
} else if (aggFunc === true || (countFields && countFields.includes(field))) {
|
|
455
|
-
if (
|
|
455
|
+
if (aggCalcMethod) {
|
|
456
456
|
ctParams.aggValue = childCount
|
|
457
|
-
cellValue = `${
|
|
457
|
+
cellValue = `${aggCalcMethod(ctParams)}`
|
|
458
458
|
}
|
|
459
459
|
}
|
|
460
460
|
} else {
|
|
@@ -508,14 +508,14 @@ export const Cell = {
|
|
|
508
508
|
const { rowGroupExpandedFlag } = tableReactData
|
|
509
509
|
const { rowGroupExpandedMaps } = tableInternalData
|
|
510
510
|
const aggregateOpts = computeAggregateOpts.value
|
|
511
|
-
const { padding, indent } = aggregateOpts
|
|
511
|
+
const { mode, padding, indent } = aggregateOpts
|
|
512
512
|
const rowid = getRowid($table, row)
|
|
513
513
|
const isExpand = !!rowGroupExpandedFlag && !!rowGroupExpandedMaps[rowid]
|
|
514
514
|
return h('div', {
|
|
515
515
|
class: ['vxe-row-group--tree-node', {
|
|
516
516
|
'is--expanded': isExpand
|
|
517
517
|
}],
|
|
518
|
-
style: padding && indent
|
|
518
|
+
style: mode !== 'column' && padding && indent
|
|
519
519
|
? {
|
|
520
520
|
paddingLeft: `${level * indent}px`
|
|
521
521
|
}
|
|
@@ -13,6 +13,8 @@ export class ColumnInfo {
|
|
|
13
13
|
const tableProps = $xeTable.props
|
|
14
14
|
const $xeGrid = $xeTable.xeGrid
|
|
15
15
|
|
|
16
|
+
const { field, editRender } = _vm
|
|
17
|
+
|
|
16
18
|
const formatter: string | any[] = _vm.formatter
|
|
17
19
|
const visible = XEUtils.isBoolean(_vm.visible) ? _vm.visible : true
|
|
18
20
|
|
|
@@ -53,11 +55,20 @@ export class ColumnInfo {
|
|
|
53
55
|
}
|
|
54
56
|
}
|
|
55
57
|
|
|
58
|
+
if (field && editRender) {
|
|
59
|
+
if (editRender.startField && `${editRender.startField}`.indexOf(field) >= 0) {
|
|
60
|
+
errLog('vxe.error.modelConflicts', [`field=${field}`, `edit-render.startField=${editRender.startField}`])
|
|
61
|
+
}
|
|
62
|
+
if (editRender.endField && `${editRender.endField}`.indexOf(field) >= 0) {
|
|
63
|
+
errLog('vxe.error.modelConflicts', [`field=${field}`, `edit-render.endField=${editRender.endField}`])
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
56
67
|
Object.assign(this, {
|
|
57
68
|
// 基本属性
|
|
58
69
|
type: _vm.type,
|
|
59
70
|
property: _vm.field,
|
|
60
|
-
field:
|
|
71
|
+
field: field,
|
|
61
72
|
title: _vm.title,
|
|
62
73
|
width: _vm.width,
|
|
63
74
|
minWidth: _vm.minWidth,
|
|
@@ -92,7 +103,7 @@ export class ColumnInfo {
|
|
|
92
103
|
rowResize: _vm.rowResize,
|
|
93
104
|
cellType: _vm.cellType,
|
|
94
105
|
cellRender: _vm.cellRender,
|
|
95
|
-
editRender:
|
|
106
|
+
editRender: editRender,
|
|
96
107
|
contentRender: _vm.contentRender,
|
|
97
108
|
headerExportMethod: _vm.headerExportMethod,
|
|
98
109
|
exportMethod: _vm.exportMethod,
|
|
@@ -68,8 +68,7 @@ export default defineVxeComponent({
|
|
|
68
68
|
const renderOpts = editRender || cellRender
|
|
69
69
|
const compConf = renderOpts ? renderer.get(renderOpts.name) : null
|
|
70
70
|
const showAllTip = tooltipOpts.showAll
|
|
71
|
-
const
|
|
72
|
-
const fixedHiddenColumn = fixedType ? column.fixed !== fixedType && !isColGroup : column.fixed && overflowX
|
|
71
|
+
const fixedHiddenColumn = overflowX && (fixedType ? column.fixed !== fixedType : !!column.fixed)
|
|
73
72
|
const isPadding = XEUtils.isBoolean(footerCellOpts.padding) ? footerCellOpts.padding : cellOpts.padding
|
|
74
73
|
const footOverflow = XEUtils.eqNull(showFooterOverflow) ? allColumnFooterOverflow : showFooterOverflow
|
|
75
74
|
const footAlign = footerAlign || (compConf ? compConf.tableFooterCellAlign : '') || allFooterAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign
|
|
@@ -159,7 +158,7 @@ export default defineVxeComponent({
|
|
|
159
158
|
const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto')
|
|
160
159
|
|
|
161
160
|
let isVNPreEmptyStatus = false
|
|
162
|
-
if (isOptimizeMode && !isMergeCell) {
|
|
161
|
+
if (isOptimizeMode && overflowX && !isMergeCell) {
|
|
163
162
|
if (scrollXLoad && !column.fixed && !virtualXOpts.immediate && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
|
|
164
163
|
isVNPreEmptyStatus = true
|
|
165
164
|
}
|
|
@@ -66,7 +66,7 @@ export default defineVxeComponent({
|
|
|
66
66
|
const renderOpts = editRender || cellRender
|
|
67
67
|
const compConf = renderOpts ? renderer.get(renderOpts.name) : null
|
|
68
68
|
const isColGroup = column.children && column.children.length
|
|
69
|
-
const fixedHiddenColumn = fixedType ?
|
|
69
|
+
const fixedHiddenColumn = overflowX && !isColGroup && (fixedType ? column.fixed !== fixedType : !!column.fixed)
|
|
70
70
|
const isPadding = XEUtils.isBoolean(headerCellOpts.padding) ? headerCellOpts.padding : cellOpts.padding
|
|
71
71
|
const headOverflow = XEUtils.eqNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow
|
|
72
72
|
const headAlign = headerAlign || (compConf ? compConf.tableHeaderCellAlign : '') || allHeaderAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign
|
|
@@ -130,7 +130,7 @@ export default defineVxeComponent({
|
|
|
130
130
|
const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto')
|
|
131
131
|
|
|
132
132
|
let isVNPreEmptyStatus = false
|
|
133
|
-
if (isOptimizeMode && !isGroup) {
|
|
133
|
+
if (isOptimizeMode && overflowX && !isGroup) {
|
|
134
134
|
if (!dragCol || dragCol.id !== colid) {
|
|
135
135
|
if (scrollXLoad && !column.fixed && !virtualXOpts.immediate && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
|
|
136
136
|
isVNPreEmptyStatus = true
|
|
@@ -1443,16 +1443,23 @@ export default defineVxeComponent({
|
|
|
1443
1443
|
}
|
|
1444
1444
|
|
|
1445
1445
|
const handleSortEvent = (evnt: Event | null, sortConfs: VxeTableDefines.SortConfs | VxeTableDefines.SortConfs[], isUpdate?: boolean) => {
|
|
1446
|
+
const { tableFullColumn } = internalData
|
|
1446
1447
|
const sortOpts = computeSortOpts.value
|
|
1447
1448
|
const { multiple, remote, orders } = sortOpts
|
|
1448
1449
|
if (!XEUtils.isArray(sortConfs)) {
|
|
1449
1450
|
sortConfs = [sortConfs]
|
|
1450
1451
|
}
|
|
1451
1452
|
if (sortConfs && sortConfs.length) {
|
|
1453
|
+
const orderActiveMaps: Record<string, VxeTableDefines.ColumnInfo> = {}
|
|
1452
1454
|
if (!multiple) {
|
|
1453
1455
|
sortConfs = [sortConfs[0]]
|
|
1454
|
-
|
|
1456
|
+
tableFullColumn.forEach((column) => {
|
|
1457
|
+
if (column.order) {
|
|
1458
|
+
orderActiveMaps[column.id] = column
|
|
1459
|
+
}
|
|
1460
|
+
})
|
|
1455
1461
|
}
|
|
1462
|
+
const sortColMpps: Record<string, VxeTableDefines.ColumnInfo> = {}
|
|
1456
1463
|
let firstColumn: any = null
|
|
1457
1464
|
sortConfs.forEach((confs: any, index: number) => {
|
|
1458
1465
|
let { field, order } = confs
|
|
@@ -1471,8 +1478,16 @@ export default defineVxeComponent({
|
|
|
1471
1478
|
column.order = order
|
|
1472
1479
|
}
|
|
1473
1480
|
column.sortTime = Date.now() + index
|
|
1481
|
+
sortColMpps[column.id] = column
|
|
1474
1482
|
}
|
|
1475
1483
|
})
|
|
1484
|
+
if (!multiple) {
|
|
1485
|
+
XEUtils.each(orderActiveMaps, (oaCol: VxeTableDefines.ColumnInfo, oaId) => {
|
|
1486
|
+
if (!sortColMpps[oaId]) {
|
|
1487
|
+
oaCol.order = null
|
|
1488
|
+
}
|
|
1489
|
+
})
|
|
1490
|
+
}
|
|
1476
1491
|
if (isUpdate) {
|
|
1477
1492
|
if (!remote) {
|
|
1478
1493
|
$xeTable.handleTableData(true)
|
|
@@ -2907,19 +2922,17 @@ export default defineVxeComponent({
|
|
|
2907
2922
|
const handleDefaultTreeExpand = () => {
|
|
2908
2923
|
const { treeConfig } = props
|
|
2909
2924
|
if (treeConfig) {
|
|
2910
|
-
const {
|
|
2925
|
+
const { fullAllDataRowIdData } = internalData
|
|
2911
2926
|
const treeOpts = computeTreeOpts.value
|
|
2912
2927
|
const { expandAll, expandRowKeys } = treeOpts
|
|
2913
|
-
const childrenField = treeOpts.children || treeOpts.childrenField
|
|
2914
2928
|
if (expandAll) {
|
|
2915
2929
|
$xeTable.setAllTreeExpand(true)
|
|
2916
2930
|
} else if (expandRowKeys) {
|
|
2917
2931
|
const defExpandeds: any[] = []
|
|
2918
|
-
|
|
2919
|
-
|
|
2920
|
-
|
|
2921
|
-
|
|
2922
|
-
defExpandeds.push(matchObj.item)
|
|
2932
|
+
expandRowKeys.forEach((rowid) => {
|
|
2933
|
+
const rowRest = fullAllDataRowIdData[rowid]
|
|
2934
|
+
if (rowRest) {
|
|
2935
|
+
defExpandeds.push(rowRest.row)
|
|
2923
2936
|
}
|
|
2924
2937
|
})
|
|
2925
2938
|
$xeTable.setTreeExpand(defExpandeds, true)
|
|
@@ -3525,6 +3538,13 @@ export default defineVxeComponent({
|
|
|
3525
3538
|
}
|
|
3526
3539
|
reactData.isRowLoading = false
|
|
3527
3540
|
handleRecalculateStyle(false, false, false)
|
|
3541
|
+
// 如果是自动行高,特殊情况需调用 recalculate 手动刷新
|
|
3542
|
+
if (!props.showOverflow) {
|
|
3543
|
+
setTimeout(() => {
|
|
3544
|
+
handleLazyRecalculate(false, true, true)
|
|
3545
|
+
setTimeout(() => handleLazyRecalculate(false, true, true), 3000)
|
|
3546
|
+
}, 2000)
|
|
3547
|
+
}
|
|
3528
3548
|
// 是否变更虚拟滚动
|
|
3529
3549
|
if (oldScrollYLoad === sYLoad) {
|
|
3530
3550
|
restoreScrollLocation($xeTable, targetScrollLeft, targetScrollTop)
|
|
@@ -3557,6 +3577,7 @@ export default defineVxeComponent({
|
|
|
3557
3577
|
handleDefaultRadioChecked()
|
|
3558
3578
|
handleDefaultRowExpand()
|
|
3559
3579
|
handleDefaultTreeExpand()
|
|
3580
|
+
handleDefaultRowGroupExpand()
|
|
3560
3581
|
handleDefaultMergeCells()
|
|
3561
3582
|
handleDefaultMergeFooterItems()
|
|
3562
3583
|
nextTick(() => setTimeout(() => $xeTable.recalculate()))
|
|
@@ -3980,6 +4001,22 @@ export default defineVxeComponent({
|
|
|
3980
4001
|
})
|
|
3981
4002
|
}
|
|
3982
4003
|
|
|
4004
|
+
/**
|
|
4005
|
+
* 处理默认展开分组行
|
|
4006
|
+
*/
|
|
4007
|
+
const handleDefaultRowGroupExpand = () => {
|
|
4008
|
+
const { isRowGroupStatus } = reactData
|
|
4009
|
+
if (isRowGroupStatus) {
|
|
4010
|
+
const aggregateOpts = computeAggregateOpts.value
|
|
4011
|
+
const { expandAll, expandGroupFields } = aggregateOpts
|
|
4012
|
+
if (expandAll) {
|
|
4013
|
+
$xeTable.setAllRowGroupExpand(true)
|
|
4014
|
+
} else if (expandGroupFields && expandGroupFields.length) {
|
|
4015
|
+
$xeTable.setRowGroupExpandByField(expandGroupFields, true)
|
|
4016
|
+
}
|
|
4017
|
+
}
|
|
4018
|
+
}
|
|
4019
|
+
|
|
3983
4020
|
const handleCheckAllEvent = (evnt: Event | null, value: any) => {
|
|
3984
4021
|
handleCheckedAllCheckboxRow(value)
|
|
3985
4022
|
if (evnt) {
|
|
@@ -5933,11 +5970,10 @@ export default defineVxeComponent({
|
|
|
5933
5970
|
return nextTick()
|
|
5934
5971
|
},
|
|
5935
5972
|
setSort (sortConfs, isUpdate) {
|
|
5936
|
-
|
|
5937
|
-
return handleSortEvent(new Event('click'), sortConfs, isUpdate)
|
|
5973
|
+
return handleSortEvent(null, sortConfs, isUpdate)
|
|
5938
5974
|
},
|
|
5939
|
-
setSortByEvent (evnt, sortConfs
|
|
5940
|
-
return handleSortEvent(evnt, sortConfs,
|
|
5975
|
+
setSortByEvent (evnt, sortConfs) {
|
|
5976
|
+
return handleSortEvent(evnt, sortConfs, true)
|
|
5941
5977
|
},
|
|
5942
5978
|
/**
|
|
5943
5979
|
* 清空指定列的排序条件
|
|
@@ -5965,6 +6001,7 @@ export default defineVxeComponent({
|
|
|
5965
6001
|
clearSortByEvent (evnt, fieldOrColumn) {
|
|
5966
6002
|
const { tableFullColumn } = internalData
|
|
5967
6003
|
const sortOpts = computeSortOpts.value
|
|
6004
|
+
const { multiple } = sortOpts
|
|
5968
6005
|
const sortCols: VxeTableDefines.ColumnInfo[] = []
|
|
5969
6006
|
let column: VxeTableDefines.ColumnInfo<any> | null = null
|
|
5970
6007
|
if (evnt) {
|
|
@@ -5984,11 +6021,18 @@ export default defineVxeComponent({
|
|
|
5984
6021
|
if (!sortOpts.remote) {
|
|
5985
6022
|
$xeTable.handleTableData(true)
|
|
5986
6023
|
}
|
|
5987
|
-
|
|
6024
|
+
|
|
6025
|
+
if (!multiple) {
|
|
6026
|
+
column = sortCols[0]
|
|
6027
|
+
}
|
|
6028
|
+
|
|
6029
|
+
if (column) {
|
|
6030
|
+
$xeTable.handleColumnSortEvent(evnt, column)
|
|
6031
|
+
}
|
|
6032
|
+
|
|
6033
|
+
if (multiple && sortCols.length) {
|
|
5988
6034
|
const params = { $table: $xeTable, $event: evnt, cols: sortCols, sortList: [] }
|
|
5989
6035
|
dispatchEvent('clear-all-sort', params, evnt)
|
|
5990
|
-
} else if (column) {
|
|
5991
|
-
$xeTable.handleColumnSortEvent(evnt, column)
|
|
5992
6036
|
}
|
|
5993
6037
|
}
|
|
5994
6038
|
return nextTick().then(() => {
|
|
@@ -6019,13 +6063,11 @@ export default defineVxeComponent({
|
|
|
6019
6063
|
}
|
|
6020
6064
|
return sortList
|
|
6021
6065
|
},
|
|
6022
|
-
setFilterByEvent (evnt, fieldOrColumn, options
|
|
6066
|
+
setFilterByEvent (evnt, fieldOrColumn, options) {
|
|
6023
6067
|
const column = handleFieldOrColumn($xeTable, fieldOrColumn)
|
|
6024
6068
|
if (column && column.filters) {
|
|
6025
6069
|
column.filters = toFilters(options || [])
|
|
6026
|
-
|
|
6027
|
-
return $xeTable.handleColumnConfirmFilter(column, evnt)
|
|
6028
|
-
}
|
|
6070
|
+
return $xeTable.handleColumnConfirmFilter(column, evnt)
|
|
6029
6071
|
}
|
|
6030
6072
|
return nextTick()
|
|
6031
6073
|
},
|
|
@@ -6069,6 +6111,7 @@ export default defineVxeComponent({
|
|
|
6069
6111
|
const { filterStore } = reactData
|
|
6070
6112
|
const { tableFullColumn } = internalData
|
|
6071
6113
|
const filterOpts = computeFilterOpts.value
|
|
6114
|
+
const { multiple } = filterOpts
|
|
6072
6115
|
const filterCols: VxeTableDefines.ColumnInfo[] = []
|
|
6073
6116
|
let column: VxeTableDefines.ColumnInfo<any> | null = null
|
|
6074
6117
|
if (fieldOrColumn) {
|
|
@@ -6091,19 +6134,49 @@ export default defineVxeComponent({
|
|
|
6091
6134
|
style: null,
|
|
6092
6135
|
options: [],
|
|
6093
6136
|
column: null,
|
|
6094
|
-
multiple: false,
|
|
6137
|
+
multiple: false, // 选项是覅多选
|
|
6095
6138
|
visible: false
|
|
6096
6139
|
})
|
|
6097
6140
|
}
|
|
6141
|
+
|
|
6098
6142
|
if (!filterOpts.remote) {
|
|
6099
6143
|
$xeTable.updateData()
|
|
6100
6144
|
}
|
|
6101
|
-
|
|
6145
|
+
|
|
6146
|
+
if (!multiple) {
|
|
6147
|
+
column = filterCols[0]
|
|
6148
|
+
}
|
|
6149
|
+
|
|
6150
|
+
if (column) {
|
|
6151
|
+
const filterList = () => $xeTable.getCheckedFilters()
|
|
6152
|
+
const values: any[] = []
|
|
6153
|
+
const datas: any[] = []
|
|
6154
|
+
column.filters.forEach((item: any) => {
|
|
6155
|
+
if (item.checked) {
|
|
6156
|
+
values.push(item.value)
|
|
6157
|
+
datas.push(item.data)
|
|
6158
|
+
}
|
|
6159
|
+
})
|
|
6160
|
+
const params = {
|
|
6161
|
+
$table: $xeTable,
|
|
6162
|
+
$event: evnt as Event,
|
|
6163
|
+
column,
|
|
6164
|
+
field: column.field,
|
|
6165
|
+
property: column.field,
|
|
6166
|
+
values,
|
|
6167
|
+
datas,
|
|
6168
|
+
filters: filterList,
|
|
6169
|
+
filterList
|
|
6170
|
+
}
|
|
6171
|
+
$xeTable.dispatchEvent('filter-change', params, evnt)
|
|
6172
|
+
$xeTable.dispatchEvent('clear-filter', params, evnt)
|
|
6173
|
+
}
|
|
6174
|
+
|
|
6175
|
+
if (multiple && filterCols.length) {
|
|
6102
6176
|
const params = { $table: $xeTable, $event: evnt, cols: filterCols, filterList: [] }
|
|
6103
6177
|
dispatchEvent('clear-all-filter', params, evnt)
|
|
6104
|
-
} else if (column) {
|
|
6105
|
-
$xeTable.dispatchEvent('clear-filter', { filterList: () => $xeTable.getCheckedFilters() }, evnt)
|
|
6106
6178
|
}
|
|
6179
|
+
|
|
6107
6180
|
return nextTick()
|
|
6108
6181
|
},
|
|
6109
6182
|
/**
|
|
@@ -6361,6 +6434,32 @@ export default defineVxeComponent({
|
|
|
6361
6434
|
}
|
|
6362
6435
|
return nextTick()
|
|
6363
6436
|
},
|
|
6437
|
+
setRowGroupExpandByField (groupFields, expanded) {
|
|
6438
|
+
const { isRowGroupStatus } = reactData
|
|
6439
|
+
const aggregateOpts = computeAggregateOpts.value
|
|
6440
|
+
const { childrenField } = aggregateOpts
|
|
6441
|
+
if (groupFields) {
|
|
6442
|
+
if (!XEUtils.isArray(groupFields)) {
|
|
6443
|
+
groupFields = [groupFields]
|
|
6444
|
+
}
|
|
6445
|
+
if (isRowGroupStatus) {
|
|
6446
|
+
const rows: any[] = []
|
|
6447
|
+
const gfKeys: Record<string, boolean> = {}
|
|
6448
|
+
groupFields.forEach(groupField => {
|
|
6449
|
+
gfKeys[groupField] = true
|
|
6450
|
+
})
|
|
6451
|
+
XEUtils.eachTree(internalData.afterGroupFullData, (row) => {
|
|
6452
|
+
if (row.isAggregate && gfKeys[row.groupField]) {
|
|
6453
|
+
rows.push(row)
|
|
6454
|
+
}
|
|
6455
|
+
}, { children: childrenField })
|
|
6456
|
+
if (rows.length) {
|
|
6457
|
+
return handleRowGroupVirtualExpand(rows, expanded)
|
|
6458
|
+
}
|
|
6459
|
+
}
|
|
6460
|
+
}
|
|
6461
|
+
return nextTick()
|
|
6462
|
+
},
|
|
6364
6463
|
setAllRowGroupExpand (expanded) {
|
|
6365
6464
|
const { tableFullGroupData } = internalData
|
|
6366
6465
|
const aggregateOpts = computeAggregateOpts.value
|
|
@@ -6576,8 +6675,6 @@ export default defineVxeComponent({
|
|
|
6576
6675
|
},
|
|
6577
6676
|
/**
|
|
6578
6677
|
* 如果有滚动条,则滚动到对应的位置
|
|
6579
|
-
* @param {Number} scrollLeft 左距离
|
|
6580
|
-
* @param {Number} scrollTop 上距离
|
|
6581
6678
|
*/
|
|
6582
6679
|
scrollTo (scrollLeft, scrollTop) {
|
|
6583
6680
|
const { elemStore } = internalData
|
|
@@ -6591,6 +6688,12 @@ export default defineVxeComponent({
|
|
|
6591
6688
|
|
|
6592
6689
|
internalData.intoRunScroll = true
|
|
6593
6690
|
|
|
6691
|
+
if (scrollLeft) {
|
|
6692
|
+
if (!XEUtils.isNumber(scrollLeft)) {
|
|
6693
|
+
scrollTop = scrollLeft.top
|
|
6694
|
+
scrollLeft = scrollLeft.left
|
|
6695
|
+
}
|
|
6696
|
+
}
|
|
6594
6697
|
if (XEUtils.isNumber(scrollLeft)) {
|
|
6595
6698
|
setScrollLeft(xHandleEl, scrollLeft)
|
|
6596
6699
|
setScrollLeft(bodyScrollElem, scrollLeft)
|
|
@@ -7998,7 +8101,7 @@ export default defineVxeComponent({
|
|
|
7998
8101
|
evnt.preventDefault()
|
|
7999
8102
|
const { column } = params
|
|
8000
8103
|
const { columnStore, overflowX, scrollbarHeight } = reactData
|
|
8001
|
-
const {
|
|
8104
|
+
const { visibleColumn } = internalData
|
|
8002
8105
|
const { leftList, rightList } = columnStore
|
|
8003
8106
|
const resizableOpts = computeResizableOpts.value
|
|
8004
8107
|
const osbHeight = overflowX ? scrollbarHeight : 0
|
|
@@ -8016,25 +8119,30 @@ export default defineVxeComponent({
|
|
|
8016
8119
|
const { clientX: dragClientX } = evnt
|
|
8017
8120
|
const dragBtnElem = evnt.target as HTMLDivElement
|
|
8018
8121
|
let resizeColumn = column
|
|
8019
|
-
|
|
8122
|
+
const isDragGroupCol = column.children && column.children.length
|
|
8123
|
+
if (isDragGroupCol) {
|
|
8020
8124
|
XEUtils.eachTree(column.children, childColumn => {
|
|
8021
8125
|
resizeColumn = childColumn
|
|
8022
8126
|
})
|
|
8023
8127
|
}
|
|
8024
|
-
|
|
8025
|
-
|
|
8026
|
-
|
|
8027
|
-
|
|
8028
|
-
|
|
8128
|
+
let cell = dragBtnElem.parentElement as HTMLTableCellElement | null
|
|
8129
|
+
if (isDragGroupCol) {
|
|
8130
|
+
const trEl = cell ? cell.parentElement as HTMLTableRowElement : null
|
|
8131
|
+
const theadEl = trEl ? trEl.parentElement as HTMLTableElement : null
|
|
8132
|
+
cell = theadEl ? theadEl.querySelector<HTMLTableCellElement>(`.vxe-header--column[colid="${resizeColumn.id}"]`) : null
|
|
8133
|
+
}
|
|
8134
|
+
if (!cell) {
|
|
8029
8135
|
return
|
|
8030
8136
|
}
|
|
8137
|
+
const cellParams = XEUtils.assign(params, { cell })
|
|
8138
|
+
let dragLeft = 0
|
|
8031
8139
|
const tableRect = tableEl.getBoundingClientRect()
|
|
8032
8140
|
const rightContainerRect = rightContainerElem ? rightContainerElem.getBoundingClientRect() : null
|
|
8033
8141
|
const cellRect = cell.getBoundingClientRect()
|
|
8034
8142
|
const dragBtnRect = dragBtnElem.getBoundingClientRect()
|
|
8035
8143
|
|
|
8036
8144
|
const dragBtnWidth = dragBtnElem.clientWidth
|
|
8037
|
-
const dragBtnOffsetWidth =
|
|
8145
|
+
const dragBtnOffsetWidth = XEUtils.floor(dragBtnWidth / 2)
|
|
8038
8146
|
const dragPosLeft = dragBtnRect.x - tableRect.x + dragBtnOffsetWidth
|
|
8039
8147
|
|
|
8040
8148
|
const minInterval = getColReMinWidth(cellParams) - dragBtnOffsetWidth // 列之间的最小间距
|
|
@@ -8387,6 +8495,26 @@ export default defineVxeComponent({
|
|
|
8387
8495
|
handleRefreshColumnQueue () {
|
|
8388
8496
|
reactData.reColumnFlag++
|
|
8389
8497
|
},
|
|
8498
|
+
handleFilterOptions (column) {
|
|
8499
|
+
const { filterStore } = reactData
|
|
8500
|
+
const { filters, filterMultiple, filterRender } = column
|
|
8501
|
+
const compConf = isEnableConf(filterRender) ? renderer.get(filterRender.name) : null
|
|
8502
|
+
const frMethod = column.filterRecoverMethod || (compConf ? (compConf.tableFilterRecoverMethod || compConf.filterRecoverMethod) : null)
|
|
8503
|
+
filterStore.multiple = filterMultiple
|
|
8504
|
+
filterStore.options = filters
|
|
8505
|
+
filterStore.column = column
|
|
8506
|
+
// 复原状态
|
|
8507
|
+
filterStore.options.forEach((option: any) => {
|
|
8508
|
+
const { _checked, checked } = option
|
|
8509
|
+
option._checked = checked
|
|
8510
|
+
if (!checked && _checked !== checked) {
|
|
8511
|
+
if (frMethod) {
|
|
8512
|
+
frMethod({ option, column, $table: $xeTable })
|
|
8513
|
+
}
|
|
8514
|
+
}
|
|
8515
|
+
})
|
|
8516
|
+
$xeTable.checkFilterOptions()
|
|
8517
|
+
},
|
|
8390
8518
|
preventEvent (evnt, type, args, next, end) {
|
|
8391
8519
|
let evntList = interceptor.get(type)
|
|
8392
8520
|
|
|
@@ -9337,8 +9465,8 @@ export default defineVxeComponent({
|
|
|
9337
9465
|
$xeTable.handleHeaderCellDragMousedownEvent(evnt, params)
|
|
9338
9466
|
}
|
|
9339
9467
|
}
|
|
9340
|
-
if (!triggerDrag && mouseConfig && mouseOpts.area && $xeTable.
|
|
9341
|
-
$xeTable.
|
|
9468
|
+
if (!triggerDrag && mouseConfig && mouseOpts.area && $xeTable.handleHeaderCellAreaModownEvent) {
|
|
9469
|
+
$xeTable.handleHeaderCellAreaModownEvent(evnt, Object.assign({ cell, triggerSort, triggerFilter }, params))
|
|
9342
9470
|
}
|
|
9343
9471
|
$xeTable.focus()
|
|
9344
9472
|
if ($xeTable.closeMenu) {
|
|
@@ -11897,7 +12025,7 @@ export default defineVxeComponent({
|
|
|
11897
12025
|
if (rowOpts.height && !props.showOverflow) {
|
|
11898
12026
|
warnLog('vxe.error.notProp', ['table.show-overflow'])
|
|
11899
12027
|
}
|
|
11900
|
-
if (!$xeTable.
|
|
12028
|
+
if (!$xeTable.triggerCellAreaModownEvent) {
|
|
11901
12029
|
if (props.areaConfig) {
|
|
11902
12030
|
warnLog('vxe.error.notProp', ['area-config'])
|
|
11903
12031
|
}
|
|
@@ -11935,7 +12063,10 @@ export default defineVxeComponent({
|
|
|
11935
12063
|
warnLog('vxe.error.delProp', ['row-group-config.countFields', 'column.agg-func'])
|
|
11936
12064
|
}
|
|
11937
12065
|
if (aggregateOpts.aggregateMethod) {
|
|
11938
|
-
warnLog('vxe.error.delProp', ['row-group-config.aggregateMethod', 'aggregate-config.
|
|
12066
|
+
warnLog('vxe.error.delProp', ['row-group-config.aggregateMethod', 'aggregate-config.calcValuesMethod'])
|
|
12067
|
+
}
|
|
12068
|
+
if (aggregateOpts.countMethod) {
|
|
12069
|
+
warnLog('vxe.error.delProp', ['aggregate-config.countMethod', 'aggregate-config.calcValuesMethod'])
|
|
11939
12070
|
}
|
|
11940
12071
|
if (props.treeConfig && treeOpts.children) {
|
|
11941
12072
|
warnLog('vxe.error.delProp', ['tree-config.children', 'tree-config.childrenField'])
|