vxe-table 4.23.0-beta.3 → 4.23.0-beta.4
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/dist/all.esm.js +114 -101
- package/dist/style.css +1 -1
- package/dist/style.min.css +1 -1
- package/es/grid/src/grid.js +3 -0
- 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 +4 -7
- package/es/table/module/filter/panel.js +42 -46
- package/es/table/src/table.js +63 -45
- package/es/table/src/util.js +1 -2
- package/es/table/style.css +31 -12
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +2 -2
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +31 -12
- package/es/vxe-table/style.min.css +1 -1
- package/lib/grid/src/grid.js +5 -0
- 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 +61 -58
- 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 +5 -7
- package/lib/table/module/filter/hook.min.js +1 -1
- package/lib/table/module/filter/panel.js +34 -33
- package/lib/table/module/filter/panel.min.js +1 -1
- package/lib/table/src/table.js +13 -13
- 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 +31 -12
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +2 -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 +31 -12
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/grid/src/grid.ts +3 -0
- package/packages/table/module/filter/hook.ts +4 -7
- package/packages/table/module/filter/panel.ts +45 -46
- package/packages/table/src/table.ts +64 -45
- package/packages/table/src/util.ts +1 -2
- package/packages/ui/index.ts +1 -1
- package/styles/components/table-module/filter.scss +25 -14
- /package/es/{iconfont.1792117711657.ttf → iconfont.1792139865095.ttf} +0 -0
- /package/es/{iconfont.1792117711657.woff → iconfont.1792139865095.woff} +0 -0
- /package/es/{iconfont.1792117711657.woff2 → iconfont.1792139865095.woff2} +0 -0
- /package/lib/{iconfont.1792117711657.ttf → iconfont.1792139865095.ttf} +0 -0
- /package/lib/{iconfont.1792117711657.woff → iconfont.1792139865095.woff} +0 -0
- /package/lib/{iconfont.1792117711657.woff2 → iconfont.1792139865095.woff2} +0 -0
package/dist/all.esm.js
CHANGED
|
@@ -56,7 +56,7 @@ function getDefaultConfig(val1, def1) {
|
|
|
56
56
|
return XEUtils.eqNull(val1) ? def1 : val1;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
-
const version = "4.23.0-beta.
|
|
59
|
+
const version = "4.23.0-beta.4";
|
|
60
60
|
VxeUI.version = version;
|
|
61
61
|
VxeUI.tableVersion = version;
|
|
62
62
|
VxeUI.setConfig({
|
|
@@ -219,7 +219,7 @@ VxeUI.setConfig({
|
|
|
219
219
|
destroyOnClose: true,
|
|
220
220
|
multiple: true,
|
|
221
221
|
showIcon: true,
|
|
222
|
-
maxHeight:
|
|
222
|
+
maxHeight: 320
|
|
223
223
|
},
|
|
224
224
|
floatingFilterConfig: {
|
|
225
225
|
// enabled: false
|
|
@@ -952,7 +952,7 @@ function getPopupAppendElement(appendTo) {
|
|
|
952
952
|
}
|
|
953
953
|
|
|
954
954
|
const { log } = VxeUI;
|
|
955
|
-
const tableVersion = `table v${"4.23.0-beta.
|
|
955
|
+
const tableVersion = `table v${"4.23.0-beta.4"}`;
|
|
956
956
|
function createComponentLog(name) {
|
|
957
957
|
const uiVersion = VxeUI.uiVersion ? `ui v${VxeUI.uiVersion}` : '';
|
|
958
958
|
const ganttVersion = VxeUI.ganttVersion ? `gantt v${VxeUI.ganttVersion}` : '';
|
|
@@ -1406,8 +1406,7 @@ function createReactData$2() {
|
|
|
1406
1406
|
isIndeterminate: false,
|
|
1407
1407
|
style: null,
|
|
1408
1408
|
column: null,
|
|
1409
|
-
visible: false
|
|
1410
|
-
maxHeight: null
|
|
1409
|
+
visible: false
|
|
1411
1410
|
},
|
|
1412
1411
|
// 存放列相关的信息
|
|
1413
1412
|
columnStore: {
|
|
@@ -7670,6 +7669,7 @@ var TableFilterPanelComponent = defineVxeComponent({
|
|
|
7670
7669
|
},
|
|
7671
7670
|
setup(props, context) {
|
|
7672
7671
|
const xID = XEUtils.uniqueId();
|
|
7672
|
+
const VxeUIScrollbarComponent = VxeUI.getComponent('VxeScrollbar');
|
|
7673
7673
|
const $xeTable = inject('$xeTable', {});
|
|
7674
7674
|
const { reactData: tableReactData, internalData: tableInternalData, getComputeMaps } = $xeTable;
|
|
7675
7675
|
const { computeFilterOpts, computeRendererOpts } = getComputeMaps();
|
|
@@ -7757,10 +7757,12 @@ var TableFilterPanelComponent = defineVxeComponent({
|
|
|
7757
7757
|
Object.assign($xeFilterPanel, filterPanelMethods);
|
|
7758
7758
|
const renderOptions = (filterRender, compConf) => {
|
|
7759
7759
|
const { filterStore } = props;
|
|
7760
|
-
const { column
|
|
7760
|
+
const { column } = filterStore;
|
|
7761
7761
|
if (!column) {
|
|
7762
7762
|
return [];
|
|
7763
7763
|
}
|
|
7764
|
+
const filterOpts = computeFilterOpts.value;
|
|
7765
|
+
const { useScrollbar } = filterOpts;
|
|
7764
7766
|
const { filterMultiple, filters, slots } = column;
|
|
7765
7767
|
const filterOptions = (filters || []);
|
|
7766
7768
|
const filterSlot = slots ? slots.filter : null;
|
|
@@ -7769,34 +7771,46 @@ var TableFilterPanelComponent = defineVxeComponent({
|
|
|
7769
7771
|
if (filterSlot) {
|
|
7770
7772
|
return [
|
|
7771
7773
|
h('div', {
|
|
7772
|
-
class: 'vxe-table--filter-template'
|
|
7773
|
-
style: maxHeight
|
|
7774
|
-
? {
|
|
7775
|
-
maxHeight: toCssUnit(maxHeight)
|
|
7776
|
-
}
|
|
7777
|
-
: {}
|
|
7774
|
+
class: 'vxe-table--filter-template'
|
|
7778
7775
|
}, $xeTable.callSlot(filterSlot, params))
|
|
7779
7776
|
];
|
|
7780
7777
|
}
|
|
7781
7778
|
else if (filterRender && rtFilter) {
|
|
7782
7779
|
return [
|
|
7783
7780
|
h('div', {
|
|
7784
|
-
class: 'vxe-table--filter-template'
|
|
7785
|
-
style: maxHeight
|
|
7786
|
-
? {
|
|
7787
|
-
maxHeight: toCssUnit(maxHeight)
|
|
7788
|
-
}
|
|
7789
|
-
: {}
|
|
7781
|
+
class: 'vxe-table--filter-template'
|
|
7790
7782
|
}, getSlotVNs(rtFilter(filterRender, params)))
|
|
7791
7783
|
];
|
|
7792
7784
|
}
|
|
7793
7785
|
const isAllChecked = filterMultiple ? filterStore.isAllSelected : !filterOptions.some((item) => item._checked);
|
|
7794
7786
|
const isAllIndeterminate = filterMultiple && filterStore.isIndeterminate;
|
|
7787
|
+
const optVNs = filterOptions.map((item) => {
|
|
7788
|
+
const isChecked = item._checked;
|
|
7789
|
+
return h('div', {
|
|
7790
|
+
class: ['vxe-table--filter-option', {
|
|
7791
|
+
'is--checked': item._checked
|
|
7792
|
+
}],
|
|
7793
|
+
title: item.label,
|
|
7794
|
+
onClick: (evnt) => {
|
|
7795
|
+
changeOption(evnt, !item._checked, item);
|
|
7796
|
+
}
|
|
7797
|
+
}, (filterMultiple
|
|
7798
|
+
? [
|
|
7799
|
+
h('span', {
|
|
7800
|
+
class: ['vxe-checkbox--icon', (isChecked ? getIcon$5().TABLE_CHECKBOX_CHECKED : getIcon$5().TABLE_CHECKBOX_UNCHECKED)]
|
|
7801
|
+
})
|
|
7802
|
+
]
|
|
7803
|
+
: []).concat([
|
|
7804
|
+
h('span', {
|
|
7805
|
+
class: 'vxe-checkbox--label'
|
|
7806
|
+
}, formatText(item.label, 1))
|
|
7807
|
+
]));
|
|
7808
|
+
});
|
|
7795
7809
|
return [
|
|
7796
|
-
h('
|
|
7810
|
+
h('div', {
|
|
7797
7811
|
class: 'vxe-table--filter-header'
|
|
7798
7812
|
}, [
|
|
7799
|
-
h('
|
|
7813
|
+
h('div', {
|
|
7800
7814
|
class: ['vxe-table--filter-option', {
|
|
7801
7815
|
'is--checked': isAllChecked,
|
|
7802
7816
|
'is--indeterminate': isAllIndeterminate
|
|
@@ -7817,35 +7831,16 @@ var TableFilterPanelComponent = defineVxeComponent({
|
|
|
7817
7831
|
}, getI18n$9('vxe.table.allFilter'))
|
|
7818
7832
|
]))
|
|
7819
7833
|
]),
|
|
7820
|
-
|
|
7821
|
-
|
|
7822
|
-
|
|
7823
|
-
|
|
7824
|
-
|
|
7825
|
-
|
|
7826
|
-
|
|
7827
|
-
|
|
7828
|
-
|
|
7829
|
-
|
|
7830
|
-
class: ['vxe-table--filter-option', {
|
|
7831
|
-
'is--checked': item._checked
|
|
7832
|
-
}],
|
|
7833
|
-
title: item.label,
|
|
7834
|
-
onClick: (evnt) => {
|
|
7835
|
-
changeOption(evnt, !item._checked, item);
|
|
7836
|
-
}
|
|
7837
|
-
}, (filterMultiple
|
|
7838
|
-
? [
|
|
7839
|
-
h('span', {
|
|
7840
|
-
class: ['vxe-checkbox--icon', (isChecked ? getIcon$5().TABLE_CHECKBOX_CHECKED : getIcon$5().TABLE_CHECKBOX_UNCHECKED)]
|
|
7841
|
-
})
|
|
7842
|
-
]
|
|
7843
|
-
: []).concat([
|
|
7844
|
-
h('span', {
|
|
7845
|
-
class: 'vxe-checkbox--label'
|
|
7846
|
-
}, formatText(item.label, 1))
|
|
7847
|
-
]));
|
|
7848
|
-
}))
|
|
7834
|
+
useScrollbar
|
|
7835
|
+
? h(VxeUIScrollbarComponent, {
|
|
7836
|
+
class: 'vxe-table--scrollbar-filter-body',
|
|
7837
|
+
viewClassName: 'vxe-table--scrollbar-filter-body-view'
|
|
7838
|
+
}, {
|
|
7839
|
+
default: () => optVNs
|
|
7840
|
+
})
|
|
7841
|
+
: h('div', {
|
|
7842
|
+
class: 'vxe-table--filter-body'
|
|
7843
|
+
}, optVNs)
|
|
7849
7844
|
];
|
|
7850
7845
|
};
|
|
7851
7846
|
const renderFooters = () => {
|
|
@@ -8955,7 +8950,7 @@ hooks$7.add('tableFilterModule', {
|
|
|
8955
8950
|
const { refElem, refTableFilter } = $xeTable.getRefMaps();
|
|
8956
8951
|
const { computeFilterOpts, computeMouseOpts, computeRendererOpts } = $xeTable.getComputeMaps();
|
|
8957
8952
|
const updatePopupStyle = () => {
|
|
8958
|
-
const { filterStore } = reactData;
|
|
8953
|
+
const { filterStore, scrollbarHeight } = reactData;
|
|
8959
8954
|
const { elemStore } = internalData;
|
|
8960
8955
|
const { column, targetEl } = filterStore;
|
|
8961
8956
|
if (!column) {
|
|
@@ -8976,8 +8971,6 @@ hooks$7.add('tableFilterModule', {
|
|
|
8976
8971
|
if (!filterWrapperElem) {
|
|
8977
8972
|
return nextTick();
|
|
8978
8973
|
}
|
|
8979
|
-
const filterHeadElem = filterWrapperElem.querySelector('.vxe-table--filter-header');
|
|
8980
|
-
const filterFootElem = filterWrapperElem.querySelector('.vxe-table--filter-footer');
|
|
8981
8974
|
/**
|
|
8982
8975
|
* 是否显示筛选按钮图标
|
|
8983
8976
|
* 如果不存在图标,则相对单元格居中显示
|
|
@@ -9014,7 +9007,7 @@ hooks$7.add('tableFilterModule', {
|
|
|
9014
9007
|
const centerWidth = targetEl ? filterWidth / 2 : ((filterWidth - column.renderWidth) / 2);
|
|
9015
9008
|
left = btnRect.left - tableRect.left - centerWidth;
|
|
9016
9009
|
top = btnRect.top - tableRect.top + currEl.clientHeight;
|
|
9017
|
-
maxHeight = Math.max(40, tableEl.clientHeight - top -
|
|
9010
|
+
maxHeight = Math.max(40, tableEl.clientHeight - top - scrollbarHeight);
|
|
9018
9011
|
if (left < 1) {
|
|
9019
9012
|
left = 1;
|
|
9020
9013
|
}
|
|
@@ -9036,7 +9029,6 @@ hooks$7.add('tableFilterModule', {
|
|
|
9036
9029
|
if (zIndex) {
|
|
9037
9030
|
panelStyle.zIndex = zIndex;
|
|
9038
9031
|
}
|
|
9039
|
-
filterStore.style = panelStyle;
|
|
9040
9032
|
// 筛选面板是自适应表格高度
|
|
9041
9033
|
if (compConf ? !compConf.tableFilterAutoHeight : false) {
|
|
9042
9034
|
maxHeight = 0;
|
|
@@ -9046,8 +9038,8 @@ hooks$7.add('tableFilterModule', {
|
|
|
9046
9038
|
maxHeight = customMaxHeight > maxHeight ? maxHeight : customMaxHeight;
|
|
9047
9039
|
}
|
|
9048
9040
|
}
|
|
9049
|
-
|
|
9050
|
-
filterStore.
|
|
9041
|
+
panelStyle['--vxe-ui-vxe-table-filter-default-max-height'] = maxHeight ? toCssUnit(maxHeight) : 'none';
|
|
9042
|
+
filterStore.style = panelStyle;
|
|
9051
9043
|
};
|
|
9052
9044
|
handleStyle();
|
|
9053
9045
|
return nextTick().then(() => {
|
|
@@ -16031,6 +16023,7 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
16031
16023
|
const $xeGantt = inject('$xeGantt', null);
|
|
16032
16024
|
const $xeGGWrapper = $xeGrid || $xeGantt;
|
|
16033
16025
|
const { computeSize } = useFns$2.useSize(props);
|
|
16026
|
+
const { computeIsVScrollbar } = useFns$2.useVScrollbar(props);
|
|
16034
16027
|
const crossTableDragRowInfo = getCrossTableDragRowInfo();
|
|
16035
16028
|
const reactData = reactive(createReactData$2());
|
|
16036
16029
|
const internalData = createInternalData$3();
|
|
@@ -16324,8 +16317,8 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
16324
16317
|
return Object.assign({}, getConfig$2().table.checkboxConfig, props.checkboxConfig);
|
|
16325
16318
|
});
|
|
16326
16319
|
const computeTooltipOpts = computed(() => {
|
|
16327
|
-
const
|
|
16328
|
-
return Object.assign({ useScrollbar }, getConfig$2().tooltip, getConfig$2().table.tooltipConfig, props.tooltipConfig);
|
|
16320
|
+
const isVScrollbar = computeIsVScrollbar.value;
|
|
16321
|
+
return Object.assign({ useScrollbar: isVScrollbar }, getConfig$2().tooltip, getConfig$2().table.tooltipConfig, props.tooltipConfig);
|
|
16329
16322
|
});
|
|
16330
16323
|
const computeHeaderTooltipOpts = computed(() => {
|
|
16331
16324
|
const tooltipOpts = computeTooltipOpts.value;
|
|
@@ -16360,7 +16353,8 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
16360
16353
|
return Object.assign({ orders: ['asc', 'desc', null] }, getConfig$2().table.sortConfig, props.sortConfig);
|
|
16361
16354
|
});
|
|
16362
16355
|
const computeFilterOpts = computed(() => {
|
|
16363
|
-
|
|
16356
|
+
const isVScrollbar = computeIsVScrollbar.value;
|
|
16357
|
+
return Object.assign({ useScrollbar: isVScrollbar }, getConfig$2().table.filterConfig, props.filterConfig);
|
|
16364
16358
|
});
|
|
16365
16359
|
const computeFloatingFilterOpts = computed(() => {
|
|
16366
16360
|
return Object.assign({}, getConfig$2().table.floatingFilterConfig, props.floatingFilterConfig);
|
|
@@ -16750,6 +16744,7 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
16750
16744
|
};
|
|
16751
16745
|
const computeMaps = {
|
|
16752
16746
|
computeSize,
|
|
16747
|
+
computeIsVScrollbar,
|
|
16753
16748
|
computeTableId,
|
|
16754
16749
|
computeValidOpts,
|
|
16755
16750
|
computeRowField,
|
|
@@ -19401,6 +19396,7 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
19401
19396
|
if (reFull) {
|
|
19402
19397
|
updateTreeLineStyle();
|
|
19403
19398
|
}
|
|
19399
|
+
updateScrollbar();
|
|
19404
19400
|
internalData.rceRunTime = Date.now();
|
|
19405
19401
|
if (reFull) {
|
|
19406
19402
|
return computeScrollLoad();
|
|
@@ -19408,8 +19404,14 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
19408
19404
|
});
|
|
19409
19405
|
};
|
|
19410
19406
|
const updateScrollbar = () => {
|
|
19411
|
-
|
|
19412
|
-
|
|
19407
|
+
const isVScrollbar = computeIsVScrollbar.value;
|
|
19408
|
+
if (isVScrollbar) {
|
|
19409
|
+
return nextTick().then(() => {
|
|
19410
|
+
updateThumbSize();
|
|
19411
|
+
updateThumbOffset();
|
|
19412
|
+
});
|
|
19413
|
+
}
|
|
19414
|
+
return Promise.resolve();
|
|
19413
19415
|
};
|
|
19414
19416
|
const defaultMinRunDelay = 50;
|
|
19415
19417
|
const handleLazyRecalculate = (reFull, reWidth, reHeight, options) => {
|
|
@@ -28710,8 +28712,8 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
28710
28712
|
}
|
|
28711
28713
|
},
|
|
28712
28714
|
triggerBodyScrollEvent(evnt, fixedType) {
|
|
28713
|
-
const { useScrollbar } = props;
|
|
28714
28715
|
const { scrollYLoad, scrollXLoad } = reactData;
|
|
28716
|
+
const isVScrollbar = computeIsVScrollbar.value;
|
|
28715
28717
|
const { elemStore, intoRunScroll, lastScrollTop, lastScrollLeft, inWheelScroll, inVirtualScroll, inHeaderScroll, inBodyScroll, scrollRenderType, inFooterScroll } = internalData;
|
|
28716
28718
|
if (inWheelScroll || inVirtualScroll || inHeaderScroll || inFooterScroll) {
|
|
28717
28719
|
return;
|
|
@@ -28730,7 +28732,7 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
28730
28732
|
if (!bodyScrollElem) {
|
|
28731
28733
|
return;
|
|
28732
28734
|
}
|
|
28733
|
-
if (!
|
|
28735
|
+
if (!isVScrollbar) {
|
|
28734
28736
|
if (!xHandleEl) {
|
|
28735
28737
|
return;
|
|
28736
28738
|
}
|
|
@@ -29481,6 +29483,24 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
29481
29483
|
return nextTick();
|
|
29482
29484
|
}
|
|
29483
29485
|
};
|
|
29486
|
+
const bindScrollbarResize = () => {
|
|
29487
|
+
const { elemStore } = internalData;
|
|
29488
|
+
const isVScrollbar = computeIsVScrollbar.value;
|
|
29489
|
+
if (isVScrollbar) {
|
|
29490
|
+
const el = refElem.value;
|
|
29491
|
+
const viewInnerEl = getRefElem(elemStore['main-body-table']);
|
|
29492
|
+
const scrollObserver = globalResize.create(() => {
|
|
29493
|
+
reScrollFlag.value++;
|
|
29494
|
+
});
|
|
29495
|
+
if (el) {
|
|
29496
|
+
scrollObserver.observe(el);
|
|
29497
|
+
}
|
|
29498
|
+
if (viewInnerEl) {
|
|
29499
|
+
scrollObserver.observe(viewInnerEl);
|
|
29500
|
+
}
|
|
29501
|
+
internalData.scrollObserver = scrollObserver;
|
|
29502
|
+
}
|
|
29503
|
+
};
|
|
29484
29504
|
const updateThumbSize = () => {
|
|
29485
29505
|
const { elemStore } = internalData;
|
|
29486
29506
|
const viewEl = getRefElem(elemStore['main-body-scroll']);
|
|
@@ -30060,8 +30080,8 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
30060
30080
|
};
|
|
30061
30081
|
const renderVirtualBody = () => {
|
|
30062
30082
|
const $xeGanttView = internalData.xeGanttView;
|
|
30063
|
-
const { useScrollbar } = props;
|
|
30064
30083
|
const { xThumbWidth, yThumbHeight } = reactData;
|
|
30084
|
+
const isVScrollbar = computeIsVScrollbar.value;
|
|
30065
30085
|
const scrollbarOpts = computeScrollbarOpts.value;
|
|
30066
30086
|
const scrollXAutoHide = computeScrollXAutoHide.value;
|
|
30067
30087
|
const scrollYAutoHide = computeScrollYAutoHide.value;
|
|
@@ -30075,10 +30095,10 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
30075
30095
|
return h('div', {
|
|
30076
30096
|
key: 'lvb',
|
|
30077
30097
|
class: ['vxe-table--layout-wrapper', `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}`, `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}`, {
|
|
30078
|
-
'is--virtual-scrollbar':
|
|
30079
|
-
'ov-padding':
|
|
30080
|
-
'ov-x--auto-hide':
|
|
30081
|
-
'ov-y--auto-hide':
|
|
30098
|
+
'is--virtual-scrollbar': isVScrollbar,
|
|
30099
|
+
'ov-padding': isVScrollbar && scrollbarOpts.padding,
|
|
30100
|
+
'ov-x--auto-hide': isVScrollbar && scrollXAutoHide,
|
|
30101
|
+
'ov-y--auto-hide': isVScrollbar && scrollYAutoHide,
|
|
30082
30102
|
'overflow-y': yThumbHeight,
|
|
30083
30103
|
'overflow-x': xThumbWidth
|
|
30084
30104
|
}]
|
|
@@ -30125,10 +30145,11 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
30125
30145
|
]);
|
|
30126
30146
|
};
|
|
30127
30147
|
const renderVN = () => {
|
|
30128
|
-
const { loading, stripe,
|
|
30148
|
+
const { loading, stripe, showHeader, height, treeConfig, mouseConfig, showFooter, highlightCell, highlightHoverRow, highlightHoverColumn, editConfig, editRules, importConfig, exportConfig, printConfig } = props;
|
|
30129
30149
|
const { isGroup, overflowX, overflowY, scrollXLoad, scrollYLoad, tableData, initStore, isRowGroupStatus, columnStore, filterStore, customStore, tooltipStore } = reactData;
|
|
30130
30150
|
const { teleportToWrapperElem, popupToWrapperElem, customPopupToElem } = internalData;
|
|
30131
30151
|
const { leftList, rightList } = columnStore;
|
|
30152
|
+
const isVScrollbar = computeIsVScrollbar.value;
|
|
30132
30153
|
const loadingSlot = slots.loading;
|
|
30133
30154
|
const tipSlots = {
|
|
30134
30155
|
header: slots.headerTooltip || slots['header-tooltip'],
|
|
@@ -30168,7 +30189,7 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
30168
30189
|
if (isCrossTableDrag && !tableData.length) {
|
|
30169
30190
|
tbOns.onDragover = $xeTable.handleCrossTableRowDragoverEmptyEvent;
|
|
30170
30191
|
}
|
|
30171
|
-
return h('div', Object.assign({ ref: refElem, class: ['vxe-table', 'vxe-table--render-default', `tid_${xID}`, `border--${tableBorder}`,
|
|
30192
|
+
return h('div', Object.assign({ ref: refElem, class: ['vxe-table', 'vxe-table--render-default', `tid_${xID}`, `border--${tableBorder}`, isVScrollbar ? 'is--virtual-scrollbar' : 'is--native-scrollbar', `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}`, `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}`, {
|
|
30172
30193
|
[`size--${vSize}`]: vSize,
|
|
30173
30194
|
[`valid-msg--${validOpts.msgMode}`]: !!editRules,
|
|
30174
30195
|
'vxe-editable': !!editConfig,
|
|
@@ -30229,7 +30250,7 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
30229
30250
|
h('div', {
|
|
30230
30251
|
key: 'tw',
|
|
30231
30252
|
class: 'vxe-table--render-wrapper'
|
|
30232
|
-
},
|
|
30253
|
+
}, isVScrollbar
|
|
30233
30254
|
? [renderVirtualBody()]
|
|
30234
30255
|
: (scrollbarXToTop
|
|
30235
30256
|
? [
|
|
@@ -30416,7 +30437,7 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
30416
30437
|
ref: refCommTooltip,
|
|
30417
30438
|
isArrow: false,
|
|
30418
30439
|
enterable: false,
|
|
30419
|
-
useScrollbar
|
|
30440
|
+
useScrollbar: isVScrollbar
|
|
30420
30441
|
}),
|
|
30421
30442
|
/**
|
|
30422
30443
|
* 工具提示
|
|
@@ -30480,7 +30501,7 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
30480
30501
|
enterable: validTipConfig.enterable,
|
|
30481
30502
|
enterDelay: validTipConfig.enterDelay,
|
|
30482
30503
|
leaveDelay: validTipConfig.leaveDelay,
|
|
30483
|
-
useScrollbar
|
|
30504
|
+
useScrollbar: validTipConfig.useScrollbar
|
|
30484
30505
|
})
|
|
30485
30506
|
: renderEmptyElement$1($xeTable)
|
|
30486
30507
|
])
|
|
@@ -30585,42 +30606,43 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
30585
30606
|
watch(() => VxeUI.getLanguage(), () => {
|
|
30586
30607
|
reLayoutFlag.value++;
|
|
30587
30608
|
});
|
|
30609
|
+
watch(computeIsVScrollbar, () => {
|
|
30610
|
+
nextTick(() => {
|
|
30611
|
+
bindScrollbarResize();
|
|
30612
|
+
nextTick(() => {
|
|
30613
|
+
reLayoutFlag.value++;
|
|
30614
|
+
});
|
|
30615
|
+
});
|
|
30616
|
+
});
|
|
30588
30617
|
watch(computeScrollbarXToTop, () => {
|
|
30589
|
-
reScrollFlag.value++;
|
|
30590
30618
|
reLayoutFlag.value++;
|
|
30591
30619
|
});
|
|
30592
30620
|
watch(computeScrollbarYToLeft, () => {
|
|
30593
|
-
reScrollFlag.value++;
|
|
30594
30621
|
reLayoutFlag.value++;
|
|
30595
30622
|
});
|
|
30596
30623
|
watch(computeScrollXVisible, () => {
|
|
30597
|
-
reScrollFlag.value++;
|
|
30598
30624
|
reLayoutFlag.value++;
|
|
30599
30625
|
});
|
|
30600
30626
|
watch(computeScrollYVisible, () => {
|
|
30601
|
-
reScrollFlag.value++;
|
|
30602
30627
|
reLayoutFlag.value++;
|
|
30603
30628
|
});
|
|
30604
30629
|
watch(computeScrollXHeight, () => {
|
|
30605
|
-
reScrollFlag.value++;
|
|
30606
30630
|
reLayoutFlag.value++;
|
|
30607
30631
|
});
|
|
30608
30632
|
watch(computeScrollYWidth, () => {
|
|
30609
|
-
reScrollFlag.value++;
|
|
30610
30633
|
reLayoutFlag.value++;
|
|
30611
30634
|
});
|
|
30612
30635
|
watch(computeCellHeitht, () => {
|
|
30613
30636
|
reLayoutFlag.value++;
|
|
30614
30637
|
});
|
|
30615
30638
|
watch(reLayoutFlag, () => {
|
|
30616
|
-
|
|
30639
|
+
nextTick().then(() => {
|
|
30640
|
+
$xeTable.recalculate(true);
|
|
30641
|
+
});
|
|
30617
30642
|
});
|
|
30618
30643
|
watch(reScrollFlag, () => {
|
|
30619
|
-
|
|
30620
|
-
|
|
30621
|
-
nextTick(() => {
|
|
30622
|
-
$xeTable.updateScrollbar();
|
|
30623
|
-
});
|
|
30644
|
+
updateScrollbar().then(() => {
|
|
30645
|
+
updateScrollbar();
|
|
30624
30646
|
});
|
|
30625
30647
|
});
|
|
30626
30648
|
const footFlag = ref(0);
|
|
@@ -30753,7 +30775,7 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
30753
30775
|
});
|
|
30754
30776
|
onMounted(() => {
|
|
30755
30777
|
const { editConfig, exportConfig, importConfig, treeConfig, minHeight, keepSource, areaConfig } = props;
|
|
30756
|
-
const {
|
|
30778
|
+
const { scrollXStore, scrollYStore } = internalData;
|
|
30757
30779
|
const columnOpts = computeColumnOpts.value;
|
|
30758
30780
|
const columnDragOpts = computeColumnDragOpts.value;
|
|
30759
30781
|
const aggregateOpts = computeAggregateOpts.value;
|
|
@@ -31026,22 +31048,9 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
31026
31048
|
handleUpdateRowGroup(groupFields);
|
|
31027
31049
|
initData();
|
|
31028
31050
|
nextTick(() => {
|
|
31029
|
-
const {
|
|
31030
|
-
const el = refElem.value;
|
|
31031
|
-
if (useScrollbar) {
|
|
31032
|
-
const viewInnerEl = getRefElem(elemStore['main-body-table']);
|
|
31033
|
-
const scrollObserver = globalResize.create(() => {
|
|
31034
|
-
reScrollFlag.value++;
|
|
31035
|
-
});
|
|
31036
|
-
if (el) {
|
|
31037
|
-
scrollObserver.observe(el);
|
|
31038
|
-
}
|
|
31039
|
-
if (viewInnerEl) {
|
|
31040
|
-
scrollObserver.observe(viewInnerEl);
|
|
31041
|
-
}
|
|
31042
|
-
internalData.scrollObserver = scrollObserver;
|
|
31043
|
-
}
|
|
31051
|
+
const { autoResize } = props;
|
|
31044
31052
|
if (autoResize) {
|
|
31053
|
+
const el = refElem.value;
|
|
31045
31054
|
const parentEl = $xeTable.getParentElem();
|
|
31046
31055
|
const resizeObserver = globalResize.create(() => {
|
|
31047
31056
|
if (props.autoResize) {
|
|
@@ -31056,6 +31065,7 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
31056
31065
|
}
|
|
31057
31066
|
internalData.resizeObserver = resizeObserver;
|
|
31058
31067
|
}
|
|
31068
|
+
bindScrollbarResize();
|
|
31059
31069
|
});
|
|
31060
31070
|
if (virtualYOpts.mode !== 'scroll') {
|
|
31061
31071
|
const tableViewportEl = refTableViewportElem.value;
|
|
@@ -31884,6 +31894,7 @@ var VxeGridComponent = defineVxeComponent({
|
|
|
31884
31894
|
const VxeUIPagerComponent = VxeUI.getComponent('VxePager');
|
|
31885
31895
|
const defaultLayouts = [['Form'], ['Toolbar', 'Top', 'Table', 'Bottom', 'Pager']];
|
|
31886
31896
|
const { computeSize } = useFns.useSize(props);
|
|
31897
|
+
const { computeIsVScrollbar } = useFns.useVScrollbar(props);
|
|
31887
31898
|
const reactData = reactive(createReactData());
|
|
31888
31899
|
const internalData = createInternalData();
|
|
31889
31900
|
const refElem = ref();
|
|
@@ -32066,6 +32077,8 @@ var VxeGridComponent = defineVxeComponent({
|
|
|
32066
32077
|
refPopupContainerElem
|
|
32067
32078
|
};
|
|
32068
32079
|
const computeMaps = {
|
|
32080
|
+
computeSize,
|
|
32081
|
+
computeIsVScrollbar,
|
|
32069
32082
|
computeProxyOpts,
|
|
32070
32083
|
computePagerOpts,
|
|
32071
32084
|
computeFormOpts,
|