vxe-table 3.20.6 → 3.20.8
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/LICENSE +20 -20
- package/README.md +106 -106
- package/es/index.esm.js +2 -1
- package/es/style.css +1 -1
- package/es/table/src/methods.js +75 -78
- package/es/table/src/table.js +14 -2
- package/es/table/src/util.js +6 -0
- package/es/table/style.css +18 -48
- package/es/ui/index.js +1 -1
- package/es/ui/src/dom.js +19 -20
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +18 -48
- package/lib/index.common.js +2 -1
- package/lib/index.umd.js +1915 -3227
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/src/methods.js +12 -10
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +13 -1
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +6 -0
- package/lib/table/src/util.min.js +1 -1
- package/lib/table/style/style.css +18 -48
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/dom.js +21 -20
- package/lib/ui/src/dom.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/v-x-e-table/index.js +2 -1
- package/lib/v-x-e-table/index.min.js +1 -1
- package/lib/vxe-colgroup/index.js +2 -1
- package/lib/vxe-colgroup/index.min.js +1 -1
- package/lib/vxe-column/index.js +2 -1
- package/lib/vxe-column/index.min.js +1 -1
- package/lib/vxe-grid/index.js +2 -1
- package/lib/vxe-grid/index.min.js +1 -1
- package/lib/vxe-table/index.js +2 -1
- package/lib/vxe-table/index.min.js +1 -1
- package/lib/vxe-table/style/style.css +18 -48
- package/lib/vxe-toolbar/index.js +2 -1
- package/lib/vxe-toolbar/index.min.js +1 -1
- package/lib/vxe-ui/index.js +2 -1
- package/lib/vxe-ui/index.min.js +1 -1
- package/lib/vxe-v-x-e-table/index.js +2 -1
- package/lib/vxe-v-x-e-table/index.min.js +1 -1
- package/package.json +93 -93
- package/packages/colgroup/index.ts +22 -22
- package/packages/column/index.ts +22 -22
- package/packages/components.ts +42 -42
- package/packages/grid/index.ts +22 -22
- package/packages/grid/src/grid.ts +1935 -1935
- package/packages/index.ts +4 -4
- package/packages/locale/lang/ar-EG.ts +832 -832
- package/packages/locale/lang/de-DE.ts +832 -832
- package/packages/locale/lang/en-US.ts +832 -832
- package/packages/locale/lang/es-ES.ts +832 -832
- package/packages/locale/lang/fr-FR.ts +832 -832
- package/packages/locale/lang/hu-HU.ts +832 -832
- package/packages/locale/lang/hy-AM.ts +832 -832
- package/packages/locale/lang/id-ID.ts +832 -832
- package/packages/locale/lang/it-IT.ts +832 -832
- package/packages/locale/lang/ja-JP.ts +832 -832
- package/packages/locale/lang/ko-KR.ts +832 -832
- package/packages/locale/lang/ms-MY.ts +832 -832
- package/packages/locale/lang/nb-NO.ts +832 -832
- package/packages/locale/lang/pt-BR.ts +832 -832
- package/packages/locale/lang/ru-RU.ts +832 -832
- package/packages/locale/lang/th-TH.ts +832 -832
- package/packages/locale/lang/ug-CN.ts +832 -832
- package/packages/locale/lang/uk-UA.ts +832 -832
- package/packages/locale/lang/uz-UZ.ts +832 -832
- package/packages/locale/lang/vi-VN.ts +832 -832
- package/packages/locale/lang/zh-CHT.ts +832 -832
- package/packages/locale/lang/zh-CN.ts +832 -832
- package/packages/locale/lang/zh-HK.ts +3 -3
- package/packages/locale/lang/zh-MO.ts +3 -3
- package/packages/locale/lang/zh-TC.ts +3 -3
- package/packages/locale/lang/zh-TW.ts +3 -3
- package/packages/table/index.ts +49 -49
- package/packages/table/module/custom/mixin.ts +369 -369
- package/packages/table/module/custom/panel.ts +1461 -1461
- package/packages/table/module/edit/mixin.ts +1123 -1123
- package/packages/table/module/export/export-panel.ts +658 -658
- package/packages/table/module/export/import-panel.ts +319 -319
- package/packages/table/module/export/mixin.ts +1693 -1693
- package/packages/table/module/export/util.ts +24 -24
- package/packages/table/module/filter/mixin.ts +507 -507
- package/packages/table/module/filter/panel.ts +329 -329
- package/packages/table/module/keyboard/mixin.ts +513 -513
- package/packages/table/module/menu/mixin.ts +329 -329
- package/packages/table/module/menu/panel.ts +212 -212
- package/packages/table/module/validator/mixin.ts +626 -626
- package/packages/table/render/index.ts +1456 -1456
- package/packages/table/src/body.ts +969 -969
- package/packages/table/src/cell.ts +1285 -1285
- package/packages/table/src/column.ts +205 -205
- package/packages/table/src/columnInfo.ts +228 -228
- package/packages/table/src/footer.ts +388 -388
- package/packages/table/src/group.ts +51 -51
- package/packages/table/src/header.ts +602 -602
- package/packages/table/src/methods.ts +12936 -12939
- package/packages/table/src/props.ts +311 -311
- package/packages/table/src/store.ts +15 -15
- package/packages/table/src/table.ts +2513 -2502
- package/packages/table/src/util.ts +1018 -1012
- package/packages/toolbar/index.ts +18 -18
- package/packages/toolbar/src/toolbar.ts +856 -856
- package/packages/ui/index.ts +530 -530
- package/packages/ui/src/anime.ts +52 -52
- package/packages/ui/src/comp.ts +3 -3
- package/packages/ui/src/dom.ts +237 -236
- package/packages/ui/src/log.ts +8 -8
- package/packages/ui/src/utils.ts +56 -56
- package/packages/ui/src/vn.ts +65 -65
- package/packages/v-x-e-table/index.ts +4 -4
- package/styles/all.scss +7 -7
- package/styles/base.scss +16 -16
- package/styles/components/grid.scss +89 -89
- package/styles/components/icon.scss +225 -225
- package/styles/components/old-icon.scss +715 -715
- package/styles/components/table-module/all.scss +6 -6
- package/styles/components/table-module/custom.scss +527 -527
- package/styles/components/table-module/export.scss +130 -130
- package/styles/components/table-module/filter.scss +130 -130
- package/styles/components/table-module/menu.scss +81 -81
- package/styles/components/table.scss +2679 -2679
- package/styles/components/toolbar.scss +119 -119
- package/styles/default.scss +2 -2
- package/styles/helpers/baseMixin.scss +95 -95
- package/styles/index.scss +3 -3
- package/styles/modules.scss +5 -5
- package/styles/theme/base.scss +93 -93
- package/styles/theme/dark.scss +49 -49
- package/styles/theme/light.scss +44 -44
- package/styles/variable.scss +43 -43
- package/types/all.d.ts +53 -53
- package/types/index.d.ts +4 -4
- /package/es/{iconfont.1773972972913.ttf → iconfont.1774240303597.ttf} +0 -0
- /package/es/{iconfont.1773972972913.woff → iconfont.1774240303597.woff} +0 -0
- /package/es/{iconfont.1773972972913.woff2 → iconfont.1774240303597.woff2} +0 -0
- /package/lib/{iconfont.1773972972913.ttf → iconfont.1774240303597.ttf} +0 -0
- /package/lib/{iconfont.1773972972913.woff → iconfont.1774240303597.woff} +0 -0
- /package/lib/{iconfont.1773972972913.woff2 → iconfont.1774240303597.woff2} +0 -0
package/es/table/src/methods.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import XEUtils from 'xe-utils';
|
|
2
|
-
import { getTpImg, isPx, isScale, hasClass, addClass, removeClass,
|
|
2
|
+
import { getTpImg, isPx, isScale, hasClass, addClass, removeClass, wheelScrollLeftTo, wheelScrollTopTo, getEventTargetNode, getPaddingTopBottomSize, setScrollTop, setScrollLeft, toCssUnit, hasControlKey, checkTargetElement } from '../../ui/src/dom';
|
|
3
3
|
import { getLastZIndex, nextZIndex, hasChildrenList, getFuncText, isEnableConf, formatText, eqEmptyValue } from '../../ui/src/utils';
|
|
4
4
|
import { VxeUI } from '../../ui';
|
|
5
5
|
import Cell from './cell';
|
|
@@ -1838,32 +1838,46 @@ function handleVirtualYVisible($xeTable) {
|
|
|
1838
1838
|
}
|
|
1839
1839
|
return { toVisibleIndex: 0, visibleSize: 6 };
|
|
1840
1840
|
}
|
|
1841
|
-
function calculateMergerOffsetIndex(list, offsetItem, type) {
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1841
|
+
function calculateMergerOffsetIndex(list, mergeMaps, offsetItem, type) {
|
|
1842
|
+
const mKey = `${offsetItem.startIndex}:${offsetItem.endIndex}`;
|
|
1843
|
+
const mObj = mergeMaps[mKey];
|
|
1844
|
+
// 缓存
|
|
1845
|
+
if (mObj) {
|
|
1846
|
+
offsetItem.startIndex = mObj.startIndex;
|
|
1847
|
+
offsetItem.endIndex = mObj.endIndex;
|
|
1848
|
+
}
|
|
1849
|
+
else {
|
|
1850
|
+
for (let mcIndex = 0, len = list.length; mcIndex < len; mcIndex++) {
|
|
1851
|
+
const mergeItem = list[mcIndex];
|
|
1852
|
+
const { startIndex, endIndex } = offsetItem;
|
|
1853
|
+
const mergeStartIndex = mergeItem[type];
|
|
1854
|
+
const mergeSpanNumber = mergeItem[type + 'span'];
|
|
1855
|
+
const mergeEndIndex = mergeStartIndex + mergeSpanNumber;
|
|
1856
|
+
if (mergeStartIndex < startIndex && startIndex < mergeEndIndex) {
|
|
1857
|
+
offsetItem.startIndex = mergeStartIndex;
|
|
1858
|
+
}
|
|
1859
|
+
if (mergeStartIndex < endIndex && endIndex < mergeEndIndex) {
|
|
1860
|
+
offsetItem.endIndex = mergeEndIndex;
|
|
1861
|
+
}
|
|
1862
|
+
if (offsetItem.startIndex !== startIndex || offsetItem.endIndex !== endIndex) {
|
|
1863
|
+
mcIndex = -1;
|
|
1864
|
+
}
|
|
1856
1865
|
}
|
|
1866
|
+
mergeMaps[mKey] = offsetItem;
|
|
1857
1867
|
}
|
|
1858
1868
|
}
|
|
1859
1869
|
function buildMergeData(mergeConfigs) {
|
|
1860
1870
|
const mergeMaps = {};
|
|
1871
|
+
const mergeRowMaps = {};
|
|
1872
|
+
const mergeColMaps = {};
|
|
1861
1873
|
if (mergeConfigs && mergeConfigs.length) {
|
|
1862
1874
|
for (let mIndex = 0; mIndex < mergeConfigs.length; mIndex++) {
|
|
1863
1875
|
const { row: _rowIndex, col: _columnIndex, rowspan: mergeRowspan, colspan: mergeColspan } = mergeConfigs[mIndex];
|
|
1864
1876
|
for (let i = 0; i < mergeRowspan; i++) {
|
|
1877
|
+
const currRIndex = _rowIndex + i;
|
|
1865
1878
|
for (let j = 0; j < mergeColspan; j++) {
|
|
1866
|
-
|
|
1879
|
+
const currCIndex = _columnIndex + j;
|
|
1880
|
+
mergeMaps[`${currRIndex}:${currCIndex}`] = !i && !j
|
|
1867
1881
|
? {
|
|
1868
1882
|
rowspan: mergeRowspan,
|
|
1869
1883
|
colspan: mergeColspan
|
|
@@ -1876,7 +1890,7 @@ function buildMergeData(mergeConfigs) {
|
|
|
1876
1890
|
}
|
|
1877
1891
|
}
|
|
1878
1892
|
}
|
|
1879
|
-
return mergeMaps;
|
|
1893
|
+
return { mergeMaps, mergeRowMaps, mergeColMaps };
|
|
1880
1894
|
}
|
|
1881
1895
|
function handleBodyMerge($xeTable, merges) {
|
|
1882
1896
|
const internalData = $xeTable;
|
|
@@ -3510,7 +3524,7 @@ function loadScrollXData($xeTable) {
|
|
|
3510
3524
|
const reactData = $xeTable;
|
|
3511
3525
|
const internalData = $xeTable;
|
|
3512
3526
|
const { isScrollXBig } = reactData;
|
|
3513
|
-
const { mergeBodyList, mergeFooterList, scrollXStore } = internalData;
|
|
3527
|
+
const { mergeBodyList, mergeFooterList, mergeBodyColMaps, scrollXStore } = internalData;
|
|
3514
3528
|
const { preloadSize, startIndex, endIndex, offsetSize } = scrollXStore;
|
|
3515
3529
|
const { toVisibleIndex, visibleSize } = handleVirtualXVisible($xeTable);
|
|
3516
3530
|
const offsetItem = {
|
|
@@ -3519,7 +3533,7 @@ function loadScrollXData($xeTable) {
|
|
|
3519
3533
|
};
|
|
3520
3534
|
scrollXStore.visibleStartIndex = toVisibleIndex - 1;
|
|
3521
3535
|
scrollXStore.visibleEndIndex = toVisibleIndex + visibleSize + 1;
|
|
3522
|
-
calculateMergerOffsetIndex(mergeBodyList.concat(mergeFooterList), offsetItem, 'col');
|
|
3536
|
+
calculateMergerOffsetIndex(mergeBodyList.concat(mergeFooterList), mergeBodyColMaps, offsetItem, 'col');
|
|
3523
3537
|
const { startIndex: offsetStartIndex, endIndex: offsetEndIndex } = offsetItem;
|
|
3524
3538
|
if (toVisibleIndex <= startIndex || toVisibleIndex >= endIndex - visibleSize - 1) {
|
|
3525
3539
|
if (startIndex !== offsetStartIndex || endIndex !== offsetEndIndex) {
|
|
@@ -3741,7 +3755,7 @@ function loadScrollYData($xeTable) {
|
|
|
3741
3755
|
const reactData = $xeTable;
|
|
3742
3756
|
const internalData = $xeTable;
|
|
3743
3757
|
const { isAllOverflow, isScrollYBig } = reactData;
|
|
3744
|
-
const { mergeBodyList, scrollYStore } = internalData;
|
|
3758
|
+
const { mergeBodyList, mergeBodyRowMaps, scrollYStore } = internalData;
|
|
3745
3759
|
const { preloadSize, startIndex, endIndex, offsetSize } = scrollYStore;
|
|
3746
3760
|
const autoOffsetYSize = isAllOverflow ? offsetSize : offsetSize + 1;
|
|
3747
3761
|
const { toVisibleIndex, visibleSize } = handleVirtualYVisible($xeTable);
|
|
@@ -3751,7 +3765,7 @@ function loadScrollYData($xeTable) {
|
|
|
3751
3765
|
};
|
|
3752
3766
|
scrollYStore.visibleStartIndex = toVisibleIndex - 1;
|
|
3753
3767
|
scrollYStore.visibleEndIndex = toVisibleIndex + visibleSize + 1;
|
|
3754
|
-
calculateMergerOffsetIndex(mergeBodyList, offsetItem, 'row');
|
|
3768
|
+
calculateMergerOffsetIndex(mergeBodyList, mergeBodyRowMaps, offsetItem, 'row');
|
|
3755
3769
|
const { startIndex: offsetStartIndex, endIndex: offsetEndIndex } = offsetItem;
|
|
3756
3770
|
if (toVisibleIndex <= startIndex || toVisibleIndex >= endIndex - visibleSize - 1) {
|
|
3757
3771
|
if (startIndex !== offsetStartIndex || endIndex !== offsetEndIndex) {
|
|
@@ -3909,11 +3923,6 @@ const getWheelSpeed = (lastScrollTime) => {
|
|
|
3909
3923
|
}
|
|
3910
3924
|
return multiple;
|
|
3911
3925
|
};
|
|
3912
|
-
const wheelScrollLeftTo = (scrollLeft, cb) => {
|
|
3913
|
-
requestAnimationFrame(() => {
|
|
3914
|
-
cb(scrollLeft);
|
|
3915
|
-
});
|
|
3916
|
-
};
|
|
3917
3926
|
const syncGanttScrollTop = ($xeTable, scrollTop) => {
|
|
3918
3927
|
const internalData = $xeTable;
|
|
3919
3928
|
const $xeGanttView = internalData.xeGanttView;
|
|
@@ -4383,6 +4392,13 @@ const tableMethods = {
|
|
|
4383
4392
|
updateAfterFullData($xeTable);
|
|
4384
4393
|
// 如果为虚拟树,将树结构拍平
|
|
4385
4394
|
fullList = handleVirtualTreeToList($xeTable);
|
|
4395
|
+
// 更新数据后清除合并缓存,涉及分组、筛选、排序等
|
|
4396
|
+
internalData.mergeHeaderRowMaps = {};
|
|
4397
|
+
internalData.mergeHeaderColMaps = {};
|
|
4398
|
+
internalData.mergeBodyRowMaps = {};
|
|
4399
|
+
internalData.mergeBodyColMaps = {};
|
|
4400
|
+
internalData.mergeFooterRowMaps = {};
|
|
4401
|
+
internalData.mergeFooterColMaps = {};
|
|
4386
4402
|
}
|
|
4387
4403
|
const tableData = scrollYLoad ? fullList.slice(scrollYStore.startIndex, scrollYStore.endIndex) : fullList.slice(0);
|
|
4388
4404
|
const visibleDataRowIdMaps = {};
|
|
@@ -7382,6 +7398,17 @@ const tableMethods = {
|
|
|
7382
7398
|
handleResizeEvent($xeTable);
|
|
7383
7399
|
$xeTable.updateCellAreas();
|
|
7384
7400
|
},
|
|
7401
|
+
handleUpdateHeaderMerge() {
|
|
7402
|
+
const $xeTable = this;
|
|
7403
|
+
const reactData = $xeTable;
|
|
7404
|
+
const internalData = $xeTable;
|
|
7405
|
+
const { mergeHeaderList } = internalData;
|
|
7406
|
+
const { mergeMaps, mergeRowMaps, mergeColMaps } = buildMergeData(mergeHeaderList);
|
|
7407
|
+
internalData.mergeHeaderCellMaps = mergeMaps;
|
|
7408
|
+
internalData.mergeHeaderRowMaps = mergeRowMaps;
|
|
7409
|
+
internalData.mergeHeaderColMaps = mergeColMaps;
|
|
7410
|
+
reactData.mergeHeadFlag++;
|
|
7411
|
+
},
|
|
7385
7412
|
/**
|
|
7386
7413
|
* 处理合并
|
|
7387
7414
|
*/
|
|
@@ -7390,23 +7417,21 @@ const tableMethods = {
|
|
|
7390
7417
|
const reactData = $xeTable;
|
|
7391
7418
|
const internalData = $xeTable;
|
|
7392
7419
|
const { mergeBodyList } = internalData;
|
|
7393
|
-
|
|
7420
|
+
const { mergeMaps, mergeRowMaps, mergeColMaps } = buildMergeData(mergeBodyList);
|
|
7421
|
+
internalData.mergeBodyCellMaps = mergeMaps;
|
|
7422
|
+
internalData.mergeBodyRowMaps = mergeRowMaps;
|
|
7423
|
+
internalData.mergeBodyColMaps = mergeColMaps;
|
|
7394
7424
|
reactData.mergeBodyFlag++;
|
|
7395
7425
|
},
|
|
7396
|
-
handleUpdateHeaderMerge() {
|
|
7397
|
-
const $xeTable = this;
|
|
7398
|
-
const reactData = $xeTable;
|
|
7399
|
-
const internalData = $xeTable;
|
|
7400
|
-
const { mergeHeaderList } = internalData;
|
|
7401
|
-
internalData.mergeHeaderCellMaps = buildMergeData(mergeHeaderList);
|
|
7402
|
-
reactData.mergeHeadFlag++;
|
|
7403
|
-
},
|
|
7404
7426
|
handleUpdateFooterMerge() {
|
|
7405
7427
|
const $xeTable = this;
|
|
7406
7428
|
const reactData = $xeTable;
|
|
7407
7429
|
const internalData = $xeTable;
|
|
7408
7430
|
const { mergeFooterList } = internalData;
|
|
7409
|
-
|
|
7431
|
+
const { mergeMaps, mergeRowMaps, mergeColMaps } = buildMergeData(mergeFooterList);
|
|
7432
|
+
internalData.mergeFooterCellMaps = mergeMaps;
|
|
7433
|
+
internalData.mergeFooterRowMaps = mergeRowMaps;
|
|
7434
|
+
internalData.mergeFooterColMaps = mergeColMaps;
|
|
7410
7435
|
reactData.mergeFootFlag++;
|
|
7411
7436
|
},
|
|
7412
7437
|
handleAggregateSummaryData() {
|
|
@@ -11540,8 +11565,8 @@ const tableMethods = {
|
|
|
11540
11565
|
if (isRollX) {
|
|
11541
11566
|
evnt.preventDefault();
|
|
11542
11567
|
internalData.inWheelScroll = true;
|
|
11543
|
-
|
|
11544
|
-
const currLeftNum =
|
|
11568
|
+
wheelScrollLeftTo(scrollLeft, (offsetLeft) => {
|
|
11569
|
+
const currLeftNum = offsetLeft;
|
|
11545
11570
|
setScrollLeft(xHandleEl, currLeftNum);
|
|
11546
11571
|
setScrollLeft(bodyScrollElem, currLeftNum);
|
|
11547
11572
|
setScrollLeft(headerScrollElem, currLeftNum);
|
|
@@ -11553,28 +11578,13 @@ const tableMethods = {
|
|
|
11553
11578
|
type: 'table',
|
|
11554
11579
|
fixed: ''
|
|
11555
11580
|
});
|
|
11556
|
-
}
|
|
11557
|
-
else {
|
|
11558
|
-
wheelScrollLeftTo(scrollLeft, (offsetLeft) => {
|
|
11559
|
-
const currLeftNum = offsetLeft;
|
|
11560
|
-
setScrollLeft(xHandleEl, currLeftNum);
|
|
11561
|
-
setScrollLeft(bodyScrollElem, currLeftNum);
|
|
11562
|
-
setScrollLeft(headerScrollElem, currLeftNum);
|
|
11563
|
-
setScrollLeft(footerScrollElem, currLeftNum);
|
|
11564
|
-
if (scrollXLoad) {
|
|
11565
|
-
$xeTable.triggerScrollXEvent(evnt);
|
|
11566
|
-
}
|
|
11567
|
-
$xeTable.handleScrollEvent(evnt, isRollY, isRollX, bodyScrollElem.scrollTop, currLeftNum, {
|
|
11568
|
-
type: 'table',
|
|
11569
|
-
fixed: ''
|
|
11570
|
-
});
|
|
11571
|
-
});
|
|
11572
|
-
}
|
|
11581
|
+
});
|
|
11573
11582
|
}
|
|
11574
11583
|
if (isRollY) {
|
|
11575
11584
|
evnt.preventDefault();
|
|
11576
|
-
|
|
11577
|
-
const currTopNum =
|
|
11585
|
+
wheelScrollTopTo(scrollTop, (offsetTop) => {
|
|
11586
|
+
const currTopNum = offsetTop;
|
|
11587
|
+
internalData.inWheelScroll = true;
|
|
11578
11588
|
setScrollTop(yHandleEl, currTopNum);
|
|
11579
11589
|
setScrollTop(bodyScrollElem, currTopNum);
|
|
11580
11590
|
setScrollTop(leftScrollElem, currTopNum);
|
|
@@ -11588,26 +11598,7 @@ const tableMethods = {
|
|
|
11588
11598
|
type: 'table',
|
|
11589
11599
|
fixed: ''
|
|
11590
11600
|
});
|
|
11591
|
-
}
|
|
11592
|
-
else {
|
|
11593
|
-
scrollTopTo(scrollTop - currScrollTop, (offsetTop) => {
|
|
11594
|
-
const currTopNum = bodyScrollElem.scrollTop + offsetTop;
|
|
11595
|
-
internalData.inWheelScroll = true;
|
|
11596
|
-
setScrollTop(yHandleEl, currTopNum);
|
|
11597
|
-
setScrollTop(bodyScrollElem, currTopNum);
|
|
11598
|
-
setScrollTop(leftScrollElem, currTopNum);
|
|
11599
|
-
setScrollTop(rightScrollElem, currTopNum);
|
|
11600
|
-
setScrollTop(rowExpandEl, currTopNum);
|
|
11601
|
-
syncGanttScrollTop($xeTable, currTopNum);
|
|
11602
|
-
if (scrollYLoad) {
|
|
11603
|
-
$xeTable.triggerScrollYEvent(evnt);
|
|
11604
|
-
}
|
|
11605
|
-
$xeTable.handleScrollEvent(evnt, isRollY, isRollX, currTopNum, bodyScrollElem.scrollLeft, {
|
|
11606
|
-
type: 'table',
|
|
11607
|
-
fixed: ''
|
|
11608
|
-
});
|
|
11609
|
-
});
|
|
11610
|
-
}
|
|
11601
|
+
});
|
|
11611
11602
|
}
|
|
11612
11603
|
},
|
|
11613
11604
|
triggerVirtualScrollXEvent(evnt) {
|
|
@@ -12261,6 +12252,8 @@ const tableMethods = {
|
|
|
12261
12252
|
internalData.mergeBodyList = [];
|
|
12262
12253
|
internalData.mergeBodyMaps = {};
|
|
12263
12254
|
internalData.mergeBodyCellMaps = {};
|
|
12255
|
+
internalData.mergeBodyRowMaps = {};
|
|
12256
|
+
internalData.mergeBodyColMaps = {};
|
|
12264
12257
|
reactData.mergeBodyFlag++;
|
|
12265
12258
|
return $xeTable.$nextTick().then(() => {
|
|
12266
12259
|
return updateStyle($xeTable);
|
|
@@ -12304,6 +12297,8 @@ const tableMethods = {
|
|
|
12304
12297
|
internalData.mergeHeaderList = [];
|
|
12305
12298
|
internalData.mergeHeaderMaps = {};
|
|
12306
12299
|
internalData.mergeHeaderCellMaps = {};
|
|
12300
|
+
internalData.mergeHeaderRowMaps = {};
|
|
12301
|
+
internalData.mergeBodyColMaps = {};
|
|
12307
12302
|
reactData.mergeHeadFlag++;
|
|
12308
12303
|
return $xeTable.$nextTick().then(() => {
|
|
12309
12304
|
return updateStyle($xeTable);
|
|
@@ -12367,6 +12362,8 @@ const tableMethods = {
|
|
|
12367
12362
|
internalData.mergeFooterList = [];
|
|
12368
12363
|
internalData.mergeFooterMaps = {};
|
|
12369
12364
|
internalData.mergeFooterCellMaps = {};
|
|
12365
|
+
internalData.mergeFooterRowMaps = {};
|
|
12366
|
+
internalData.mergeFooterColMaps = {};
|
|
12370
12367
|
reactData.mergeFootFlag++;
|
|
12371
12368
|
return $xeTable.$nextTick().then(() => {
|
|
12372
12369
|
return updateStyle($xeTable);
|
package/es/table/src/table.js
CHANGED
|
@@ -29,6 +29,8 @@ function handleUpdateMergeBodyCells($xeTable, merges) {
|
|
|
29
29
|
internalData.mergeBodyList = [];
|
|
30
30
|
internalData.mergeBodyMaps = {};
|
|
31
31
|
internalData.mergeBodyCellMaps = {};
|
|
32
|
+
internalData.mergeBodyRowMaps = {};
|
|
33
|
+
internalData.mergeBodyColMaps = {};
|
|
32
34
|
$xeTable.setMergeCells(merges);
|
|
33
35
|
}
|
|
34
36
|
function handleUpdateMergeHeaderCells($xeTable, merges) {
|
|
@@ -36,6 +38,8 @@ function handleUpdateMergeHeaderCells($xeTable, merges) {
|
|
|
36
38
|
internalData.mergeHeaderList = [];
|
|
37
39
|
internalData.mergeHeaderMaps = {};
|
|
38
40
|
internalData.mergeHeaderCellMaps = {};
|
|
41
|
+
internalData.mergeHeaderRowMaps = {};
|
|
42
|
+
internalData.mergeBodyColMaps = {};
|
|
39
43
|
$xeTable.setMergeHeaderCells(merges);
|
|
40
44
|
}
|
|
41
45
|
function handleUpdateMergeFooterCells($xeTable, merges) {
|
|
@@ -43,6 +47,8 @@ function handleUpdateMergeFooterCells($xeTable, merges) {
|
|
|
43
47
|
internalData.mergeFooterList = [];
|
|
44
48
|
internalData.mergeFooterMaps = {};
|
|
45
49
|
internalData.mergeFooterCellMaps = {};
|
|
50
|
+
internalData.mergeFooterRowMaps = {};
|
|
51
|
+
internalData.mergeFooterColMaps = {};
|
|
46
52
|
$xeTable.setMergeFooterCells(merges);
|
|
47
53
|
}
|
|
48
54
|
function handleKeyField($xeTable) {
|
|
@@ -57,7 +63,7 @@ function updateColumnAllOverflow($xeTable) {
|
|
|
57
63
|
const internalData = $xeTable;
|
|
58
64
|
const { showOverflow } = props;
|
|
59
65
|
const { isGroup } = reactData;
|
|
60
|
-
const { tableFullColumn, collectColumn } = internalData;
|
|
66
|
+
const { fullAllDataRowIdData, tableFullColumn, collectColumn } = internalData;
|
|
61
67
|
let isAllOverflow = !!showOverflow;
|
|
62
68
|
const handleFunc = (column) => {
|
|
63
69
|
if (isAllOverflow && column.showOverflow === false) {
|
|
@@ -70,6 +76,9 @@ function updateColumnAllOverflow($xeTable) {
|
|
|
70
76
|
else {
|
|
71
77
|
tableFullColumn.forEach(handleFunc);
|
|
72
78
|
}
|
|
79
|
+
XEUtils.each(fullAllDataRowIdData, (rowRest) => {
|
|
80
|
+
rowRest.height = 0;
|
|
81
|
+
});
|
|
73
82
|
reactData.isAllOverflow = isAllOverflow;
|
|
74
83
|
}
|
|
75
84
|
/**
|
|
@@ -1013,7 +1022,10 @@ export default {
|
|
|
1013
1022
|
const lecIndex = leftList.length;
|
|
1014
1023
|
for (let i = 0; i < mergeBodyList.length; i++) {
|
|
1015
1024
|
const { col, colspan } = mergeBodyList[i];
|
|
1016
|
-
if (col < lecIndex
|
|
1025
|
+
if (col < lecIndex && col + colspan > lecIndex) {
|
|
1026
|
+
return true;
|
|
1027
|
+
}
|
|
1028
|
+
else if (col < rscIndex && col + colspan > rscIndex) {
|
|
1017
1029
|
return true;
|
|
1018
1030
|
}
|
|
1019
1031
|
}
|
package/es/table/src/util.js
CHANGED
|
@@ -87,16 +87,22 @@ export function createInternalData() {
|
|
|
87
87
|
mergeHeaderMaps: {},
|
|
88
88
|
// 已合并单元格数据集合
|
|
89
89
|
mergeHeaderCellMaps: {},
|
|
90
|
+
mergeHeaderRowMaps: {},
|
|
91
|
+
mergeHeaderColMaps: {},
|
|
90
92
|
// 合并单元格的数据
|
|
91
93
|
mergeBodyList: [],
|
|
92
94
|
mergeBodyMaps: {},
|
|
93
95
|
// 已合并单元格数据集合
|
|
94
96
|
mergeBodyCellMaps: {},
|
|
97
|
+
mergeBodyRowMaps: {},
|
|
98
|
+
mergeBodyColMaps: {},
|
|
95
99
|
// 合并表尾的数据
|
|
96
100
|
mergeFooterList: [],
|
|
97
101
|
mergeFooterMaps: {},
|
|
98
102
|
// 已合并表尾数据集合
|
|
99
103
|
mergeFooterCellMaps: {},
|
|
104
|
+
mergeFooterRowMaps: {},
|
|
105
|
+
mergeFooterColMaps: {},
|
|
100
106
|
// 已展开的行集合
|
|
101
107
|
rowExpandedMaps: {},
|
|
102
108
|
// 懒加载中的展开行的集合
|
package/es/table/style.css
CHANGED
|
@@ -2507,12 +2507,12 @@
|
|
|
2507
2507
|
}
|
|
2508
2508
|
|
|
2509
2509
|
/*header*/
|
|
2510
|
-
.vxe-table .vxe-table--header-wrapper {
|
|
2511
|
-
color: var(--vxe-ui-table-header-font-color);
|
|
2512
|
-
}
|
|
2513
2510
|
.vxe-table {
|
|
2514
2511
|
/*排序*/
|
|
2515
2512
|
}
|
|
2513
|
+
.vxe-table .vxe-table--header-wrapper {
|
|
2514
|
+
color: var(--vxe-ui-table-header-font-color);
|
|
2515
|
+
}
|
|
2516
2516
|
.vxe-table .vxe-cell--sort {
|
|
2517
2517
|
text-align: center;
|
|
2518
2518
|
position: relative;
|
|
@@ -2866,6 +2866,21 @@
|
|
|
2866
2866
|
color: var(--vxe-ui-font-color);
|
|
2867
2867
|
font-family: var(--vxe-ui-font-family);
|
|
2868
2868
|
direction: ltr;
|
|
2869
|
+
/*边框*/
|
|
2870
|
+
/*边框线*/
|
|
2871
|
+
/*树形节点*/
|
|
2872
|
+
/*行分组*/
|
|
2873
|
+
/*单元格高度*/
|
|
2874
|
+
/*溢出列*/
|
|
2875
|
+
/*展开行*/
|
|
2876
|
+
/*拖拽列*/
|
|
2877
|
+
/*拖拽行把柄*/
|
|
2878
|
+
/*暂无数据*/
|
|
2879
|
+
/*校验不通过*/
|
|
2880
|
+
/*已废弃,旧的校验样式**/
|
|
2881
|
+
/*单元格标记删除状态*/
|
|
2882
|
+
/*单元格编辑状态*/
|
|
2883
|
+
/*可编辑*/
|
|
2869
2884
|
}
|
|
2870
2885
|
.vxe-table--render-default .vxe-table--body-wrapper {
|
|
2871
2886
|
background-color: var(--vxe-ui-layout-background-color);
|
|
@@ -3034,9 +3049,6 @@
|
|
|
3034
3049
|
.vxe-table--render-default .vxe-body--row.row--hover.row--current > .vxe-body--column {
|
|
3035
3050
|
background-color: var(--vxe-ui-table-row-hover-current-background-color);
|
|
3036
3051
|
}
|
|
3037
|
-
.vxe-table--render-default {
|
|
3038
|
-
/*边框*/
|
|
3039
|
-
}
|
|
3040
3052
|
.vxe-table--render-default.border--default.sy-pos--right .vxe-table--scroll-y-top-corner, .vxe-table--render-default.border--full.sy-pos--right .vxe-table--scroll-y-top-corner, .vxe-table--render-default.border--outer.sy-pos--right .vxe-table--scroll-y-top-corner, .vxe-table--render-default.border--inner.sy-pos--right .vxe-table--scroll-y-top-corner {
|
|
3041
3053
|
background-image: linear-gradient(var(--vxe-ui-table-border-color), var(--vxe-ui-table-border-color)), linear-gradient(var(--vxe-ui-table-border-color), var(--vxe-ui-table-border-color));
|
|
3042
3054
|
background-repeat: no-repeat;
|
|
@@ -3401,9 +3413,6 @@
|
|
|
3401
3413
|
width: 0;
|
|
3402
3414
|
float: left;
|
|
3403
3415
|
}
|
|
3404
|
-
.vxe-table--render-default {
|
|
3405
|
-
/*边框线*/
|
|
3406
|
-
}
|
|
3407
3416
|
.vxe-table--render-default .vxe-table--border-line {
|
|
3408
3417
|
position: absolute;
|
|
3409
3418
|
top: 0;
|
|
@@ -3414,9 +3423,6 @@
|
|
|
3414
3423
|
pointer-events: none;
|
|
3415
3424
|
border: var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color);
|
|
3416
3425
|
}
|
|
3417
|
-
.vxe-table--render-default {
|
|
3418
|
-
/*树形节点*/
|
|
3419
|
-
}
|
|
3420
3426
|
.vxe-table--render-default .vxe-tree--line-wrapper {
|
|
3421
3427
|
position: relative;
|
|
3422
3428
|
display: block;
|
|
@@ -3463,9 +3469,6 @@
|
|
|
3463
3469
|
user-select: none;
|
|
3464
3470
|
cursor: pointer;
|
|
3465
3471
|
}
|
|
3466
|
-
.vxe-table--render-default {
|
|
3467
|
-
/*行分组*/
|
|
3468
|
-
}
|
|
3469
3472
|
.vxe-table--render-default .vxe-row-group--node-btn:hover {
|
|
3470
3473
|
color: var(--vxe-ui-font-color);
|
|
3471
3474
|
}
|
|
@@ -3474,9 +3477,6 @@
|
|
|
3474
3477
|
color: var(--vxe-ui-font-lighten-color);
|
|
3475
3478
|
transition: transform 0.1s ease-in-out;
|
|
3476
3479
|
}
|
|
3477
|
-
.vxe-table--render-default {
|
|
3478
|
-
/*单元格高度*/
|
|
3479
|
-
}
|
|
3480
3480
|
.vxe-table--render-default .vxe-body--column.col--ellipsis > .vxe-cell .vxe-row-group-cell,
|
|
3481
3481
|
.vxe-table--render-default .vxe-body--column.col--ellipsis > .vxe-cell .vxe-tree-cell {
|
|
3482
3482
|
overflow: hidden;
|
|
@@ -3497,9 +3497,6 @@
|
|
|
3497
3497
|
flex-direction: row;
|
|
3498
3498
|
align-items: center;
|
|
3499
3499
|
}
|
|
3500
|
-
.vxe-table--render-default {
|
|
3501
|
-
/*溢出列*/
|
|
3502
|
-
}
|
|
3503
3500
|
.vxe-table--render-default .vxe-header--column:not(.col--active).col--ellipsis > .vxe-cell,
|
|
3504
3501
|
.vxe-table--render-default .vxe-body--column:not(.col--active).col--ellipsis > .vxe-cell,
|
|
3505
3502
|
.vxe-table--render-default .vxe-footer--column:not(.col--active).col--ellipsis > .vxe-cell {
|
|
@@ -3533,9 +3530,6 @@
|
|
|
3533
3530
|
flex-direction: row;
|
|
3534
3531
|
align-items: center;
|
|
3535
3532
|
}
|
|
3536
|
-
.vxe-table--render-default {
|
|
3537
|
-
/*展开行*/
|
|
3538
|
-
}
|
|
3539
3533
|
.vxe-table--render-default .vxe-table--row-expanded-wrapper {
|
|
3540
3534
|
position: absolute;
|
|
3541
3535
|
top: 0;
|
|
@@ -3606,18 +3600,12 @@
|
|
|
3606
3600
|
overflow: auto;
|
|
3607
3601
|
outline: 0;
|
|
3608
3602
|
}
|
|
3609
|
-
.vxe-table--render-default {
|
|
3610
|
-
/*拖拽列*/
|
|
3611
|
-
}
|
|
3612
3603
|
.vxe-table--render-default .vxe-table--column.col--drag-move {
|
|
3613
3604
|
transition: transform 0.5s ease;
|
|
3614
3605
|
}
|
|
3615
3606
|
.vxe-table--render-default .vxe-table--column.col--drag-origin > .vxe-cell {
|
|
3616
3607
|
opacity: 0.3;
|
|
3617
3608
|
}
|
|
3618
|
-
.vxe-table--render-default {
|
|
3619
|
-
/*拖拽行把柄*/
|
|
3620
|
-
}
|
|
3621
3609
|
.vxe-table--render-default .vxe-cell--drag-handle {
|
|
3622
3610
|
-webkit-user-select: none;
|
|
3623
3611
|
-moz-user-select: none;
|
|
@@ -3681,9 +3669,6 @@
|
|
|
3681
3669
|
.vxe-table--render-default.size--mini .vxe-cell--radio {
|
|
3682
3670
|
font-size: var(--vxe-radio-font-size-mini);
|
|
3683
3671
|
}
|
|
3684
|
-
.vxe-table--render-default {
|
|
3685
|
-
/*暂无数据*/
|
|
3686
|
-
}
|
|
3687
3672
|
.vxe-table--render-default .vxe-table--empty-placeholder,
|
|
3688
3673
|
.vxe-table--render-default .vxe-table--empty-block {
|
|
3689
3674
|
color: var(--vxe-ui-input-placeholder-color);
|
|
@@ -3724,9 +3709,6 @@
|
|
|
3724
3709
|
.vxe-table--render-default .vxe-body--column.col--selected {
|
|
3725
3710
|
box-shadow: inset 0px 0px 0px 2px var(--vxe-ui-font-primary-color);
|
|
3726
3711
|
}
|
|
3727
|
-
.vxe-table--render-default {
|
|
3728
|
-
/*校验不通过*/
|
|
3729
|
-
}
|
|
3730
3712
|
.vxe-table--render-default .vxe-body--column .vxe-cell--valid-error-tip {
|
|
3731
3713
|
width: 100%;
|
|
3732
3714
|
position: absolute;
|
|
@@ -3783,9 +3765,6 @@
|
|
|
3783
3765
|
.vxe-table--render-default.valid-msg--full .vxe-body--row:last-child .vxe-cell--valid-error-tip {
|
|
3784
3766
|
top: calc(100% - 1.3em);
|
|
3785
3767
|
}
|
|
3786
|
-
.vxe-table--render-default {
|
|
3787
|
-
/*已废弃,旧的校验样式**/
|
|
3788
|
-
}
|
|
3789
3768
|
.vxe-table--render-default.old-cell-valid .vxe-body--column.col--valid-error .vxe-cell--valid-error-tip {
|
|
3790
3769
|
width: 320px;
|
|
3791
3770
|
position: absolute;
|
|
@@ -3813,9 +3792,6 @@
|
|
|
3813
3792
|
transform: translateX(0);
|
|
3814
3793
|
text-align: left;
|
|
3815
3794
|
}
|
|
3816
|
-
.vxe-table--render-default {
|
|
3817
|
-
/*单元格标记删除状态*/
|
|
3818
|
-
}
|
|
3819
3795
|
.vxe-table--render-default .vxe-body--row.row--pending {
|
|
3820
3796
|
color: var(--vxe-ui-font-disabled-color);
|
|
3821
3797
|
opacity: 0.5;
|
|
@@ -3835,9 +3811,6 @@
|
|
|
3835
3811
|
border-bottom: 1px solid var(--vxe-ui-table-validate-error-color);
|
|
3836
3812
|
z-index: 1;
|
|
3837
3813
|
}
|
|
3838
|
-
.vxe-table--render-default {
|
|
3839
|
-
/*单元格编辑状态*/
|
|
3840
|
-
}
|
|
3841
3814
|
.vxe-table--render-default .vxe-body--row.row--new > .vxe-body--column {
|
|
3842
3815
|
position: relative;
|
|
3843
3816
|
}
|
|
@@ -3864,9 +3837,6 @@
|
|
|
3864
3837
|
border-color: transparent var(--vxe-ui-table-cell-dirty-update-color) transparent transparent;
|
|
3865
3838
|
transform: rotate(45deg);
|
|
3866
3839
|
}
|
|
3867
|
-
.vxe-table--render-default {
|
|
3868
|
-
/*可编辑*/
|
|
3869
|
-
}
|
|
3870
3840
|
.vxe-table--render-default.vxe-editable.cell--highlight .vxe-body--column.col--active {
|
|
3871
3841
|
box-shadow: inset 0px 0px 0px 2px var(--vxe-ui-font-primary-color);
|
|
3872
3842
|
}
|
package/es/ui/index.js
CHANGED
package/es/ui/src/dom.js
CHANGED
|
@@ -184,25 +184,24 @@ export function triggerEvent(targetElem, type) {
|
|
|
184
184
|
export function isNodeElement(elem) {
|
|
185
185
|
return elem && elem.nodeType === 1;
|
|
186
186
|
}
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
187
|
+
let wtlFrame;
|
|
188
|
+
export function wheelScrollLeftTo(scrollLeft, cb) {
|
|
189
|
+
if (wtlFrame) {
|
|
190
|
+
cancelAnimationFrame(wtlFrame);
|
|
191
|
+
}
|
|
192
|
+
wtlFrame = requestAnimationFrame(() => {
|
|
193
|
+
cb(scrollLeft);
|
|
194
|
+
wtlFrame = null;
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
let wtaFrame;
|
|
198
|
+
export function wheelScrollTopTo(diffNum, cb) {
|
|
199
|
+
if (wtaFrame) {
|
|
200
|
+
cancelAnimationFrame(wtaFrame);
|
|
201
|
+
}
|
|
202
|
+
wtaFrame = requestAnimationFrame(() => {
|
|
203
|
+
const offsetTop = diffNum;
|
|
202
204
|
cb(offsetTop);
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
}
|
|
206
|
-
};
|
|
207
|
-
requestAnimationFrame(step);
|
|
205
|
+
wtaFrame = null;
|
|
206
|
+
});
|
|
208
207
|
}
|
package/es/ui/src/log.js
CHANGED