vxe-table 3.15.46 → 3.15.48
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/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/locale/lang/ar-EG.js +16 -2
- package/es/locale/lang/de-DE.js +16 -2
- package/es/locale/lang/en-US.js +16 -2
- package/es/locale/lang/es-ES.js +16 -2
- package/es/locale/lang/fr-FR.js +16 -2
- package/es/locale/lang/hu-HU.js +16 -2
- package/es/locale/lang/hy-AM.js +16 -2
- package/es/locale/lang/id-ID.js +16 -2
- package/es/locale/lang/it-IT.js +16 -2
- package/es/locale/lang/ja-JP.js +16 -2
- package/es/locale/lang/ko-KR.js +16 -2
- package/es/locale/lang/ms-MY.js +16 -2
- package/es/locale/lang/nb-NO.js +16 -2
- package/es/locale/lang/pt-BR.js +16 -2
- package/es/locale/lang/ru-RU.js +16 -2
- package/es/locale/lang/th-TH.js +16 -2
- package/es/locale/lang/ug-CN.js +16 -2
- package/es/locale/lang/uk-UA.js +16 -2
- package/es/locale/lang/uz-UZ.js +16 -2
- package/es/locale/lang/vi-VN.js +16 -2
- package/es/locale/lang/zh-CHT.js +17 -3
- package/es/locale/lang/zh-CN.js +16 -2
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/custom/mixin.js +20 -5
- package/es/table/module/custom/panel.js +36 -15
- package/es/table/src/body.js +8 -5
- package/es/table/src/cell.js +21 -13
- package/es/table/src/columnInfo.js +1 -0
- package/es/table/src/methods.js +62 -17
- package/es/table/src/table.js +14 -3
- package/es/table/style.css +5 -1
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +9 -5
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +5 -1
- package/es/vxe-table/style.min.css +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +190 -66
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +16 -2
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/ar-EG.umd.js +16 -2
- package/lib/locale/lang/de-DE.js +16 -2
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/de-DE.umd.js +16 -2
- package/lib/locale/lang/en-US.js +16 -2
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +16 -2
- package/lib/locale/lang/es-ES.js +16 -2
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +16 -2
- package/lib/locale/lang/fr-FR.js +16 -2
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/fr-FR.umd.js +16 -2
- package/lib/locale/lang/hu-HU.js +16 -2
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +16 -2
- package/lib/locale/lang/hy-AM.js +16 -2
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/hy-AM.umd.js +16 -2
- package/lib/locale/lang/id-ID.js +16 -2
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/id-ID.umd.js +16 -2
- package/lib/locale/lang/it-IT.js +16 -2
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/it-IT.umd.js +16 -2
- package/lib/locale/lang/ja-JP.js +16 -2
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +16 -2
- package/lib/locale/lang/ko-KR.js +16 -2
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +16 -2
- package/lib/locale/lang/ms-MY.js +16 -2
- package/lib/locale/lang/ms-MY.min.js +1 -1
- package/lib/locale/lang/ms-MY.umd.js +16 -2
- package/lib/locale/lang/nb-NO.js +16 -2
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/nb-NO.umd.js +16 -2
- package/lib/locale/lang/pt-BR.js +16 -2
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +16 -2
- package/lib/locale/lang/ru-RU.js +16 -2
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +16 -2
- package/lib/locale/lang/th-TH.js +16 -2
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/th-TH.umd.js +16 -2
- package/lib/locale/lang/ug-CN.js +16 -2
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/ug-CN.umd.js +16 -2
- package/lib/locale/lang/uk-UA.js +16 -2
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +16 -2
- package/lib/locale/lang/uz-UZ.js +16 -2
- package/lib/locale/lang/uz-UZ.min.js +1 -1
- package/lib/locale/lang/uz-UZ.umd.js +16 -2
- package/lib/locale/lang/vi-VN.js +16 -2
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/vi-VN.umd.js +16 -2
- package/lib/locale/lang/zh-CHT.js +17 -3
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +17 -3
- package/lib/locale/lang/zh-CN.js +16 -2
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +16 -2
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/custom/mixin.js +20 -5
- package/lib/table/module/custom/mixin.min.js +1 -1
- package/lib/table/module/custom/panel.js +34 -15
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/src/body.js +8 -5
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +20 -11
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/columnInfo.js +1 -0
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/methods.js +67 -20
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +14 -3
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +5 -1
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +9 -5
- 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 +5 -1
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/locale/lang/ar-EG.ts +16 -2
- package/packages/locale/lang/de-DE.ts +16 -2
- package/packages/locale/lang/en-US.ts +16 -2
- package/packages/locale/lang/es-ES.ts +16 -2
- package/packages/locale/lang/fr-FR.ts +16 -2
- package/packages/locale/lang/hu-HU.ts +16 -2
- package/packages/locale/lang/hy-AM.ts +16 -2
- package/packages/locale/lang/id-ID.ts +16 -2
- package/packages/locale/lang/it-IT.ts +16 -2
- package/packages/locale/lang/ja-JP.ts +16 -2
- package/packages/locale/lang/ko-KR.ts +16 -2
- package/packages/locale/lang/ms-MY.ts +16 -2
- package/packages/locale/lang/nb-NO.ts +16 -2
- package/packages/locale/lang/pt-BR.ts +16 -2
- package/packages/locale/lang/ru-RU.ts +16 -2
- package/packages/locale/lang/th-TH.ts +16 -2
- package/packages/locale/lang/ug-CN.ts +16 -2
- package/packages/locale/lang/uk-UA.ts +16 -2
- package/packages/locale/lang/uz-UZ.ts +16 -2
- package/packages/locale/lang/vi-VN.ts +16 -2
- package/packages/locale/lang/zh-CHT.ts +17 -3
- package/packages/locale/lang/zh-CN.ts +16 -2
- package/packages/table/module/custom/mixin.ts +18 -5
- package/packages/table/module/custom/panel.ts +34 -14
- package/packages/table/src/body.ts +8 -5
- package/packages/table/src/cell.ts +25 -13
- package/packages/table/src/columnInfo.ts +1 -0
- package/packages/table/src/methods.ts +64 -16
- package/packages/table/src/table.ts +14 -3
- package/packages/ui/index.ts +8 -4
- package/styles/components/table-module/custom.scss +5 -1
- /package/es/{iconfont.1750651550655.ttf → iconfont.1750813664386.ttf} +0 -0
- /package/es/{iconfont.1750651550655.woff → iconfont.1750813664386.woff} +0 -0
- /package/es/{iconfont.1750651550655.woff2 → iconfont.1750813664386.woff2} +0 -0
- /package/lib/{iconfont.1750651550655.ttf → iconfont.1750813664386.ttf} +0 -0
- /package/lib/{iconfont.1750651550655.woff → iconfont.1750813664386.woff} +0 -0
- /package/lib/{iconfont.1750651550655.woff2 → iconfont.1750813664386.woff2} +0 -0
|
@@ -79,6 +79,7 @@ export default {
|
|
|
79
79
|
customCancel: 'Bekor qilmoq',
|
|
80
80
|
customRestore: 'Standartni tiklash',
|
|
81
81
|
maxFixedCol: 'Muzlatilgan ustunlarning maksimal soni {0} dan oshmaydi',
|
|
82
|
+
maxGroupCol: '最大分组字段的数量不能超过 {0} 个',
|
|
82
83
|
dragTip: "Ko'chiring: {0}",
|
|
83
84
|
resizeColTip: 'Kengligi: {0} piksel',
|
|
84
85
|
resizeRowTip: 'Yuqori: {0} piksel',
|
|
@@ -137,7 +138,7 @@ export default {
|
|
|
137
138
|
cstmDragTarget: "Ko'chiring: {0}",
|
|
138
139
|
setting: {
|
|
139
140
|
colSort: 'Tartib',
|
|
140
|
-
sortHelpTip: '
|
|
141
|
+
sortHelpTip: '点击并拖动图标可以调整顺序',
|
|
141
142
|
colTitle: 'Ustun unvon',
|
|
142
143
|
colResizable: 'Ustun kengligi (piksellar)',
|
|
143
144
|
colVisible: "Ko'rsatish kerakmi",
|
|
@@ -561,7 +562,20 @@ export default {
|
|
|
561
562
|
extendPivotTable: {
|
|
562
563
|
aggregation: {
|
|
563
564
|
grouping: '分组',
|
|
564
|
-
values: '值'
|
|
565
|
+
values: '值',
|
|
566
|
+
groupPlaceholder: '拖至此处进行分组',
|
|
567
|
+
valuesPlaceholder: '拖至此处进行聚合',
|
|
568
|
+
dragExistCol: '该列已存在',
|
|
569
|
+
sortHelpTip: '点击并拖动图标可以调整顺序'
|
|
570
|
+
},
|
|
571
|
+
aggFuncs: {
|
|
572
|
+
sum: '求和',
|
|
573
|
+
count: '计数',
|
|
574
|
+
avg: '平均值',
|
|
575
|
+
min: '最小值',
|
|
576
|
+
max: '最大值',
|
|
577
|
+
first: '首个值',
|
|
578
|
+
last: '末尾值'
|
|
565
579
|
}
|
|
566
580
|
},
|
|
567
581
|
filterComplexInput: {
|
|
@@ -79,6 +79,7 @@ export default {
|
|
|
79
79
|
customCancel: 'Hủy bỏ',
|
|
80
80
|
customRestore: 'Khôi phục mặc định',
|
|
81
81
|
maxFixedCol: 'Số lượng cột đóng băng tối đa không thể vượt quá {0}',
|
|
82
|
+
maxGroupCol: '最大分组字段的数量不能超过 {0} 个',
|
|
82
83
|
dragTip: 'Di chuyển: {0}',
|
|
83
84
|
resizeColTip: 'Chiều rộng: {0} pixel',
|
|
84
85
|
resizeRowTip: 'Chiều cao: {0} pixel',
|
|
@@ -137,7 +138,7 @@ export default {
|
|
|
137
138
|
cstmDragTarget: 'Di chuyển: {0}',
|
|
138
139
|
setting: {
|
|
139
140
|
colSort: 'Loại',
|
|
140
|
-
sortHelpTip: '
|
|
141
|
+
sortHelpTip: '点击并拖动图标可以调整顺序',
|
|
141
142
|
colTitle: 'Tiêu đề cột',
|
|
142
143
|
colResizable: 'Chiều rộng cột (pixel)',
|
|
143
144
|
colVisible: 'Có hiển thị không',
|
|
@@ -561,7 +562,20 @@ export default {
|
|
|
561
562
|
extendPivotTable: {
|
|
562
563
|
aggregation: {
|
|
563
564
|
grouping: '分组',
|
|
564
|
-
values: '值'
|
|
565
|
+
values: '值',
|
|
566
|
+
groupPlaceholder: '拖至此处进行分组',
|
|
567
|
+
valuesPlaceholder: '拖至此处进行聚合',
|
|
568
|
+
dragExistCol: '该列已存在',
|
|
569
|
+
sortHelpTip: '点击并拖动图标可以调整顺序'
|
|
570
|
+
},
|
|
571
|
+
aggFuncs: {
|
|
572
|
+
sum: '求和',
|
|
573
|
+
count: '计数',
|
|
574
|
+
avg: '平均值',
|
|
575
|
+
min: '最小值',
|
|
576
|
+
max: '最大值',
|
|
577
|
+
first: '首个值',
|
|
578
|
+
last: '末尾值'
|
|
565
579
|
}
|
|
566
580
|
},
|
|
567
581
|
filterComplexInput: {
|
|
@@ -79,6 +79,7 @@ export default {
|
|
|
79
79
|
customCancel: '取消',
|
|
80
80
|
customRestore: '恢復默認',
|
|
81
81
|
maxFixedCol: '最大凍結列的數量不能超過 {0} 個',
|
|
82
|
+
maxGroupCol: '最大分組欄位的數量不能超過 {0} 個',
|
|
82
83
|
dragTip: '移動:{0}',
|
|
83
84
|
resizeColTip: '寬:{0} 像素',
|
|
84
85
|
resizeRowTip: '高:{0} 像素',
|
|
@@ -137,7 +138,7 @@ export default {
|
|
|
137
138
|
cstmDragTarget: '移動:{0}',
|
|
138
139
|
setting: {
|
|
139
140
|
colSort: '排序',
|
|
140
|
-
sortHelpTip: '
|
|
141
|
+
sortHelpTip: '點擊並拖動圖標可以調整順序',
|
|
141
142
|
colTitle: '列標題',
|
|
142
143
|
colResizable: '列寬(像素)',
|
|
143
144
|
colVisible: '是否顯示',
|
|
@@ -560,8 +561,21 @@ export default {
|
|
|
560
561
|
},
|
|
561
562
|
extendPivotTable: {
|
|
562
563
|
aggregation: {
|
|
563
|
-
grouping: '
|
|
564
|
-
values: '值'
|
|
564
|
+
grouping: '分組',
|
|
565
|
+
values: '值',
|
|
566
|
+
groupPlaceholder: '拖曳至此處進行分組',
|
|
567
|
+
valuesPlaceholder: '拖曳至此處進行聚合',
|
|
568
|
+
dragExistCol: '該列已存在',
|
|
569
|
+
sortHelpTip: '點擊並拖動圖標可以調整順序'
|
|
570
|
+
},
|
|
571
|
+
aggFuncs: {
|
|
572
|
+
sum: '求和',
|
|
573
|
+
count: '计数',
|
|
574
|
+
avg: '平均值',
|
|
575
|
+
min: '最小值',
|
|
576
|
+
max: '最大值',
|
|
577
|
+
first: '首个值',
|
|
578
|
+
last: '末尾值'
|
|
565
579
|
}
|
|
566
580
|
},
|
|
567
581
|
filterComplexInput: {
|
|
@@ -79,6 +79,7 @@ export default {
|
|
|
79
79
|
customCancel: '取消',
|
|
80
80
|
customRestore: '恢复默认',
|
|
81
81
|
maxFixedCol: '最大冻结列的数量不能超过 {0} 个',
|
|
82
|
+
maxGroupCol: '最大分组字段的数量不能超过 {0} 个',
|
|
82
83
|
dragTip: '移动:{0}',
|
|
83
84
|
resizeColTip: '宽:{0} 像素',
|
|
84
85
|
resizeRowTip: '高:{0} 像素',
|
|
@@ -137,7 +138,7 @@ export default {
|
|
|
137
138
|
cstmDragTarget: '移动:{0}',
|
|
138
139
|
setting: {
|
|
139
140
|
colSort: '排序',
|
|
140
|
-
sortHelpTip: '
|
|
141
|
+
sortHelpTip: '点击并拖动图标可以调整顺序',
|
|
141
142
|
colTitle: '列标题',
|
|
142
143
|
colResizable: '列宽(像素)',
|
|
143
144
|
colVisible: '是否显示',
|
|
@@ -561,7 +562,20 @@ export default {
|
|
|
561
562
|
extendPivotTable: {
|
|
562
563
|
aggregation: {
|
|
563
564
|
grouping: '分组',
|
|
564
|
-
values: '值'
|
|
565
|
+
values: '值',
|
|
566
|
+
groupPlaceholder: '拖至此处进行分组',
|
|
567
|
+
valuesPlaceholder: '拖至此处进行聚合',
|
|
568
|
+
dragExistCol: '该列已存在',
|
|
569
|
+
sortHelpTip: '点击并拖动图标可以调整顺序'
|
|
570
|
+
},
|
|
571
|
+
aggFuncs: {
|
|
572
|
+
sum: '求和',
|
|
573
|
+
count: '计数',
|
|
574
|
+
avg: '平均值',
|
|
575
|
+
min: '最小值',
|
|
576
|
+
max: '最大值',
|
|
577
|
+
first: '首个值',
|
|
578
|
+
last: '末尾值'
|
|
565
579
|
}
|
|
566
580
|
},
|
|
567
581
|
filterComplexInput: {
|
|
@@ -66,7 +66,7 @@ export default {
|
|
|
66
66
|
|
|
67
67
|
const { customColumnList, aggHandleFields, rowGroupList } = reactData
|
|
68
68
|
const customOpts = $xeTable.computeCustomOpts
|
|
69
|
-
const { allowVisible, allowSort, allowFixed, allowResizable } = customOpts
|
|
69
|
+
const { allowVisible, allowSort, allowFixed, allowResizable, allowGroup, allowValues } = customOpts
|
|
70
70
|
XEUtils.eachTree(customColumnList, (column, index, items, path, parentColumn) => {
|
|
71
71
|
if (parentColumn) {
|
|
72
72
|
// 更新子列信息
|
|
@@ -91,6 +91,9 @@ export default {
|
|
|
91
91
|
if (allowVisible) {
|
|
92
92
|
column.visible = column.renderVisible
|
|
93
93
|
}
|
|
94
|
+
if (allowGroup && allowValues) {
|
|
95
|
+
column.aggFunc = column.renderAggFn
|
|
96
|
+
}
|
|
94
97
|
})
|
|
95
98
|
reactData.isCustomStatus = true
|
|
96
99
|
reactData.isDragColMove = true
|
|
@@ -98,14 +101,17 @@ export default {
|
|
|
98
101
|
reactData.isDragColMove = false
|
|
99
102
|
}, 1000)
|
|
100
103
|
return $xeTable.saveCustomStore('confirm').then(() => {
|
|
101
|
-
if (($xeTable as any).handlePivotTableAggregateData) {
|
|
104
|
+
if (allowGroup && allowValues && ($xeTable as any).handlePivotTableAggregateData) {
|
|
102
105
|
if (rowGroupList.length !== aggHandleFields.length || rowGroupList.some((conf, i) => conf.field !== aggHandleFields[i])) {
|
|
103
|
-
|
|
106
|
+
// 更新数据分组
|
|
104
107
|
if (aggHandleFields.length) {
|
|
105
108
|
$xeTable.setRowGroups(aggHandleFields)
|
|
106
109
|
} else {
|
|
107
110
|
$xeTable.clearRowGroups()
|
|
108
111
|
}
|
|
112
|
+
} else {
|
|
113
|
+
// 更新聚合函数
|
|
114
|
+
$xeTable.handleUpdateAggData()
|
|
109
115
|
}
|
|
110
116
|
}
|
|
111
117
|
})
|
|
@@ -152,7 +158,8 @@ export default {
|
|
|
152
158
|
visible: true,
|
|
153
159
|
resizable: options === true,
|
|
154
160
|
fixed: options === true,
|
|
155
|
-
sort: options === true
|
|
161
|
+
sort: options === true,
|
|
162
|
+
aggFunc: options === true
|
|
156
163
|
}, options)
|
|
157
164
|
XEUtils.eachTree(collectColumn, (column) => {
|
|
158
165
|
if (opts.resizable) {
|
|
@@ -167,12 +174,16 @@ export default {
|
|
|
167
174
|
if (!checkMethod || checkMethod({ $table: $xeTable, column })) {
|
|
168
175
|
column.visible = column.defaultVisible
|
|
169
176
|
}
|
|
177
|
+
if (opts.aggFunc) {
|
|
178
|
+
column.aggFunc = column.defaultAggFunc
|
|
179
|
+
column.renderAggFn = column.defaultAggFunc
|
|
180
|
+
}
|
|
170
181
|
column.renderResizeWidth = column.renderWidth
|
|
171
182
|
})
|
|
172
183
|
reactData.isCustomStatus = false
|
|
173
184
|
$xeTable.saveCustomStore('reset')
|
|
174
185
|
return $xeTable.handleCustom().then(() => {
|
|
175
|
-
if (($xeTable as any).handlePivotTableAggregateData) {
|
|
186
|
+
if (opts.aggFunc && ($xeTable as any).handlePivotTableAggregateData) {
|
|
176
187
|
const rowGroupFields = $xeTable.computeRowGroupFields
|
|
177
188
|
if (rowGroupFields ? rowGroupFields.length : rowGroupList.length) {
|
|
178
189
|
if (rowGroupFields && rowGroupFields.length) {
|
|
@@ -180,6 +191,8 @@ export default {
|
|
|
180
191
|
} else {
|
|
181
192
|
$xeTable.clearRowGroups()
|
|
182
193
|
}
|
|
194
|
+
} else {
|
|
195
|
+
$xeTable.handleUpdateAggData()
|
|
183
196
|
}
|
|
184
197
|
}
|
|
185
198
|
})
|
|
@@ -24,8 +24,8 @@ function showDropTip ($xeTableCustomPanel: VxeTableCustomPanelConstructor, evnt:
|
|
|
24
24
|
const { prevDragToChild } = customPanelInternalData
|
|
25
25
|
const bodyWrapperRect = bodyWrapperElem.getBoundingClientRect()
|
|
26
26
|
const customBodyRect = customBodyElem.getBoundingClientRect()
|
|
27
|
+
const dragLineEl = $xeTableCustomPanel.$refs.refDragLineElem as HTMLDivElement
|
|
27
28
|
if (optEl) {
|
|
28
|
-
const dragLineEl = $xeTableCustomPanel.$refs.refDragLineElem as HTMLDivElement
|
|
29
29
|
if (dragLineEl) {
|
|
30
30
|
if (showLine) {
|
|
31
31
|
const optRect = optEl.getBoundingClientRect()
|
|
@@ -40,6 +40,10 @@ function showDropTip ($xeTableCustomPanel: VxeTableCustomPanelConstructor, evnt:
|
|
|
40
40
|
dragLineEl.style.display = ''
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
|
+
} else {
|
|
44
|
+
if (dragLineEl) {
|
|
45
|
+
dragLineEl.style.display = 'node'
|
|
46
|
+
}
|
|
43
47
|
}
|
|
44
48
|
const dragTipEl = $xeTableCustomPanel.$refs.refDragTipElem as HTMLDivElement
|
|
45
49
|
if (dragTipEl) {
|
|
@@ -294,7 +298,7 @@ const renderSimplePanel = (h: CreateElement, _vm: any) => {
|
|
|
294
298
|
? [
|
|
295
299
|
h('div', {
|
|
296
300
|
ref: 'refBodyWrapperElem',
|
|
297
|
-
class: 'vxe-table-custom-body-wrapper'
|
|
301
|
+
class: 'vxe-table-custom-simple--body-wrapper'
|
|
298
302
|
}, [
|
|
299
303
|
!treeConfig && (aggregateConfig || rowGroupConfig) && $xeTable.getPivotTableAggregateSimplePanel
|
|
300
304
|
? h($xeTable.getPivotTableAggregateSimplePanel(), {
|
|
@@ -445,7 +449,7 @@ const renderPopupPanel = (h: CreateElement, $xeTableCustomPanel: VxeTableCustomP
|
|
|
445
449
|
const $xeGrid = $xeTable.$xeGrid
|
|
446
450
|
|
|
447
451
|
const { customStore } = props
|
|
448
|
-
const { resizable: allResizable } = tableProps
|
|
452
|
+
const { treeConfig, rowGroupConfig, aggregateConfig, resizable: allResizable } = tableProps
|
|
449
453
|
const { isCustomStatus, customColumnList } = tableReactData
|
|
450
454
|
const customOpts = $xeTable.computeCustomOpts
|
|
451
455
|
const { immediate } = customOpts
|
|
@@ -746,7 +750,14 @@ const renderPopupPanel = (h: CreateElement, $xeTableCustomPanel: VxeTableCustomP
|
|
|
746
750
|
}, $xeTable.callSlot(bottomSlot, params, h))
|
|
747
751
|
: renderEmptyElement($xeTable),
|
|
748
752
|
renderDragTip(h, _vm)
|
|
749
|
-
])
|
|
753
|
+
]),
|
|
754
|
+
!treeConfig && (aggregateConfig || rowGroupConfig) && $xeTable.getPivotTableAggregatePopupPanel
|
|
755
|
+
? h($xeTable.getPivotTableAggregatePopupPanel(), {
|
|
756
|
+
props: {
|
|
757
|
+
customStore
|
|
758
|
+
}
|
|
759
|
+
})
|
|
760
|
+
: renderEmptyElement($xeTable)
|
|
750
761
|
])
|
|
751
762
|
},
|
|
752
763
|
footer: () => {
|
|
@@ -879,13 +890,15 @@ export default {
|
|
|
879
890
|
data () {
|
|
880
891
|
const reactData: TableCustomPanelReactData = {
|
|
881
892
|
dragCol: null,
|
|
893
|
+
dragGroupField: null,
|
|
894
|
+
dragAggFnCol: null,
|
|
882
895
|
dragTipText: ''
|
|
883
896
|
}
|
|
884
897
|
|
|
885
898
|
const internalData: TableCustomPanelInternalData = {
|
|
886
899
|
// prevDragCol: undefined,
|
|
887
|
-
//
|
|
888
|
-
//
|
|
900
|
+
// prevDragGroupField: undefined,
|
|
901
|
+
// prevDragAggFnColid: undefined,
|
|
889
902
|
// prevDragToChild: false,
|
|
890
903
|
// prevDragPos: null
|
|
891
904
|
}
|
|
@@ -1158,6 +1171,8 @@ export default {
|
|
|
1158
1171
|
const column = $xeTable.getColumnById(colid)
|
|
1159
1172
|
trEl.draggable = true
|
|
1160
1173
|
customPanelReactData.dragCol = column
|
|
1174
|
+
customPanelReactData.dragGroupField = null
|
|
1175
|
+
customPanelReactData.dragAggFnCol = null
|
|
1161
1176
|
this.updateColDropTipContent()
|
|
1162
1177
|
addClass(trEl, 'active--drag-origin')
|
|
1163
1178
|
},
|
|
@@ -1172,6 +1187,8 @@ export default {
|
|
|
1172
1187
|
hideDropTip($xeTableCustomPanel)
|
|
1173
1188
|
trEl.draggable = false
|
|
1174
1189
|
customPanelReactData.dragCol = null
|
|
1190
|
+
customPanelReactData.dragGroupField = null
|
|
1191
|
+
customPanelReactData.dragAggFnCol = null
|
|
1175
1192
|
removeClass(trEl, 'active--drag-origin')
|
|
1176
1193
|
},
|
|
1177
1194
|
sortDragstartEvent (evnt: any) {
|
|
@@ -1181,8 +1198,8 @@ export default {
|
|
|
1181
1198
|
if (evnt.dataTransfer) {
|
|
1182
1199
|
evnt.dataTransfer.setDragImage(getTpImg(), 0, 0)
|
|
1183
1200
|
}
|
|
1184
|
-
customPanelInternalData.
|
|
1185
|
-
customPanelInternalData.
|
|
1201
|
+
customPanelInternalData.prevDragGroupField = null
|
|
1202
|
+
customPanelInternalData.prevDragAggFnColid = null
|
|
1186
1203
|
},
|
|
1187
1204
|
sortDragendEvent (evnt: any) {
|
|
1188
1205
|
const $xeTableCustomPanel = this as unknown as VxeTableCustomPanelConstructor
|
|
@@ -1202,10 +1219,10 @@ export default {
|
|
|
1202
1219
|
const columnDragOpts = $xeTable.computeColumnDragOpts
|
|
1203
1220
|
const { isCrossDrag, isSelfToChildDrag, isToChildDrag, dragEndMethod } = columnDragOpts
|
|
1204
1221
|
const { dragCol } = customPanelReactData
|
|
1205
|
-
const { prevDragCol,
|
|
1222
|
+
const { prevDragCol, prevDragGroupField, prevDragAggFnColid, prevDragPos, prevDragToChild } = customPanelInternalData
|
|
1206
1223
|
const dragOffsetIndex = prevDragPos === 'bottom' ? 1 : 0
|
|
1207
1224
|
|
|
1208
|
-
if (
|
|
1225
|
+
if (prevDragGroupField || prevDragAggFnColid) {
|
|
1209
1226
|
if ($xeTable.handlePivotTableAggregatePanelDragendEvent) {
|
|
1210
1227
|
$xeTable.handlePivotTableAggregatePanelDragendEvent(evnt)
|
|
1211
1228
|
}
|
|
@@ -1375,8 +1392,10 @@ export default {
|
|
|
1375
1392
|
|
|
1376
1393
|
hideDropTip($xeTableCustomPanel)
|
|
1377
1394
|
customPanelReactData.dragCol = null
|
|
1378
|
-
|
|
1379
|
-
|
|
1395
|
+
customPanelReactData.dragGroupField = null
|
|
1396
|
+
customPanelReactData.dragAggFnCol = null
|
|
1397
|
+
customPanelInternalData.prevDragGroupField = null
|
|
1398
|
+
customPanelInternalData.prevDragAggFnColid = null
|
|
1380
1399
|
trEl.draggable = false
|
|
1381
1400
|
trEl.removeAttribute('drag-pos')
|
|
1382
1401
|
removeClass(trEl, 'active--drag-target')
|
|
@@ -1397,14 +1416,15 @@ export default {
|
|
|
1397
1416
|
const isControlKey = hasControlKey(evnt)
|
|
1398
1417
|
const colid = optEl.getAttribute('colid')
|
|
1399
1418
|
const column = $xeTable.getColumnById(colid)
|
|
1400
|
-
customPanelInternalData.
|
|
1401
|
-
customPanelInternalData.
|
|
1419
|
+
customPanelInternalData.prevDragGroupField = null
|
|
1420
|
+
customPanelInternalData.prevDragAggFnColid = null
|
|
1402
1421
|
// 是否移入有效列
|
|
1403
1422
|
if (column && (isCrossDrag || column.level === 1)) {
|
|
1404
1423
|
evnt.preventDefault()
|
|
1405
1424
|
const offsetY = evnt.clientY - optEl.getBoundingClientRect().y
|
|
1406
1425
|
const dragPos = offsetY < optEl.clientHeight / 2 ? 'top' : 'bottom'
|
|
1407
1426
|
if (
|
|
1427
|
+
!dragCol ||
|
|
1408
1428
|
(dragCol && dragCol.id === column.id) ||
|
|
1409
1429
|
(!isCrossDrag && column.level > 1) ||
|
|
1410
1430
|
(!immediate && column.level > 1) ||
|
|
@@ -218,6 +218,7 @@ function renderTdColumn (
|
|
|
218
218
|
$xeTable.triggerCellDblclickEvent(evnt, cellParams)
|
|
219
219
|
}
|
|
220
220
|
let isMergeCell = false
|
|
221
|
+
let mergeColspan = 1
|
|
221
222
|
let mergeRowspan = 1
|
|
222
223
|
// 合并行或列
|
|
223
224
|
if (mergeBodyFlag && mergeBodyList.length) {
|
|
@@ -234,6 +235,7 @@ function renderTdColumn (
|
|
|
234
235
|
}
|
|
235
236
|
if (colspan > 1) {
|
|
236
237
|
isMergeCell = true
|
|
238
|
+
mergeColspan = colspan
|
|
237
239
|
tdAttrs.colspan = colspan
|
|
238
240
|
}
|
|
239
241
|
}
|
|
@@ -250,6 +252,7 @@ function renderTdColumn (
|
|
|
250
252
|
}
|
|
251
253
|
if (colspan > 1) {
|
|
252
254
|
isMergeCell = true
|
|
255
|
+
mergeColspan = colspan
|
|
253
256
|
tdAttrs.colspan = colspan
|
|
254
257
|
}
|
|
255
258
|
}
|
|
@@ -293,16 +296,16 @@ function renderTdColumn (
|
|
|
293
296
|
|
|
294
297
|
const tcStyle: Record<string, string> = {}
|
|
295
298
|
if (hasEllipsis && resizeWidthFlag) {
|
|
296
|
-
let
|
|
297
|
-
if (
|
|
298
|
-
for (let index = 1; index <
|
|
299
|
+
let mergeColWidth = 0
|
|
300
|
+
if (mergeColspan > 1) {
|
|
301
|
+
for (let index = 1; index < mergeColspan; index++) {
|
|
299
302
|
const nextColumn = visibleColumn[columnIndex + index]
|
|
300
303
|
if (nextColumn) {
|
|
301
|
-
|
|
304
|
+
mergeColWidth += nextColumn.renderWidth
|
|
302
305
|
}
|
|
303
306
|
}
|
|
304
307
|
}
|
|
305
|
-
tcStyle.width = `${column.renderWidth -
|
|
308
|
+
tcStyle.width = `${column.renderWidth + mergeColWidth - cellOffsetWidth}px`
|
|
306
309
|
}
|
|
307
310
|
if (scrollYLoad || hasEllipsis || isCsHeight || isRsHeight) {
|
|
308
311
|
tcStyle.height = `${cellHeight}px`
|
|
@@ -165,12 +165,27 @@ function renderHeaderCellBaseVNs (h: CreateElement, params: VxeTableDefines.Cell
|
|
|
165
165
|
return vns
|
|
166
166
|
}
|
|
167
167
|
|
|
168
|
+
function getRenderDefaultColumnTitle (h: CreateElement, column: VxeTableDefines.ColumnInfo, content: VxeComponentSlotType | VxeComponentSlotType[]) {
|
|
169
|
+
if (column.type === 'html' && XEUtils.isString(content)) {
|
|
170
|
+
return h('span', {
|
|
171
|
+
key: 'ch',
|
|
172
|
+
domProps: {
|
|
173
|
+
innerHTML: content
|
|
174
|
+
}
|
|
175
|
+
})
|
|
176
|
+
}
|
|
177
|
+
return h('span', {
|
|
178
|
+
key: 'ct'
|
|
179
|
+
}, getSlotVNs(content))
|
|
180
|
+
}
|
|
181
|
+
|
|
168
182
|
function renderTitleContent (h: CreateElement, params: VxeTableDefines.CellRenderHeaderParams & { $table: VxeTableConstructor & VxeTablePrivateMethods }, content: VxeComponentSlotType | VxeComponentSlotType[]) {
|
|
169
183
|
const { $table, column } = params
|
|
170
|
-
const {
|
|
184
|
+
const { showHeaderOverflow } = column
|
|
171
185
|
const tableProps = $table
|
|
172
186
|
const tableReactData = $table as unknown as TableReactData
|
|
173
187
|
const { showHeaderOverflow: allColumnHeaderOverflow } = tableProps
|
|
188
|
+
const { isRowGroupStatus } = tableReactData
|
|
174
189
|
const tooltipOpts = $table.computeTooltipOpts
|
|
175
190
|
const showAllTip = tooltipOpts.showAll
|
|
176
191
|
const headOverflow = XEUtils.isUndefined(showHeaderOverflow) || XEUtils.isNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow
|
|
@@ -199,19 +214,16 @@ function renderTitleContent (h: CreateElement, params: VxeTableDefines.CellRende
|
|
|
199
214
|
}
|
|
200
215
|
}
|
|
201
216
|
}
|
|
217
|
+
const titleVN = getRenderDefaultColumnTitle(h, column, content)
|
|
202
218
|
return [
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
: h('span', {
|
|
212
|
-
class: 'vxe-cell--title',
|
|
213
|
-
on: ons
|
|
214
|
-
}, getSlotVNs(content))
|
|
219
|
+
h('span', {
|
|
220
|
+
class: 'vxe-cell--title',
|
|
221
|
+
...ons
|
|
222
|
+
}, isRowGroupStatus && column.aggFunc && $table.getPivotTableAggregateRenderColTitles
|
|
223
|
+
? $table.getPivotTableAggregateRenderColTitles(h, column, titleVN)
|
|
224
|
+
: [
|
|
225
|
+
titleVN
|
|
226
|
+
])
|
|
215
227
|
]
|
|
216
228
|
}
|
|
217
229
|
|