vxe-table 4.18.1 → 4.18.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/grid/src/grid.js +1 -1
- 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/module/filter/hook.js +11 -2
- package/es/table/module/menu/hook.js +2 -2
- package/es/table/src/body.js +3 -2
- package/es/table/src/table.js +96 -7
- package/es/table/src/util.js +1 -2
- package/es/table/style.css +2 -2
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +3 -2
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +2 -2
- package/es/vxe-table/style.min.css +1 -1
- package/lib/grid/src/grid.js +1 -1
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +33 -20
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/filter/hook.js +12 -2
- package/lib/table/module/filter/hook.min.js +1 -1
- package/lib/table/module/menu/hook.js +2 -1
- package/lib/table/module/menu/hook.min.js +1 -1
- package/lib/table/src/body.js +4 -2
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/table.js +9 -9
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +1 -2
- package/lib/table/src/util.min.js +1 -1
- package/lib/table/style/style.css +2 -2
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +3 -2
- 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 +2 -2
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/grid/src/grid.ts +1 -1
- package/packages/table/module/filter/hook.ts +10 -2
- package/packages/table/module/menu/hook.ts +2 -2
- package/packages/table/src/body.ts +3 -2
- package/packages/table/src/table.ts +100 -9
- package/packages/table/src/util.ts +2 -2
- package/packages/ui/index.ts +2 -1
- package/styles/components/table.scss +2 -2
- package/styles/theme/base.scss +3 -0
- /package/es/{iconfont.1773109208977.ttf → iconfont.1773640299992.ttf} +0 -0
- /package/es/{iconfont.1773109208977.woff → iconfont.1773640299992.woff} +0 -0
- /package/es/{iconfont.1773109208977.woff2 → iconfont.1773640299992.woff2} +0 -0
- /package/lib/{iconfont.1773109208977.ttf → iconfont.1773640299992.ttf} +0 -0
- /package/lib/{iconfont.1773109208977.woff → iconfont.1773640299992.woff} +0 -0
- /package/lib/{iconfont.1773109208977.woff2 → iconfont.1773640299992.woff2} +0 -0
|
@@ -35,7 +35,7 @@ hooks.add('tableFilterModule', {
|
|
|
35
35
|
const tableEl = refElem.value;
|
|
36
36
|
const { scrollTop, scrollLeft, visibleHeight, visibleWidth } = getDomNode();
|
|
37
37
|
const filterOpts = computeFilterOpts.value;
|
|
38
|
-
const { transfer } = filterOpts;
|
|
38
|
+
const { maxHeight: customMaxHeight, transfer, zIndex } = filterOpts;
|
|
39
39
|
const currEl = btnEl || colEl;
|
|
40
40
|
const tableRect = tableEl.getBoundingClientRect();
|
|
41
41
|
const filterRender = column ? column.filterRender : null;
|
|
@@ -96,14 +96,23 @@ hooks.add('tableFilterModule', {
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
|
-
|
|
99
|
+
const fStys = {
|
|
100
100
|
top: toCssUnit(top),
|
|
101
101
|
left: toCssUnit(left)
|
|
102
102
|
};
|
|
103
|
+
if (zIndex) {
|
|
104
|
+
fStys.zIndex = zIndex;
|
|
105
|
+
}
|
|
106
|
+
filterStore.style = fStys;
|
|
103
107
|
// 筛选面板是自适应表格高度
|
|
104
108
|
if (compConf ? !compConf.tableFilterAutoHeight : false) {
|
|
105
109
|
maxHeight = 0;
|
|
106
110
|
}
|
|
111
|
+
else {
|
|
112
|
+
if (customMaxHeight) {
|
|
113
|
+
maxHeight = customMaxHeight > maxHeight ? maxHeight : customMaxHeight;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
107
116
|
// 判断面板不能大于表格高度
|
|
108
117
|
filterStore.maxHeight = maxHeight;
|
|
109
118
|
});
|
|
@@ -23,7 +23,7 @@ hooks.add('tableMenuModule', {
|
|
|
23
23
|
const isContentMenu = computeIsContentMenu.value;
|
|
24
24
|
const menuOpts = computeMenuOpts.value;
|
|
25
25
|
const config = menuOpts[type];
|
|
26
|
-
const { transfer, visibleMethod } = menuOpts;
|
|
26
|
+
const { zIndex, transfer, visibleMethod } = menuOpts;
|
|
27
27
|
if (config) {
|
|
28
28
|
const { options, disabled } = config;
|
|
29
29
|
if (disabled) {
|
|
@@ -56,7 +56,7 @@ hooks.add('tableMenuModule', {
|
|
|
56
56
|
selectChild: null,
|
|
57
57
|
showChild: false,
|
|
58
58
|
style: {
|
|
59
|
-
zIndex: internalData.tZindex,
|
|
59
|
+
zIndex: zIndex || internalData.tZindex,
|
|
60
60
|
top: `${top}px`,
|
|
61
61
|
left: `${left}px`
|
|
62
62
|
}
|
package/es/table/src/body.js
CHANGED
|
@@ -35,8 +35,9 @@ export default defineVxeComponent({
|
|
|
35
35
|
// 滚动、拖动过程中不需要触发
|
|
36
36
|
const isVMScrollProcess = () => {
|
|
37
37
|
const { delayHover } = tableProps;
|
|
38
|
-
const {
|
|
39
|
-
|
|
38
|
+
const { isDragResize } = tableReactData;
|
|
39
|
+
const { lastSTime } = tableInternalData;
|
|
40
|
+
return !!(isDragResize || (lastSTime && Date.now() < lastSTime + delayHover));
|
|
40
41
|
};
|
|
41
42
|
const renderLine = (rowid, params, cellHeight) => {
|
|
42
43
|
const { column } = params;
|
package/es/table/src/table.js
CHANGED
|
@@ -518,6 +518,18 @@ export default defineVxeComponent({
|
|
|
518
518
|
}
|
|
519
519
|
return '';
|
|
520
520
|
});
|
|
521
|
+
const computeTableStyle = computed(() => {
|
|
522
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
523
|
+
const { width, height } = scrollbarOpts;
|
|
524
|
+
const tStys = {};
|
|
525
|
+
if (width) {
|
|
526
|
+
tStys['--vxe-ui-table-view-scrollbar-width'] = toCssUnit(width);
|
|
527
|
+
}
|
|
528
|
+
if (height) {
|
|
529
|
+
tStys['--vxe-ui-table-view-scrollbar-height'] = toCssUnit(height);
|
|
530
|
+
}
|
|
531
|
+
return tStys;
|
|
532
|
+
});
|
|
521
533
|
const computeTableRowExpandedList = computed(() => {
|
|
522
534
|
const { tableData, rowExpandedFlag, expandColumn, rowGroupExpandedFlag, treeExpandedFlag } = reactData;
|
|
523
535
|
const { visibleDataRowIdData, rowExpandedMaps } = internalData;
|
|
@@ -3590,7 +3602,7 @@ export default defineVxeComponent({
|
|
|
3590
3602
|
if (reactData.expandColumn && expandOpts.mode !== 'fixed') {
|
|
3591
3603
|
errLog('vxe.error.notConflictProp', ['column.type="expand', 'expand-config.mode="fixed"']);
|
|
3592
3604
|
}
|
|
3593
|
-
if (virtualYOpts.mode === 'scroll' && expandOpts.mode === 'fixed') {
|
|
3605
|
+
if (virtualYOpts.mode === 'scroll' && reactData.expandColumn && expandOpts.mode === 'fixed') {
|
|
3594
3606
|
warnLog('vxe.error.notConflictProp', ['virtual-y-config.mode=scroll', 'expand-config.mode=inside']);
|
|
3595
3607
|
}
|
|
3596
3608
|
// if (showOverflow) {
|
|
@@ -4281,7 +4293,7 @@ export default defineVxeComponent({
|
|
|
4281
4293
|
return Promise.all([
|
|
4282
4294
|
xRest,
|
|
4283
4295
|
yRest,
|
|
4284
|
-
$xeTable.updateCellAreas()
|
|
4296
|
+
scrollXLoad || scrollYLoad ? $xeTable.updateCellAreas() : null
|
|
4285
4297
|
]);
|
|
4286
4298
|
};
|
|
4287
4299
|
const checkLastSyncScroll = (isRollX, isRollY) => {
|
|
@@ -5116,6 +5128,43 @@ export default defineVxeComponent({
|
|
|
5116
5128
|
}
|
|
5117
5129
|
return cellLabel;
|
|
5118
5130
|
},
|
|
5131
|
+
updateCellLabel(row, fieldOrColumn) {
|
|
5132
|
+
const column = handleFieldOrColumn($xeTable, fieldOrColumn);
|
|
5133
|
+
if (!column) {
|
|
5134
|
+
return null;
|
|
5135
|
+
}
|
|
5136
|
+
const { fullAllDataRowIdData } = internalData;
|
|
5137
|
+
const rowid = getRowid($xeTable, row);
|
|
5138
|
+
if (rowid) {
|
|
5139
|
+
const colid = column.id;
|
|
5140
|
+
const rowid = getRowid($xeTable, row);
|
|
5141
|
+
const rowRest = fullAllDataRowIdData[rowid];
|
|
5142
|
+
if (rowRest) {
|
|
5143
|
+
const formatData = rowRest.formatData;
|
|
5144
|
+
if (formatData) {
|
|
5145
|
+
delete formatData[colid];
|
|
5146
|
+
}
|
|
5147
|
+
}
|
|
5148
|
+
}
|
|
5149
|
+
return $xeTable.getFooterCellLabel(row, column);
|
|
5150
|
+
},
|
|
5151
|
+
clearFormatterCache(isUpdate) {
|
|
5152
|
+
const { tableData, tableColumn } = reactData;
|
|
5153
|
+
const { fullAllDataRowIdData } = internalData;
|
|
5154
|
+
XEUtils.each(fullAllDataRowIdData, (rowRest) => {
|
|
5155
|
+
if (rowRest.formatData) {
|
|
5156
|
+
rowRest.formatData = undefined;
|
|
5157
|
+
}
|
|
5158
|
+
});
|
|
5159
|
+
if (isUpdate) {
|
|
5160
|
+
tableData.forEach(row => {
|
|
5161
|
+
tableColumn.forEach(column => {
|
|
5162
|
+
$xeTable.getCellLabel(row, column);
|
|
5163
|
+
});
|
|
5164
|
+
});
|
|
5165
|
+
}
|
|
5166
|
+
return nextTick();
|
|
5167
|
+
},
|
|
5119
5168
|
getFooterCellLabel(row, fieldOrColumn) {
|
|
5120
5169
|
const column = handleFieldOrColumn($xeTable, fieldOrColumn);
|
|
5121
5170
|
if (!column) {
|
|
@@ -5184,6 +5233,41 @@ export default defineVxeComponent({
|
|
|
5184
5233
|
}
|
|
5185
5234
|
return cellLabel;
|
|
5186
5235
|
},
|
|
5236
|
+
updateFooterCellLabel(row, fieldOrColumn) {
|
|
5237
|
+
const column = handleFieldOrColumn($xeTable, fieldOrColumn);
|
|
5238
|
+
if (!column) {
|
|
5239
|
+
return null;
|
|
5240
|
+
}
|
|
5241
|
+
const { footerTableData } = reactData;
|
|
5242
|
+
const { footerFullDataRowData } = internalData;
|
|
5243
|
+
const colid = column.id;
|
|
5244
|
+
const $rowIndex = footerTableData.indexOf(row);
|
|
5245
|
+
const rowRest = footerFullDataRowData[$rowIndex];
|
|
5246
|
+
if (rowRest) {
|
|
5247
|
+
const formatData = rowRest.formatData;
|
|
5248
|
+
if (formatData) {
|
|
5249
|
+
delete formatData[colid];
|
|
5250
|
+
}
|
|
5251
|
+
}
|
|
5252
|
+
return $xeTable.getFooterCellLabel(row, column);
|
|
5253
|
+
},
|
|
5254
|
+
clearFooterFormatterCache(isUpdate) {
|
|
5255
|
+
const { tableData, tableColumn } = reactData;
|
|
5256
|
+
const { footerFullDataRowData } = internalData;
|
|
5257
|
+
XEUtils.each(footerFullDataRowData, (rowRest) => {
|
|
5258
|
+
if (rowRest.formatData) {
|
|
5259
|
+
rowRest.formatData = undefined;
|
|
5260
|
+
}
|
|
5261
|
+
});
|
|
5262
|
+
if (isUpdate) {
|
|
5263
|
+
tableData.forEach(row => {
|
|
5264
|
+
tableColumn.forEach(column => {
|
|
5265
|
+
$xeTable.getFooterCellLabel(row, column);
|
|
5266
|
+
});
|
|
5267
|
+
});
|
|
5268
|
+
}
|
|
5269
|
+
return nextTick();
|
|
5270
|
+
},
|
|
5187
5271
|
/**
|
|
5188
5272
|
* 检查是否为临时行数据
|
|
5189
5273
|
*/
|
|
@@ -7131,14 +7215,18 @@ export default defineVxeComponent({
|
|
|
7131
7215
|
setScrollLeft(bodyScrollElem, scrollLeft);
|
|
7132
7216
|
setScrollLeft(headerScrollElem, scrollLeft);
|
|
7133
7217
|
setScrollLeft(footerScrollElem, scrollLeft);
|
|
7134
|
-
|
|
7218
|
+
if (reactData.scrollXLoad) {
|
|
7219
|
+
loadScrollXData();
|
|
7220
|
+
}
|
|
7135
7221
|
}
|
|
7136
7222
|
if (XEUtils.isNumber(scrollTop)) {
|
|
7137
7223
|
setScrollTop(yHandleEl, scrollTop);
|
|
7138
7224
|
setScrollTop(bodyScrollElem, scrollTop);
|
|
7139
7225
|
setScrollTop(leftScrollElem, scrollTop);
|
|
7140
7226
|
setScrollTop(rightScrollElem, scrollTop);
|
|
7141
|
-
|
|
7227
|
+
if (reactData.scrollYLoad) {
|
|
7228
|
+
loadScrollYData();
|
|
7229
|
+
}
|
|
7142
7230
|
}
|
|
7143
7231
|
return new Promise(resolve => {
|
|
7144
7232
|
setTimeout(() => {
|
|
@@ -11471,7 +11559,7 @@ export default defineVxeComponent({
|
|
|
11471
11559
|
}
|
|
11472
11560
|
internalData.lastScrollTop = scrollTop;
|
|
11473
11561
|
}
|
|
11474
|
-
|
|
11562
|
+
internalData.lastSTime = Date.now();
|
|
11475
11563
|
const evntParams = Object.assign({ source: sourceType, scrollTop,
|
|
11476
11564
|
scrollLeft,
|
|
11477
11565
|
bodyHeight,
|
|
@@ -11711,7 +11799,7 @@ export default defineVxeComponent({
|
|
|
11711
11799
|
if (!bodyScrollElem) {
|
|
11712
11800
|
return;
|
|
11713
11801
|
}
|
|
11714
|
-
const wheelSpeed = getWheelSpeed(
|
|
11802
|
+
const wheelSpeed = getWheelSpeed(internalData.lastSTime);
|
|
11715
11803
|
const deltaTop = shiftKey ? 0 : (deltaY * wheelSpeed);
|
|
11716
11804
|
const deltaLeft = (shiftKey ? (deltaX || deltaY) : deltaX) * wheelSpeed;
|
|
11717
11805
|
const currScrollTop = bodyScrollElem.scrollTop;
|
|
@@ -12689,6 +12777,7 @@ export default defineVxeComponent({
|
|
|
12689
12777
|
footer: slots.footerTooltip || slots['footer-tooltip']
|
|
12690
12778
|
};
|
|
12691
12779
|
const currTooltipSlot = tooltipStore.visible && tooltipStore.type ? tipSlots[tooltipStore.type] : null;
|
|
12780
|
+
const tableStyle = computeTableStyle.value;
|
|
12692
12781
|
const rowDragOpts = computeRowDragOpts.value;
|
|
12693
12782
|
const tableTipConfig = computeTableTipConfig.value;
|
|
12694
12783
|
const validTipConfig = computeValidTipConfig.value;
|
|
@@ -12753,7 +12842,7 @@ export default defineVxeComponent({
|
|
|
12753
12842
|
'not--scroll-x': !overflowX,
|
|
12754
12843
|
'is--virtual-x': scrollXLoad,
|
|
12755
12844
|
'is--virtual-y': scrollYLoad
|
|
12756
|
-
}], spellcheck: false }, tbOns), [
|
|
12845
|
+
}], style: tableStyle, spellcheck: false }, tbOns), [
|
|
12757
12846
|
/**
|
|
12758
12847
|
* 隐藏列
|
|
12759
12848
|
*/
|
package/es/table/src/util.js
CHANGED
|
@@ -124,6 +124,7 @@ export function createInternalData() {
|
|
|
124
124
|
tFooterHeight: 0,
|
|
125
125
|
teleportToWrapperElem: null,
|
|
126
126
|
popupToWrapperElem: null,
|
|
127
|
+
lastSTime: 0,
|
|
127
128
|
inited: false,
|
|
128
129
|
tooltipTimeout: null,
|
|
129
130
|
initStatus: false,
|
|
@@ -153,8 +154,6 @@ export function createReactData() {
|
|
|
153
154
|
scrollbarWidth: 0,
|
|
154
155
|
// 横向滚动条的高度
|
|
155
156
|
scrollbarHeight: 0,
|
|
156
|
-
// 最后滚动时间戳
|
|
157
|
-
lastScrollTime: 0,
|
|
158
157
|
// 行高
|
|
159
158
|
rowHeight: 0,
|
|
160
159
|
// 表格父容器的高度
|
package/es/table/style.css
CHANGED
|
@@ -2415,7 +2415,7 @@
|
|
|
2415
2415
|
.vxe-table .vxe-table--scroll-x-handle {
|
|
2416
2416
|
overflow-y: hidden;
|
|
2417
2417
|
overflow-x: scroll;
|
|
2418
|
-
height:
|
|
2418
|
+
height: var(--vxe-ui-table-view-scrollbar-height);
|
|
2419
2419
|
}
|
|
2420
2420
|
.vxe-table .vxe-table--scroll-y-handle,
|
|
2421
2421
|
.vxe-table .vxe-table--scroll-y-wrapper {
|
|
@@ -2427,7 +2427,7 @@
|
|
|
2427
2427
|
.vxe-table .vxe-table--scroll-y-handle {
|
|
2428
2428
|
overflow-y: scroll;
|
|
2429
2429
|
overflow-x: hidden;
|
|
2430
|
-
width:
|
|
2430
|
+
width: var(--vxe-ui-table-view-scrollbar-width);
|
|
2431
2431
|
height: 100%;
|
|
2432
2432
|
}
|
|
2433
2433
|
.vxe-table .vxe-table--scroll-x-space {
|