vxe-table 3.21.5 → 3.21.7
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/style.css +1 -1
- package/es/table/src/body.js +13 -13
- package/es/table/src/group.js +3 -0
- package/es/table/src/methods.js +107 -32
- package/es/table/src/util.js +46 -2
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +94 -39
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/src/body.js +13 -13
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/group.js +3 -0
- package/lib/table/src/group.min.js +1 -1
- package/lib/table/src/methods.js +21 -18
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/util.js +56 -6
- package/lib/table/src/util.min.js +1 -1
- package/lib/ui/index.js +1 -1
- 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/package.json +2 -2
- package/packages/table/src/body.ts +15 -15
- package/packages/table/src/group.ts +4 -0
- package/packages/table/src/methods.ts +113 -32
- package/packages/table/src/util.ts +62 -4
- /package/es/{iconfont.1780200130470.ttf → iconfont.1780638727189.ttf} +0 -0
- /package/es/{iconfont.1780200130470.woff → iconfont.1780638727189.woff} +0 -0
- /package/es/{iconfont.1780200130470.woff2 → iconfont.1780638727189.woff2} +0 -0
- /package/lib/{iconfont.1780200130470.ttf → iconfont.1780638727189.ttf} +0 -0
- /package/lib/{iconfont.1780200130470.woff → iconfont.1780638727189.woff} +0 -0
- /package/lib/{iconfont.1780200130470.woff2 → iconfont.1780638727189.woff2} +0 -0
package/es/table/src/body.js
CHANGED
|
@@ -330,23 +330,11 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
|
|
|
330
330
|
class: 'vxe-cell--wrapper vxe-body-cell--wrapper'
|
|
331
331
|
}, column.renderCell(h, cellParams)));
|
|
332
332
|
}
|
|
333
|
-
tdVNs.push(h('div', {
|
|
334
|
-
key: 'tc',
|
|
335
|
-
class: ['vxe-cell', {
|
|
336
|
-
'c--title': showTitle,
|
|
337
|
-
'c--tooltip': showTooltip,
|
|
338
|
-
'c--ellipsis': showEllipsis
|
|
339
|
-
}],
|
|
340
|
-
style: tcStyle,
|
|
341
|
-
attrs: {
|
|
342
|
-
title: showTitle ? $xeTable.getCellLabel(row, column) : null
|
|
343
|
-
}
|
|
344
|
-
}, clVNs));
|
|
345
333
|
if (showValidTip && errorValidItem) {
|
|
346
334
|
const errRule = errorValidItem.rule;
|
|
347
335
|
const validSlot = slots ? slots.valid : null;
|
|
348
336
|
const validParams = Object.assign(Object.assign(Object.assign({}, cellParams), errorValidItem), { rule: errorValidItem });
|
|
349
|
-
|
|
337
|
+
clVNs.push(h('div', {
|
|
350
338
|
key: 'tcv',
|
|
351
339
|
class: ['vxe-cell--valid-error-tip', getClass(validOpts.className, errorValidItem)],
|
|
352
340
|
style: errRule && errRule.maxWidth
|
|
@@ -368,6 +356,18 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
|
|
|
368
356
|
])
|
|
369
357
|
]));
|
|
370
358
|
}
|
|
359
|
+
tdVNs.push(h('div', {
|
|
360
|
+
key: 'tc',
|
|
361
|
+
class: ['vxe-cell', {
|
|
362
|
+
'c--title': showTitle,
|
|
363
|
+
'c--tooltip': showTooltip,
|
|
364
|
+
'c--ellipsis': showEllipsis
|
|
365
|
+
}],
|
|
366
|
+
style: tcStyle,
|
|
367
|
+
attrs: {
|
|
368
|
+
title: showTitle ? $xeTable.getCellLabel(row, column) : null
|
|
369
|
+
}
|
|
370
|
+
}, clVNs));
|
|
371
371
|
}
|
|
372
372
|
let showAreaRowStatus = false;
|
|
373
373
|
if (mouseConfig && mouseOpts.area && !_columnIndex && selectCellToRow) {
|
package/es/table/src/group.js
CHANGED
package/es/table/src/methods.js
CHANGED
|
@@ -3,7 +3,7 @@ import { getTpImg, isPx, isScale, hasClass, addClass, removeClass, wheelScrollLe
|
|
|
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';
|
|
6
|
-
import { getRowUniqueId, createRowId, clearTableAllStatus, getColumnList, toFilters, getRowkey, getRowid, rowToVisible, colToVisible, getCellValue, setCellValue, handleRowidOrRow, handleFieldOrColumn, toTreePathSeq, restoreScrollLocation, getRootColumn, getColReMinWidth, createHandleUpdateRowId, createHandleGetRowId, getRefElem, getCellRestHeight, getLastChildColumn } from './util';
|
|
6
|
+
import { getRowUniqueId, createRowId, clearTableAllStatus, getColumnList, toFilters, getRowkey, getRowid, rowToVisible, colToVisible, getCellValue, setCellValue, handleRowidOrRow, handleFieldOrColumn, toTreePathSeq, restoreScrollLocation, getRootColumn, getColReMinWidth, getColReMaxWidth, createHandleUpdateRowId, createHandleGetRowId, getRefElem, getCellRestHeight, getLastChildColumn } from './util';
|
|
7
7
|
import { getSlotVNs } from '../../ui/src/vn';
|
|
8
8
|
import { moveRowAnimateToTb, clearRowAnimate, moveColAnimateToLr, clearColAnimate } from '../../ui/src/anime';
|
|
9
9
|
import { warnLog, errLog } from '../../ui/src/log';
|
|
@@ -397,12 +397,19 @@ function updateScrollXStatus($xeTable, fullColumn) {
|
|
|
397
397
|
reactData.scrollXLoad = scrollXLoad;
|
|
398
398
|
return scrollXLoad;
|
|
399
399
|
}
|
|
400
|
+
function syncGanttScrollYStatus($xeTable) {
|
|
401
|
+
const reactData = $xeTable;
|
|
402
|
+
const internalData = $xeTable;
|
|
403
|
+
const $xeGanttView = internalData.xeGanttView;
|
|
404
|
+
if ($xeGanttView && $xeGanttView.handleUpdateSYStatus) {
|
|
405
|
+
$xeGanttView.handleUpdateSYStatus(reactData.scrollYLoad);
|
|
406
|
+
}
|
|
407
|
+
}
|
|
400
408
|
function updateScrollYStatus($xeTable, fullData) {
|
|
401
409
|
const props = $xeTable;
|
|
402
410
|
const reactData = $xeTable;
|
|
403
411
|
const internalData = $xeTable;
|
|
404
412
|
const { treeConfig } = props;
|
|
405
|
-
const $xeGanttView = internalData.xeGanttView;
|
|
406
413
|
const virtualYOpts = $xeTable.computeVirtualYOpts;
|
|
407
414
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
408
415
|
const { transform } = treeOpts;
|
|
@@ -410,9 +417,7 @@ function updateScrollYStatus($xeTable, fullData) {
|
|
|
410
417
|
// 如果gt为0,则总是启用
|
|
411
418
|
const scrollYLoad = (transform || !treeConfig) && !!virtualYOpts.enabled && virtualYOpts.gt > -1 && (virtualYOpts.gt === 0 || virtualYOpts.gt < allList.length);
|
|
412
419
|
reactData.scrollYLoad = scrollYLoad;
|
|
413
|
-
|
|
414
|
-
$xeGanttView.handleUpdateSYStatus(scrollYLoad);
|
|
415
|
-
}
|
|
420
|
+
syncGanttScrollYStatus($xeTable);
|
|
416
421
|
return scrollYLoad;
|
|
417
422
|
}
|
|
418
423
|
/**
|
|
@@ -959,6 +964,7 @@ function updateStyle($xeTable) {
|
|
|
959
964
|
const props = $xeTable;
|
|
960
965
|
const reactData = $xeTable;
|
|
961
966
|
const internalData = $xeTable;
|
|
967
|
+
const $xeGantt = $xeTable.$xeGantt;
|
|
962
968
|
const { mouseConfig } = props;
|
|
963
969
|
const { isGroup, tableColumn, overflowX, scrollbarWidth, overflowY, scrollbarHeight, scrollXWidth, columnStore, editStore, isColLoading } = reactData;
|
|
964
970
|
const { visibleColumn, tableHeight, elemStore, currentRow, customHeight, customMinHeight, customMaxHeight, tHeaderHeight, tFooterHeight } = internalData;
|
|
@@ -996,7 +1002,7 @@ function updateStyle($xeTable) {
|
|
|
996
1002
|
xScrollbarVisible = 'hidden';
|
|
997
1003
|
}
|
|
998
1004
|
let yScrollbarVisible = overflowY ? 'visible' : 'hidden';
|
|
999
|
-
if ((scrollbarYConf.visible === 'hidden' || scrollbarYConf.visible === false) || ($xeGanttView && !scrollbarYToLeft)) {
|
|
1005
|
+
if ((scrollbarYConf.visible === 'hidden' || scrollbarYConf.visible === false) || (($xeGantt && $xeGanttView && $xeGantt.reactData.showRightView) && !scrollbarYToLeft)) {
|
|
1000
1006
|
osbWidth = 0;
|
|
1001
1007
|
yScrollbarVisible = 'hidden';
|
|
1002
1008
|
}
|
|
@@ -2332,6 +2338,7 @@ function autoCellWidth($xeTable) {
|
|
|
2332
2338
|
if (!xHandleEl) {
|
|
2333
2339
|
return;
|
|
2334
2340
|
}
|
|
2341
|
+
const columnOpts = $xeTable.computeColumnOpts;
|
|
2335
2342
|
let tWidth = 0;
|
|
2336
2343
|
const minCellWidth = 40; // 列宽最少限制 40px
|
|
2337
2344
|
const bodyWidth = bodyWrapperElem.clientWidth;
|
|
@@ -2340,41 +2347,75 @@ function autoCellWidth($xeTable) {
|
|
|
2340
2347
|
const { fit } = props;
|
|
2341
2348
|
const { columnStore } = reactData;
|
|
2342
2349
|
const { resizeList, pxMinList, autoMinList, pxList, scaleList, scaleMinList, autoList, remainList } = columnStore;
|
|
2350
|
+
const parseColumnMaxWidth = (column) => {
|
|
2351
|
+
const maxWidth = column.maxWidth || columnOpts.maxWidth;
|
|
2352
|
+
if (maxWidth && maxWidth !== 'auto') {
|
|
2353
|
+
if (isScale(maxWidth)) {
|
|
2354
|
+
return Math.floor(XEUtils.toInteger(maxWidth) * meanWidth);
|
|
2355
|
+
}
|
|
2356
|
+
return XEUtils.toInteger(maxWidth);
|
|
2357
|
+
}
|
|
2358
|
+
return 0;
|
|
2359
|
+
};
|
|
2343
2360
|
// 最小宽
|
|
2344
2361
|
pxMinList.forEach((column) => {
|
|
2345
|
-
|
|
2346
|
-
|
|
2347
|
-
|
|
2362
|
+
let miWidth = XEUtils.toInteger(column.minWidth);
|
|
2363
|
+
const mxWidth = parseColumnMaxWidth(column);
|
|
2364
|
+
if (mxWidth) {
|
|
2365
|
+
miWidth = Math.min(miWidth, mxWidth);
|
|
2366
|
+
}
|
|
2367
|
+
tWidth += miWidth;
|
|
2368
|
+
column.renderWidth = miWidth;
|
|
2348
2369
|
});
|
|
2349
2370
|
// 最小自适应
|
|
2350
2371
|
autoMinList.forEach((column) => {
|
|
2351
|
-
|
|
2352
|
-
|
|
2353
|
-
|
|
2372
|
+
let caWidth = Math.max(60, XEUtils.toInteger(column.renderAutoWidth));
|
|
2373
|
+
const mxWidth = parseColumnMaxWidth(column);
|
|
2374
|
+
if (mxWidth) {
|
|
2375
|
+
caWidth = Math.min(caWidth, mxWidth);
|
|
2376
|
+
}
|
|
2377
|
+
tWidth += caWidth;
|
|
2378
|
+
column.renderWidth = caWidth;
|
|
2354
2379
|
});
|
|
2355
2380
|
// 最小百分比
|
|
2356
2381
|
scaleMinList.forEach((column) => {
|
|
2357
|
-
|
|
2358
|
-
|
|
2359
|
-
|
|
2382
|
+
let smWidth = Math.floor(XEUtils.toInteger(column.minWidth) * meanWidth);
|
|
2383
|
+
const mxWidth = parseColumnMaxWidth(column);
|
|
2384
|
+
if (mxWidth) {
|
|
2385
|
+
smWidth = Math.min(smWidth, mxWidth);
|
|
2386
|
+
}
|
|
2387
|
+
tWidth += smWidth;
|
|
2388
|
+
column.renderWidth = smWidth;
|
|
2360
2389
|
});
|
|
2361
2390
|
// 固定百分比
|
|
2362
2391
|
scaleList.forEach((column) => {
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
2392
|
+
let sfWidth = Math.floor(XEUtils.toInteger(column.width) * meanWidth);
|
|
2393
|
+
const mxWidth = parseColumnMaxWidth(column);
|
|
2394
|
+
if (mxWidth) {
|
|
2395
|
+
sfWidth = Math.min(sfWidth, mxWidth);
|
|
2396
|
+
}
|
|
2397
|
+
tWidth += sfWidth;
|
|
2398
|
+
column.renderWidth = sfWidth;
|
|
2366
2399
|
});
|
|
2367
2400
|
// 固定宽
|
|
2368
2401
|
pxList.forEach((column) => {
|
|
2369
|
-
|
|
2370
|
-
|
|
2371
|
-
|
|
2402
|
+
let pWidth = XEUtils.toInteger(column.width);
|
|
2403
|
+
const mxWidth = parseColumnMaxWidth(column);
|
|
2404
|
+
if (mxWidth) {
|
|
2405
|
+
pWidth = Math.min(pWidth, mxWidth);
|
|
2406
|
+
}
|
|
2407
|
+
tWidth += pWidth;
|
|
2408
|
+
column.renderWidth = pWidth;
|
|
2372
2409
|
});
|
|
2373
2410
|
// 自适应宽
|
|
2374
2411
|
autoList.forEach((column) => {
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
|
|
2412
|
+
let aWidth = Math.max(60, XEUtils.toInteger(column.renderAutoWidth));
|
|
2413
|
+
const mxWidth = parseColumnMaxWidth(column);
|
|
2414
|
+
if (mxWidth) {
|
|
2415
|
+
aWidth = Math.min(aWidth, mxWidth);
|
|
2416
|
+
}
|
|
2417
|
+
tWidth += aWidth;
|
|
2418
|
+
column.renderWidth = aWidth;
|
|
2378
2419
|
});
|
|
2379
2420
|
// 调整了列宽
|
|
2380
2421
|
resizeList.forEach((column) => {
|
|
@@ -2382,11 +2423,12 @@ function autoCellWidth($xeTable) {
|
|
|
2382
2423
|
tWidth += width;
|
|
2383
2424
|
column.renderWidth = width;
|
|
2384
2425
|
});
|
|
2426
|
+
const zoomColumnList = scaleMinList.concat(pxMinList).concat(autoMinList).filter(column => !parseColumnMaxWidth(column));
|
|
2385
2427
|
remainWidth -= tWidth;
|
|
2386
|
-
meanWidth = remainWidth > 0 ? Math.floor(remainWidth / (
|
|
2428
|
+
meanWidth = remainWidth > 0 ? Math.floor(remainWidth / (zoomColumnList.length + remainList.length)) : 0;
|
|
2387
2429
|
if (fit) {
|
|
2388
2430
|
if (remainWidth > 0) {
|
|
2389
|
-
|
|
2431
|
+
zoomColumnList.forEach((column) => {
|
|
2390
2432
|
tWidth += meanWidth;
|
|
2391
2433
|
column.renderWidth += meanWidth;
|
|
2392
2434
|
});
|
|
@@ -2405,8 +2447,9 @@ function autoCellWidth($xeTable) {
|
|
|
2405
2447
|
/**
|
|
2406
2448
|
* 偏移量算法
|
|
2407
2449
|
* 如果所有列足够放的情况下,从最后动态列开始分配
|
|
2450
|
+
* 排除已设置 max-width
|
|
2408
2451
|
*/
|
|
2409
|
-
const dynamicList = scaleList.concat(scaleMinList).concat(pxMinList).concat(autoMinList).concat(remainList);
|
|
2452
|
+
const dynamicList = scaleList.concat(scaleMinList).concat(pxMinList).concat(autoMinList).concat(remainList).filter(column => !parseColumnMaxWidth(column));
|
|
2410
2453
|
let dynamicSize = dynamicList.length - 1;
|
|
2411
2454
|
if (dynamicSize > 0) {
|
|
2412
2455
|
let i = bodyWidth - tWidth;
|
|
@@ -3425,6 +3468,7 @@ function loadTableData($xeTable, datas, isReload, isReset) {
|
|
|
3425
3468
|
updateStyle($xeTable);
|
|
3426
3469
|
}).then(() => {
|
|
3427
3470
|
computeScrollLoad($xeTable);
|
|
3471
|
+
syncGanttScrollYStatus($xeTable);
|
|
3428
3472
|
}).then(() => {
|
|
3429
3473
|
const virtualYOpts = $xeTable.computeVirtualYOpts;
|
|
3430
3474
|
// 是否启用了虚拟滚动
|
|
@@ -3484,6 +3528,7 @@ function loadTableData($xeTable, datas, isReload, isReset) {
|
|
|
3484
3528
|
reactData.isRowLoading = false;
|
|
3485
3529
|
handleRecalculateStyle($xeTable, false, false, false);
|
|
3486
3530
|
updateTreeLineStyle($xeTable);
|
|
3531
|
+
syncGanttScrollYStatus($xeTable);
|
|
3487
3532
|
// 如果是自动行高,特殊情况需调用 recalculate 手动刷新
|
|
3488
3533
|
if (!props.showOverflow) {
|
|
3489
3534
|
setTimeout(() => {
|
|
@@ -6521,6 +6566,7 @@ const tableMethods = {
|
|
|
6521
6566
|
const dragBtnOffsetWidth = XEUtils.floor(dragBtnWidth / 2);
|
|
6522
6567
|
const dragPosLeft = dragBtnRect.x - tableRect.x + dragBtnOffsetWidth;
|
|
6523
6568
|
const minInterval = getColReMinWidth(cellParams) - dragBtnOffsetWidth; // 列之间的最小间距
|
|
6569
|
+
const maxInterval = getColReMaxWidth(cellParams); // 列之间的最大间距
|
|
6524
6570
|
const dragMinLeft = isRightFixed ? 0 : (cellRect.x - tableRect.x + dragBtnWidth + minInterval);
|
|
6525
6571
|
const dragMaxLeft = cellRect.x - tableRect.x + cell.clientWidth - minInterval;
|
|
6526
6572
|
let fixedLeftRemainWidth = 0;
|
|
@@ -6560,6 +6606,10 @@ const tableMethods = {
|
|
|
6560
6606
|
left = Math.min(left, dragMaxLeft);
|
|
6561
6607
|
}
|
|
6562
6608
|
dragLeft = Math.max(left, dragMinLeft);
|
|
6609
|
+
// 最大宽
|
|
6610
|
+
if (maxInterval > 1) {
|
|
6611
|
+
dragLeft = Math.min(dragLeft, maxInterval + dragMinLeft - minInterval);
|
|
6612
|
+
}
|
|
6563
6613
|
const resizeBarLeft = Math.max(1, dragLeft);
|
|
6564
6614
|
resizeBarElem.style.left = `${resizeBarLeft}px`;
|
|
6565
6615
|
resizeBarElem.style.top = `${scrollbarXToTop ? osbHeight : 0}px`;
|
|
@@ -6643,6 +6693,7 @@ const tableMethods = {
|
|
|
6643
6693
|
const cell = dragBtnElem.parentNode;
|
|
6644
6694
|
const cellParams = Object.assign(params, { cell, $table: $xeTable });
|
|
6645
6695
|
const colMinWidth = getColReMinWidth(cellParams);
|
|
6696
|
+
const colMaxWidth = getColReMaxWidth(cellParams);
|
|
6646
6697
|
el.setAttribute('data-calc-col', 'Y');
|
|
6647
6698
|
let resizeWidth = calcColumnAutoWidth($xeTable, resizeColumn, el);
|
|
6648
6699
|
el.removeAttribute('data-calc-col');
|
|
@@ -6650,6 +6701,9 @@ const tableMethods = {
|
|
|
6650
6701
|
resizeWidth = Math.max(resizeWidth, colRest.width);
|
|
6651
6702
|
}
|
|
6652
6703
|
resizeWidth = Math.max(colMinWidth, resizeWidth);
|
|
6704
|
+
if (colMaxWidth > 1) {
|
|
6705
|
+
resizeWidth = Math.min(colMaxWidth, resizeWidth);
|
|
6706
|
+
}
|
|
6653
6707
|
const resizeParams = Object.assign(Object.assign({}, params), { resizeWidth, resizeColumn });
|
|
6654
6708
|
reactData.isDragResize = false;
|
|
6655
6709
|
internalData._lastResizeTime = Date.now();
|
|
@@ -7711,7 +7765,14 @@ const tableMethods = {
|
|
|
7711
7765
|
},
|
|
7712
7766
|
handleGlobalPasteEvent(evnt) {
|
|
7713
7767
|
const $xeTable = this;
|
|
7714
|
-
const
|
|
7768
|
+
const props = $xeTable;
|
|
7769
|
+
const internalData = $xeTable;
|
|
7770
|
+
const reactData = $xeTable;
|
|
7771
|
+
const { keyboardConfig, mouseConfig } = props;
|
|
7772
|
+
const { editStore, filterStore } = reactData;
|
|
7773
|
+
const { isActivated } = internalData;
|
|
7774
|
+
const mouseOpts = $xeTable.computeMouseOpts;
|
|
7775
|
+
const keyboardOpts = $xeTable.computeKeyboardOpts;
|
|
7715
7776
|
const { actived } = editStore;
|
|
7716
7777
|
if (isActivated && !filterStore.visible) {
|
|
7717
7778
|
if (!(actived.row || actived.column)) {
|
|
@@ -7724,7 +7785,14 @@ const tableMethods = {
|
|
|
7724
7785
|
},
|
|
7725
7786
|
handleGlobalCopyEvent(evnt) {
|
|
7726
7787
|
const $xeTable = this;
|
|
7727
|
-
const
|
|
7788
|
+
const props = $xeTable;
|
|
7789
|
+
const internalData = $xeTable;
|
|
7790
|
+
const reactData = $xeTable;
|
|
7791
|
+
const { keyboardConfig, mouseConfig } = props;
|
|
7792
|
+
const { editStore, filterStore } = reactData;
|
|
7793
|
+
const { isActivated } = internalData;
|
|
7794
|
+
const mouseOpts = $xeTable.computeMouseOpts;
|
|
7795
|
+
const keyboardOpts = $xeTable.computeKeyboardOpts;
|
|
7728
7796
|
const { actived } = editStore;
|
|
7729
7797
|
if (isActivated && !filterStore.visible) {
|
|
7730
7798
|
if (!(actived.row || actived.column)) {
|
|
@@ -7737,7 +7805,14 @@ const tableMethods = {
|
|
|
7737
7805
|
},
|
|
7738
7806
|
handleGlobalCutEvent(evnt) {
|
|
7739
7807
|
const $xeTable = this;
|
|
7740
|
-
const
|
|
7808
|
+
const props = $xeTable;
|
|
7809
|
+
const internalData = $xeTable;
|
|
7810
|
+
const reactData = $xeTable;
|
|
7811
|
+
const { keyboardConfig, mouseConfig } = props;
|
|
7812
|
+
const { editStore, filterStore } = reactData;
|
|
7813
|
+
const { isActivated } = internalData;
|
|
7814
|
+
const mouseOpts = $xeTable.computeMouseOpts;
|
|
7815
|
+
const keyboardOpts = $xeTable.computeKeyboardOpts;
|
|
7741
7816
|
const { actived } = editStore;
|
|
7742
7817
|
if (isActivated && !filterStore.visible) {
|
|
7743
7818
|
if (!(actived.row || actived.column)) {
|
|
@@ -12296,9 +12371,9 @@ const tableMethods = {
|
|
|
12296
12371
|
return updateStyle($xeTable);
|
|
12297
12372
|
});
|
|
12298
12373
|
},
|
|
12299
|
-
updateScrollYStatus() {
|
|
12374
|
+
updateScrollYStatus(fullData) {
|
|
12300
12375
|
const $xeTable = this;
|
|
12301
|
-
return updateScrollYStatus($xeTable);
|
|
12376
|
+
return updateScrollYStatus($xeTable, fullData);
|
|
12302
12377
|
},
|
|
12303
12378
|
/**
|
|
12304
12379
|
* 如果有滚动条,则滚动到对应的位置
|
package/es/table/src/util.js
CHANGED
|
@@ -711,10 +711,52 @@ export function toFilters(filters, colid) {
|
|
|
711
711
|
}
|
|
712
712
|
return filters;
|
|
713
713
|
}
|
|
714
|
+
/**
|
|
715
|
+
* 列宽拖动最大宽度
|
|
716
|
+
*/
|
|
717
|
+
export function getColReMaxWidth(params) {
|
|
718
|
+
const { $table, column, cell } = params;
|
|
719
|
+
const internalData = $table;
|
|
720
|
+
const { elemStore } = internalData;
|
|
721
|
+
const resizableOpts = $table.computeResizableOpts;
|
|
722
|
+
const columnOpts = $table.computeColumnOpts;
|
|
723
|
+
const { maxWidth: reMaxWidth } = resizableOpts;
|
|
724
|
+
const colMaxWidth = column.maxWidth || columnOpts.maxWidth;
|
|
725
|
+
// 如果自定义调整宽度逻辑
|
|
726
|
+
if (reMaxWidth) {
|
|
727
|
+
const customMaxWidth = XEUtils.isFunction(reMaxWidth) ? reMaxWidth(params) : reMaxWidth;
|
|
728
|
+
if (customMaxWidth !== 'auto') {
|
|
729
|
+
return Math.max(1, XEUtils.toNumber(customMaxWidth));
|
|
730
|
+
}
|
|
731
|
+
}
|
|
732
|
+
const minTitleWidth = XEUtils.floor((XEUtils.toNumber(getComputedStyle(cell).fontSize) || 14) * 1.8);
|
|
733
|
+
const paddingLeftRight = getPaddingLeftRightSize(cell) + getPaddingLeftRightSize(queryElement(cell, '.vxe-cell'));
|
|
734
|
+
const mWidth = minTitleWidth + paddingLeftRight;
|
|
735
|
+
// 如果设置最小宽
|
|
736
|
+
if (colMaxWidth) {
|
|
737
|
+
const bodyScrollElem = getRefElem(elemStore['main-body-scroll']);
|
|
738
|
+
if (bodyScrollElem) {
|
|
739
|
+
if (isScale(colMaxWidth)) {
|
|
740
|
+
const bodyWidth = bodyScrollElem.clientWidth - 1;
|
|
741
|
+
const meanWidth = bodyWidth / 100;
|
|
742
|
+
return Math.max(mWidth, Math.floor(XEUtils.toInteger(colMaxWidth) * meanWidth));
|
|
743
|
+
}
|
|
744
|
+
else if (isPx(colMaxWidth)) {
|
|
745
|
+
return Math.max(mWidth, XEUtils.toInteger(colMaxWidth));
|
|
746
|
+
}
|
|
747
|
+
}
|
|
748
|
+
}
|
|
749
|
+
return -1;
|
|
750
|
+
}
|
|
751
|
+
/**
|
|
752
|
+
* 列宽拖动最小宽度
|
|
753
|
+
*/
|
|
714
754
|
export function getColReMinWidth(params) {
|
|
715
755
|
const { $table, column, cell } = params;
|
|
756
|
+
const tableProps = $table;
|
|
716
757
|
const internalData = $table;
|
|
717
|
-
const
|
|
758
|
+
const resizableOpts = $table.computeResizableOpts;
|
|
759
|
+
const columnOpts = $table.computeColumnOpts;
|
|
718
760
|
const { minWidth } = resizableOpts;
|
|
719
761
|
// 如果自定义调整宽度逻辑
|
|
720
762
|
if (minWidth) {
|
|
@@ -724,7 +766,9 @@ export function getColReMinWidth(params) {
|
|
|
724
766
|
}
|
|
725
767
|
}
|
|
726
768
|
const { elemStore } = internalData;
|
|
727
|
-
const { showHeaderOverflow
|
|
769
|
+
const { showHeaderOverflow: allColumnHeaderOverflow } = tableProps;
|
|
770
|
+
const { showHeaderOverflow } = column;
|
|
771
|
+
const colMinWidth = column.minWidth || columnOpts.minWidth;
|
|
728
772
|
const headOverflow = XEUtils.isUndefined(showHeaderOverflow) || XEUtils.isNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow;
|
|
729
773
|
const showEllipsis = headOverflow === 'ellipsis';
|
|
730
774
|
const showTitle = headOverflow === 'title';
|
package/es/ui/index.js
CHANGED
package/es/ui/src/log.js
CHANGED