vxe-table 4.13.12 → 4.13.14
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/module/menu/panel.js +8 -4
- package/es/table/src/cell.js +2 -2
- package/es/table/src/table.js +73 -24
- package/es/table/style.css +24 -0
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +4 -4
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +24 -0
- 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 +24 -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/menu/panel.js +8 -4
- package/lib/table/module/menu/panel.min.js +1 -1
- package/lib/table/src/cell.js +2 -2
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/table.js +9 -9
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +24 -0
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +4 -4
- 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 +24 -0
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/table/module/menu/panel.ts +8 -4
- package/packages/table/src/cell.ts +2 -2
- package/packages/table/src/table.ts +80 -25
- package/packages/ui/index.ts +3 -3
- package/styles/components/table.scss +35 -0
- /package/es/{iconfont.1745723959074.ttf → iconfont.1745827953655.ttf} +0 -0
- /package/es/{iconfont.1745723959074.woff → iconfont.1745827953655.woff} +0 -0
- /package/es/{iconfont.1745723959074.woff2 → iconfont.1745827953655.woff2} +0 -0
- /package/lib/{iconfont.1745723959074.ttf → iconfont.1745827953655.ttf} +0 -0
- /package/lib/{iconfont.1745723959074.woff → iconfont.1745827953655.woff} +0 -0
- /package/lib/{iconfont.1745723959074.woff2 → iconfont.1745827953655.woff2} +0 -0
package/es/table/src/cell.js
CHANGED
|
@@ -11,7 +11,7 @@ function renderTitlePrefixIcon(params) {
|
|
|
11
11
|
const titlePrefix = column.titlePrefix || column.titleHelp;
|
|
12
12
|
if (titlePrefix) {
|
|
13
13
|
return h('i', {
|
|
14
|
-
class: ['vxe-cell-title-prefix-icon', titlePrefix.icon || getIcon().TABLE_TITLE_PREFIX],
|
|
14
|
+
class: ['vxe-cell-title-prefix-icon', titlePrefix.iconStatus ? `theme--${titlePrefix.iconStatus}` : '', titlePrefix.icon || getIcon().TABLE_TITLE_PREFIX],
|
|
15
15
|
onMouseenter(evnt) {
|
|
16
16
|
$table.triggerHeaderTitleEvent(evnt, titlePrefix, params);
|
|
17
17
|
},
|
|
@@ -27,7 +27,7 @@ function renderTitleSuffixIcon(params) {
|
|
|
27
27
|
const titleSuffix = column.titleSuffix;
|
|
28
28
|
if (titleSuffix) {
|
|
29
29
|
return h('i', {
|
|
30
|
-
class: ['vxe-cell-title-suffix-icon', titleSuffix.icon || getIcon().TABLE_TITLE_SUFFIX],
|
|
30
|
+
class: ['vxe-cell-title-suffix-icon', titleSuffix.iconStatus ? `theme--${titleSuffix.iconStatus}` : '', titleSuffix.icon || getIcon().TABLE_TITLE_SUFFIX],
|
|
31
31
|
onMouseenter(evnt) {
|
|
32
32
|
$table.triggerHeaderTitleEvent(evnt, titleSuffix, params);
|
|
33
33
|
},
|
package/es/table/src/table.js
CHANGED
|
@@ -376,6 +376,7 @@ export default defineComponent({
|
|
|
376
376
|
insertRowMaps: {},
|
|
377
377
|
// 已删除行
|
|
378
378
|
removeRowMaps: {},
|
|
379
|
+
cvCacheMaps: {},
|
|
379
380
|
inited: false,
|
|
380
381
|
tooltipTimeout: null,
|
|
381
382
|
initStatus: false,
|
|
@@ -2796,12 +2797,12 @@ export default defineComponent({
|
|
|
2796
2797
|
if (bodyWrapperElem) {
|
|
2797
2798
|
overflowY = scrollYHeight > bodyWrapperElem.clientHeight;
|
|
2798
2799
|
if (yHandleEl) {
|
|
2799
|
-
reactData.scrollbarWidth =
|
|
2800
|
+
reactData.scrollbarWidth = scrollbarOpts.width || (yHandleEl.offsetWidth - yHandleEl.clientWidth) || 14;
|
|
2800
2801
|
}
|
|
2801
2802
|
reactData.overflowY = overflowY;
|
|
2802
2803
|
overflowX = scrollXWidth > bodyWrapperElem.clientWidth;
|
|
2803
2804
|
if (xHandleEl) {
|
|
2804
|
-
reactData.scrollbarHeight =
|
|
2805
|
+
reactData.scrollbarHeight = scrollbarOpts.height || (xHandleEl.offsetHeight - xHandleEl.clientHeight) || 14;
|
|
2805
2806
|
}
|
|
2806
2807
|
const headerHeight = headerTableElem ? headerTableElem.clientHeight : 0;
|
|
2807
2808
|
const footerHeight = footerTableElem ? footerTableElem.clientHeight : 0;
|
|
@@ -2994,6 +2995,7 @@ export default defineComponent({
|
|
|
2994
2995
|
scrollYStore.endIndex = 1;
|
|
2995
2996
|
scrollXStore.startIndex = 0;
|
|
2996
2997
|
scrollXStore.endIndex = 1;
|
|
2998
|
+
internalData.cvCacheMaps = {};
|
|
2997
2999
|
reactData.isRowLoading = true;
|
|
2998
3000
|
reactData.scrollVMLoading = false;
|
|
2999
3001
|
internalData.treeExpandedMaps = {};
|
|
@@ -3590,7 +3592,7 @@ export default defineComponent({
|
|
|
3590
3592
|
const lazyScrollXData = () => {
|
|
3591
3593
|
const { lxTimeout, lxRunTime, scrollXStore } = internalData;
|
|
3592
3594
|
const { visibleSize } = scrollXStore;
|
|
3593
|
-
const fpsTime =
|
|
3595
|
+
const fpsTime = visibleSize > 26 ? 26 : (visibleSize > 16 ? 14 : 6);
|
|
3594
3596
|
if (lxTimeout) {
|
|
3595
3597
|
clearTimeout(lxTimeout);
|
|
3596
3598
|
}
|
|
@@ -3607,7 +3609,7 @@ export default defineComponent({
|
|
|
3607
3609
|
const lazyScrollYData = () => {
|
|
3608
3610
|
const { lyTimeout, lyRunTime, scrollYStore } = internalData;
|
|
3609
3611
|
const { visibleSize } = scrollYStore;
|
|
3610
|
-
const fpsTime =
|
|
3612
|
+
const fpsTime = visibleSize > 30 ? 32 : (visibleSize > 20 ? 18 : 8);
|
|
3611
3613
|
if (lyTimeout) {
|
|
3612
3614
|
clearTimeout(lyTimeout);
|
|
3613
3615
|
}
|
|
@@ -9743,9 +9745,8 @@ export default defineComponent({
|
|
|
9743
9745
|
if (isRollX) {
|
|
9744
9746
|
evnt.preventDefault();
|
|
9745
9747
|
internalData.inWheelScroll = true;
|
|
9746
|
-
|
|
9747
|
-
|
|
9748
|
-
const currLeftNum = offsetLeft;
|
|
9748
|
+
if (browseObj['-moz'] || browseObj.safari) {
|
|
9749
|
+
const currLeftNum = scrollLeft;
|
|
9749
9750
|
setScrollLeft(xHandleEl, currLeftNum);
|
|
9750
9751
|
setScrollLeft(bodyScrollElem, currLeftNum);
|
|
9751
9752
|
setScrollLeft(headerScrollElem, currLeftNum);
|
|
@@ -9757,14 +9758,30 @@ export default defineComponent({
|
|
|
9757
9758
|
type: 'table',
|
|
9758
9759
|
fixed: ''
|
|
9759
9760
|
});
|
|
9760
|
-
}
|
|
9761
|
+
}
|
|
9762
|
+
else {
|
|
9763
|
+
wheelScrollLeftTo(scrollLeft, (offsetLeft) => {
|
|
9764
|
+
internalData.inWheelScroll = true;
|
|
9765
|
+
const currLeftNum = offsetLeft;
|
|
9766
|
+
setScrollLeft(xHandleEl, currLeftNum);
|
|
9767
|
+
setScrollLeft(bodyScrollElem, currLeftNum);
|
|
9768
|
+
setScrollLeft(headerScrollElem, currLeftNum);
|
|
9769
|
+
setScrollLeft(footerScrollElem, currLeftNum);
|
|
9770
|
+
if (scrollXLoad) {
|
|
9771
|
+
$xeTable.triggerScrollXEvent(evnt);
|
|
9772
|
+
}
|
|
9773
|
+
$xeTable.handleScrollEvent(evnt, isRollY, isRollX, bodyScrollElem.scrollTop, currLeftNum, {
|
|
9774
|
+
type: 'table',
|
|
9775
|
+
fixed: ''
|
|
9776
|
+
});
|
|
9777
|
+
});
|
|
9778
|
+
}
|
|
9761
9779
|
}
|
|
9762
9780
|
if (isRollY) {
|
|
9763
9781
|
evnt.preventDefault();
|
|
9764
9782
|
internalData.inWheelScroll = true;
|
|
9765
|
-
|
|
9766
|
-
|
|
9767
|
-
const currTopNum = bodyScrollElem.scrollTop + offsetTop;
|
|
9783
|
+
if (browseObj['-moz'] || browseObj.safari) {
|
|
9784
|
+
const currTopNum = scrollTop;
|
|
9768
9785
|
setScrollTop(yHandleEl, currTopNum);
|
|
9769
9786
|
setScrollTop(bodyScrollElem, currTopNum);
|
|
9770
9787
|
setScrollTop(leftScrollElem, currTopNum);
|
|
@@ -9777,7 +9794,25 @@ export default defineComponent({
|
|
|
9777
9794
|
type: 'table',
|
|
9778
9795
|
fixed: ''
|
|
9779
9796
|
});
|
|
9780
|
-
}
|
|
9797
|
+
}
|
|
9798
|
+
else {
|
|
9799
|
+
wheelScrollTopTo(scrollTop - currScrollTop, (offsetTop) => {
|
|
9800
|
+
internalData.inWheelScroll = true;
|
|
9801
|
+
const currTopNum = bodyScrollElem.scrollTop + offsetTop;
|
|
9802
|
+
setScrollTop(yHandleEl, currTopNum);
|
|
9803
|
+
setScrollTop(bodyScrollElem, currTopNum);
|
|
9804
|
+
setScrollTop(leftScrollElem, currTopNum);
|
|
9805
|
+
setScrollTop(rightScrollElem, currTopNum);
|
|
9806
|
+
setScrollTop(rowExpandEl, currTopNum);
|
|
9807
|
+
if (scrollYLoad) {
|
|
9808
|
+
$xeTable.triggerScrollYEvent(evnt);
|
|
9809
|
+
}
|
|
9810
|
+
$xeTable.handleScrollEvent(evnt, isRollY, isRollX, currTopNum, bodyScrollElem.scrollLeft, {
|
|
9811
|
+
type: 'table',
|
|
9812
|
+
fixed: ''
|
|
9813
|
+
});
|
|
9814
|
+
});
|
|
9815
|
+
}
|
|
9781
9816
|
}
|
|
9782
9817
|
},
|
|
9783
9818
|
triggerVirtualScrollXEvent(evnt) {
|
|
@@ -9913,20 +9948,18 @@ export default defineComponent({
|
|
|
9913
9948
|
ySpaceWidth = maxXWidth;
|
|
9914
9949
|
isScrollXBig = true;
|
|
9915
9950
|
}
|
|
9916
|
-
|
|
9917
|
-
|
|
9918
|
-
marginLeft = `${xSpaceLeft}px`;
|
|
9951
|
+
if (!(scrollXLoad && overflowX)) {
|
|
9952
|
+
xSpaceLeft = 0;
|
|
9919
9953
|
}
|
|
9920
9954
|
if (headerTableElem) {
|
|
9921
|
-
headerTableElem.style.
|
|
9955
|
+
headerTableElem.style.transform = headerTableElem.getAttribute('xvm') ? `translate(${xSpaceLeft}px, 0px)` : '';
|
|
9922
9956
|
}
|
|
9923
9957
|
if (bodyTableElem) {
|
|
9924
|
-
bodyTableElem.style.
|
|
9958
|
+
bodyTableElem.style.transform = `translate(${xSpaceLeft}px, ${reactData.scrollYTop || 0}px)`;
|
|
9925
9959
|
}
|
|
9926
9960
|
if (footerTableElem) {
|
|
9927
|
-
footerTableElem.style.
|
|
9961
|
+
footerTableElem.style.transform = footerTableElem.getAttribute('xvm') ? `translate(${xSpaceLeft}px, 0px)` : '';
|
|
9928
9962
|
}
|
|
9929
|
-
reactData.isScrollXBig = isScrollXBig;
|
|
9930
9963
|
const containerList = ['main'];
|
|
9931
9964
|
containerList.forEach(name => {
|
|
9932
9965
|
const layoutList = ['header', 'body', 'footer'];
|
|
@@ -9937,6 +9970,9 @@ export default defineComponent({
|
|
|
9937
9970
|
}
|
|
9938
9971
|
});
|
|
9939
9972
|
});
|
|
9973
|
+
reactData.scrollXLeft = xSpaceLeft;
|
|
9974
|
+
reactData.scrollXWidth = ySpaceWidth;
|
|
9975
|
+
reactData.isScrollXBig = isScrollXBig;
|
|
9940
9976
|
const scrollXSpaceEl = refScrollXSpaceElem.value;
|
|
9941
9977
|
if (scrollXSpaceEl) {
|
|
9942
9978
|
scrollXSpaceEl.style.width = `${ySpaceWidth}px`;
|
|
@@ -9952,7 +9988,7 @@ export default defineComponent({
|
|
|
9952
9988
|
},
|
|
9953
9989
|
// 更新纵向 Y 可视渲染上下剩余空间大小
|
|
9954
9990
|
updateScrollYSpace() {
|
|
9955
|
-
const { isAllOverflow, scrollYLoad, expandColumn } = reactData;
|
|
9991
|
+
const { isAllOverflow, overflowY, scrollYLoad, expandColumn } = reactData;
|
|
9956
9992
|
const { scrollYStore, elemStore, isResizeCellHeight, afterFullData, fullAllDataRowIdData, rowExpandedMaps } = internalData;
|
|
9957
9993
|
const { startIndex } = scrollYStore;
|
|
9958
9994
|
const mouseOpts = computeMouseOpts.value;
|
|
@@ -9962,6 +9998,8 @@ export default defineComponent({
|
|
|
9962
9998
|
const defaultRowHeight = computeDefaultRowHeight.value;
|
|
9963
9999
|
const bodyScrollElem = getRefElem(elemStore['main-body-scroll']);
|
|
9964
10000
|
const bodyTableElem = getRefElem(elemStore['main-body-table']);
|
|
10001
|
+
const leftBodyTableElem = getRefElem(elemStore['left-body-table']);
|
|
10002
|
+
const rightbodyTableElem = getRefElem(elemStore['right-body-table']);
|
|
9965
10003
|
const containerList = ['main', 'left', 'right'];
|
|
9966
10004
|
let ySpaceTop = 0;
|
|
9967
10005
|
let scrollYHeight = 0;
|
|
@@ -10015,12 +10053,20 @@ export default defineComponent({
|
|
|
10015
10053
|
}
|
|
10016
10054
|
ySpaceHeight = maxYHeight;
|
|
10017
10055
|
}
|
|
10056
|
+
if (!(scrollYLoad && overflowY)) {
|
|
10057
|
+
scrollYTop = 0;
|
|
10058
|
+
}
|
|
10059
|
+
if (leftBodyTableElem) {
|
|
10060
|
+
leftBodyTableElem.style.transform = `translate(0px, ${scrollYTop}px)`;
|
|
10061
|
+
}
|
|
10062
|
+
if (bodyTableElem) {
|
|
10063
|
+
bodyTableElem.style.transform = `translate(${reactData.scrollXLeft || 0}px, ${scrollYTop}px)`;
|
|
10064
|
+
}
|
|
10065
|
+
if (rightbodyTableElem) {
|
|
10066
|
+
rightbodyTableElem.style.transform = `translate(0px, ${scrollYTop}px)`;
|
|
10067
|
+
}
|
|
10018
10068
|
containerList.forEach(name => {
|
|
10019
10069
|
const layoutList = ['header', 'body', 'footer'];
|
|
10020
|
-
const tableElem = getRefElem(elemStore[`${name}-body-table`]);
|
|
10021
|
-
if (tableElem) {
|
|
10022
|
-
tableElem.style.marginTop = scrollYTop ? `${scrollYTop}px` : '';
|
|
10023
|
-
}
|
|
10024
10070
|
layoutList.forEach(layout => {
|
|
10025
10071
|
const ySpaceElem = getRefElem(elemStore[`${name}-${layout}-ySpace`]);
|
|
10026
10072
|
if (ySpaceElem) {
|
|
@@ -11178,6 +11224,9 @@ export default defineComponent({
|
|
|
11178
11224
|
if (tableViewportEl) {
|
|
11179
11225
|
tableViewportEl.removeEventListener('wheel', $xeTable.triggerBodyWheelEvent);
|
|
11180
11226
|
}
|
|
11227
|
+
internalData.cvCacheMaps = {};
|
|
11228
|
+
internalData.prevDragRow = null;
|
|
11229
|
+
internalData.prevDragCol = null;
|
|
11181
11230
|
if (resizeObserver) {
|
|
11182
11231
|
resizeObserver.disconnect();
|
|
11183
11232
|
}
|
package/es/table/style.css
CHANGED
|
@@ -2327,6 +2327,30 @@
|
|
|
2327
2327
|
.vxe-header--column .vxe-cell-title-suffix-icon {
|
|
2328
2328
|
cursor: help;
|
|
2329
2329
|
}
|
|
2330
|
+
.vxe-header--column .vxe-cell-title-prefix-icon.theme--primary,
|
|
2331
|
+
.vxe-header--column .vxe-cell-title-suffix-icon.theme--primary {
|
|
2332
|
+
color: var(--vxe-ui-font-primary-color);
|
|
2333
|
+
}
|
|
2334
|
+
.vxe-header--column .vxe-cell-title-prefix-icon.theme--success,
|
|
2335
|
+
.vxe-header--column .vxe-cell-title-suffix-icon.theme--success {
|
|
2336
|
+
color: var(--vxe-ui-status-success-color);
|
|
2337
|
+
}
|
|
2338
|
+
.vxe-header--column .vxe-cell-title-prefix-icon.theme--info,
|
|
2339
|
+
.vxe-header--column .vxe-cell-title-suffix-icon.theme--info {
|
|
2340
|
+
color: var(--vxe-ui-status-info-color);
|
|
2341
|
+
}
|
|
2342
|
+
.vxe-header--column .vxe-cell-title-prefix-icon.theme--warning,
|
|
2343
|
+
.vxe-header--column .vxe-cell-title-suffix-icon.theme--warning {
|
|
2344
|
+
color: var(--vxe-ui-status-warning-color);
|
|
2345
|
+
}
|
|
2346
|
+
.vxe-header--column .vxe-cell-title-prefix-icon.theme--danger,
|
|
2347
|
+
.vxe-header--column .vxe-cell-title-suffix-icon.theme--danger {
|
|
2348
|
+
color: var(--vxe-ui-status-danger-color);
|
|
2349
|
+
}
|
|
2350
|
+
.vxe-header--column .vxe-cell-title-prefix-icon.theme--error,
|
|
2351
|
+
.vxe-header--column .vxe-cell-title-suffix-icon.theme--error {
|
|
2352
|
+
color: var(--vxe-ui-status-error-color);
|
|
2353
|
+
}
|
|
2330
2354
|
|
|
2331
2355
|
.vxe-cell--col-resizable {
|
|
2332
2356
|
position: absolute;
|