vxe-table 3.18.1 → 3.18.2
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/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/src/column.js +2 -0
- package/es/table/src/columnInfo.js +1 -0
- package/es/table/src/footer.js +7 -5
- package/es/table/src/header.js +67 -28
- package/es/table/src/methods.js +233 -39
- package/es/table/src/props.js +23 -6
- package/es/table/src/table.js +43 -19
- package/es/table/src/util.js +70 -2
- package/es/table/style.css +11 -17
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +11 -17
- 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 +482 -94
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/src/column.js +2 -0
- package/lib/table/src/column.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/footer.js +7 -5
- package/lib/table/src/header.js +82 -25
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/methods.js +259 -42
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/props.js +11 -3
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/table.js +46 -16
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +74 -2
- package/lib/table/src/util.min.js +1 -1
- package/lib/table/style/style.css +11 -17
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-table/style/style.css +11 -17
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/table/src/column.ts +4 -2
- package/packages/table/src/columnInfo.ts +1 -0
- package/packages/table/src/footer.ts +11 -9
- package/packages/table/src/header.ts +76 -34
- package/packages/table/src/methods.ts +245 -40
- package/packages/table/src/props.ts +29 -12
- package/packages/table/src/table.ts +53 -16
- package/packages/table/src/util.ts +76 -2
- package/styles/components/table.scss +33 -55
- /package/es/{iconfont.1756272539382.ttf → iconfont.1756452257212.ttf} +0 -0
- /package/es/{iconfont.1756272539382.woff → iconfont.1756452257212.woff} +0 -0
- /package/es/{iconfont.1756272539382.woff2 → iconfont.1756452257212.woff2} +0 -0
- /package/lib/{iconfont.1756272539382.ttf → iconfont.1756452257212.ttf} +0 -0
- /package/lib/{iconfont.1756272539382.woff → iconfont.1756452257212.woff} +0 -0
- /package/lib/{iconfont.1756272539382.woff2 → iconfont.1756452257212.woff2} +0 -0
package/lib/index.umd.js
CHANGED
|
@@ -2002,7 +2002,7 @@ function getClass(property, params) {
|
|
|
2002
2002
|
;// CONCATENATED MODULE: ./packages/ui/index.ts
|
|
2003
2003
|
|
|
2004
2004
|
|
|
2005
|
-
const version = "3.18.
|
|
2005
|
+
const version = "3.18.2";
|
|
2006
2006
|
core_.VxeUI.version = version;
|
|
2007
2007
|
core_.VxeUI.tableVersion = version;
|
|
2008
2008
|
core_.VxeUI.setConfig({
|
|
@@ -2678,7 +2678,7 @@ function isNodeElement(elem) {
|
|
|
2678
2678
|
const {
|
|
2679
2679
|
log: log_log
|
|
2680
2680
|
} = core_.VxeUI;
|
|
2681
|
-
const log_version = `table v${"3.18.
|
|
2681
|
+
const log_version = `table v${"3.18.2"}`;
|
|
2682
2682
|
const warnLog = log_log.create('warn', log_version);
|
|
2683
2683
|
const errLog = log_log.create('error', log_version);
|
|
2684
2684
|
;// CONCATENATED MODULE: ./packages/table/src/columnInfo.ts
|
|
@@ -2781,6 +2781,7 @@ class ColumnInfo {
|
|
|
2781
2781
|
headerClassName: _vm.headerClassName,
|
|
2782
2782
|
footerClassName: _vm.footerClassName,
|
|
2783
2783
|
formatter,
|
|
2784
|
+
headerFormatter: _vm.headerFormatter,
|
|
2784
2785
|
footerFormatter: _vm.footerFormatter,
|
|
2785
2786
|
padding: _vm.padding,
|
|
2786
2787
|
verticalAlign: _vm.verticalAlign,
|
|
@@ -2971,14 +2972,19 @@ function createInternalData() {
|
|
|
2971
2972
|
sourceDataRowIdData: {},
|
|
2972
2973
|
fullColumnIdData: {},
|
|
2973
2974
|
fullColumnFieldData: {},
|
|
2975
|
+
// 合并表头单元格的数据
|
|
2976
|
+
mergeHeaderList: [],
|
|
2977
|
+
mergeHeaderMaps: {},
|
|
2978
|
+
// 已合并单元格数据集合
|
|
2979
|
+
mergeHeaderCellMaps: {},
|
|
2974
2980
|
// 合并单元格的数据
|
|
2975
2981
|
mergeBodyList: [],
|
|
2976
2982
|
mergeBodyMaps: {},
|
|
2983
|
+
// 已合并单元格数据集合
|
|
2984
|
+
mergeBodyCellMaps: {},
|
|
2977
2985
|
// 合并表尾的数据
|
|
2978
2986
|
mergeFooterList: [],
|
|
2979
2987
|
mergeFooterMaps: {},
|
|
2980
|
-
// 已合并单元格数据集合
|
|
2981
|
-
mergeBodyCellMaps: {},
|
|
2982
2988
|
// 已合并表尾数据集合
|
|
2983
2989
|
mergeFooterCellMaps: {},
|
|
2984
2990
|
// 已展开的行集合
|
|
@@ -3069,6 +3075,72 @@ const convertHeaderColumnToRows = originColumns => {
|
|
|
3069
3075
|
});
|
|
3070
3076
|
return rows;
|
|
3071
3077
|
};
|
|
3078
|
+
function convertHeaderToGridRows(spanColumns) {
|
|
3079
|
+
const rSize = spanColumns.length;
|
|
3080
|
+
const cSize = spanColumns[0].reduce((sum, cell) => sum + cell.colSpan, 0);
|
|
3081
|
+
const occupiedRows = [];
|
|
3082
|
+
const fullRows = [];
|
|
3083
|
+
for (let rIndex = 0; rIndex < rSize; rIndex++) {
|
|
3084
|
+
const oCols = [];
|
|
3085
|
+
const dCols = [];
|
|
3086
|
+
for (let cIndex = 0; cIndex < cSize; cIndex++) {
|
|
3087
|
+
oCols.push(false);
|
|
3088
|
+
dCols.push('');
|
|
3089
|
+
}
|
|
3090
|
+
occupiedRows.push(oCols);
|
|
3091
|
+
fullRows.push(dCols);
|
|
3092
|
+
}
|
|
3093
|
+
for (let rIndex = 0; rIndex < rSize; rIndex++) {
|
|
3094
|
+
let currColIndex = 0;
|
|
3095
|
+
for (const column of spanColumns[rIndex]) {
|
|
3096
|
+
const {
|
|
3097
|
+
colSpan,
|
|
3098
|
+
rowSpan
|
|
3099
|
+
} = column;
|
|
3100
|
+
let startColIndex = -1;
|
|
3101
|
+
for (let ccIndex = currColIndex; ccIndex <= cSize - colSpan; ccIndex++) {
|
|
3102
|
+
let oFlag = true;
|
|
3103
|
+
for (let csIndex = 0; csIndex < colSpan; csIndex++) {
|
|
3104
|
+
if (occupiedRows[rIndex][ccIndex + csIndex]) {
|
|
3105
|
+
oFlag = false;
|
|
3106
|
+
break;
|
|
3107
|
+
}
|
|
3108
|
+
}
|
|
3109
|
+
if (oFlag) {
|
|
3110
|
+
startColIndex = ccIndex;
|
|
3111
|
+
break;
|
|
3112
|
+
}
|
|
3113
|
+
}
|
|
3114
|
+
if (startColIndex === -1) {
|
|
3115
|
+
for (let j = 0; j <= cSize - colSpan; j++) {
|
|
3116
|
+
let oFlag = true;
|
|
3117
|
+
for (let k = 0; k < colSpan; k++) {
|
|
3118
|
+
if (occupiedRows[rIndex][j + k]) {
|
|
3119
|
+
oFlag = false;
|
|
3120
|
+
break;
|
|
3121
|
+
}
|
|
3122
|
+
}
|
|
3123
|
+
if (oFlag) {
|
|
3124
|
+
startColIndex = j;
|
|
3125
|
+
break;
|
|
3126
|
+
}
|
|
3127
|
+
}
|
|
3128
|
+
if (startColIndex === -1) {
|
|
3129
|
+
// error
|
|
3130
|
+
break;
|
|
3131
|
+
}
|
|
3132
|
+
}
|
|
3133
|
+
for (let srIndex = rIndex; srIndex < rIndex + rowSpan; srIndex++) {
|
|
3134
|
+
for (let scIndex = startColIndex; scIndex < startColIndex + colSpan; scIndex++) {
|
|
3135
|
+
occupiedRows[srIndex][scIndex] = true;
|
|
3136
|
+
fullRows[srIndex][scIndex] = column;
|
|
3137
|
+
}
|
|
3138
|
+
}
|
|
3139
|
+
currColIndex = startColIndex + colSpan;
|
|
3140
|
+
}
|
|
3141
|
+
}
|
|
3142
|
+
return fullRows;
|
|
3143
|
+
}
|
|
3072
3144
|
function restoreScrollLocation($xeTable, scrollLeft, scrollTop) {
|
|
3073
3145
|
const internalData = $xeTable;
|
|
3074
3146
|
if (scrollLeft || scrollTop) {
|
|
@@ -5163,6 +5235,8 @@ const columnProps = {
|
|
|
5163
5235
|
footerClassName: [String, Function],
|
|
5164
5236
|
// 格式化显示内容
|
|
5165
5237
|
formatter: [Function, Array, String],
|
|
5238
|
+
// 格式化表头显示内容
|
|
5239
|
+
headerFormatter: [Function, Array, String],
|
|
5166
5240
|
// 格式化表尾显示内容
|
|
5167
5241
|
footerFormatter: [Function, Array, String],
|
|
5168
5242
|
// 是否显示间距
|
|
@@ -5392,7 +5466,7 @@ const tableProps = {
|
|
|
5392
5466
|
// 表格的最小高度
|
|
5393
5467
|
minHeight: {
|
|
5394
5468
|
type: [Number, String],
|
|
5395
|
-
default: () =>
|
|
5469
|
+
default: () => null
|
|
5396
5470
|
},
|
|
5397
5471
|
// 表格的最大高度
|
|
5398
5472
|
maxHeight: [Number, String],
|
|
@@ -5511,9 +5585,17 @@ const tableProps = {
|
|
|
5511
5585
|
headerRowStyle: [Object, Function],
|
|
5512
5586
|
// 给表尾行附加样式
|
|
5513
5587
|
footerRowStyle: [Object, Function],
|
|
5514
|
-
//
|
|
5588
|
+
// 用于分组表头,显示为自定义列头,配合 mergeHeaderCells 灵活实现自定义合并
|
|
5589
|
+
showCustomHeader: {
|
|
5590
|
+
type: Boolean,
|
|
5591
|
+
default: () => props_getConfig().table.showCustomHeader
|
|
5592
|
+
},
|
|
5593
|
+
// 临时合并指定的表头单元格
|
|
5594
|
+
mergeHeaderCells: Array,
|
|
5595
|
+
// 临时合并指定的单元格
|
|
5515
5596
|
mergeCells: Array,
|
|
5516
|
-
//
|
|
5597
|
+
// 临时合并指定的表尾单元格
|
|
5598
|
+
mergeFooterCells: Array,
|
|
5517
5599
|
mergeFooterItems: Array,
|
|
5518
5600
|
// 自定义合并行或列的方法
|
|
5519
5601
|
spanMethod: Function,
|
|
@@ -7070,7 +7152,7 @@ function updateStyle($xeTable) {
|
|
|
7070
7152
|
}
|
|
7071
7153
|
if (xRightCornerEl) {
|
|
7072
7154
|
xRightCornerEl.style.width = scrollbarXToTop ? '' : `${osbWidth}px`;
|
|
7073
|
-
xRightCornerEl.style.display = scrollbarXToTop ? '' :
|
|
7155
|
+
xRightCornerEl.style.display = scrollbarXToTop ? '' : xScrollbarVisible === 'visible' ? 'block' : '';
|
|
7074
7156
|
}
|
|
7075
7157
|
const scrollYVirtualEl = $xeTable.$refs.refScrollYVirtualElem;
|
|
7076
7158
|
if (scrollYVirtualEl) {
|
|
@@ -7081,7 +7163,7 @@ function updateStyle($xeTable) {
|
|
|
7081
7163
|
const yTopCornerEl = $xeTable.$refs.refScrollYTopCornerElem;
|
|
7082
7164
|
if (yTopCornerEl) {
|
|
7083
7165
|
yTopCornerEl.style.height = `${tHeaderHeight}px`;
|
|
7084
|
-
yTopCornerEl.style.display =
|
|
7166
|
+
yTopCornerEl.style.display = tHeaderHeight && yScrollbarVisible === 'visible' ? 'block' : '';
|
|
7085
7167
|
}
|
|
7086
7168
|
const yWrapperEl = $xeTable.$refs.refScrollYWrapperElem;
|
|
7087
7169
|
if (yWrapperEl) {
|
|
@@ -7092,7 +7174,7 @@ function updateStyle($xeTable) {
|
|
|
7092
7174
|
if (yBottomCornerEl) {
|
|
7093
7175
|
yBottomCornerEl.style.height = `${tFooterHeight}px`;
|
|
7094
7176
|
yBottomCornerEl.style.top = `${tHeaderHeight + tbHeight}px`;
|
|
7095
|
-
yBottomCornerEl.style.display =
|
|
7177
|
+
yBottomCornerEl.style.display = tFooterHeight && yScrollbarVisible === 'visible' ? 'block' : '';
|
|
7096
7178
|
}
|
|
7097
7179
|
const rowExpandEl = $xeTable.$refs.refRowExpandElem;
|
|
7098
7180
|
if (rowExpandEl) {
|
|
@@ -8120,15 +8202,71 @@ function handleBodyMerge($xeTable, merges) {
|
|
|
8120
8202
|
});
|
|
8121
8203
|
}
|
|
8122
8204
|
}
|
|
8123
|
-
function
|
|
8205
|
+
function removeBodyMerges($xeTable, merges) {
|
|
8206
|
+
const internalData = $xeTable;
|
|
8207
|
+
const {
|
|
8208
|
+
mergeBodyList,
|
|
8209
|
+
fullColumnIdData,
|
|
8210
|
+
fullAllDataRowIdData,
|
|
8211
|
+
mergeBodyMaps
|
|
8212
|
+
} = internalData;
|
|
8213
|
+
const rest = [];
|
|
8214
|
+
if (merges) {
|
|
8215
|
+
const {
|
|
8216
|
+
handleGetRowId
|
|
8217
|
+
} = createHandleGetRowId($xeTable);
|
|
8218
|
+
if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(merges)) {
|
|
8219
|
+
merges = [merges];
|
|
8220
|
+
}
|
|
8221
|
+
merges.forEach(item => {
|
|
8222
|
+
const {
|
|
8223
|
+
row: margeRow,
|
|
8224
|
+
col: margeCol
|
|
8225
|
+
} = item;
|
|
8226
|
+
let mergeRowIndex = -1;
|
|
8227
|
+
let mergeColumnIndex = -1;
|
|
8228
|
+
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(margeRow)) {
|
|
8229
|
+
mergeRowIndex = margeRow;
|
|
8230
|
+
} else {
|
|
8231
|
+
const rowid = margeRow ? handleGetRowId(margeRow) : null;
|
|
8232
|
+
const rowRest = rowid ? fullAllDataRowIdData[rowid] : null;
|
|
8233
|
+
if (rowRest) {
|
|
8234
|
+
mergeRowIndex = rowRest._index;
|
|
8235
|
+
}
|
|
8236
|
+
}
|
|
8237
|
+
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(margeCol)) {
|
|
8238
|
+
mergeColumnIndex = margeCol;
|
|
8239
|
+
} else {
|
|
8240
|
+
const colid = margeCol ? margeCol.id : null;
|
|
8241
|
+
const colRest = colid ? fullColumnIdData[colid] : null;
|
|
8242
|
+
if (colRest) {
|
|
8243
|
+
mergeColumnIndex = colRest._index;
|
|
8244
|
+
}
|
|
8245
|
+
}
|
|
8246
|
+
const mcIndex = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findIndexOf(mergeBodyList, item => item.row === mergeRowIndex && item.col === mergeColumnIndex);
|
|
8247
|
+
if (mcIndex > -1) {
|
|
8248
|
+
const rItems = mergeBodyList.splice(mcIndex, 1);
|
|
8249
|
+
const item = rItems[0];
|
|
8250
|
+
if (item) {
|
|
8251
|
+
rest.push(rItems[0]);
|
|
8252
|
+
if (mergeBodyMaps[`${mergeRowIndex}:${mergeColumnIndex}`]) {
|
|
8253
|
+
delete mergeBodyMaps[`${mergeRowIndex}:${mergeColumnIndex}`];
|
|
8254
|
+
}
|
|
8255
|
+
}
|
|
8256
|
+
}
|
|
8257
|
+
});
|
|
8258
|
+
}
|
|
8259
|
+
return rest;
|
|
8260
|
+
}
|
|
8261
|
+
function handleHeaderMerge($xeTable, merges) {
|
|
8124
8262
|
const reactData = $xeTable;
|
|
8125
8263
|
const internalData = $xeTable;
|
|
8126
8264
|
const {
|
|
8127
8265
|
footerTableData
|
|
8128
8266
|
} = reactData;
|
|
8129
8267
|
const {
|
|
8130
|
-
|
|
8131
|
-
|
|
8268
|
+
mergeHeaderList,
|
|
8269
|
+
mergeHeaderMaps,
|
|
8132
8270
|
fullColumnIdData
|
|
8133
8271
|
} = internalData;
|
|
8134
8272
|
if (merges) {
|
|
@@ -8162,7 +8300,7 @@ function handleFooterMerge($xeTable, merges) {
|
|
|
8162
8300
|
if (rowspan > 1 || colspan > 1) {
|
|
8163
8301
|
const row = footerTableData[mergeRowIndex];
|
|
8164
8302
|
const column = visibleColumn[mergeColumnIndex];
|
|
8165
|
-
let mergeItem =
|
|
8303
|
+
let mergeItem = mergeHeaderMaps[`${mergeRowIndex}:${mergeColumnIndex}`];
|
|
8166
8304
|
if (mergeItem) {
|
|
8167
8305
|
mergeItem.rowspan = rowspan;
|
|
8168
8306
|
mergeItem.colspan = colspan;
|
|
@@ -8179,27 +8317,23 @@ function handleFooterMerge($xeTable, merges) {
|
|
|
8179
8317
|
_rowspan: rowspan,
|
|
8180
8318
|
_colspan: colspan
|
|
8181
8319
|
};
|
|
8182
|
-
|
|
8183
|
-
|
|
8320
|
+
mergeHeaderMaps[`${mergeRowIndex}:${mergeColumnIndex}`] = mergeItem;
|
|
8321
|
+
mergeHeaderList.push(mergeItem);
|
|
8184
8322
|
}
|
|
8185
8323
|
}
|
|
8186
8324
|
}
|
|
8187
8325
|
});
|
|
8188
8326
|
}
|
|
8189
8327
|
}
|
|
8190
|
-
function
|
|
8328
|
+
function removeHeaderMerges($xeTable, merges) {
|
|
8191
8329
|
const internalData = $xeTable;
|
|
8192
8330
|
const {
|
|
8193
|
-
|
|
8331
|
+
mergeHeaderList,
|
|
8194
8332
|
fullColumnIdData,
|
|
8195
|
-
|
|
8196
|
-
mergeBodyMaps
|
|
8333
|
+
mergeHeaderMaps
|
|
8197
8334
|
} = internalData;
|
|
8198
8335
|
const rest = [];
|
|
8199
8336
|
if (merges) {
|
|
8200
|
-
const {
|
|
8201
|
-
handleGetRowId
|
|
8202
|
-
} = createHandleGetRowId($xeTable);
|
|
8203
8337
|
if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(merges)) {
|
|
8204
8338
|
merges = [merges];
|
|
8205
8339
|
}
|
|
@@ -8208,17 +8342,8 @@ function removeBodyMerges($xeTable, merges) {
|
|
|
8208
8342
|
row: margeRow,
|
|
8209
8343
|
col: margeCol
|
|
8210
8344
|
} = item;
|
|
8211
|
-
|
|
8345
|
+
const mergeRowIndex = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(margeRow) ? margeRow : -1;
|
|
8212
8346
|
let mergeColumnIndex = -1;
|
|
8213
|
-
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(margeRow)) {
|
|
8214
|
-
mergeRowIndex = margeRow;
|
|
8215
|
-
} else {
|
|
8216
|
-
const rowid = margeRow ? handleGetRowId(margeRow) : null;
|
|
8217
|
-
const rowRest = rowid ? fullAllDataRowIdData[rowid] : null;
|
|
8218
|
-
if (rowRest) {
|
|
8219
|
-
mergeRowIndex = rowRest._index;
|
|
8220
|
-
}
|
|
8221
|
-
}
|
|
8222
8347
|
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(margeCol)) {
|
|
8223
8348
|
mergeColumnIndex = margeCol;
|
|
8224
8349
|
} else {
|
|
@@ -8228,14 +8353,14 @@ function removeBodyMerges($xeTable, merges) {
|
|
|
8228
8353
|
mergeColumnIndex = colRest._index;
|
|
8229
8354
|
}
|
|
8230
8355
|
}
|
|
8231
|
-
const mcIndex = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findIndexOf(
|
|
8356
|
+
const mcIndex = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findIndexOf(mergeHeaderList, item => item.row === mergeRowIndex && item.col === mergeColumnIndex);
|
|
8232
8357
|
if (mcIndex > -1) {
|
|
8233
|
-
const rItems =
|
|
8358
|
+
const rItems = mergeHeaderList.splice(mcIndex, 1);
|
|
8234
8359
|
const item = rItems[0];
|
|
8235
8360
|
if (item) {
|
|
8236
|
-
rest.push(
|
|
8237
|
-
if (
|
|
8238
|
-
delete
|
|
8361
|
+
rest.push(item);
|
|
8362
|
+
if (mergeHeaderMaps[`${mergeRowIndex}:${mergeColumnIndex}`]) {
|
|
8363
|
+
delete mergeHeaderMaps[`${mergeRowIndex}:${mergeColumnIndex}`];
|
|
8239
8364
|
}
|
|
8240
8365
|
}
|
|
8241
8366
|
}
|
|
@@ -8243,6 +8368,73 @@ function removeBodyMerges($xeTable, merges) {
|
|
|
8243
8368
|
}
|
|
8244
8369
|
return rest;
|
|
8245
8370
|
}
|
|
8371
|
+
function handleFooterMerge($xeTable, merges) {
|
|
8372
|
+
const reactData = $xeTable;
|
|
8373
|
+
const internalData = $xeTable;
|
|
8374
|
+
const {
|
|
8375
|
+
footerTableData
|
|
8376
|
+
} = reactData;
|
|
8377
|
+
const {
|
|
8378
|
+
mergeFooterList,
|
|
8379
|
+
mergeFooterMaps,
|
|
8380
|
+
fullColumnIdData
|
|
8381
|
+
} = internalData;
|
|
8382
|
+
if (merges) {
|
|
8383
|
+
const {
|
|
8384
|
+
visibleColumn
|
|
8385
|
+
} = internalData;
|
|
8386
|
+
if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(merges)) {
|
|
8387
|
+
merges = [merges];
|
|
8388
|
+
}
|
|
8389
|
+
merges.forEach(item => {
|
|
8390
|
+
let {
|
|
8391
|
+
row: margeRow,
|
|
8392
|
+
col: margeCol,
|
|
8393
|
+
rowspan,
|
|
8394
|
+
colspan
|
|
8395
|
+
} = item;
|
|
8396
|
+
const mergeRowIndex = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(margeRow) ? margeRow : -1;
|
|
8397
|
+
let mergeColumnIndex = -1;
|
|
8398
|
+
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(margeCol)) {
|
|
8399
|
+
mergeColumnIndex = margeCol;
|
|
8400
|
+
} else {
|
|
8401
|
+
const colid = margeCol ? margeCol.id : null;
|
|
8402
|
+
const colRest = colid ? fullColumnIdData[colid] : null;
|
|
8403
|
+
if (colRest) {
|
|
8404
|
+
mergeColumnIndex = colRest._index;
|
|
8405
|
+
}
|
|
8406
|
+
}
|
|
8407
|
+
if (mergeRowIndex > -1 && mergeColumnIndex > -1 && (rowspan || colspan)) {
|
|
8408
|
+
rowspan = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(rowspan) || 1;
|
|
8409
|
+
colspan = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(colspan) || 1;
|
|
8410
|
+
if (rowspan > 1 || colspan > 1) {
|
|
8411
|
+
const row = footerTableData[mergeRowIndex];
|
|
8412
|
+
const column = visibleColumn[mergeColumnIndex];
|
|
8413
|
+
let mergeItem = mergeFooterMaps[`${mergeRowIndex}:${mergeColumnIndex}`];
|
|
8414
|
+
if (mergeItem) {
|
|
8415
|
+
mergeItem.rowspan = rowspan;
|
|
8416
|
+
mergeItem.colspan = colspan;
|
|
8417
|
+
mergeItem._rowspan = rowspan;
|
|
8418
|
+
mergeItem._colspan = colspan;
|
|
8419
|
+
} else {
|
|
8420
|
+
mergeItem = {
|
|
8421
|
+
row: mergeRowIndex,
|
|
8422
|
+
col: mergeColumnIndex,
|
|
8423
|
+
rowspan,
|
|
8424
|
+
colspan,
|
|
8425
|
+
_row: row,
|
|
8426
|
+
_col: column,
|
|
8427
|
+
_rowspan: rowspan,
|
|
8428
|
+
_colspan: colspan
|
|
8429
|
+
};
|
|
8430
|
+
mergeFooterMaps[`${mergeRowIndex}:${mergeColumnIndex}`] = mergeItem;
|
|
8431
|
+
mergeFooterList.push(mergeItem);
|
|
8432
|
+
}
|
|
8433
|
+
}
|
|
8434
|
+
}
|
|
8435
|
+
});
|
|
8436
|
+
}
|
|
8437
|
+
}
|
|
8246
8438
|
function removeFooterMerges($xeTable, merges) {
|
|
8247
8439
|
const internalData = $xeTable;
|
|
8248
8440
|
const {
|
|
@@ -8370,10 +8562,26 @@ function clearAllSort($xeTable) {
|
|
|
8370
8562
|
function calcTableHeight($xeTable, key) {
|
|
8371
8563
|
const props = $xeTable;
|
|
8372
8564
|
const reactData = $xeTable;
|
|
8565
|
+
const {
|
|
8566
|
+
editConfig
|
|
8567
|
+
} = props;
|
|
8373
8568
|
const {
|
|
8374
8569
|
parentHeight
|
|
8375
8570
|
} = reactData;
|
|
8376
|
-
|
|
8571
|
+
let val = props[key];
|
|
8572
|
+
if (key === 'minHeight') {
|
|
8573
|
+
const defMinHeight = methods_getConfig().table.minHeight;
|
|
8574
|
+
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(val)) {
|
|
8575
|
+
if (eqEmptyValue(defMinHeight)) {
|
|
8576
|
+
// 编辑模式默认最小高度
|
|
8577
|
+
if (isEnableConf(editConfig)) {
|
|
8578
|
+
val = 144;
|
|
8579
|
+
}
|
|
8580
|
+
} else {
|
|
8581
|
+
val = defMinHeight;
|
|
8582
|
+
}
|
|
8583
|
+
}
|
|
8584
|
+
}
|
|
8377
8585
|
let num = 0;
|
|
8378
8586
|
if (val) {
|
|
8379
8587
|
if (val === '100%' || val === 'auto') {
|
|
@@ -8922,13 +9130,24 @@ function handleDefaultMergeCells($xeTable) {
|
|
|
8922
9130
|
$xeTable.setMergeCells(mergeCells);
|
|
8923
9131
|
}
|
|
8924
9132
|
}
|
|
9133
|
+
function handleDefaultMergeHeaderItems($xeTable) {
|
|
9134
|
+
const props = $xeTable;
|
|
9135
|
+
const {
|
|
9136
|
+
mergeHeaderCells
|
|
9137
|
+
} = props;
|
|
9138
|
+
if (mergeHeaderCells) {
|
|
9139
|
+
$xeTable.setMergeHeaderCells(mergeHeaderCells);
|
|
9140
|
+
}
|
|
9141
|
+
}
|
|
8925
9142
|
function handleDefaultMergeFooterItems($xeTable) {
|
|
8926
9143
|
const props = $xeTable;
|
|
8927
9144
|
const {
|
|
9145
|
+
mergeFooterCells,
|
|
8928
9146
|
mergeFooterItems
|
|
8929
9147
|
} = props;
|
|
8930
|
-
|
|
8931
|
-
|
|
9148
|
+
const mFooterCells = mergeFooterCells || mergeFooterItems;
|
|
9149
|
+
if (mFooterCells) {
|
|
9150
|
+
$xeTable.setMergeFooterCells(mFooterCells);
|
|
8932
9151
|
}
|
|
8933
9152
|
}
|
|
8934
9153
|
// 计算可视渲染相关数据
|
|
@@ -9434,6 +9653,10 @@ function loadTableData($xeTable, datas, isReset) {
|
|
|
9434
9653
|
}
|
|
9435
9654
|
handleReserveStatus($xeTable);
|
|
9436
9655
|
$xeTable.checkSelectionStatus();
|
|
9656
|
+
$xeTable.dispatchEvent('data-change', {
|
|
9657
|
+
visibleColumn: internalData.visibleColumn,
|
|
9658
|
+
visibleData: internalData.afterFullData
|
|
9659
|
+
}, null);
|
|
9437
9660
|
return new Promise(resolve => {
|
|
9438
9661
|
$xeTable.$nextTick().then(() => handleRecalculateStyle($xeTable, false, false, false)).then(() => {
|
|
9439
9662
|
handleRecalculateStyle($xeTable, false, true, true);
|
|
@@ -9490,6 +9713,7 @@ function handleLoadDefaults($xeTable) {
|
|
|
9490
9713
|
handleDefaultTreeExpand($xeTable);
|
|
9491
9714
|
handleDefaultRowGroupExpand($xeTable);
|
|
9492
9715
|
handleDefaultMergeCells($xeTable);
|
|
9716
|
+
handleDefaultMergeHeaderItems($xeTable);
|
|
9493
9717
|
handleDefaultMergeFooterItems($xeTable);
|
|
9494
9718
|
$xeTable.$nextTick(() => setTimeout(() => $xeTable.recalculate()));
|
|
9495
9719
|
}
|
|
@@ -13523,6 +13747,16 @@ const Methods = {
|
|
|
13523
13747
|
internalData.mergeBodyCellMaps = buildMergeData(mergeBodyList);
|
|
13524
13748
|
reactData.mergeBodyFlag++;
|
|
13525
13749
|
},
|
|
13750
|
+
handleUpdateHeaderMerge() {
|
|
13751
|
+
const $xeTable = this;
|
|
13752
|
+
const reactData = $xeTable;
|
|
13753
|
+
const internalData = $xeTable;
|
|
13754
|
+
const {
|
|
13755
|
+
mergeHeaderList
|
|
13756
|
+
} = internalData;
|
|
13757
|
+
internalData.mergeHeaderCellMaps = buildMergeData(mergeHeaderList);
|
|
13758
|
+
reactData.mergeHeadFlag++;
|
|
13759
|
+
},
|
|
13526
13760
|
handleUpdateFooterMerge() {
|
|
13527
13761
|
const $xeTable = this;
|
|
13528
13762
|
const reactData = $xeTable;
|
|
@@ -18754,6 +18988,10 @@ const Methods = {
|
|
|
18754
18988
|
}
|
|
18755
18989
|
reactData.footerTableData = footData;
|
|
18756
18990
|
$xeTable.handleUpdateFooterMerge();
|
|
18991
|
+
$xeTable.dispatchEvent('footer-data-change', {
|
|
18992
|
+
visibleColumn: internalData.visibleColumn,
|
|
18993
|
+
footData
|
|
18994
|
+
}, null);
|
|
18757
18995
|
return $xeTable.$nextTick();
|
|
18758
18996
|
},
|
|
18759
18997
|
/**
|
|
@@ -18840,45 +19078,101 @@ const Methods = {
|
|
|
18840
19078
|
return updateStyle($xeTable);
|
|
18841
19079
|
});
|
|
18842
19080
|
},
|
|
18843
|
-
|
|
19081
|
+
setMergeHeaderCells(merges) {
|
|
19082
|
+
const $xeTable = this;
|
|
19083
|
+
handleHeaderMerge($xeTable, merges);
|
|
19084
|
+
$xeTable.handleUpdateHeaderMerge();
|
|
19085
|
+
return $xeTable.$nextTick().then(() => {
|
|
19086
|
+
return updateStyle($xeTable);
|
|
19087
|
+
});
|
|
19088
|
+
},
|
|
19089
|
+
/**
|
|
19090
|
+
* 移除表头单元格合并 [{row:Row|number, col:ColumnInfo|number}]
|
|
19091
|
+
*/
|
|
19092
|
+
removeMergeHeaderCells(merges) {
|
|
19093
|
+
const $xeTable = this;
|
|
19094
|
+
const rest = removeHeaderMerges($xeTable, merges);
|
|
19095
|
+
$xeTable.handleUpdateHeaderMerge();
|
|
19096
|
+
return $xeTable.$nextTick().then(() => {
|
|
19097
|
+
updateStyle($xeTable);
|
|
19098
|
+
return rest;
|
|
19099
|
+
});
|
|
19100
|
+
},
|
|
19101
|
+
/**
|
|
19102
|
+
* 获取所有被合并的表头单元格
|
|
19103
|
+
*/
|
|
19104
|
+
getMergeHeaderCells() {
|
|
19105
|
+
const $xeTable = this;
|
|
19106
|
+
const internalData = $xeTable;
|
|
19107
|
+
return internalData.mergeHeaderList.slice(0);
|
|
19108
|
+
},
|
|
19109
|
+
/**
|
|
19110
|
+
* 清除所有表头单元格合并
|
|
19111
|
+
*/
|
|
19112
|
+
clearMergeHeaderCells() {
|
|
19113
|
+
const $xeTable = this;
|
|
19114
|
+
const reactData = $xeTable;
|
|
19115
|
+
const internalData = $xeTable;
|
|
19116
|
+
internalData.mergeHeaderList = [];
|
|
19117
|
+
internalData.mergeHeaderMaps = {};
|
|
19118
|
+
internalData.mergeHeaderCellMaps = {};
|
|
19119
|
+
reactData.mergeHeadFlag++;
|
|
19120
|
+
return $xeTable.$nextTick().then(() => {
|
|
19121
|
+
return updateStyle($xeTable);
|
|
19122
|
+
});
|
|
19123
|
+
},
|
|
19124
|
+
setMergeFooterCells(merges) {
|
|
18844
19125
|
const $xeTable = this;
|
|
18845
19126
|
const props = $xeTable;
|
|
18846
19127
|
if (props.footerSpanMethod) {
|
|
18847
|
-
errLog('vxe.error.errConflicts', ['merge-footer-items', 'footer-span-method']);
|
|
19128
|
+
errLog('vxe.error.errConflicts', ['merge-footer-cells | merge-footer-items', 'footer-span-method']);
|
|
18848
19129
|
}
|
|
18849
19130
|
handleFooterMerge($xeTable, merges);
|
|
18850
19131
|
$xeTable.handleUpdateFooterMerge();
|
|
18851
19132
|
return $xeTable.$nextTick().then(() => {
|
|
18852
|
-
$xeTable.updateCellAreas();
|
|
18853
19133
|
return updateStyle($xeTable);
|
|
18854
19134
|
});
|
|
18855
19135
|
},
|
|
18856
|
-
|
|
19136
|
+
setMergeFooterItems(merges) {
|
|
19137
|
+
const $xeTable = this;
|
|
19138
|
+
// errLog('vxe.error.delFunc', ['setMergeFooterItems', 'setMergeFooterCells'])
|
|
19139
|
+
return $xeTable.setMergeFooterCells(merges);
|
|
19140
|
+
},
|
|
19141
|
+
removeMergeFooterCells(merges) {
|
|
18857
19142
|
const $xeTable = this;
|
|
18858
19143
|
const props = $xeTable;
|
|
18859
19144
|
if (props.footerSpanMethod) {
|
|
18860
|
-
errLog('vxe.error.errConflicts', ['merge-footer-items', 'footer-span-method']);
|
|
19145
|
+
errLog('vxe.error.errConflicts', ['merge-footer-cells | merge-footer-items', 'footer-span-method']);
|
|
18861
19146
|
}
|
|
18862
19147
|
const rest = removeFooterMerges($xeTable, merges);
|
|
18863
19148
|
$xeTable.handleUpdateFooterMerge();
|
|
18864
19149
|
return $xeTable.$nextTick().then(() => {
|
|
18865
|
-
$xeTable.updateCellAreas();
|
|
18866
19150
|
updateStyle($xeTable);
|
|
18867
19151
|
return rest;
|
|
18868
19152
|
});
|
|
18869
19153
|
},
|
|
19154
|
+
removeMergeFooterItems(merges) {
|
|
19155
|
+
const $xeTable = this;
|
|
19156
|
+
// errLog('vxe.error.delFunc', ['removeMergeFooterItems', 'removeMergeFooterCells'])
|
|
19157
|
+
return $xeTable.removeMergeFooterCells(merges);
|
|
19158
|
+
},
|
|
18870
19159
|
/**
|
|
18871
19160
|
* 获取所有被合并的表尾
|
|
18872
19161
|
*/
|
|
18873
|
-
|
|
19162
|
+
getMergeFooterCells() {
|
|
18874
19163
|
const $xeTable = this;
|
|
18875
19164
|
const internalData = $xeTable;
|
|
18876
19165
|
return internalData.mergeFooterList.slice(0);
|
|
18877
19166
|
},
|
|
19167
|
+
getMergeFooterItems() {
|
|
19168
|
+
const $xeTable = this;
|
|
19169
|
+
// errLog('vxe.error.delFunc', ['getMergeFooterItems', 'getMergeFooterCells'])
|
|
19170
|
+
return $xeTable.getMergeFooterCells();
|
|
19171
|
+
},
|
|
18878
19172
|
/**
|
|
18879
19173
|
* 清除所有表尾合并
|
|
18880
19174
|
*/
|
|
18881
|
-
|
|
19175
|
+
clearMergeFooterCells() {
|
|
18882
19176
|
const $xeTable = this;
|
|
18883
19177
|
const reactData = $xeTable;
|
|
18884
19178
|
const internalData = $xeTable;
|
|
@@ -18890,6 +19184,11 @@ const Methods = {
|
|
|
18890
19184
|
return updateStyle($xeTable);
|
|
18891
19185
|
});
|
|
18892
19186
|
},
|
|
19187
|
+
clearMergeFooterItems() {
|
|
19188
|
+
const $xeTable = this;
|
|
19189
|
+
// errLog('vxe.error.delFunc', ['clearMergeFooterItems', 'clearMergeFooterCells'])
|
|
19190
|
+
return $xeTable.clearMergeFooterCells();
|
|
19191
|
+
},
|
|
18893
19192
|
handleUpdateAggData() {
|
|
18894
19193
|
const $xeTable = this;
|
|
18895
19194
|
const internalData = $xeTable;
|
|
@@ -20027,7 +20326,7 @@ const {
|
|
|
20027
20326
|
renderEmptyElement: header_renderEmptyElement
|
|
20028
20327
|
} = core_.VxeUI;
|
|
20029
20328
|
const cellType = 'header';
|
|
20030
|
-
|
|
20329
|
+
function header_renderRows(h, _vm, isGroup, isOptimizeMode, headerGroups, $rowIndex, cols) {
|
|
20031
20330
|
const props = _vm;
|
|
20032
20331
|
const $xeTable = _vm.$parent;
|
|
20033
20332
|
const $xeGrid = $xeTable.$xeGrid;
|
|
@@ -20041,6 +20340,7 @@ const header_renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) =>
|
|
|
20041
20340
|
const {
|
|
20042
20341
|
resizable: allResizable,
|
|
20043
20342
|
columnKey,
|
|
20343
|
+
showCustomHeader,
|
|
20044
20344
|
headerCellClassName,
|
|
20045
20345
|
headerCellStyle,
|
|
20046
20346
|
showHeaderOverflow: allColumnHeaderOverflow,
|
|
@@ -20054,11 +20354,14 @@ const header_renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) =>
|
|
|
20054
20354
|
scrollXLoad,
|
|
20055
20355
|
scrollYLoad,
|
|
20056
20356
|
overflowX,
|
|
20357
|
+
mergeHeadFlag,
|
|
20057
20358
|
tableColumn
|
|
20058
20359
|
} = tableReactData;
|
|
20059
20360
|
const {
|
|
20060
20361
|
fullColumnIdData,
|
|
20061
|
-
scrollXStore
|
|
20362
|
+
scrollXStore,
|
|
20363
|
+
mergeHeaderList,
|
|
20364
|
+
mergeHeaderCellMaps
|
|
20062
20365
|
} = tableInternalData;
|
|
20063
20366
|
const virtualXOpts = $xeTable.computeVirtualXOpts;
|
|
20064
20367
|
const columnOpts = $xeTable.computeColumnOpts;
|
|
@@ -20072,6 +20375,7 @@ const header_renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) =>
|
|
|
20072
20375
|
isCrossDrag,
|
|
20073
20376
|
isPeerDrag
|
|
20074
20377
|
} = columnDragOpts;
|
|
20378
|
+
const isLastRow = $rowIndex === headerGroups.length - 1;
|
|
20075
20379
|
return cols.map((column, $columnIndex) => {
|
|
20076
20380
|
const {
|
|
20077
20381
|
type,
|
|
@@ -20104,7 +20408,7 @@ const header_renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) =>
|
|
|
20104
20408
|
hasFilter = filters.some(item => item.checked);
|
|
20105
20409
|
}
|
|
20106
20410
|
const columnIndex = colRest.index;
|
|
20107
|
-
const _columnIndex = colRest._index;
|
|
20411
|
+
const _columnIndex = showCustomHeader ? $columnIndex : colRest._index;
|
|
20108
20412
|
const cellParams = {
|
|
20109
20413
|
$table: $xeTable,
|
|
20110
20414
|
$grid: $xeGrid,
|
|
@@ -20121,10 +20425,34 @@ const header_renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) =>
|
|
|
20121
20425
|
hasFilter
|
|
20122
20426
|
};
|
|
20123
20427
|
const thAttrs = {
|
|
20124
|
-
colid
|
|
20125
|
-
colspan: column.colSpan > 1 ? column.colSpan : null,
|
|
20126
|
-
rowspan: column.rowSpan > 1 ? column.rowSpan : null
|
|
20428
|
+
colid
|
|
20127
20429
|
};
|
|
20430
|
+
let isMergeCell = false;
|
|
20431
|
+
// 合并行或列
|
|
20432
|
+
if (!showCustomHeader) {
|
|
20433
|
+
thAttrs.colspan = column.colSpan > 1 ? column.colSpan : null;
|
|
20434
|
+
thAttrs.rowspan = column.rowSpan > 1 ? column.rowSpan : null;
|
|
20435
|
+
}
|
|
20436
|
+
if (mergeHeadFlag && mergeHeaderList.length && (showCustomHeader || isLastRow)) {
|
|
20437
|
+
const spanRest = mergeHeaderCellMaps[`${$rowIndex}:${showCustomHeader ? $columnIndex : _columnIndex}`];
|
|
20438
|
+
if (spanRest) {
|
|
20439
|
+
const {
|
|
20440
|
+
rowspan,
|
|
20441
|
+
colspan
|
|
20442
|
+
} = spanRest;
|
|
20443
|
+
if (!rowspan || !colspan) {
|
|
20444
|
+
return null;
|
|
20445
|
+
}
|
|
20446
|
+
if (rowspan > 1) {
|
|
20447
|
+
isMergeCell = true;
|
|
20448
|
+
thAttrs.rowspan = rowspan;
|
|
20449
|
+
}
|
|
20450
|
+
if (colspan > 1) {
|
|
20451
|
+
isMergeCell = true;
|
|
20452
|
+
thAttrs.colspan = colspan;
|
|
20453
|
+
}
|
|
20454
|
+
}
|
|
20455
|
+
}
|
|
20128
20456
|
const thOns = {
|
|
20129
20457
|
click: evnt => $xeTable.triggerHeaderCellClickEvent(evnt, cellParams),
|
|
20130
20458
|
dblclick: evnt => $xeTable.triggerHeaderCellDblclickEvent(evnt, cellParams)
|
|
@@ -20151,7 +20479,7 @@ const header_renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) =>
|
|
|
20151
20479
|
const showResizable = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(column.resizable) ? column.resizable : columnOpts.resizable || allResizable;
|
|
20152
20480
|
const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
|
|
20153
20481
|
let isVNPreEmptyStatus = false;
|
|
20154
|
-
if (isOptimizeMode && overflowX && !isGroup) {
|
|
20482
|
+
if (isOptimizeMode && overflowX && !isGroup && !isMergeCell) {
|
|
20155
20483
|
if (!dragCol || dragCol.id !== colid) {
|
|
20156
20484
|
if (scrollXLoad && tableColumn.length > 10 && !column.fixed && !virtualXOpts.immediate && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
|
|
20157
20485
|
isVNPreEmptyStatus = true;
|
|
@@ -20165,7 +20493,7 @@ const header_renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) =>
|
|
|
20165
20493
|
tcStyle.minHeight = `${currCellHeight}px`;
|
|
20166
20494
|
}
|
|
20167
20495
|
return h('th', {
|
|
20168
|
-
class: ['vxe-table--column vxe-header--column', colid, {
|
|
20496
|
+
class: ['vxe-table--column vxe-header--column', colid, fixedHiddenColumn ? 'fixed--hidden' : 'fixed--visible', {
|
|
20169
20497
|
[`col--${headAlign}`]: headAlign,
|
|
20170
20498
|
[`col--${type}`]: type,
|
|
20171
20499
|
'col--last': isLastColumn,
|
|
@@ -20173,7 +20501,6 @@ const header_renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) =>
|
|
|
20173
20501
|
'col--group': isColGroup,
|
|
20174
20502
|
'col--ellipsis': hasEllipsis,
|
|
20175
20503
|
'fixed--width': !isAutoCellWidth,
|
|
20176
|
-
'fixed--hidden': fixedHiddenColumn,
|
|
20177
20504
|
'is--padding': isPadding,
|
|
20178
20505
|
'is--sortable': column.sortable,
|
|
20179
20506
|
'col--filter': !!filters,
|
|
@@ -20185,7 +20512,7 @@ const header_renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) =>
|
|
|
20185
20512
|
attrs: thAttrs,
|
|
20186
20513
|
style: headerCellStyle ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(headerCellStyle) ? headerCellStyle(cellParams) : headerCellStyle : undefined,
|
|
20187
20514
|
on: thOns,
|
|
20188
|
-
key: columnKey || scrollXLoad || scrollYLoad || columnOpts.useKey || columnOpts.drag || isColGroup ? colid : $columnIndex
|
|
20515
|
+
key: showCustomHeader ? `${colid}${$columnIndex}` : columnKey || scrollXLoad || scrollYLoad || columnOpts.useKey || columnOpts.drag || isColGroup ? colid : $columnIndex
|
|
20189
20516
|
}, [h('div', {
|
|
20190
20517
|
class: ['vxe-cell', {
|
|
20191
20518
|
'c--title': showTitle,
|
|
@@ -20200,9 +20527,9 @@ const header_renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) =>
|
|
|
20200
20527
|
class: 'vxe-cell--wrapper vxe-header-cell--wrapper'
|
|
20201
20528
|
}, column.renderHeader(h, cellParams))]),
|
|
20202
20529
|
/**
|
|
20203
|
-
|
|
20204
|
-
|
|
20205
|
-
!fixedHiddenColumn && showResizable ? h('div', {
|
|
20530
|
+
* 列宽拖动
|
|
20531
|
+
*/
|
|
20532
|
+
!fixedHiddenColumn && showResizable && (!showCustomHeader || isLastRow) ? h('div', {
|
|
20206
20533
|
class: 'vxe-cell--col-resizable',
|
|
20207
20534
|
on: {
|
|
20208
20535
|
mousedown: evnt => $xeTable.handleColResizeMousedownEvent(evnt, fixedType, cellParams),
|
|
@@ -20210,7 +20537,7 @@ const header_renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) =>
|
|
|
20210
20537
|
}
|
|
20211
20538
|
}) : header_renderEmptyElement($xeTable)]);
|
|
20212
20539
|
});
|
|
20213
|
-
}
|
|
20540
|
+
}
|
|
20214
20541
|
function renderHeads(h, _vm, isGroup, isOptimizeMode, headerGroups) {
|
|
20215
20542
|
const props = _vm;
|
|
20216
20543
|
const $xeTable = _vm.$parent;
|
|
@@ -20233,7 +20560,7 @@ function renderHeads(h, _vm, isGroup, isOptimizeMode, headerGroups) {
|
|
|
20233
20560
|
key: $rowIndex,
|
|
20234
20561
|
class: ['vxe-header--row', headerRowClassName ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(headerRowClassName) ? headerRowClassName(params) : headerRowClassName : ''],
|
|
20235
20562
|
style: headerRowStyle ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(headerRowStyle) ? headerRowStyle(params) : headerRowStyle : undefined
|
|
20236
|
-
}, header_renderRows(h, _vm, isGroup, isOptimizeMode,
|
|
20563
|
+
}, header_renderRows(h, _vm, isGroup, isOptimizeMode, headerGroups, $rowIndex, cols));
|
|
20237
20564
|
});
|
|
20238
20565
|
}
|
|
20239
20566
|
/* harmony default export */ var header = ({
|
|
@@ -20255,11 +20582,13 @@ function renderHeads(h, _vm, isGroup, isOptimizeMode, headerGroups) {
|
|
|
20255
20582
|
},
|
|
20256
20583
|
watch: {
|
|
20257
20584
|
tableColumn() {
|
|
20258
|
-
this
|
|
20585
|
+
const _vm = this;
|
|
20586
|
+
_vm.uploadColumn();
|
|
20259
20587
|
}
|
|
20260
20588
|
},
|
|
20261
20589
|
created() {
|
|
20262
|
-
this
|
|
20590
|
+
const _vm = this;
|
|
20591
|
+
_vm.uploadColumn();
|
|
20263
20592
|
},
|
|
20264
20593
|
mounted() {
|
|
20265
20594
|
const _vm = this;
|
|
@@ -20282,8 +20611,9 @@ function renderHeads(h, _vm, isGroup, isOptimizeMode, headerGroups) {
|
|
|
20282
20611
|
elemStore[`${prefix}repair`] = _vm.$refs.refHeaderBorderRepair;
|
|
20283
20612
|
},
|
|
20284
20613
|
destroyed() {
|
|
20285
|
-
const
|
|
20286
|
-
const
|
|
20614
|
+
const _vm = this;
|
|
20615
|
+
const props = _vm;
|
|
20616
|
+
const $xeTable = _vm.$parent;
|
|
20287
20617
|
const internalData = $xeTable;
|
|
20288
20618
|
const {
|
|
20289
20619
|
fixedType
|
|
@@ -20301,8 +20631,9 @@ function renderHeads(h, _vm, isGroup, isOptimizeMode, headerGroups) {
|
|
|
20301
20631
|
elemStore[`${prefix}repair`] = null;
|
|
20302
20632
|
},
|
|
20303
20633
|
render(h) {
|
|
20304
|
-
const
|
|
20305
|
-
const
|
|
20634
|
+
const _vm = this;
|
|
20635
|
+
const props = _vm;
|
|
20636
|
+
const $xeTable = _vm.$parent;
|
|
20306
20637
|
const tableProps = $xeTable;
|
|
20307
20638
|
const tableReactData = $xeTable;
|
|
20308
20639
|
const tableInternalData = $xeTable;
|
|
@@ -20316,7 +20647,7 @@ function renderHeads(h, _vm, isGroup, isOptimizeMode, headerGroups) {
|
|
|
20316
20647
|
} = props;
|
|
20317
20648
|
const {
|
|
20318
20649
|
headerColumn
|
|
20319
|
-
} =
|
|
20650
|
+
} = _vm;
|
|
20320
20651
|
const {
|
|
20321
20652
|
mouseConfig,
|
|
20322
20653
|
showHeaderOverflow: allColumnHeaderOverflow,
|
|
@@ -20435,7 +20766,7 @@ function renderHeads(h, _vm, isGroup, isOptimizeMode, headerGroups) {
|
|
|
20435
20766
|
*/
|
|
20436
20767
|
h('thead', {
|
|
20437
20768
|
ref: 'refHeaderTHead'
|
|
20438
|
-
}, renderHeads(h,
|
|
20769
|
+
}, renderHeads(h, _vm, isGroup, isOptimizeMode, renderHeaderList))]), mouseConfig && mouseOpts.area ? h('div', {
|
|
20439
20770
|
class: 'vxe-table--cell-area'
|
|
20440
20771
|
}, [h('span', {
|
|
20441
20772
|
class: 'vxe-table--cell-main-area'
|
|
@@ -20453,12 +20784,37 @@ function renderHeads(h, _vm, isGroup, isOptimizeMode, headerGroups) {
|
|
|
20453
20784
|
},
|
|
20454
20785
|
methods: {
|
|
20455
20786
|
uploadColumn() {
|
|
20456
|
-
const
|
|
20787
|
+
const _vm = this;
|
|
20788
|
+
const $xeTable = _vm.$parent;
|
|
20789
|
+
const tableProps = $xeTable;
|
|
20457
20790
|
const tableReactData = $xeTable;
|
|
20791
|
+
const tableInternalData = $xeTable;
|
|
20792
|
+
const props = _vm;
|
|
20793
|
+
const {
|
|
20794
|
+
showCustomHeader
|
|
20795
|
+
} = tableProps;
|
|
20796
|
+
const {
|
|
20797
|
+
collectColumn,
|
|
20798
|
+
visibleColumn
|
|
20799
|
+
} = tableInternalData;
|
|
20800
|
+
const {
|
|
20801
|
+
tableGroupColumn
|
|
20802
|
+
} = props;
|
|
20458
20803
|
const {
|
|
20459
20804
|
isGroup
|
|
20460
20805
|
} = tableReactData;
|
|
20461
|
-
|
|
20806
|
+
let spanColumns = isGroup ? convertHeaderColumnToRows(tableGroupColumn) : [];
|
|
20807
|
+
let visibleColgroups = [];
|
|
20808
|
+
if (showCustomHeader && spanColumns.length > 1) {
|
|
20809
|
+
visibleColgroups = convertHeaderToGridRows(spanColumns);
|
|
20810
|
+
spanColumns = visibleColgroups;
|
|
20811
|
+
}
|
|
20812
|
+
_vm.headerColumn = spanColumns;
|
|
20813
|
+
$xeTable.dispatchEvent('columns-change', {
|
|
20814
|
+
visibleColgroups,
|
|
20815
|
+
collectColumn,
|
|
20816
|
+
visibleColumn
|
|
20817
|
+
}, null);
|
|
20462
20818
|
}
|
|
20463
20819
|
}
|
|
20464
20820
|
});
|
|
@@ -20756,8 +21112,9 @@ function footer_renderHeads(h, _vm, isOptimizeMode, renderColumnList) {
|
|
|
20756
21112
|
elemStore[`${prefix}xSpace`] = _vm.$refs.refFooterXSpace;
|
|
20757
21113
|
},
|
|
20758
21114
|
destroyed() {
|
|
20759
|
-
const
|
|
20760
|
-
const
|
|
21115
|
+
const _vm = this;
|
|
21116
|
+
const props = _vm;
|
|
21117
|
+
const $xeTable = _vm.$parent;
|
|
20761
21118
|
const tableInternalData = $xeTable;
|
|
20762
21119
|
const {
|
|
20763
21120
|
fixedType
|
|
@@ -20774,8 +21131,9 @@ function footer_renderHeads(h, _vm, isOptimizeMode, renderColumnList) {
|
|
|
20774
21131
|
elemStore[`${prefix}xSpace`] = null;
|
|
20775
21132
|
},
|
|
20776
21133
|
render(h) {
|
|
20777
|
-
const
|
|
20778
|
-
const
|
|
21134
|
+
const _vm = this;
|
|
21135
|
+
const props = _vm;
|
|
21136
|
+
const $xeTable = _vm.$parent;
|
|
20779
21137
|
const tableProps = $xeTable;
|
|
20780
21138
|
const tableReactData = $xeTable;
|
|
20781
21139
|
const tableInternalData = $xeTable;
|
|
@@ -20894,7 +21252,7 @@ function footer_renderHeads(h, _vm, isOptimizeMode, renderColumnList) {
|
|
|
20894
21252
|
*/
|
|
20895
21253
|
h('tfoot', {
|
|
20896
21254
|
ref: 'refFooterTFoot'
|
|
20897
|
-
}, footer_renderHeads(h,
|
|
21255
|
+
}, footer_renderHeads(h, _vm, isOptimizeMode, renderColumnList))])])]);
|
|
20898
21256
|
}
|
|
20899
21257
|
});
|
|
20900
21258
|
;// CONCATENATED MODULE: ./packages/table/module/custom/panel.ts
|
|
@@ -29115,12 +29473,19 @@ function handleUpdateMergeBodyCells($xeTable, merges) {
|
|
|
29115
29473
|
internalData.mergeBodyCellMaps = {};
|
|
29116
29474
|
$xeTable.setMergeCells(merges);
|
|
29117
29475
|
}
|
|
29476
|
+
function handleUpdateMergeHeaderCells($xeTable, merges) {
|
|
29477
|
+
const internalData = $xeTable;
|
|
29478
|
+
internalData.mergeHeaderList = [];
|
|
29479
|
+
internalData.mergeHeaderMaps = {};
|
|
29480
|
+
internalData.mergeHeaderCellMaps = {};
|
|
29481
|
+
$xeTable.setMergeHeaderCells(merges);
|
|
29482
|
+
}
|
|
29118
29483
|
function handleUpdateMergeFooterCells($xeTable, merges) {
|
|
29119
29484
|
const internalData = $xeTable;
|
|
29120
29485
|
internalData.mergeFooterList = [];
|
|
29121
29486
|
internalData.mergeFooterMaps = {};
|
|
29122
29487
|
internalData.mergeFooterCellMaps = {};
|
|
29123
|
-
$xeTable.
|
|
29488
|
+
$xeTable.setMergeFooterCells(merges);
|
|
29124
29489
|
}
|
|
29125
29490
|
function handleKeyField($xeTable) {
|
|
29126
29491
|
const internalData = $xeTable;
|
|
@@ -29427,7 +29792,9 @@ function renderScrollX(h, $xeTable) {
|
|
|
29427
29792
|
}, [h('div', {
|
|
29428
29793
|
ref: 'refScrollXSpaceElem',
|
|
29429
29794
|
class: 'vxe-table--scroll-x-space'
|
|
29430
|
-
})])
|
|
29795
|
+
})]), h('div', {
|
|
29796
|
+
class: 'vxe-table--scroll-x-handle-appearance'
|
|
29797
|
+
})]), h('div', {
|
|
29431
29798
|
ref: 'refScrollXRightCornerElem',
|
|
29432
29799
|
class: 'vxe-table--scroll-x-right-corner'
|
|
29433
29800
|
})]);
|
|
@@ -29544,9 +29911,7 @@ function renderBody(h, $xeTable) {
|
|
|
29544
29911
|
},
|
|
29545
29912
|
data() {
|
|
29546
29913
|
const xID = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().uniqueId();
|
|
29547
|
-
|
|
29548
|
-
xID,
|
|
29549
|
-
tId: xID,
|
|
29914
|
+
const reactData = {
|
|
29550
29915
|
// 低性能的静态列
|
|
29551
29916
|
staticColumns: [],
|
|
29552
29917
|
// 渲染的列分组
|
|
@@ -29567,6 +29932,8 @@ function renderBody(h, $xeTable) {
|
|
|
29567
29932
|
scrollbarWidth: 0,
|
|
29568
29933
|
// 横向滚动条的高度
|
|
29569
29934
|
scrollbarHeight: 0,
|
|
29935
|
+
// 最后滚动时间戳
|
|
29936
|
+
lastScrollTime: 0,
|
|
29570
29937
|
// 行高
|
|
29571
29938
|
rowHeight: 0,
|
|
29572
29939
|
// 表格父容器的高度
|
|
@@ -29592,9 +29959,13 @@ function renderBody(h, $xeTable) {
|
|
|
29592
29959
|
expandColumn: null,
|
|
29593
29960
|
checkboxColumn: null,
|
|
29594
29961
|
radioColumn: null,
|
|
29595
|
-
hasFixedColumn: false,
|
|
29596
29962
|
// 树节点列信息
|
|
29597
29963
|
treeNodeColumn: null,
|
|
29964
|
+
hasFixedColumn: false,
|
|
29965
|
+
// 刷新列标识,当列筛选被改变时,触发表格刷新数据
|
|
29966
|
+
upDataFlag: 0,
|
|
29967
|
+
// 刷新列标识,当列的特定属性被改变时,触发表格刷新列
|
|
29968
|
+
reColumnFlag: 0,
|
|
29598
29969
|
// 初始化标识
|
|
29599
29970
|
initStore: {
|
|
29600
29971
|
filter: false,
|
|
@@ -29602,11 +29973,6 @@ function renderBody(h, $xeTable) {
|
|
|
29602
29973
|
export: false,
|
|
29603
29974
|
custom: false
|
|
29604
29975
|
},
|
|
29605
|
-
customColumnList: [],
|
|
29606
|
-
// 刷新列标识,当列筛选被改变时,触发表格刷新数据
|
|
29607
|
-
upDataFlag: 0,
|
|
29608
|
-
// 刷新列标识,当列的特定属性被改变时,触发表格刷新列
|
|
29609
|
-
reColumnFlag: 0,
|
|
29610
29976
|
// 自定义列相关的信息
|
|
29611
29977
|
customStore: {
|
|
29612
29978
|
btnEl: null,
|
|
@@ -29620,6 +29986,7 @@ function renderBody(h, $xeTable) {
|
|
|
29620
29986
|
oldFixedMaps: {},
|
|
29621
29987
|
oldVisibleMaps: {}
|
|
29622
29988
|
},
|
|
29989
|
+
customColumnList: [],
|
|
29623
29990
|
// 当前选中的筛选列
|
|
29624
29991
|
filterStore: {
|
|
29625
29992
|
isAllSelected: false,
|
|
@@ -29688,6 +30055,7 @@ function renderBody(h, $xeTable) {
|
|
|
29688
30055
|
tooltipStore: {
|
|
29689
30056
|
row: null,
|
|
29690
30057
|
column: null,
|
|
30058
|
+
content: null,
|
|
29691
30059
|
visible: false,
|
|
29692
30060
|
currOpts: {}
|
|
29693
30061
|
},
|
|
@@ -29720,8 +30088,8 @@ function renderBody(h, $xeTable) {
|
|
|
29720
30088
|
columns: [],
|
|
29721
30089
|
isPrint: false,
|
|
29722
30090
|
hasFooter: false,
|
|
29723
|
-
hasTree: false,
|
|
29724
30091
|
hasMerge: false,
|
|
30092
|
+
hasTree: false,
|
|
29725
30093
|
hasColgroup: false,
|
|
29726
30094
|
visible: false
|
|
29727
30095
|
},
|
|
@@ -29752,6 +30120,7 @@ function renderBody(h, $xeTable) {
|
|
|
29752
30120
|
pendingRowFlag: 1,
|
|
29753
30121
|
insertRowFlag: 1,
|
|
29754
30122
|
removeRowFlag: 1,
|
|
30123
|
+
mergeHeadFlag: 1,
|
|
29755
30124
|
mergeBodyFlag: 1,
|
|
29756
30125
|
mergeFootFlag: 1,
|
|
29757
30126
|
rowHeightStore: {
|
|
@@ -29768,6 +30137,7 @@ function renderBody(h, $xeTable) {
|
|
|
29768
30137
|
scrollXLeft: 0,
|
|
29769
30138
|
scrollXWidth: 0,
|
|
29770
30139
|
isScrollXBig: false,
|
|
30140
|
+
lazScrollLoading: false,
|
|
29771
30141
|
rowExpandHeightFlag: 1,
|
|
29772
30142
|
calcCellHeightFlag: 1,
|
|
29773
30143
|
resizeHeightFlag: 1,
|
|
@@ -29780,10 +30150,16 @@ function renderBody(h, $xeTable) {
|
|
|
29780
30150
|
dragTipText: '',
|
|
29781
30151
|
isDragResize: false,
|
|
29782
30152
|
isRowLoading: false,
|
|
29783
|
-
isColLoading: false
|
|
30153
|
+
isColLoading: false
|
|
30154
|
+
};
|
|
30155
|
+
return {
|
|
30156
|
+
xID,
|
|
30157
|
+
...reactData,
|
|
30158
|
+
// 私有属性
|
|
29784
30159
|
reScrollFlag: 0,
|
|
29785
30160
|
reLayoutFlag: 0,
|
|
29786
30161
|
footFlag: 0,
|
|
30162
|
+
mergeFooteCellFlag: 0,
|
|
29787
30163
|
crossTableDragRowInfo: crossTableDragRowGlobal
|
|
29788
30164
|
};
|
|
29789
30165
|
},
|
|
@@ -30548,9 +30924,21 @@ function renderBody(h, $xeTable) {
|
|
|
30548
30924
|
const $xeTable = this;
|
|
30549
30925
|
handleUpdateMergeBodyCells($xeTable, value);
|
|
30550
30926
|
},
|
|
30551
|
-
|
|
30927
|
+
mergeHeaderCells(value) {
|
|
30552
30928
|
const $xeTable = this;
|
|
30553
|
-
|
|
30929
|
+
handleUpdateMergeHeaderCells($xeTable, value);
|
|
30930
|
+
},
|
|
30931
|
+
mergeFooterCells() {
|
|
30932
|
+
this.mergeFooteCellFlag++;
|
|
30933
|
+
},
|
|
30934
|
+
mergeFooterItems() {
|
|
30935
|
+
this.mergeFooteCellFlag++;
|
|
30936
|
+
},
|
|
30937
|
+
mergeFooteCellFlag() {
|
|
30938
|
+
const $xeTable = this;
|
|
30939
|
+
const props = $xeTable;
|
|
30940
|
+
const mFooterCells = props.mergeFooterCells || props.mergeFooterItems;
|
|
30941
|
+
handleUpdateMergeFooterCells($xeTable, mFooterCells || []);
|
|
30554
30942
|
},
|
|
30555
30943
|
computeRowGroupFields(val) {
|
|
30556
30944
|
const $xeTable = this;
|