vxe-table 3.15.12 → 3.15.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 +12 -4
- package/es/table/src/cell.js +2 -2
- package/es/table/src/methods.js +64 -22
- package/es/table/src/table.js +5 -0
- 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 +86 -33
- 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 +12 -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/methods.js +62 -22
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +5 -0
- 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 +12 -4
- package/packages/table/src/cell.ts +2 -2
- package/packages/table/src/methods.ts +67 -23
- package/packages/table/src/table.ts +6 -0
- package/packages/ui/index.ts +3 -3
- package/styles/components/table.scss +35 -0
- /package/es/{iconfont.1745723938260.ttf → iconfont.1745827933282.ttf} +0 -0
- /package/es/{iconfont.1745723938260.woff → iconfont.1745827933282.woff} +0 -0
- /package/es/{iconfont.1745723938260.woff2 → iconfont.1745827933282.woff2} +0 -0
- /package/lib/{iconfont.1745723938260.ttf → iconfont.1745827933282.ttf} +0 -0
- /package/lib/{iconfont.1745723938260.woff → iconfont.1745827933282.woff} +0 -0
- /package/lib/{iconfont.1745723938260.woff2 → iconfont.1745827933282.woff2} +0 -0
package/es/table/src/cell.js
CHANGED
|
@@ -10,7 +10,7 @@ function renderTitlePrefixIcon(h, params) {
|
|
|
10
10
|
const titlePrefix = column.titlePrefix || column.titleHelp;
|
|
11
11
|
if (titlePrefix) {
|
|
12
12
|
return h('i', {
|
|
13
|
-
class: ['vxe-cell-title-prefix-icon', titlePrefix.icon || getIcon().TABLE_TITLE_PREFIX],
|
|
13
|
+
class: ['vxe-cell-title-prefix-icon', titlePrefix.iconStatus ? `theme--${titlePrefix.iconStatus}` : '', titlePrefix.icon || getIcon().TABLE_TITLE_PREFIX],
|
|
14
14
|
on: {
|
|
15
15
|
mouseenter(evnt) {
|
|
16
16
|
$table.triggerHeaderTitleEvent(evnt, titlePrefix, params);
|
|
@@ -28,7 +28,7 @@ function renderTitleSuffixIcon(h, params) {
|
|
|
28
28
|
const titleSuffix = column.titleSuffix;
|
|
29
29
|
if (titleSuffix) {
|
|
30
30
|
return h('i', {
|
|
31
|
-
class: ['vxe-cell-title-suffix-icon', titleSuffix.icon || getIcon().TABLE_TITLE_SUFFIX],
|
|
31
|
+
class: ['vxe-cell-title-suffix-icon', titleSuffix.iconStatus ? `theme--${titleSuffix.iconStatus}` : '', titleSuffix.icon || getIcon().TABLE_TITLE_SUFFIX],
|
|
32
32
|
on: {
|
|
33
33
|
mouseenter(evnt) {
|
|
34
34
|
$table.triggerHeaderTitleEvent(evnt, titleSuffix, params);
|
package/es/table/src/methods.js
CHANGED
|
@@ -2418,12 +2418,12 @@ function calcScrollbar($xeTable) {
|
|
|
2418
2418
|
if (bodyWrapperElem) {
|
|
2419
2419
|
overflowY = scrollYHeight > bodyWrapperElem.clientHeight;
|
|
2420
2420
|
if (yHandleEl) {
|
|
2421
|
-
reactData.scrollbarWidth =
|
|
2421
|
+
reactData.scrollbarWidth = scrollbarOpts.width || (yHandleEl.offsetWidth - yHandleEl.clientWidth) || 14;
|
|
2422
2422
|
}
|
|
2423
2423
|
reactData.overflowY = overflowY;
|
|
2424
2424
|
overflowX = scrollXWidth > bodyWrapperElem.clientWidth;
|
|
2425
2425
|
if (xHandleEl) {
|
|
2426
|
-
reactData.scrollbarHeight =
|
|
2426
|
+
reactData.scrollbarHeight = scrollbarOpts.height || (xHandleEl.offsetHeight - xHandleEl.clientHeight) || 14;
|
|
2427
2427
|
}
|
|
2428
2428
|
reactData.overflowX = overflowX;
|
|
2429
2429
|
const headerHeight = headerTableElem ? headerTableElem.clientHeight : 0;
|
|
@@ -2621,6 +2621,7 @@ function loadTableData($xeTable, datas, isReset) {
|
|
|
2621
2621
|
scrollYStore.endIndex = 1;
|
|
2622
2622
|
scrollXStore.startIndex = 0;
|
|
2623
2623
|
scrollXStore.endIndex = 1;
|
|
2624
|
+
internalData.cvCacheMaps = {};
|
|
2624
2625
|
reactData.isRowLoading = true;
|
|
2625
2626
|
reactData.scrollVMLoading = false;
|
|
2626
2627
|
internalData.treeExpandedMaps = {};
|
|
@@ -3052,7 +3053,7 @@ function lazyScrollXData($xeTable) {
|
|
|
3052
3053
|
const internalData = $xeTable;
|
|
3053
3054
|
const { lxTimeout, lxRunTime, scrollXStore } = internalData;
|
|
3054
3055
|
const { visibleSize } = scrollXStore;
|
|
3055
|
-
const fpsTime =
|
|
3056
|
+
const fpsTime = visibleSize > 26 ? 26 : (visibleSize > 16 ? 14 : 6);
|
|
3056
3057
|
if (lxTimeout) {
|
|
3057
3058
|
clearTimeout(lxTimeout);
|
|
3058
3059
|
}
|
|
@@ -3070,7 +3071,7 @@ function lazyScrollYData($xeTable) {
|
|
|
3070
3071
|
const internalData = $xeTable;
|
|
3071
3072
|
const { lyTimeout, lyRunTime, scrollYStore } = internalData;
|
|
3072
3073
|
const { visibleSize } = scrollYStore;
|
|
3073
|
-
const fpsTime =
|
|
3074
|
+
const fpsTime = visibleSize > 30 ? 32 : (visibleSize > 20 ? 18 : 8);
|
|
3074
3075
|
if (lyTimeout) {
|
|
3075
3076
|
clearTimeout(lyTimeout);
|
|
3076
3077
|
}
|
|
@@ -9264,8 +9265,8 @@ const Methods = {
|
|
|
9264
9265
|
if (isRollX) {
|
|
9265
9266
|
evnt.preventDefault();
|
|
9266
9267
|
internalData.inWheelScroll = true;
|
|
9267
|
-
|
|
9268
|
-
const currLeftNum =
|
|
9268
|
+
if (browseObj['-moz'] || browseObj.safari) {
|
|
9269
|
+
const currLeftNum = scrollLeft;
|
|
9269
9270
|
setScrollLeft(xHandleEl, currLeftNum);
|
|
9270
9271
|
setScrollLeft(bodyScrollElem, currLeftNum);
|
|
9271
9272
|
setScrollLeft(headerScrollElem, currLeftNum);
|
|
@@ -9277,13 +9278,28 @@ const Methods = {
|
|
|
9277
9278
|
type: 'table',
|
|
9278
9279
|
fixed: ''
|
|
9279
9280
|
});
|
|
9280
|
-
}
|
|
9281
|
+
}
|
|
9282
|
+
else {
|
|
9283
|
+
wheelScrollLeftTo(scrollLeft, (offsetLeft) => {
|
|
9284
|
+
const currLeftNum = offsetLeft;
|
|
9285
|
+
setScrollLeft(xHandleEl, currLeftNum);
|
|
9286
|
+
setScrollLeft(bodyScrollElem, currLeftNum);
|
|
9287
|
+
setScrollLeft(headerScrollElem, currLeftNum);
|
|
9288
|
+
setScrollLeft(footerScrollElem, currLeftNum);
|
|
9289
|
+
if (scrollXLoad) {
|
|
9290
|
+
$xeTable.triggerScrollXEvent(evnt);
|
|
9291
|
+
}
|
|
9292
|
+
$xeTable.handleScrollEvent(evnt, isRollY, isRollX, bodyScrollElem.scrollTop, currLeftNum, {
|
|
9293
|
+
type: 'table',
|
|
9294
|
+
fixed: ''
|
|
9295
|
+
});
|
|
9296
|
+
});
|
|
9297
|
+
}
|
|
9281
9298
|
}
|
|
9282
9299
|
if (isRollY) {
|
|
9283
9300
|
evnt.preventDefault();
|
|
9284
|
-
|
|
9285
|
-
const currTopNum =
|
|
9286
|
-
internalData.inWheelScroll = true;
|
|
9301
|
+
if (browseObj['-moz'] || browseObj.safari) {
|
|
9302
|
+
const currTopNum = scrollTop;
|
|
9287
9303
|
setScrollTop(yHandleEl, currTopNum);
|
|
9288
9304
|
setScrollTop(bodyScrollElem, currTopNum);
|
|
9289
9305
|
setScrollTop(leftScrollElem, currTopNum);
|
|
@@ -9296,7 +9312,25 @@ const Methods = {
|
|
|
9296
9312
|
type: 'table',
|
|
9297
9313
|
fixed: ''
|
|
9298
9314
|
});
|
|
9299
|
-
}
|
|
9315
|
+
}
|
|
9316
|
+
else {
|
|
9317
|
+
wheelScrollTopTo(scrollTop - currScrollTop, (offsetTop) => {
|
|
9318
|
+
const currTopNum = bodyScrollElem.scrollTop + offsetTop;
|
|
9319
|
+
internalData.inWheelScroll = true;
|
|
9320
|
+
setScrollTop(yHandleEl, currTopNum);
|
|
9321
|
+
setScrollTop(bodyScrollElem, currTopNum);
|
|
9322
|
+
setScrollTop(leftScrollElem, currTopNum);
|
|
9323
|
+
setScrollTop(rightScrollElem, currTopNum);
|
|
9324
|
+
setScrollTop(rowExpandEl, currTopNum);
|
|
9325
|
+
if (scrollYLoad) {
|
|
9326
|
+
$xeTable.triggerScrollYEvent(evnt);
|
|
9327
|
+
}
|
|
9328
|
+
$xeTable.handleScrollEvent(evnt, isRollY, isRollX, currTopNum, bodyScrollElem.scrollLeft, {
|
|
9329
|
+
type: 'table',
|
|
9330
|
+
fixed: ''
|
|
9331
|
+
});
|
|
9332
|
+
});
|
|
9333
|
+
}
|
|
9300
9334
|
}
|
|
9301
9335
|
},
|
|
9302
9336
|
triggerVirtualScrollXEvent(evnt) {
|
|
@@ -9428,20 +9462,18 @@ const Methods = {
|
|
|
9428
9462
|
ySpaceWidth = maxXWidth;
|
|
9429
9463
|
isScrollXBig = true;
|
|
9430
9464
|
}
|
|
9431
|
-
|
|
9432
|
-
|
|
9433
|
-
marginLeft = `${xSpaceLeft}px`;
|
|
9465
|
+
if (!(scrollXLoad && overflowX)) {
|
|
9466
|
+
xSpaceLeft = 0;
|
|
9434
9467
|
}
|
|
9435
9468
|
if (headerTableElem) {
|
|
9436
|
-
headerTableElem.style.
|
|
9469
|
+
headerTableElem.style.transform = headerTableElem.getAttribute('xvm') ? `translate(${xSpaceLeft}px, 0px)` : '';
|
|
9437
9470
|
}
|
|
9438
9471
|
if (bodyTableElem) {
|
|
9439
|
-
bodyTableElem.style.
|
|
9472
|
+
bodyTableElem.style.transform = `translate(${xSpaceLeft}px, ${reactData.scrollYTop || 0}px)`;
|
|
9440
9473
|
}
|
|
9441
9474
|
if (footerTableElem) {
|
|
9442
|
-
footerTableElem.style.
|
|
9475
|
+
footerTableElem.style.transform = footerTableElem.getAttribute('xvm') ? `translate(${xSpaceLeft}px, 0px)` : '';
|
|
9443
9476
|
}
|
|
9444
|
-
reactData.isScrollXBig = isScrollXBig;
|
|
9445
9477
|
const containerList = ['main'];
|
|
9446
9478
|
containerList.forEach(name => {
|
|
9447
9479
|
const layoutList = ['header', 'body', 'footer'];
|
|
@@ -9452,6 +9484,9 @@ const Methods = {
|
|
|
9452
9484
|
}
|
|
9453
9485
|
});
|
|
9454
9486
|
});
|
|
9487
|
+
reactData.scrollXLeft = xSpaceLeft;
|
|
9488
|
+
reactData.scrollXWidth = ySpaceWidth;
|
|
9489
|
+
reactData.isScrollXBig = isScrollXBig;
|
|
9455
9490
|
const scrollXSpaceEl = $xeTable.$refs.refScrollXSpaceElem;
|
|
9456
9491
|
if (scrollXSpaceEl) {
|
|
9457
9492
|
scrollXSpaceEl.style.width = `${ySpaceWidth}px`;
|
|
@@ -9489,6 +9524,8 @@ const Methods = {
|
|
|
9489
9524
|
const defaultRowHeight = $xeTable.computeDefaultRowHeight;
|
|
9490
9525
|
const bodyScrollElem = getRefElem(elemStore['main-body-scroll']);
|
|
9491
9526
|
const bodyTableElem = getRefElem(elemStore['main-body-table']);
|
|
9527
|
+
const leftBodyTableElem = getRefElem(elemStore['left-body-table']);
|
|
9528
|
+
const rightbodyTableElem = getRefElem(elemStore['right-body-table']);
|
|
9492
9529
|
const containerList = ['main', 'left', 'right'];
|
|
9493
9530
|
let ySpaceTop = 0;
|
|
9494
9531
|
let scrollYHeight = 0;
|
|
@@ -9542,12 +9579,17 @@ const Methods = {
|
|
|
9542
9579
|
}
|
|
9543
9580
|
ySpaceHeight = maxYHeight;
|
|
9544
9581
|
}
|
|
9582
|
+
if (leftBodyTableElem) {
|
|
9583
|
+
leftBodyTableElem.style.transform = `translate(0px, ${scrollYTop}px)`;
|
|
9584
|
+
}
|
|
9585
|
+
if (bodyTableElem) {
|
|
9586
|
+
bodyTableElem.style.transform = `translate(${reactData.scrollXLeft || 0}px, ${scrollYTop}px)`;
|
|
9587
|
+
}
|
|
9588
|
+
if (rightbodyTableElem) {
|
|
9589
|
+
rightbodyTableElem.style.transform = `translate(0px, ${scrollYTop}px)`;
|
|
9590
|
+
}
|
|
9545
9591
|
containerList.forEach(name => {
|
|
9546
9592
|
const layoutList = ['header', 'body', 'footer'];
|
|
9547
|
-
const tableElem = getRefElem(elemStore[`${name}-body-table`]);
|
|
9548
|
-
if (tableElem) {
|
|
9549
|
-
tableElem.style.marginTop = scrollYTop ? `${scrollYTop}px` : '';
|
|
9550
|
-
}
|
|
9551
9593
|
layoutList.forEach(layout => {
|
|
9552
9594
|
const ySpaceElem = getRefElem(elemStore[`${name}-${layout}-ySpace`]);
|
|
9553
9595
|
if (ySpaceElem) {
|
package/es/table/src/table.js
CHANGED
|
@@ -1414,6 +1414,7 @@ export default {
|
|
|
1414
1414
|
insertRowMaps: {},
|
|
1415
1415
|
// 已删除行
|
|
1416
1416
|
removeRowMaps: {},
|
|
1417
|
+
cvCacheMaps: {},
|
|
1417
1418
|
swYSize: 0,
|
|
1418
1419
|
swYInterval: 0,
|
|
1419
1420
|
swYTotal: 0
|
|
@@ -1709,10 +1710,14 @@ export default {
|
|
|
1709
1710
|
},
|
|
1710
1711
|
beforeDestroy() {
|
|
1711
1712
|
const $xeTable = this;
|
|
1713
|
+
const internalData = $xeTable;
|
|
1712
1714
|
const tableViewportEl = $xeTable.$refs.refTableViewportElem;
|
|
1713
1715
|
if (tableViewportEl) {
|
|
1714
1716
|
tableViewportEl.removeEventListener('wheel', $xeTable.triggerBodyWheelEvent);
|
|
1715
1717
|
}
|
|
1718
|
+
internalData.cvCacheMaps = {};
|
|
1719
|
+
internalData.prevDragRow = null;
|
|
1720
|
+
internalData.prevDragCol = null;
|
|
1716
1721
|
if (this.$resize) {
|
|
1717
1722
|
this.$resize.disconnect();
|
|
1718
1723
|
}
|
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;
|