vxe-table 3.15.7 → 3.15.9
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/render/index.js +16 -3
- package/es/table/src/footer.js +11 -15
- package/es/table/src/header.js +20 -11
- package/es/table/src/methods.js +9 -5
- package/es/table/style.css +12 -5
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +3 -3
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +12 -5
- 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 +46 -37
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/render/index.js +17 -3
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/footer.js +10 -15
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +5 -10
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/methods.js +10 -5
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/style/style.css +12 -5
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +3 -3
- 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 +12 -5
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/table/render/index.ts +17 -3
- package/packages/table/src/footer.ts +11 -15
- package/packages/table/src/header.ts +20 -11
- package/packages/table/src/methods.ts +11 -5
- package/packages/ui/index.ts +2 -2
- package/styles/components/table.scss +30 -17
- /package/es/{iconfont.1745290222894.ttf → iconfont.1745458119157.ttf} +0 -0
- /package/es/{iconfont.1745290222894.woff → iconfont.1745458119157.woff} +0 -0
- /package/es/{iconfont.1745290222894.woff2 → iconfont.1745458119157.woff2} +0 -0
- /package/lib/{iconfont.1745290222894.ttf → iconfont.1745458119157.ttf} +0 -0
- /package/lib/{iconfont.1745290222894.woff → iconfont.1745458119157.woff} +0 -0
- /package/lib/{iconfont.1745290222894.woff2 → iconfont.1745458119157.woff2} +0 -0
package/es/table/src/footer.js
CHANGED
|
@@ -5,7 +5,7 @@ import { updateCellTitle } from '../../ui/src/dom';
|
|
|
5
5
|
import { getCellHeight } from './util';
|
|
6
6
|
const renderType = 'footer';
|
|
7
7
|
const { renderer, renderEmptyElement } = VxeUI;
|
|
8
|
-
function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIndex) {
|
|
8
|
+
function renderRows(h, _vm, isOptimizeMode, tableColumn, footerTableData, row, $rowIndex, _rowIndex) {
|
|
9
9
|
const props = _vm;
|
|
10
10
|
const $xeTable = _vm.$parent;
|
|
11
11
|
const tableProps = $xeTable;
|
|
@@ -37,10 +37,10 @@ function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIn
|
|
|
37
37
|
const isPadding = XEUtils.isBoolean(footerCellOpts.padding) ? footerCellOpts.padding : cellOpts.padding;
|
|
38
38
|
const footOverflow = XEUtils.eqNull(showFooterOverflow) ? allColumnFooterOverflow : showFooterOverflow;
|
|
39
39
|
const footAlign = footerAlign || (compConf ? compConf.tableFooterCellAlign : '') || allFooterAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign;
|
|
40
|
-
|
|
40
|
+
const showEllipsis = footOverflow === 'ellipsis';
|
|
41
41
|
const showTitle = footOverflow === 'title';
|
|
42
42
|
const showTooltip = footOverflow === true || footOverflow === 'tooltip';
|
|
43
|
-
|
|
43
|
+
const hasEllipsis = showTitle || showTooltip || showEllipsis;
|
|
44
44
|
const showResizable = (XEUtils.isBoolean(column.resizable) ? column.resizable : (columnOpts.resizable || allResizable));
|
|
45
45
|
const attrs = { colid };
|
|
46
46
|
const tfOns = {};
|
|
@@ -64,10 +64,6 @@ function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIn
|
|
|
64
64
|
type: renderType,
|
|
65
65
|
data: footerTableData
|
|
66
66
|
};
|
|
67
|
-
// 纵向虚拟滚动不支持动态行高
|
|
68
|
-
if (scrollXLoad && !hasEllipsis) {
|
|
69
|
-
showEllipsis = hasEllipsis = true;
|
|
70
|
-
}
|
|
71
67
|
if (showTitle || showTooltip || showAllTip) {
|
|
72
68
|
tfOns.mouseenter = (evnt) => {
|
|
73
69
|
if (showTitle) {
|
|
@@ -126,7 +122,7 @@ function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIn
|
|
|
126
122
|
const isLastColumn = $columnIndex === tableColumn.length - 1;
|
|
127
123
|
const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
|
|
128
124
|
let isVNPreEmptyStatus = false;
|
|
129
|
-
if (!isMergeCell) {
|
|
125
|
+
if (isOptimizeMode && !isMergeCell) {
|
|
130
126
|
if (scrollXLoad && !column.fixed && !virtualXOpts.immediate && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
|
|
131
127
|
isVNPreEmptyStatus = true;
|
|
132
128
|
}
|
|
@@ -188,7 +184,7 @@ function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIn
|
|
|
188
184
|
]);
|
|
189
185
|
});
|
|
190
186
|
}
|
|
191
|
-
function renderHeads(h, _vm, renderColumnList) {
|
|
187
|
+
function renderHeads(h, _vm, isOptimizeMode, renderColumnList) {
|
|
192
188
|
const props = _vm;
|
|
193
189
|
const $xeTable = _vm.$parent;
|
|
194
190
|
const tableProps = $xeTable;
|
|
@@ -213,7 +209,7 @@ function renderHeads(h, _vm, renderColumnList) {
|
|
|
213
209
|
],
|
|
214
210
|
style: footerRowStyle ? (XEUtils.isFunction(footerRowStyle) ? footerRowStyle(rowParams) : footerRowStyle) : undefined
|
|
215
211
|
}
|
|
216
|
-
}, renderRows(h, _vm, renderColumnList, footerTableData, row, $rowIndex, _rowIndex));
|
|
212
|
+
}, renderRows(h, _vm, isOptimizeMode, renderColumnList, footerTableData, row, $rowIndex, _rowIndex));
|
|
217
213
|
}
|
|
218
214
|
return h('tr', {
|
|
219
215
|
key: $rowIndex,
|
|
@@ -222,7 +218,7 @@ function renderHeads(h, _vm, renderColumnList) {
|
|
|
222
218
|
footerRowClassName ? XEUtils.isFunction(footerRowClassName) ? footerRowClassName(rowParams) : footerRowClassName : ''
|
|
223
219
|
],
|
|
224
220
|
style: footerRowStyle ? (XEUtils.isFunction(footerRowStyle) ? footerRowStyle(rowParams) : footerRowStyle) : undefined
|
|
225
|
-
}, renderRows(h, _vm, renderColumnList, footerTableData, row, $rowIndex, _rowIndex));
|
|
221
|
+
}, renderRows(h, _vm, isOptimizeMode, renderColumnList, footerTableData, row, $rowIndex, _rowIndex));
|
|
226
222
|
});
|
|
227
223
|
}
|
|
228
224
|
export default {
|
|
@@ -284,11 +280,11 @@ export default {
|
|
|
284
280
|
const { fixedType, fixedColumn, tableColumn } = props;
|
|
285
281
|
const { spanMethod, footerSpanMethod, showFooterOverflow: allColumnFooterOverflow } = tableProps;
|
|
286
282
|
const { visibleColumn, fullColumnIdData } = tableInternalData;
|
|
287
|
-
const { isGroup, isColLoading, overflowX, scrollXLoad,
|
|
283
|
+
const { isGroup, isColLoading, overflowX, scrollXLoad, dragCol } = tableReactData;
|
|
288
284
|
let renderColumnList = tableColumn;
|
|
289
285
|
let isOptimizeMode = false;
|
|
290
286
|
// 如果是使用优化模式
|
|
291
|
-
if (scrollXLoad
|
|
287
|
+
if (scrollXLoad && allColumnFooterOverflow) {
|
|
292
288
|
if (spanMethod || footerSpanMethod) {
|
|
293
289
|
// 如果不支持优化模式
|
|
294
290
|
}
|
|
@@ -296,7 +292,7 @@ export default {
|
|
|
296
292
|
isOptimizeMode = true;
|
|
297
293
|
}
|
|
298
294
|
}
|
|
299
|
-
if (!isColLoading && (fixedType || !overflowX)) {
|
|
295
|
+
if (!isOptimizeMode || (!isColLoading && (fixedType || !overflowX))) {
|
|
300
296
|
renderColumnList = visibleColumn;
|
|
301
297
|
}
|
|
302
298
|
if (fixedType) {
|
|
@@ -382,7 +378,7 @@ export default {
|
|
|
382
378
|
*/
|
|
383
379
|
h('tfoot', {
|
|
384
380
|
ref: 'refFooterTFoot'
|
|
385
|
-
}, renderHeads(h, this, renderColumnList))
|
|
381
|
+
}, renderHeads(h, this, isOptimizeMode, renderColumnList))
|
|
386
382
|
])
|
|
387
383
|
])
|
|
388
384
|
]);
|
package/es/table/src/header.js
CHANGED
|
@@ -35,10 +35,10 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
|
|
|
35
35
|
const isPadding = XEUtils.isBoolean(headerCellOpts.padding) ? headerCellOpts.padding : cellOpts.padding;
|
|
36
36
|
const headOverflow = XEUtils.isUndefined(showHeaderOverflow) || XEUtils.isNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow;
|
|
37
37
|
const headAlign = headerAlign || (compConf ? compConf.tableHeaderCellAlign : '') || allHeaderAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign;
|
|
38
|
-
|
|
38
|
+
const showEllipsis = headOverflow === 'ellipsis';
|
|
39
39
|
const showTitle = headOverflow === 'title';
|
|
40
40
|
const showTooltip = headOverflow === true || headOverflow === 'tooltip';
|
|
41
|
-
|
|
41
|
+
const hasEllipsis = showTitle || showTooltip || showEllipsis;
|
|
42
42
|
let hasFilter = false;
|
|
43
43
|
let firstFilterOption = null;
|
|
44
44
|
if (filters) {
|
|
@@ -47,7 +47,20 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
|
|
|
47
47
|
}
|
|
48
48
|
const columnIndex = colRest.index;
|
|
49
49
|
const _columnIndex = colRest._index;
|
|
50
|
-
const cellParams = {
|
|
50
|
+
const cellParams = {
|
|
51
|
+
$table: $xeTable,
|
|
52
|
+
$grid: $xeGrid,
|
|
53
|
+
$rowIndex,
|
|
54
|
+
column,
|
|
55
|
+
columnIndex,
|
|
56
|
+
$columnIndex,
|
|
57
|
+
_columnIndex,
|
|
58
|
+
firstFilterOption,
|
|
59
|
+
fixed: fixedType,
|
|
60
|
+
type: cellType,
|
|
61
|
+
isHidden: fixedHiddenColumn,
|
|
62
|
+
hasFilter
|
|
63
|
+
};
|
|
51
64
|
const thAttrs = {
|
|
52
65
|
colid,
|
|
53
66
|
colspan: column.colSpan > 1 ? column.colSpan : null,
|
|
@@ -57,10 +70,6 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
|
|
|
57
70
|
click: (evnt) => $xeTable.triggerHeaderCellClickEvent(evnt, cellParams),
|
|
58
71
|
dblclick: (evnt) => $xeTable.triggerHeaderCellDblclickEvent(evnt, cellParams)
|
|
59
72
|
};
|
|
60
|
-
// 虚拟滚动不支持动态高度
|
|
61
|
-
if (scrollXLoad && !hasEllipsis) {
|
|
62
|
-
showEllipsis = hasEllipsis = true;
|
|
63
|
-
}
|
|
64
73
|
const isColDragCell = columnOpts.drag && columnDragOpts.trigger === 'cell';
|
|
65
74
|
let isDisabledDrag = false;
|
|
66
75
|
if (isColDragCell) {
|
|
@@ -83,7 +92,7 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
|
|
|
83
92
|
const showResizable = (XEUtils.isBoolean(column.resizable) ? column.resizable : (columnOpts.resizable || allResizable));
|
|
84
93
|
const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
|
|
85
94
|
let isVNPreEmptyStatus = false;
|
|
86
|
-
if (!isGroup) {
|
|
95
|
+
if (isOptimizeMode && !isGroup) {
|
|
87
96
|
if (!dragCol || dragCol.id !== colid) {
|
|
88
97
|
if (scrollXLoad && !column.fixed && !virtualXOpts.immediate && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
|
|
89
98
|
isVNPreEmptyStatus = true;
|
|
@@ -254,7 +263,7 @@ export default {
|
|
|
254
263
|
const { fixedType, fixedColumn, tableColumn } = props;
|
|
255
264
|
const { headerColumn } = this;
|
|
256
265
|
const { mouseConfig, showHeaderOverflow: allColumnHeaderOverflow, spanMethod, footerSpanMethod } = tableProps;
|
|
257
|
-
const { isGroup, isColLoading, overflowX, scrollXLoad,
|
|
266
|
+
const { isGroup, isColLoading, overflowX, scrollXLoad, dragCol } = tableReactData;
|
|
258
267
|
const { visibleColumn, fullColumnIdData } = tableInternalData;
|
|
259
268
|
const mouseOpts = $xeTable.computeMouseOpts;
|
|
260
269
|
let renderHeaderList = headerColumn;
|
|
@@ -265,7 +274,7 @@ export default {
|
|
|
265
274
|
}
|
|
266
275
|
else {
|
|
267
276
|
// 如果是使用优化模式
|
|
268
|
-
if (scrollXLoad
|
|
277
|
+
if (scrollXLoad && allColumnHeaderOverflow) {
|
|
269
278
|
if (spanMethod || footerSpanMethod) {
|
|
270
279
|
// 如果不支持优化模式
|
|
271
280
|
}
|
|
@@ -273,7 +282,7 @@ export default {
|
|
|
273
282
|
isOptimizeMode = true;
|
|
274
283
|
}
|
|
275
284
|
}
|
|
276
|
-
if (!isColLoading && (fixedType || !overflowX)) {
|
|
285
|
+
if (!isOptimizeMode || (!isColLoading && (fixedType || !overflowX))) {
|
|
277
286
|
renderColumnList = visibleColumn;
|
|
278
287
|
}
|
|
279
288
|
if (fixedType) {
|
package/es/table/src/methods.js
CHANGED
|
@@ -829,7 +829,7 @@ function updateStyle($xeTable) {
|
|
|
829
829
|
const reactData = $xeTable;
|
|
830
830
|
const internalData = $xeTable;
|
|
831
831
|
const { showHeaderOverflow: allColumnHeaderOverflow, showFooterOverflow: allColumnFooterOverflow, mouseConfig, spanMethod, footerSpanMethod } = props;
|
|
832
|
-
const { isGroup, currentRow, tableColumn, scrollXLoad, scrollYLoad, overflowX, scrollbarWidth, overflowY, scrollbarHeight, scrollXWidth, columnStore, editStore, isAllOverflow, expandColumn } = reactData;
|
|
832
|
+
const { isGroup, currentRow, tableColumn, scrollXLoad, scrollYLoad, overflowX, scrollbarWidth, overflowY, scrollbarHeight, scrollXWidth, columnStore, editStore, isAllOverflow, expandColumn, isColLoading } = reactData;
|
|
833
833
|
const { visibleColumn, tableHeight, headerHeight, footerHeight, elemStore, customHeight, customMinHeight, customMaxHeight } = internalData;
|
|
834
834
|
const el = $xeTable.$refs.refElem;
|
|
835
835
|
if (!el) {
|
|
@@ -939,7 +939,7 @@ function updateStyle($xeTable) {
|
|
|
939
939
|
}
|
|
940
940
|
else {
|
|
941
941
|
// 如果是使用优化模式
|
|
942
|
-
if (scrollXLoad
|
|
942
|
+
if (scrollXLoad && allColumnHeaderOverflow) {
|
|
943
943
|
if (spanMethod || footerSpanMethod) {
|
|
944
944
|
// 如果不支持优化模式
|
|
945
945
|
}
|
|
@@ -947,8 +947,10 @@ function updateStyle($xeTable) {
|
|
|
947
947
|
isOptimizeMode = true;
|
|
948
948
|
}
|
|
949
949
|
}
|
|
950
|
-
if (fixedType) {
|
|
950
|
+
if (!isOptimizeMode || (!isColLoading && (fixedType || !overflowX))) {
|
|
951
951
|
renderColumnList = visibleColumn;
|
|
952
|
+
}
|
|
953
|
+
if (fixedType) {
|
|
952
954
|
// 如果是使用优化模式
|
|
953
955
|
if (isOptimizeMode) {
|
|
954
956
|
renderColumnList = fixedColumn || [];
|
|
@@ -1040,7 +1042,7 @@ function updateStyle($xeTable) {
|
|
|
1040
1042
|
let renderColumnList = tableColumn;
|
|
1041
1043
|
let isOptimizeMode = false;
|
|
1042
1044
|
// 如果是使用优化模式
|
|
1043
|
-
if (scrollXLoad
|
|
1045
|
+
if (scrollXLoad && allColumnFooterOverflow) {
|
|
1044
1046
|
if (spanMethod || footerSpanMethod) {
|
|
1045
1047
|
// 如果不支持优化模式
|
|
1046
1048
|
}
|
|
@@ -1048,8 +1050,10 @@ function updateStyle($xeTable) {
|
|
|
1048
1050
|
isOptimizeMode = true;
|
|
1049
1051
|
}
|
|
1050
1052
|
}
|
|
1051
|
-
if (
|
|
1053
|
+
if (!isOptimizeMode) {
|
|
1052
1054
|
renderColumnList = visibleColumn;
|
|
1055
|
+
}
|
|
1056
|
+
if (fixedType) {
|
|
1053
1057
|
if (isOptimizeMode) {
|
|
1054
1058
|
renderColumnList = fixedColumn || [];
|
|
1055
1059
|
}
|
package/es/table/style.css
CHANGED
|
@@ -2493,11 +2493,6 @@
|
|
|
2493
2493
|
line-height: var(--vxe-ui-table-row-line-height);
|
|
2494
2494
|
text-align: left;
|
|
2495
2495
|
}
|
|
2496
|
-
.vxe-table--render-default .vxe-header--column.col--current,
|
|
2497
|
-
.vxe-table--render-default .vxe-body--column.col--current,
|
|
2498
|
-
.vxe-table--render-default .vxe-footer--column.col--current {
|
|
2499
|
-
background-color: var(--vxe-ui-table-column-current-background-color);
|
|
2500
|
-
}
|
|
2501
2496
|
.vxe-table--render-default .vxe-header--column.col--center,
|
|
2502
2497
|
.vxe-table--render-default .vxe-body--column.col--center,
|
|
2503
2498
|
.vxe-table--render-default .vxe-footer--column.col--center {
|
|
@@ -2529,6 +2524,18 @@
|
|
|
2529
2524
|
.vxe-table--render-default .vxe-body--row.row--stripe > .vxe-body--column {
|
|
2530
2525
|
background-color: var(--vxe-ui-table-row-striped-background-color);
|
|
2531
2526
|
}
|
|
2527
|
+
.vxe-table--render-default .vxe-header--column,
|
|
2528
|
+
.vxe-table--render-default .vxe-body--column,
|
|
2529
|
+
.vxe-table--render-default .vxe-footer--column {
|
|
2530
|
+
position: relative;
|
|
2531
|
+
line-height: var(--vxe-ui-table-row-line-height);
|
|
2532
|
+
text-align: left;
|
|
2533
|
+
}
|
|
2534
|
+
.vxe-table--render-default .vxe-header--column.col--current,
|
|
2535
|
+
.vxe-table--render-default .vxe-body--column.col--current,
|
|
2536
|
+
.vxe-table--render-default .vxe-footer--column.col--current {
|
|
2537
|
+
background-color: var(--vxe-ui-table-column-current-background-color);
|
|
2538
|
+
}
|
|
2532
2539
|
.vxe-table--render-default .vxe-body--row.row--radio > .vxe-body--column {
|
|
2533
2540
|
background-color: var(--vxe-ui-table-row-radio-checked-background-color);
|
|
2534
2541
|
}
|