vxe-table 3.19.26 → 3.19.28
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/locale/lang/ar-EG.js +16 -11
- package/es/locale/lang/de-DE.js +16 -11
- package/es/locale/lang/en-US.js +19 -14
- package/es/locale/lang/es-ES.js +16 -11
- package/es/locale/lang/fr-FR.js +16 -11
- package/es/locale/lang/hu-HU.js +16 -11
- package/es/locale/lang/hy-AM.js +16 -11
- package/es/locale/lang/id-ID.js +16 -11
- package/es/locale/lang/it-IT.js +16 -11
- package/es/locale/lang/ja-JP.js +16 -11
- package/es/locale/lang/ko-KR.js +16 -11
- package/es/locale/lang/ms-MY.js +16 -11
- package/es/locale/lang/nb-NO.js +16 -11
- package/es/locale/lang/pt-BR.js +16 -11
- package/es/locale/lang/ru-RU.js +16 -11
- package/es/locale/lang/th-TH.js +16 -11
- package/es/locale/lang/ug-CN.js +16 -11
- package/es/locale/lang/uk-UA.js +16 -11
- package/es/locale/lang/uz-UZ.js +16 -11
- package/es/locale/lang/vi-VN.js +16 -11
- package/es/locale/lang/zh-CHT.js +16 -11
- package/es/locale/lang/zh-CN.js +15 -12
- package/es/style.css +1 -1
- package/es/table/src/methods.js +30 -24
- package/es/table/src/table.js +16 -6
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +53 -38
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +16 -11
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/ar-EG.umd.js +16 -11
- package/lib/locale/lang/de-DE.js +16 -11
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/de-DE.umd.js +16 -11
- package/lib/locale/lang/en-US.js +19 -14
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +19 -14
- package/lib/locale/lang/es-ES.js +16 -11
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +16 -11
- package/lib/locale/lang/fr-FR.js +16 -11
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/fr-FR.umd.js +16 -11
- package/lib/locale/lang/hu-HU.js +16 -11
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +16 -11
- package/lib/locale/lang/hy-AM.js +16 -11
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/hy-AM.umd.js +16 -11
- package/lib/locale/lang/id-ID.js +16 -11
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/id-ID.umd.js +16 -11
- package/lib/locale/lang/it-IT.js +16 -11
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/it-IT.umd.js +16 -11
- package/lib/locale/lang/ja-JP.js +16 -11
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +16 -11
- package/lib/locale/lang/ko-KR.js +16 -11
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +16 -11
- package/lib/locale/lang/ms-MY.js +16 -11
- package/lib/locale/lang/ms-MY.min.js +1 -1
- package/lib/locale/lang/ms-MY.umd.js +16 -11
- package/lib/locale/lang/nb-NO.js +16 -11
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/nb-NO.umd.js +16 -11
- package/lib/locale/lang/pt-BR.js +16 -11
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +16 -11
- package/lib/locale/lang/ru-RU.js +16 -11
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +16 -11
- package/lib/locale/lang/th-TH.js +16 -11
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/th-TH.umd.js +16 -11
- package/lib/locale/lang/ug-CN.js +16 -11
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/ug-CN.umd.js +16 -11
- package/lib/locale/lang/uk-UA.js +16 -11
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +16 -11
- package/lib/locale/lang/uz-UZ.js +16 -11
- package/lib/locale/lang/uz-UZ.min.js +1 -1
- package/lib/locale/lang/uz-UZ.umd.js +16 -11
- package/lib/locale/lang/vi-VN.js +16 -11
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/vi-VN.umd.js +16 -11
- package/lib/locale/lang/zh-CHT.js +16 -11
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +16 -11
- package/lib/locale/lang/zh-CN.js +15 -12
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +15 -12
- package/lib/style.css +1 -1
- package/lib/table/src/methods.js +32 -24
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +21 -9
- package/lib/table/src/table.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 +1 -1
- package/packages/locale/lang/ar-EG.ts +16 -11
- package/packages/locale/lang/de-DE.ts +16 -11
- package/packages/locale/lang/en-US.ts +19 -14
- package/packages/locale/lang/es-ES.ts +16 -11
- package/packages/locale/lang/fr-FR.ts +16 -11
- package/packages/locale/lang/hu-HU.ts +16 -11
- package/packages/locale/lang/hy-AM.ts +16 -11
- package/packages/locale/lang/id-ID.ts +16 -11
- package/packages/locale/lang/it-IT.ts +16 -11
- package/packages/locale/lang/ja-JP.ts +16 -11
- package/packages/locale/lang/ko-KR.ts +16 -11
- package/packages/locale/lang/ms-MY.ts +16 -11
- package/packages/locale/lang/nb-NO.ts +16 -11
- package/packages/locale/lang/pt-BR.ts +16 -11
- package/packages/locale/lang/ru-RU.ts +16 -11
- package/packages/locale/lang/th-TH.ts +16 -11
- package/packages/locale/lang/ug-CN.ts +16 -11
- package/packages/locale/lang/uk-UA.ts +16 -11
- package/packages/locale/lang/uz-UZ.ts +16 -11
- package/packages/locale/lang/vi-VN.ts +16 -11
- package/packages/locale/lang/zh-CHT.ts +16 -11
- package/packages/locale/lang/zh-CN.ts +15 -12
- package/packages/table/src/cell.ts +3 -3
- package/packages/table/src/methods.ts +30 -25
- package/packages/table/src/table.ts +17 -6
- /package/es/{iconfont.1764834392345.ttf → iconfont.1765353143587.ttf} +0 -0
- /package/es/{iconfont.1764834392345.woff → iconfont.1765353143587.woff} +0 -0
- /package/es/{iconfont.1764834392345.woff2 → iconfont.1765353143587.woff2} +0 -0
- /package/es/{table → ui}/src/anime.js +0 -0
- /package/lib/{iconfont.1764834392345.ttf → iconfont.1765353143587.ttf} +0 -0
- /package/lib/{iconfont.1764834392345.woff → iconfont.1765353143587.woff} +0 -0
- /package/lib/{iconfont.1764834392345.woff2 → iconfont.1765353143587.woff2} +0 -0
- /package/lib/{table → ui}/src/anime.js +0 -0
- /package/lib/{table → ui}/src/anime.min.js +0 -0
- /package/packages/{table → ui}/src/anime.ts +0 -0
package/es/table/src/methods.js
CHANGED
|
@@ -5,7 +5,7 @@ import { VxeUI } from '../../ui';
|
|
|
5
5
|
import Cell from './cell';
|
|
6
6
|
import { getRowUniqueId, clearTableAllStatus, getColumnList, toFilters, getRowkey, getRowid, rowToVisible, colToVisible, getCellValue, setCellValue, handleRowidOrRow, handleFieldOrColumn, toTreePathSeq, restoreScrollLocation, getRootColumn, getColReMinWidth, createHandleUpdateRowId, createHandleGetRowId, getRefElem, getCellRestHeight, getLastChildColumn } from './util';
|
|
7
7
|
import { getSlotVNs } from '../../ui/src/vn';
|
|
8
|
-
import { moveRowAnimateToTb, clearRowAnimate, moveColAnimateToLr, clearColAnimate } from '
|
|
8
|
+
import { moveRowAnimateToTb, clearRowAnimate, moveColAnimateToLr, clearColAnimate } from '../../ui/src/anime';
|
|
9
9
|
import { warnLog, errLog } from '../../ui/src/log';
|
|
10
10
|
import { getCrossTableDragRowInfo } from './store';
|
|
11
11
|
const { getConfig, getI18n, renderer, formats, interceptor, createEvent } = VxeUI;
|
|
@@ -3972,7 +3972,9 @@ function handleUpdateColResize($xeTable, evnt, params) {
|
|
|
3972
3972
|
$xeTable.analyColumnWidth();
|
|
3973
3973
|
$xeTable.recalculate().then(() => {
|
|
3974
3974
|
$xeTable.saveCustomStore('update:width');
|
|
3975
|
-
$xeTable.
|
|
3975
|
+
$xeTable.refreshScroll().then(() => {
|
|
3976
|
+
$xeTable.updateCellAreas();
|
|
3977
|
+
});
|
|
3976
3978
|
$xeTable.dispatchEvent('column-resizable-change', params, evnt);
|
|
3977
3979
|
// 已废弃 resizable-change
|
|
3978
3980
|
$xeTable.dispatchEvent('resizable-change', params, evnt);
|
|
@@ -3983,7 +3985,9 @@ function handleUpdateRowResize($xeTable, evnt, params) {
|
|
|
3983
3985
|
const reactData = $xeTable;
|
|
3984
3986
|
reactData.resizeHeightFlag++;
|
|
3985
3987
|
$xeTable.recalculate().then(() => {
|
|
3986
|
-
$xeTable.
|
|
3988
|
+
$xeTable.refreshScroll().then(() => {
|
|
3989
|
+
$xeTable.updateCellAreas();
|
|
3990
|
+
});
|
|
3987
3991
|
$xeTable.dispatchEvent('row-resizable-change', params, evnt);
|
|
3988
3992
|
setTimeout(() => $xeTable.recalculate(true), 300);
|
|
3989
3993
|
});
|
|
@@ -5066,7 +5070,7 @@ const tableMethods = {
|
|
|
5066
5070
|
}
|
|
5067
5071
|
}
|
|
5068
5072
|
else if (renderOpts && tcFormatter) {
|
|
5069
|
-
cellLabel =
|
|
5073
|
+
cellLabel = tcFormatter(renderOpts, formatParams);
|
|
5070
5074
|
}
|
|
5071
5075
|
if (formatData) {
|
|
5072
5076
|
formatData[colid] = { value: cellValue, label: cellLabel };
|
|
@@ -8756,8 +8760,6 @@ const tableMethods = {
|
|
|
8756
8760
|
const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild;
|
|
8757
8761
|
return Promise.resolve(dEndMethod ? dEndMethod(dragParams) : true).then((status) => {
|
|
8758
8762
|
if (!status) {
|
|
8759
|
-
clearRowDragData($xeTable);
|
|
8760
|
-
clearCrossTableDragStatus($xeTable);
|
|
8761
8763
|
return errRest;
|
|
8762
8764
|
}
|
|
8763
8765
|
const dragRowid = getRowid($xeTable, dragRow);
|
|
@@ -8884,8 +8886,6 @@ const tableMethods = {
|
|
|
8884
8886
|
afterFullData.splice(nafIndex, 0, dragRow);
|
|
8885
8887
|
tableFullData.splice(ntfIndex, 0, dragRow);
|
|
8886
8888
|
}
|
|
8887
|
-
clearRowDragData($xeTable);
|
|
8888
|
-
clearCrossTableDragStatus($xeTable);
|
|
8889
8889
|
$xeTable.handleTableData(treeConfig && transform);
|
|
8890
8890
|
$xeTable.cacheRowMap(false);
|
|
8891
8891
|
updateScrollYStatus($xeTable);
|
|
@@ -8913,6 +8913,7 @@ const tableMethods = {
|
|
|
8913
8913
|
return $xeTable.$nextTick().then(() => {
|
|
8914
8914
|
if (animation) {
|
|
8915
8915
|
const { tableData } = reactData;
|
|
8916
|
+
const { fullAllDataRowIdData } = internalData;
|
|
8916
8917
|
const dragRowRest = fullAllDataRowIdData[dragRowid];
|
|
8917
8918
|
const _newRowIndex = dragRowRest._index;
|
|
8918
8919
|
const firstRow = tableData[0];
|
|
@@ -8990,6 +8991,10 @@ const tableMethods = {
|
|
|
8990
8991
|
});
|
|
8991
8992
|
}).catch(() => {
|
|
8992
8993
|
return errRest;
|
|
8994
|
+
}).then((rest) => {
|
|
8995
|
+
clearRowDragData($xeTable);
|
|
8996
|
+
clearCrossTableDragStatus($xeTable);
|
|
8997
|
+
return rest;
|
|
8993
8998
|
});
|
|
8994
8999
|
}
|
|
8995
9000
|
clearRowDragData($xeTable);
|
|
@@ -9306,12 +9311,10 @@ const tableMethods = {
|
|
|
9306
9311
|
const isControlKey = hasControlKey(evnt);
|
|
9307
9312
|
const trEl = evnt.currentTarget;
|
|
9308
9313
|
const rowid = trEl.getAttribute('rowid') || '';
|
|
9309
|
-
const
|
|
9310
|
-
if (
|
|
9314
|
+
const rowRest = fullAllDataRowIdData[rowid];
|
|
9315
|
+
if (rowRest) {
|
|
9311
9316
|
evnt.preventDefault();
|
|
9312
|
-
const row =
|
|
9313
|
-
const rowid = getRowid($xeTable, row);
|
|
9314
|
-
const rowRest = fullAllDataRowIdData[rowid];
|
|
9317
|
+
const row = rowRest.row;
|
|
9315
9318
|
const offsetY = evnt.clientY - trEl.getBoundingClientRect().y;
|
|
9316
9319
|
const dragPos = offsetY < trEl.clientHeight / 2 ? 'top' : 'bottom';
|
|
9317
9320
|
internalData.prevDragToChild = !!(treeConfig && transform && (isCrossDrag && isToChildDrag) && isControlKey);
|
|
@@ -9345,7 +9348,7 @@ const tableMethods = {
|
|
|
9345
9348
|
}
|
|
9346
9349
|
if ($xeTable.eqRow(dragRow, row) ||
|
|
9347
9350
|
(isControlKey && treeConfig && lazy && row[hasChildField] && rowRest && !rowRest.treeLoaded) ||
|
|
9348
|
-
(!isCrossDrag && treeConfig && transform && (isPeerDrag ? dragRow[parentField] !== row[parentField] :
|
|
9351
|
+
(!isCrossDrag && treeConfig && transform && (isPeerDrag ? dragRow[parentField] !== row[parentField] : rowRest.level))) {
|
|
9349
9352
|
showDropTip($xeTable, evnt, trEl, null, false, dragPos);
|
|
9350
9353
|
return;
|
|
9351
9354
|
}
|
|
@@ -9445,8 +9448,6 @@ const tableMethods = {
|
|
|
9445
9448
|
const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild;
|
|
9446
9449
|
return Promise.resolve(dragEndMethod ? dragEndMethod(dragParams) : true).then((status) => {
|
|
9447
9450
|
if (!status) {
|
|
9448
|
-
clearColDragData($xeTable);
|
|
9449
|
-
clearCrossTableDragStatus($xeTable);
|
|
9450
9451
|
return errRest;
|
|
9451
9452
|
}
|
|
9452
9453
|
let dragTargetColumn = null;
|
|
@@ -9586,8 +9587,6 @@ const tableMethods = {
|
|
|
9586
9587
|
$xeTable.clearCopyCellArea();
|
|
9587
9588
|
}
|
|
9588
9589
|
}
|
|
9589
|
-
clearColDragData($xeTable);
|
|
9590
|
-
clearCrossTableDragStatus($xeTable);
|
|
9591
9590
|
if (evnt) {
|
|
9592
9591
|
$xeTable.dispatchEvent('column-dragend', {
|
|
9593
9592
|
oldColumn: dragColumn,
|
|
@@ -9692,6 +9691,10 @@ const tableMethods = {
|
|
|
9692
9691
|
});
|
|
9693
9692
|
}).catch(() => {
|
|
9694
9693
|
return errRest;
|
|
9694
|
+
}).then((rest) => {
|
|
9695
|
+
clearColDragData($xeTable);
|
|
9696
|
+
clearCrossTableDragStatus($xeTable);
|
|
9697
|
+
return rest;
|
|
9695
9698
|
});
|
|
9696
9699
|
}
|
|
9697
9700
|
clearColDragData($xeTable);
|
|
@@ -11565,12 +11568,15 @@ const tableMethods = {
|
|
|
11565
11568
|
const lastRow = afterFullData[afterFullData.length - 1];
|
|
11566
11569
|
rowid = getRowid($xeTable, lastRow);
|
|
11567
11570
|
rowRest = fullAllDataRowIdData[rowid] || {};
|
|
11568
|
-
|
|
11569
|
-
|
|
11570
|
-
|
|
11571
|
-
|
|
11572
|
-
|
|
11573
|
-
|
|
11571
|
+
if (rowRest) {
|
|
11572
|
+
const rHeight = getCellRestHeight(rowRest, cellOpts, rowOpts, defaultRowHeight);
|
|
11573
|
+
// 如果为空时还没计算完数据,保持原高度不变
|
|
11574
|
+
if (rHeight) {
|
|
11575
|
+
sYHeight = (rowRest.oTop || 0) + rHeight;
|
|
11576
|
+
// 是否展开行
|
|
11577
|
+
if (expandColumn && rowExpandedMaps[rowid]) {
|
|
11578
|
+
sYHeight += rowRest.expandHeight || expandOpts.height || 0;
|
|
11579
|
+
}
|
|
11574
11580
|
}
|
|
11575
11581
|
}
|
|
11576
11582
|
if (sYHeight > maxYHeight) {
|
package/es/table/src/table.js
CHANGED
|
@@ -927,9 +927,9 @@ export default {
|
|
|
927
927
|
const cellOpts = $xeTable.computeCellOpts;
|
|
928
928
|
let headCellHeight = XEUtils.toNumber(getCalcHeight(headerCellOpts.height || cellOpts.height));
|
|
929
929
|
if ($xeGantt) {
|
|
930
|
-
const
|
|
931
|
-
if (
|
|
932
|
-
const ganttMinHeadCellHeight = defaultRowHeight / 2 *
|
|
930
|
+
const taskViewScales = $xeGantt.computeTaskViewScales;
|
|
931
|
+
if (taskViewScales && taskViewScales.length > 2) {
|
|
932
|
+
const ganttMinHeadCellHeight = defaultRowHeight / 2 * taskViewScales.length;
|
|
933
933
|
headCellHeight = Math.max(ganttMinHeadCellHeight, headCellHeight);
|
|
934
934
|
}
|
|
935
935
|
}
|
|
@@ -1397,8 +1397,15 @@ export default {
|
|
|
1397
1397
|
/**
|
|
1398
1398
|
* 判断列全选的复选框是否禁用
|
|
1399
1399
|
*/
|
|
1400
|
-
|
|
1401
|
-
const
|
|
1400
|
+
computeIsAllCheckboxDisabled() {
|
|
1401
|
+
const $xeTable = this;
|
|
1402
|
+
const props = $xeTable;
|
|
1403
|
+
const reactData = $xeTable;
|
|
1404
|
+
const internalData = $xeTable;
|
|
1405
|
+
const { treeConfig } = props;
|
|
1406
|
+
const { tableData } = reactData;
|
|
1407
|
+
const { tableFullData } = internalData;
|
|
1408
|
+
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
1402
1409
|
const { strict, checkMethod } = checkboxOpts;
|
|
1403
1410
|
if (strict) {
|
|
1404
1411
|
if (tableData.length || tableFullData.length) {
|
|
@@ -1407,7 +1414,7 @@ export default {
|
|
|
1407
1414
|
// 暂时不支持树形结构
|
|
1408
1415
|
}
|
|
1409
1416
|
// 如果所有行都被禁用
|
|
1410
|
-
return tableFullData.every((row) => !checkMethod({ row }));
|
|
1417
|
+
return tableFullData.every((row) => !checkMethod({ $table: $xeTable, row }));
|
|
1411
1418
|
}
|
|
1412
1419
|
return false;
|
|
1413
1420
|
}
|
|
@@ -1415,6 +1422,9 @@ export default {
|
|
|
1415
1422
|
}
|
|
1416
1423
|
return false;
|
|
1417
1424
|
},
|
|
1425
|
+
isAllCheckboxDisabled() {
|
|
1426
|
+
return this.computeIsAllCheckboxDisabled;
|
|
1427
|
+
},
|
|
1418
1428
|
computeVirtualScrollBars() {
|
|
1419
1429
|
const $xeTable = this;
|
|
1420
1430
|
const reactData = $xeTable;
|
package/es/ui/index.js
CHANGED
package/es/ui/src/log.js
CHANGED
package/lib/index.umd.js
CHANGED
|
@@ -2005,7 +2005,7 @@ function getClass(property, params) {
|
|
|
2005
2005
|
;// CONCATENATED MODULE: ./packages/ui/index.ts
|
|
2006
2006
|
|
|
2007
2007
|
|
|
2008
|
-
const version = "3.19.
|
|
2008
|
+
const version = "3.19.28";
|
|
2009
2009
|
core_.VxeUI.version = version;
|
|
2010
2010
|
core_.VxeUI.tableVersion = version;
|
|
2011
2011
|
core_.VxeUI.setConfig({
|
|
@@ -2715,7 +2715,7 @@ function isNodeElement(elem) {
|
|
|
2715
2715
|
const {
|
|
2716
2716
|
log: log_log
|
|
2717
2717
|
} = core_.VxeUI;
|
|
2718
|
-
const log_version = `table v${"3.19.
|
|
2718
|
+
const log_version = `table v${"3.19.28"}`;
|
|
2719
2719
|
const warnLog = log_log.create('warn', log_version);
|
|
2720
2720
|
const errLog = log_log.create('error', log_version);
|
|
2721
2721
|
;// CONCATENATED MODULE: ./packages/table/src/columnInfo.ts
|
|
@@ -5827,7 +5827,7 @@ const tableProps = {
|
|
|
5827
5827
|
// 额外的参数
|
|
5828
5828
|
params: Object
|
|
5829
5829
|
};
|
|
5830
|
-
;// CONCATENATED MODULE: ./packages/
|
|
5830
|
+
;// CONCATENATED MODULE: ./packages/ui/src/anime.ts
|
|
5831
5831
|
|
|
5832
5832
|
|
|
5833
5833
|
const rowMoveCls = 'row--drag-move';
|
|
@@ -6111,8 +6111,8 @@ if(reactData.scrollYLoad&&!(internalData.customHeight||internalData.customMinHei
|
|
|
6111
6111
|
* 计算自适应列宽
|
|
6112
6112
|
*/function calcColumnAutoWidth($xeTable,column,wrapperEl){const columnOpts=$xeTable.computeColumnOpts;const{autoOptions}=columnOpts;const{isCalcHeader,isCalcBody,isCalcFooter}=autoOptions||{};const querySelections=[];if(isCalcHeader){querySelections.push(`.vxe-header-cell--wrapper[colid="${column.id}"]`);}if(isCalcBody){querySelections.push(`.vxe-body-cell--wrapper[colid="${column.id}"]`);}if(isCalcFooter){querySelections.push(`.vxe-footer-cell--wrapper[colid="${column.id}"]`);}const cellElemList=querySelections.length?wrapperEl.querySelectorAll(querySelections.join(',')):[];let leftRightPadding=0;const firstCellEl=cellElemList[0];if(firstCellEl&&firstCellEl.parentElement){const cellStyle=getComputedStyle(firstCellEl.parentElement);leftRightPadding=Math.ceil(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellStyle.paddingLeft)+external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellStyle.paddingRight));}let colWidth=column.renderAutoWidth-leftRightPadding;for(let i=0;i<cellElemList.length;i++){const celEl=cellElemList[i];colWidth=Math.max(colWidth,celEl?Math.ceil(celEl.scrollWidth)+4:0);}return colWidth+leftRightPadding;}/**
|
|
6113
6113
|
* 自适应列宽
|
|
6114
|
-
*/function calcCellWidth($xeTable){const internalData=$xeTable;const autoWidthColumnList=$xeTable.computeAutoWidthColumnList;const{fullColumnIdData}=internalData;const el=$xeTable.$refs.refElem;if(el){el.setAttribute('data-calc-col','Y');autoWidthColumnList.forEach(column=>{const colid=column.id;const colRest=fullColumnIdData[colid];const colWidth=calcColumnAutoWidth($xeTable,column,el);if(colRest){colRest.width=Math.max(colWidth,colRest.width);}column.renderAutoWidth=colWidth;});$xeTable.analyColumnWidth();el.removeAttribute('data-calc-col');}}function handleUpdateColResize($xeTable,evnt,params){$xeTable.analyColumnWidth();$xeTable.recalculate().then(()=>{$xeTable.saveCustomStore('update:width');$xeTable.updateCellAreas();$xeTable.dispatchEvent('column-resizable-change',params,evnt);// 已废弃 resizable-change
|
|
6115
|
-
$xeTable.dispatchEvent('resizable-change',params,evnt);setTimeout(()=>$xeTable.recalculate(true),300);});}function handleUpdateRowResize($xeTable,evnt,params){const reactData=$xeTable;reactData.resizeHeightFlag++;$xeTable.recalculate().then(()=>{$xeTable.updateCellAreas();$xeTable.dispatchEvent('row-resizable-change',params,evnt);setTimeout(()=>$xeTable.recalculate(true),300);});}function updateColumnOffsetLeft($xeTable){const internalData=$xeTable;const{visibleColumn,fullColumnIdData}=internalData;let offsetLeft=0;for(let cIndex=0,rLen=visibleColumn.length;cIndex<rLen;cIndex++){const column=visibleColumn[cIndex];const colid=column.id;const colRest=fullColumnIdData[colid];if(colRest){colRest.oLeft=offsetLeft;}offsetLeft+=column.renderWidth;}}function updateRowOffsetTop($xeTable){const reactData=$xeTable;const internalData=$xeTable;const{expandColumn}=reactData;const{afterFullData,fullAllDataRowIdData,rowExpandedMaps}=internalData;const expandOpts=$xeTable.computeExpandOpts;const rowOpts=$xeTable.computeRowOpts;const cellOpts=$xeTable.computeCellOpts;const defaultRowHeight=$xeTable.computeDefaultRowHeight;const{handleGetRowId}=createHandleGetRowId($xeTable);let offsetTop=0;for(let rIndex=0,rLen=afterFullData.length;rIndex<rLen;rIndex++){const row=afterFullData[rIndex];const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid]||{};rowRest.oTop=offsetTop;offsetTop+=rowRest.resizeHeight||cellOpts.height||rowOpts.height||rowRest.height||defaultRowHeight;// 是否展开行
|
|
6114
|
+
*/function calcCellWidth($xeTable){const internalData=$xeTable;const autoWidthColumnList=$xeTable.computeAutoWidthColumnList;const{fullColumnIdData}=internalData;const el=$xeTable.$refs.refElem;if(el){el.setAttribute('data-calc-col','Y');autoWidthColumnList.forEach(column=>{const colid=column.id;const colRest=fullColumnIdData[colid];const colWidth=calcColumnAutoWidth($xeTable,column,el);if(colRest){colRest.width=Math.max(colWidth,colRest.width);}column.renderAutoWidth=colWidth;});$xeTable.analyColumnWidth();el.removeAttribute('data-calc-col');}}function handleUpdateColResize($xeTable,evnt,params){$xeTable.analyColumnWidth();$xeTable.recalculate().then(()=>{$xeTable.saveCustomStore('update:width');$xeTable.refreshScroll().then(()=>{$xeTable.updateCellAreas();});$xeTable.dispatchEvent('column-resizable-change',params,evnt);// 已废弃 resizable-change
|
|
6115
|
+
$xeTable.dispatchEvent('resizable-change',params,evnt);setTimeout(()=>$xeTable.recalculate(true),300);});}function handleUpdateRowResize($xeTable,evnt,params){const reactData=$xeTable;reactData.resizeHeightFlag++;$xeTable.recalculate().then(()=>{$xeTable.refreshScroll().then(()=>{$xeTable.updateCellAreas();});$xeTable.dispatchEvent('row-resizable-change',params,evnt);setTimeout(()=>$xeTable.recalculate(true),300);});}function updateColumnOffsetLeft($xeTable){const internalData=$xeTable;const{visibleColumn,fullColumnIdData}=internalData;let offsetLeft=0;for(let cIndex=0,rLen=visibleColumn.length;cIndex<rLen;cIndex++){const column=visibleColumn[cIndex];const colid=column.id;const colRest=fullColumnIdData[colid];if(colRest){colRest.oLeft=offsetLeft;}offsetLeft+=column.renderWidth;}}function updateRowOffsetTop($xeTable){const reactData=$xeTable;const internalData=$xeTable;const{expandColumn}=reactData;const{afterFullData,fullAllDataRowIdData,rowExpandedMaps}=internalData;const expandOpts=$xeTable.computeExpandOpts;const rowOpts=$xeTable.computeRowOpts;const cellOpts=$xeTable.computeCellOpts;const defaultRowHeight=$xeTable.computeDefaultRowHeight;const{handleGetRowId}=createHandleGetRowId($xeTable);let offsetTop=0;for(let rIndex=0,rLen=afterFullData.length;rIndex<rLen;rIndex++){const row=afterFullData[rIndex];const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid]||{};rowRest.oTop=offsetTop;offsetTop+=rowRest.resizeHeight||cellOpts.height||rowOpts.height||rowRest.height||defaultRowHeight;// 是否展开行
|
|
6116
6116
|
if(expandColumn&&rowExpandedMaps[rowid]){offsetTop+=rowRest.expandHeight||expandOpts.height||0;}}}/**
|
|
6117
6117
|
* 更新展开行样式
|
|
6118
6118
|
*/function updateRowExpandStyle($xeTable){const reactData=$xeTable;const internalData=$xeTable;const{expandColumn,scrollYLoad,scrollYTop,isScrollYBig}=reactData;const expandOpts=$xeTable.computeExpandOpts;const rowOpts=$xeTable.computeRowOpts;const cellOpts=$xeTable.computeCellOpts;const defaultRowHeight=$xeTable.computeDefaultRowHeight;const{mode}=expandOpts;if(expandColumn&&mode==='fixed'){const{elemStore,fullAllDataRowIdData}=internalData;const rowExpandEl=$xeTable.$refs.refRowExpandElem;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);if(rowExpandEl&&bodyScrollElem){let isUpdateHeight=false;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(rowExpandEl.children,reEl=>{const expandEl=reEl;const rowid=expandEl.getAttribute('rowid')||'';const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const expandHeight=expandEl.offsetHeight+1;const trEl=bodyScrollElem.querySelector(`.vxe-body--row[rowid="${rowid}"]`);let offsetTop=0;if(scrollYLoad){if(isScrollYBig&&trEl){offsetTop=trEl.offsetTop+trEl.offsetHeight;}else{offsetTop=rowRest.oTop+(rowRest.resizeHeight||cellOpts.height||rowOpts.height||rowRest.height||defaultRowHeight);}}else{if(trEl){offsetTop=trEl.offsetTop+trEl.offsetHeight;}}if(isScrollYBig){offsetTop+=scrollYTop;}expandEl.style.top=toCssUnit(offsetTop);if(!isUpdateHeight){if(rowRest.expandHeight!==expandHeight){isUpdateHeight=true;}}rowRest.expandHeight=expandHeight;}});if(isUpdateHeight){reactData.rowExpandHeightFlag++;$xeTable.$nextTick(()=>{updateRowOffsetTop($xeTable);});}}}}/**
|
|
@@ -6234,7 +6234,7 @@ if(eqEmptyValue(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_x
|
|
|
6234
6234
|
* @param {Array/Row} rows 行数据
|
|
6235
6235
|
* @param {String} field 字段名
|
|
6236
6236
|
*/clearData(rows,field){const $xeTable=this;const internalData=$xeTable;const{tableFullData,visibleColumn}=internalData;if(!arguments.length){rows=tableFullData;}else if(rows&&!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)){rows=[rows];}if(field){rows.forEach(row=>external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row,field,null));}else{rows.forEach(row=>{visibleColumn.forEach(column=>{if(column.field){setCellValue(row,column,null);}});});}return $xeTable.$nextTick();},getCellElement(row,fieldOrColumn){const $xeTable=this;const internalData=$xeTable;const{elemStore}=internalData;const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(!column){return null;}const rowid=getRowid($xeTable,row);const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const leftScrollElem=getRefElem(elemStore['left-body-scroll']);const rightScrollElem=getRefElem(elemStore['right-body-scroll']);let bodyElem;if(column){if(column.fixed){if(column.fixed==='left'){if(leftScrollElem){bodyElem=leftScrollElem;}}else{if(rightScrollElem){bodyElem=rightScrollElem;}}}if(!bodyElem){bodyElem=bodyScrollElem;}if(bodyElem){return bodyElem.querySelector(`.vxe-body--row[rowid="${rowid}"] .${column.id}`);}}return null;},getCellLabel(row,fieldOrColumn){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(!column){return null;}const{editConfig}=props;const{formatter,editRender,cellRender}=column;// formatter > tableCellFormatter
|
|
6237
|
-
const renderOpts=formatter?null:editConfig&&isEnableConf(editRender)?editRender:isEnableConf(cellRender)?cellRender:null;const compConf=renderOpts?methods_renderer.get(renderOpts.name):null;const tcFormatter=compConf?compConf.tableCellFormatter:null;const cellValue=getCellValue(row,column);let cellLabel=cellValue;if(formatter||tcFormatter){let formatData;const{fullAllDataRowIdData}=internalData;const rowid=getRowid($xeTable,row);const colid=column.id;const rowRest=fullAllDataRowIdData[rowid];if(rowRest){formatData=rowRest.formatData;if(!formatData){formatData=fullAllDataRowIdData[rowid].formatData={};}if(rowRest&&formatData[colid]){if(formatData[colid].value===cellValue){return formatData[colid].label;}}}const formatParams={$table:$xeTable,cellValue,row,rowIndex:$xeTable.getRowIndex(row),column,columnIndex:$xeTable.getColumnIndex(column)};if(formatter){if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(formatter)){const gFormatOpts=methods_formats.get(formatter);const tcFormatMethod=gFormatOpts?gFormatOpts.tableCellFormatMethod||gFormatOpts.cellFormatMethod:null;cellLabel=tcFormatMethod?tcFormatMethod(formatParams):'';}else if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(formatter)){const gFormatOpts=methods_formats.get(formatter[0]);const tcFormatMethod=gFormatOpts?gFormatOpts.tableCellFormatMethod||gFormatOpts.cellFormatMethod:null;cellLabel=tcFormatMethod?tcFormatMethod(formatParams,...formatter.slice(1)):'';}else{cellLabel=formatter(formatParams);}}else if(renderOpts&&tcFormatter){cellLabel
|
|
6237
|
+
const renderOpts=formatter?null:editConfig&&isEnableConf(editRender)?editRender:isEnableConf(cellRender)?cellRender:null;const compConf=renderOpts?methods_renderer.get(renderOpts.name):null;const tcFormatter=compConf?compConf.tableCellFormatter:null;const cellValue=getCellValue(row,column);let cellLabel=cellValue;if(formatter||tcFormatter){let formatData;const{fullAllDataRowIdData}=internalData;const rowid=getRowid($xeTable,row);const colid=column.id;const rowRest=fullAllDataRowIdData[rowid];if(rowRest){formatData=rowRest.formatData;if(!formatData){formatData=fullAllDataRowIdData[rowid].formatData={};}if(rowRest&&formatData[colid]){if(formatData[colid].value===cellValue){return formatData[colid].label;}}}const formatParams={$table:$xeTable,cellValue,row,rowIndex:$xeTable.getRowIndex(row),column,columnIndex:$xeTable.getColumnIndex(column)};if(formatter){if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(formatter)){const gFormatOpts=methods_formats.get(formatter);const tcFormatMethod=gFormatOpts?gFormatOpts.tableCellFormatMethod||gFormatOpts.cellFormatMethod:null;cellLabel=tcFormatMethod?tcFormatMethod(formatParams):'';}else if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(formatter)){const gFormatOpts=methods_formats.get(formatter[0]);const tcFormatMethod=gFormatOpts?gFormatOpts.tableCellFormatMethod||gFormatOpts.cellFormatMethod:null;cellLabel=tcFormatMethod?tcFormatMethod(formatParams,...formatter.slice(1)):'';}else{cellLabel=formatter(formatParams);}}else if(renderOpts&&tcFormatter){cellLabel=tcFormatter(renderOpts,formatParams);}if(formatData){formatData[colid]={value:cellValue,label:cellLabel};}}return cellLabel;},getFooterCellLabel(row,fieldOrColumn){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(!column){return null;}const{footerFormatter}=column;const _columnIndex=$xeTable.getVTColumnIndex(column);let itemValue='';// 兼容老模式
|
|
6238
6238
|
if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(row)){itemValue=row[_columnIndex];}else{itemValue=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,column.field);}let cellLabel=itemValue;if(footerFormatter){let formatData;const{footerTableData}=reactData;const{footerFullDataRowData}=internalData;const colid=column.id;const $rowIndex=footerTableData.indexOf(row);let rowRest=null;if($rowIndex>-1){rowRest=footerFullDataRowData[$rowIndex];if(!rowRest){rowRest=footerFullDataRowData[$rowIndex]={};}formatData=rowRest.formatData;if(!formatData){formatData=footerFullDataRowData[$rowIndex].formatData={};}if(rowRest&&formatData[colid]){if(formatData[colid].value===itemValue){return formatData[colid].label;}}}const footerFormatParams={$table:$xeTable,cellValue:itemValue,itemValue,row,items:row,$rowIndex,column,_columnIndex,columnIndex:$xeTable.getColumnIndex(column)};if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(footerFormatter)){const gFormatOpts=methods_formats.get(footerFormatter);const fcFormatMethod=gFormatOpts?gFormatOpts.tableFooterCellFormatMethod:null;cellLabel=fcFormatMethod?fcFormatMethod(footerFormatParams):'';}else if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(footerFormatter)){const gFormatOpts=methods_formats.get(footerFormatter[0]);const fcFormatMethod=gFormatOpts?gFormatOpts.tableFooterCellFormatMethod:null;cellLabel=fcFormatMethod?fcFormatMethod(footerFormatParams,...footerFormatter.slice(1)):'';}else{cellLabel=footerFormatter(footerFormatParams);}if(formatData){formatData[colid]={value:itemValue,label:cellLabel};}}return cellLabel;},/**
|
|
6239
6239
|
* 检查是否为临时行数据
|
|
6240
6240
|
*/isInsertByRow(row){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const rowid=getRowid($xeTable,row);return!!reactData.insertRowFlag&&!!internalData.insertRowMaps[rowid];},isRemoveByRow(row){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const rowid=getRowid($xeTable,row);return!!reactData.removeRowFlag&&!!internalData.removeRowMaps[rowid];},/**
|
|
@@ -6523,7 +6523,7 @@ if(isEnableConf(editConfig)&&editOpts.trigger==='dblclick'){if(actived.row&&acti
|
|
|
6523
6523
|
*/triggerCellMousedownEvent(evnt,params){const $xeTable=this;const{column}=params;const{type,treeNode}=column;const isRadioType=type==='radio';const isCheckboxType=type==='checkbox';const isExpandType=type==='expand';const rowOpts=$xeTable.computeRowOpts;const rowDragOpts=$xeTable.computeRowDragOpts;const{trigger,isCrossDrag,isPeerDrag,disabledMethod}=rowDragOpts;const cell=evnt.currentTarget;params.cell=cell;const triggerInput=cell&&cell.tagName&&cell.tagName.toLowerCase()==='input';const triggerRadio=isRadioType&&getEventTargetNode(evnt,cell,'vxe-cell--radio').flag;const triggerCheckbox=isCheckboxType&&getEventTargetNode(evnt,cell,'vxe-cell--checkbox').flag;const triggerTreeNode=treeNode&&getEventTargetNode(evnt,cell,'vxe-cell--tree-btn').flag;const triggerExpandNode=isExpandType&&getEventTargetNode(evnt,cell,'vxe-table--expanded').flag;let isColDragCell=false;if(rowOpts.drag){isColDragCell=trigger==='row'||column.dragSort&&trigger==='cell';}let triggerDrag=false;if(!(triggerInput||triggerRadio||triggerCheckbox||triggerTreeNode||triggerExpandNode)){if(isColDragCell&&(isCrossDrag||isPeerDrag||!params.level)&&!(disabledMethod&&disabledMethod(params))){triggerDrag=true;$xeTable.handleCellDragMousedownEvent(evnt,params);}}if(!triggerDrag&&$xeTable.handleCellMousedownEvent){$xeTable.handleCellMousedownEvent(evnt,params);}$xeTable.focus();$xeTable.closeFilter();if($xeTable.closeMenu){$xeTable.closeMenu();}},triggerCellMouseupEvent(){const $xeTable=this;clearDragStatus($xeTable);},/**
|
|
6524
6524
|
* 行拖拽
|
|
6525
6525
|
*/handleRowDragDragstartEvent(evnt){if(evnt.dataTransfer){evnt.dataTransfer.setDragImage(getTpImg(),0,0);}},handleRowDragSwapEvent(evnt,isSyncRow,dragRow,prevDragRow,prevDragPos,prevDragToChild){const $xeTable=this;const $xeGantt=$xeTable.$xeGantt;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{treeConfig,dragConfig}=props;const rowDragOpts=$xeTable.computeRowDragOpts;const{afterFullData,tableFullData,fullAllDataRowIdData}=internalData;const{animation,isPeerDrag,isCrossDrag,isSelfToChildDrag,dragEndMethod,dragToChildMethod}=rowDragOpts;const treeOpts=$xeTable.computeTreeOpts;const cellOpts=$xeTable.computeCellOpts;const rowOpts=$xeTable.computeRowOpts;const defaultRowHeight=$xeTable.computeDefaultRowHeight;const{transform,rowField,mapChildrenField,parentField}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const dEndMethod=dragEndMethod||(dragConfig?dragConfig.dragEndMethod:null);const dragOffsetIndex=prevDragPos==='bottom'?1:0;const el=$xeTable.$refs.refElem;const errRest={status:false};if(!(el&&prevDragRow&&dragRow)){return Promise.resolve(errRest);}// 判断是否有拖动
|
|
6526
|
-
if(prevDragRow!==dragRow){const dragParams={oldRow:dragRow,newRow:prevDragRow,dragRow,dragPos:prevDragPos,dragToChild:!!prevDragToChild,offsetIndex:dragOffsetIndex};const isDragToChildFlag=isSelfToChildDrag&&dragToChildMethod?dragToChildMethod(dragParams):prevDragToChild;return Promise.resolve(dEndMethod?dEndMethod(dragParams):true).then(status=>{if(!status){
|
|
6526
|
+
if(prevDragRow!==dragRow){const dragParams={oldRow:dragRow,newRow:prevDragRow,dragRow,dragPos:prevDragPos,dragToChild:!!prevDragToChild,offsetIndex:dragOffsetIndex};const isDragToChildFlag=isSelfToChildDrag&&dragToChildMethod?dragToChildMethod(dragParams):prevDragToChild;return Promise.resolve(dEndMethod?dEndMethod(dragParams):true).then(status=>{if(!status){return errRest;}const dragRowid=getRowid($xeTable,dragRow);const dragRowRest=fullAllDataRowIdData[dragRowid]||{};const _dragRowIndex=dragRowRest._index;let dragRowHeight=0;let dragOffsetTop=-1;if(animation){dragRowHeight=getCellRestHeight(dragRowRest,cellOpts,rowOpts,defaultRowHeight);const oldTrEl=el.querySelector(`.vxe-body--row[rowid="${dragRowid}"]`);if(oldTrEl){dragOffsetTop=oldTrEl.offsetTop;}}let oafIndex=-1;let nafIndex=-1;// 如果为树结构
|
|
6527
6527
|
if(treeConfig){if(transform){// 移出源位置
|
|
6528
6528
|
const oldRest=dragRowRest;const newRowid=getRowid($xeTable,prevDragRow);const newRest=fullAllDataRowIdData[newRowid];if(oldRest&&newRest){const{level:oldLevel}=oldRest;const{level:newLevel}=newRest;const oldAllMaps={};external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([dragRow],item=>{oldAllMaps[getRowid($xeTable,item)]=item;},{children:mapChildrenField});let isSelfToChildStatus=false;if(oldLevel&&newLevel){// 子到子
|
|
6529
6529
|
if(isPeerDrag&&!isCrossDrag){if(oldRest.row[parentField]!==newRest.row[parentField]){// 非同级
|
|
@@ -6535,11 +6535,11 @@ const otfIndex=$xeTable.findRowIndexOf(fullList,dragRow);fullList.splice(otfInde
|
|
|
6535
6535
|
const ptfIndex=$xeTable.findRowIndexOf(fullList,prevDragRow);const ntfIndex=ptfIndex+dragOffsetIndex;fullList.splice(ntfIndex,0,dragRow);// 改变层级
|
|
6536
6536
|
if(isSelfToChildStatus&&isCrossDrag&&isSelfToChildDrag){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(dragRow[childrenField],childRow=>{childRow[parentField]=dragRow[parentField];});}dragRow[parentField]=isDragToChildFlag?prevDragRow[rowField]:prevDragRow[parentField];internalData.tableFullTreeData=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toArrayTree(fullList,{key:rowField,parentKey:parentField,children:childrenField,mapChildren:mapChildrenField});}}}else{// 移出
|
|
6537
6537
|
oafIndex=$xeTable.findRowIndexOf(afterFullData,dragRow);const otfIndex=$xeTable.findRowIndexOf(tableFullData,dragRow);afterFullData.splice(oafIndex,1);tableFullData.splice(otfIndex,1);// 插入
|
|
6538
|
-
const pafIndex=$xeTable.findRowIndexOf(afterFullData,prevDragRow);const ptfIndex=$xeTable.findRowIndexOf(tableFullData,prevDragRow);nafIndex=pafIndex+dragOffsetIndex;const ntfIndex=ptfIndex+dragOffsetIndex;afterFullData.splice(nafIndex,0,dragRow);tableFullData.splice(ntfIndex,0,dragRow);}
|
|
6538
|
+
const pafIndex=$xeTable.findRowIndexOf(afterFullData,prevDragRow);const ptfIndex=$xeTable.findRowIndexOf(tableFullData,prevDragRow);nafIndex=pafIndex+dragOffsetIndex;const ntfIndex=ptfIndex+dragOffsetIndex;afterFullData.splice(nafIndex,0,dragRow);tableFullData.splice(ntfIndex,0,dragRow);}$xeTable.handleTableData(treeConfig&&transform);$xeTable.cacheRowMap(false);updateScrollYStatus($xeTable);if(!(treeConfig&&transform)){updateAfterDataIndex($xeTable);}$xeTable.checkSelectionStatus();if(reactData.scrollYLoad){$xeTable.updateScrollYSpace();}if(evnt){$xeTable.dispatchEvent('row-dragend',{oldRow:dragRow,newRow:prevDragRow,dragRow,dragPos:prevDragPos,dragToChild:isDragToChildFlag,offsetIndex:dragOffsetIndex,_index:{newIndex:nafIndex,oldIndex:oafIndex}},evnt);}return $xeTable.$nextTick().then(()=>{if(animation){const{tableData}=reactData;const{fullAllDataRowIdData}=internalData;const dragRowRest=fullAllDataRowIdData[dragRowid];const _newRowIndex=dragRowRest._index;const firstRow=tableData[0];const firstRowRest=fullAllDataRowIdData[getRowid($xeTable,firstRow)];let wrapperEl=el;if($xeGantt){const ganttContainerElem=$xeGantt.$refs.refGanttContainerElem;if(ganttContainerElem){wrapperEl=ganttContainerElem;}}if(firstRowRest){const _firstRowIndex=firstRowRest._index;const _lastRowIndex=_firstRowIndex+tableData.length;let rsIndex=-1;let reIndex=-1;let offsetRate=1;if(_dragRowIndex<_firstRowIndex){// 从上往下虚拟拖拽
|
|
6539
6539
|
rsIndex=0;reIndex=_newRowIndex-_firstRowIndex;}else if(_dragRowIndex>_lastRowIndex){// 从下往上虚拟拖拽
|
|
6540
6540
|
const $newRowIndex=dragRowRest.$index;rsIndex=$newRowIndex+1;reIndex=tableData.length;offsetRate=-1;}else{if(_newRowIndex>_dragRowIndex){// 从上往下拖拽
|
|
6541
6541
|
rsIndex=_dragRowIndex-_firstRowIndex;reIndex=rsIndex+_newRowIndex-_dragRowIndex;}else{// 从下往上拖拽
|
|
6542
|
-
rsIndex=_newRowIndex-_firstRowIndex;reIndex=rsIndex+_dragRowIndex-_newRowIndex+1;offsetRate=-1;}}const dragRangeList=tableData.slice(rsIndex,reIndex);if(dragRangeList.length){const dtClss=[];dragRangeList.forEach(row=>{const rowid=getRowid($xeTable,row);dtClss.push(`.vxe-body--row[rowid="${rowid}"]`);if($xeGantt){dtClss.push(`.vxe-gantt-view--body-row[rowid="${rowid}"]`,`.vxe-gantt-view--chart-row[rowid="${rowid}"]`);}});const dtTrList=wrapperEl.querySelectorAll(dtClss.join(','));moveRowAnimateToTb(dtTrList,offsetRate*dragRowHeight);}}const drClss=[`.vxe-body--row[rowid="${dragRowid}"]`];if($xeGantt){drClss.push(`.vxe-gantt-view--body-row[rowid="${dragRowid}"]`,`.vxe-gantt-view--chart-row[rowid="${dragRowid}"]`);}const newDtTrList=wrapperEl.querySelectorAll(drClss.join(','));const newTrEl=newDtTrList[0];if(dragOffsetTop>-1&&newTrEl){moveRowAnimateToTb(newDtTrList,dragOffsetTop-newTrEl.offsetTop);}}updateRowOffsetTop($xeTable);updateRowExpandStyle($xeTable);$xeTable.updateCellAreas();$xeTable.recalculate();}).then(()=>{return{status:true};});}).catch(()=>{return errRest;});}clearRowDragData($xeTable);clearCrossTableDragStatus($xeTable);return Promise.resolve(errRest);},handleCrossTableRowDragCancelEvent(){const $xeTable=this;clearRowDragData($xeTable);clearCrossTableDragStatus($xeTable);},/**
|
|
6542
|
+
rsIndex=_newRowIndex-_firstRowIndex;reIndex=rsIndex+_dragRowIndex-_newRowIndex+1;offsetRate=-1;}}const dragRangeList=tableData.slice(rsIndex,reIndex);if(dragRangeList.length){const dtClss=[];dragRangeList.forEach(row=>{const rowid=getRowid($xeTable,row);dtClss.push(`.vxe-body--row[rowid="${rowid}"]`);if($xeGantt){dtClss.push(`.vxe-gantt-view--body-row[rowid="${rowid}"]`,`.vxe-gantt-view--chart-row[rowid="${rowid}"]`);}});const dtTrList=wrapperEl.querySelectorAll(dtClss.join(','));moveRowAnimateToTb(dtTrList,offsetRate*dragRowHeight);}}const drClss=[`.vxe-body--row[rowid="${dragRowid}"]`];if($xeGantt){drClss.push(`.vxe-gantt-view--body-row[rowid="${dragRowid}"]`,`.vxe-gantt-view--chart-row[rowid="${dragRowid}"]`);}const newDtTrList=wrapperEl.querySelectorAll(drClss.join(','));const newTrEl=newDtTrList[0];if(dragOffsetTop>-1&&newTrEl){moveRowAnimateToTb(newDtTrList,dragOffsetTop-newTrEl.offsetTop);}}updateRowOffsetTop($xeTable);updateRowExpandStyle($xeTable);$xeTable.updateCellAreas();$xeTable.recalculate();}).then(()=>{return{status:true};});}).catch(()=>{return errRest;}).then(rest=>{clearRowDragData($xeTable);clearCrossTableDragStatus($xeTable);return rest;});}clearRowDragData($xeTable);clearCrossTableDragStatus($xeTable);return Promise.resolve(errRest);},handleCrossTableRowDragCancelEvent(){const $xeTable=this;clearRowDragData($xeTable);clearCrossTableDragStatus($xeTable);},/**
|
|
6543
6543
|
* 处理跨表拖拽完成
|
|
6544
6544
|
*/handleCrossTableRowDragFinishEvent(evnt){const $xeTable=this;const $xeGantt=$xeTable.$xeGantt;const reactData=$xeTable;const internalData=$xeTable;const crossTableDragRowInfo=getCrossTableDragRowInfo($xeTable);const{tableData}=reactData;const{fullAllDataRowIdData}=internalData;const rowOpts=$xeTable.computeRowOpts;const cellOpts=$xeTable.computeCellOpts;const defaultRowHeight=$xeTable.computeDefaultRowHeight;const rowDragOpts=$xeTable.computeRowDragOpts;const{animation,isCrossTableDrag}=rowDragOpts;const treeOpts=$xeTable.computeTreeOpts;const{mapChildrenField}=treeOpts;const el=$xeTable.$refs.refElem;if(isCrossTableDrag&&crossTableDragRowObj&&crossTableDragRowInfo){const{row:dragRow}=crossTableDragRowInfo;if(dragRow){const dragRowid=getRowid($xeTable,dragRow);const dragRowRest=fullAllDataRowIdData[dragRowid];let dragRowHeight=0;let rsIndex=-1;if(dragRowRest){if(animation){dragRowHeight=getCellRestHeight(dragRowRest,cellOpts,rowOpts,defaultRowHeight);}rsIndex=dragRowRest.$index;}const dragRangeList=rsIndex>-1&&rsIndex<tableData.length-1?tableData.slice(rsIndex+1):[];const dragList=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toTreeArray([dragRow],{updated:true,children:mapChildrenField});$xeTable.remove(dragList).then(()=>{if(animation&&dragRowHeight&&dragRangeList.length){const $xeGanttView=internalData.xeGanttView;let wrapperEl=el;if($xeGantt&&$xeGanttView){const ganttContainerElem=$xeGantt.$refs.refGanttContainerElem;if(ganttContainerElem){wrapperEl=ganttContainerElem;}}const dtClss=[];dragRangeList.forEach(row=>{const rowid=getRowid($xeTable,row);dtClss.push(`.vxe-body--row[rowid="${rowid}"]`);if($xeGantt){dtClss.push(`.vxe-gantt-view--body-row[rowid="${rowid}"]`,`.vxe-gantt-view--chart-row[rowid="${rowid}"]`);}});const dtTrList=wrapperEl.querySelectorAll(dtClss.join(','));moveRowAnimateToTb(dtTrList,dragRowHeight);}});$xeTable.dispatchEvent('row-remove-dragend',{row:dragRow},evnt);clearRowDragData($xeTable);clearCrossTableDragStatus($xeTable);}}},/**
|
|
6545
6545
|
* 处理跨表拖至新的空表
|
|
@@ -6548,22 +6548,22 @@ rsIndex=_newRowIndex-_firstRowIndex;reIndex=rsIndex+_dragRowIndex-_newRowIndex+1
|
|
|
6548
6548
|
*/handleCrossTableRowDragInsertEvent(evnt){const $xeTable=this;const $xeGantt=$xeTable.$xeGantt;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const crossTableDragRowInfo=getCrossTableDragRowInfo($xeTable);const{treeConfig}=props;const{prevDragRow,prevDragPos,prevDragToChild}=internalData;const rowDragOpts=$xeTable.computeRowDragOpts;const{animation,isSelfToChildDrag,isCrossTableDrag,dragEndMethod,dragToChildMethod}=rowDragOpts;const rowOpts=$xeTable.computeRowOpts;const cellOpts=$xeTable.computeCellOpts;const defaultRowHeight=$xeTable.computeDefaultRowHeight;const treeOpts=$xeTable.computeTreeOpts;const{parentField,mapChildrenField}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;// 跨表拖拽
|
|
6549
6549
|
if(isCrossTableDrag&&crossTableDragRowObj&&crossTableDragRowInfo){const{row:oldRow}=crossTableDragRowInfo;const{$oldTable}=crossTableDragRowObj;const el=$xeTable.$refs.refElem;if($oldTable&&oldRow){const dragRow=oldRow;let dragOffsetIndex=-1;if(prevDragRow){dragOffsetIndex=prevDragPos==='bottom'?1:0;}const dragParams={oldRow:dragRow,newRow:prevDragRow,dragRow,dragPos:prevDragPos,dragToChild:!!prevDragToChild,offsetIndex:dragOffsetIndex};const isDragToChildFlag=isSelfToChildDrag&&dragToChildMethod?dragToChildMethod(dragParams):prevDragToChild;const errRest={status:false};Promise.resolve(dragEndMethod?dragEndMethod(dragParams):true).then(status=>{if(!status){if($oldTable){if($oldTable.xID!==$xeTable.xID){$oldTable.handleCrossTableRowDragCancelEvent(evnt);}}clearRowDragData($xeTable);clearCrossTableDragStatus($xeTable);return errRest;}let insertRest=Promise.resolve();if(treeConfig){const dragList=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toTreeArray([dragRow],{updated:true,children:mapChildrenField});$oldTable.handleCrossTableRowDragFinishEvent(evnt);if(prevDragRow){dragRow[parentField]=prevDragRow[parentField];}else{dragRow[parentField]=null;}dragList.forEach(row=>{row[childrenField]=undefined;row[mapChildrenField]=undefined;});if(prevDragRow){if(prevDragPos==='bottom'){insertRest=$xeTable.insertNextAt(dragList,prevDragRow);}else{insertRest=$xeTable.insertAt(dragList,prevDragRow);}}else{insertRest=$xeTable.insert(dragList);}}else{$oldTable.handleCrossTableRowDragFinishEvent(evnt);if(prevDragRow){if(prevDragPos==='bottom'){insertRest=$xeTable.insertNextAt(dragRow,prevDragRow);}else{insertRest=$xeTable.insertAt(dragRow,prevDragRow);}}else{insertRest=$xeTable.insert(dragRow);}}$xeTable.dispatchEvent('row-insert-dragend',{oldRow,newRow:prevDragRow,dragRow,dragPos:prevDragPos,dragToChild:isDragToChildFlag,offsetIndex:dragOffsetIndex},evnt);clearRowDragData($xeTable);insertRest.then(()=>{const{tableData}=reactData;const{fullAllDataRowIdData}=internalData;const oldRowid=getRowid($xeTable,dragRow);const oldRowRest=fullAllDataRowIdData[oldRowid];let dragRowHeight=0;let rsIndex=-1;if(oldRowRest){if(animation){dragRowHeight=getCellRestHeight(oldRowRest,cellOpts,rowOpts,defaultRowHeight);}rsIndex=oldRowRest.$index;}const dragRangeList=rsIndex>-1?tableData.slice(rsIndex):[];if(animation&&dragRowHeight&&dragRangeList.length){const $xeGanttView=internalData.xeGanttView;let wrapperEl=el;if($xeGantt&&$xeGanttView){const ganttContainerElem=$xeGantt.$refs.refGanttContainerElem;if(ganttContainerElem){wrapperEl=ganttContainerElem;}}const dtClss=[];dragRangeList.forEach(row=>{const rowid=getRowid($xeTable,row);dtClss.push(`.vxe-body--row[rowid="${rowid}"]`);if($xeGantt){dtClss.push(`.vxe-gantt-view--body-row[rowid="${rowid}"]`,`.vxe-gantt-view--chart-row[rowid="${rowid}"]`);}});const dtTrList=wrapperEl.querySelectorAll(dtClss.join(','));moveRowAnimateToTb(dtTrList,-dragRowHeight);}});});}}},hideCrossTableRowDropClearStatus(){const $xeTable=this;hideDropTip($xeTable);},handleRowDragDragendEvent(evnt){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{treeConfig}=props;const{fullAllDataRowIdData,prevDragToChild}=internalData;const{dragRow}=reactData;const treeOpts=$xeTable.computeTreeOpts;const{lazy}=treeOpts;const hasChildField=treeOpts.hasChild||treeOpts.hasChildField;const{prevDragRow,prevDragPos}=internalData;const rowDragOpts=$xeTable.computeRowDragOpts;const{isCrossTableDrag,isCrossDrag}=rowDragOpts;// 跨表拖拽
|
|
6550
6550
|
if(isCrossTableDrag&&crossTableDragRowObj){const{$newTable}=crossTableDragRowObj;if($newTable&&$newTable.xID!==$xeTable.xID){if(!treeConfig||isCrossDrag){$newTable.handleCrossTableRowDragInsertEvent(evnt);}return;}}if(treeConfig&&lazy&&prevDragToChild){// 懒加载
|
|
6551
|
-
const newRowid=getRowid($xeTable,prevDragRow);const rowRest=fullAllDataRowIdData[newRowid];if(prevDragRow[hasChildField]){if(rowRest&&rowRest.treeLoaded){$xeTable.handleRowDragSwapEvent(evnt,true,dragRow,prevDragRow,prevDragPos,prevDragToChild);}}else{$xeTable.handleRowDragSwapEvent(evnt,true,dragRow,prevDragRow,prevDragPos,prevDragToChild);}}else{$xeTable.handleRowDragSwapEvent(evnt,true,dragRow,prevDragRow,prevDragPos,prevDragToChild);}},handleRowDragDragoverEvent(evnt){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{treeConfig}=props;const{fullAllDataRowIdData}=internalData;const{dragRow}=reactData;const treeOpts=$xeTable.computeTreeOpts;const{lazy,transform,parentField}=treeOpts;const hasChildField=treeOpts.hasChild||treeOpts.hasChildField;const rowDragOpts=$xeTable.computeRowDragOpts;const{isPeerDrag,isCrossDrag,isToChildDrag,isCrossTableDrag}=rowDragOpts;if(!dragRow&&!(isCrossTableDrag&&(!treeConfig||isCrossDrag)&&crossTableDragRowObj)){evnt.preventDefault();return;}const isControlKey=hasControlKey(evnt);const trEl=evnt.currentTarget;const rowid=trEl.getAttribute('rowid')||'';const
|
|
6552
|
-
if(isCrossTableDrag&&(!treeConfig||isCrossDrag)&&crossTableDragRowObj){const{$oldTable,$newTable}=crossTableDragRowObj;if($oldTable){const oldTableReactData=$oldTable;if($oldTable.xID===$xeTable.xID){if($newTable){$newTable.hideCrossTableRowDropClearStatus();}reactData.isCrossDragRow=false;oldTableReactData.isCrossDragRow=false;crossTableDragRowObj.$newTable=null;}else if(!treeConfig||isCrossDrag){if($newTable&&$newTable.xID!==$xeTable.xID){$newTable.hideCrossTableRowDropClearStatus();}$oldTable.hideCrossTableRowDropClearStatus();oldTableReactData.isCrossDragRow=true;reactData.dragTipText=oldTableReactData.dragTipText;crossTableDragRowObj.$newTable=$xeTable;showDropTip($xeTable,evnt,trEl,null,true,dragPos);return;}}}if($xeTable.eqRow(dragRow,row)||isControlKey&&treeConfig&&lazy&&row[hasChildField]&&rowRest&&!rowRest.treeLoaded||!isCrossDrag&&treeConfig&&transform&&(isPeerDrag?dragRow[parentField]!==row[parentField]:
|
|
6551
|
+
const newRowid=getRowid($xeTable,prevDragRow);const rowRest=fullAllDataRowIdData[newRowid];if(prevDragRow[hasChildField]){if(rowRest&&rowRest.treeLoaded){$xeTable.handleRowDragSwapEvent(evnt,true,dragRow,prevDragRow,prevDragPos,prevDragToChild);}}else{$xeTable.handleRowDragSwapEvent(evnt,true,dragRow,prevDragRow,prevDragPos,prevDragToChild);}}else{$xeTable.handleRowDragSwapEvent(evnt,true,dragRow,prevDragRow,prevDragPos,prevDragToChild);}},handleRowDragDragoverEvent(evnt){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{treeConfig}=props;const{fullAllDataRowIdData}=internalData;const{dragRow}=reactData;const treeOpts=$xeTable.computeTreeOpts;const{lazy,transform,parentField}=treeOpts;const hasChildField=treeOpts.hasChild||treeOpts.hasChildField;const rowDragOpts=$xeTable.computeRowDragOpts;const{isPeerDrag,isCrossDrag,isToChildDrag,isCrossTableDrag}=rowDragOpts;if(!dragRow&&!(isCrossTableDrag&&(!treeConfig||isCrossDrag)&&crossTableDragRowObj)){evnt.preventDefault();return;}const isControlKey=hasControlKey(evnt);const trEl=evnt.currentTarget;const rowid=trEl.getAttribute('rowid')||'';const rowRest=fullAllDataRowIdData[rowid];if(rowRest){evnt.preventDefault();const row=rowRest.row;const offsetY=evnt.clientY-trEl.getBoundingClientRect().y;const dragPos=offsetY<trEl.clientHeight/2?'top':'bottom';internalData.prevDragToChild=!!(treeConfig&&transform&&isCrossDrag&&isToChildDrag&&isControlKey);internalData.prevDragRow=row;internalData.prevDragPos=dragPos;// 跨表拖拽
|
|
6552
|
+
if(isCrossTableDrag&&(!treeConfig||isCrossDrag)&&crossTableDragRowObj){const{$oldTable,$newTable}=crossTableDragRowObj;if($oldTable){const oldTableReactData=$oldTable;if($oldTable.xID===$xeTable.xID){if($newTable){$newTable.hideCrossTableRowDropClearStatus();}reactData.isCrossDragRow=false;oldTableReactData.isCrossDragRow=false;crossTableDragRowObj.$newTable=null;}else if(!treeConfig||isCrossDrag){if($newTable&&$newTable.xID!==$xeTable.xID){$newTable.hideCrossTableRowDropClearStatus();}$oldTable.hideCrossTableRowDropClearStatus();oldTableReactData.isCrossDragRow=true;reactData.dragTipText=oldTableReactData.dragTipText;crossTableDragRowObj.$newTable=$xeTable;showDropTip($xeTable,evnt,trEl,null,true,dragPos);return;}}}if($xeTable.eqRow(dragRow,row)||isControlKey&&treeConfig&&lazy&&row[hasChildField]&&rowRest&&!rowRest.treeLoaded||!isCrossDrag&&treeConfig&&transform&&(isPeerDrag?dragRow[parentField]!==row[parentField]:rowRest.level)){showDropTip($xeTable,evnt,trEl,null,false,dragPos);return;}showDropTip($xeTable,evnt,trEl,null,true,dragPos);$xeTable.dispatchEvent('row-dragover',{oldRow:dragRow,targetRow:row,dragPos},evnt);}},handleCellDragMousedownEvent(evnt,params){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const crossTableDragRowInfo=getCrossTableDragRowInfo($xeTable);evnt.stopPropagation();const{dragConfig}=props;const rowDragOpts=$xeTable.computeRowDragOpts;const{isCrossTableDrag,trigger,dragStartMethod}=rowDragOpts;const{row}=params;const dragEl=evnt.currentTarget;const tdEl=trigger==='cell'||trigger==='row'?dragEl:dragEl.parentElement?.parentElement;const trEl=tdEl.parentElement;const dStartMethod=dragStartMethod||(dragConfig?dragConfig.dragStartMethod:null);clearRowDropOrigin($xeTable);if(dStartMethod&&!dStartMethod(params)){trEl.draggable=false;reactData.dragRow=null;reactData.dragCol=null;clearCrossTableDragStatus($xeTable);hideDropTip($xeTable);return;}if(isCrossTableDrag){crossTableDragRowInfo.row=row;crossTableDragRowObj={$oldTable:$xeTable,$newTable:null};}reactData.dragRow=row;reactData.isCrossDragRow=false;reactData.dragCol=null;trEl.draggable=true;updateRowDropOrigin($xeTable,row);updateRowDropTipContent($xeTable,tdEl);$xeTable.dispatchEvent('row-dragstart',params,evnt);},handleCellDragMouseupEvent(){const $xeTable=this;clearDragStatus($xeTable);},/**
|
|
6553
6553
|
* 列拖拽
|
|
6554
6554
|
*/handleHeaderCellDragDragstartEvent(evnt){if(evnt.dataTransfer){evnt.dataTransfer.setDragImage(getTpImg(),0,0);}},handleColDragSwapColumn(){const $xeTable=this;handleUpdateColumn($xeTable);return parseColumns($xeTable,false).then(()=>{$xeTable.updateCellAreas();$xeTable.saveCustomStore('update:sort');});},handleColDragSwapEvent(evnt,isSyncColumn,dragCol,prevDragCol,prevDragPos,prevDragToChild){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{mouseConfig}=props;const columnDragOpts=$xeTable.computeColumnDragOpts;const{animation,isPeerDrag,isCrossDrag,isSelfToChildDrag,isToChildDrag,dragEndMethod,dragToChildMethod}=columnDragOpts;const{collectColumn,fullColumnIdData}=internalData;const el=$xeTable.$refs.refElem;const dragOffsetIndex=prevDragPos==='right'?1:0;const errRest={status:false};if(!(el&&prevDragCol&&dragCol)){return Promise.resolve(errRest);}// 判断是否有拖动
|
|
6555
|
-
if(prevDragCol!==dragCol){const dragColumn=dragCol;const newColumn=prevDragCol;const dragParams={oldColumn:dragColumn,newColumn,dragColumn,dragPos:prevDragPos,dragToChild:!!prevDragToChild,offsetIndex:dragOffsetIndex};const isDragToChildFlag=isSelfToChildDrag&&dragToChildMethod?dragToChildMethod(dragParams):prevDragToChild;return Promise.resolve(dragEndMethod?dragEndMethod(dragParams):true).then(status=>{if(!status){
|
|
6555
|
+
if(prevDragCol!==dragCol){const dragColumn=dragCol;const newColumn=prevDragCol;const dragParams={oldColumn:dragColumn,newColumn,dragColumn,dragPos:prevDragPos,dragToChild:!!prevDragToChild,offsetIndex:dragOffsetIndex};const isDragToChildFlag=isSelfToChildDrag&&dragToChildMethod?dragToChildMethod(dragParams):prevDragToChild;return Promise.resolve(dragEndMethod?dragEndMethod(dragParams):true).then(status=>{if(!status){return errRest;}let dragTargetColumn=null;const dragAllTargetCols=[];let dragColWidth=0;if(animation){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([dragColumn],column=>{if(!dragTargetColumn&&(!column.children||!column.children.length)){dragTargetColumn=column;dragColWidth+=column.renderWidth;}dragAllTargetCols.push(column);});}if(!dragTargetColumn){dragTargetColumn=dragColumn;}const dragColRest=fullColumnIdData[dragTargetColumn.id]||{};const _dragColIndex=dragColRest._index;let dragOffsetLeft=-1;if(animation){const oldTrEl=el.querySelector(`.vxe-table--column[colid="${dragTargetColumn.id}"]`);if(oldTrEl){dragOffsetLeft=oldTrEl.offsetLeft;}}let oafIndex=-1;let nafIndex=-1;const oldAllMaps={};external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([dragColumn],column=>{oldAllMaps[column.id]=column;});let isSelfToChildStatus=false;if(dragColumn.parentId&&newColumn.parentId){// 子到子
|
|
6556
6556
|
if(isPeerDrag&&!isCrossDrag){if(dragColumn.parentId!==newColumn.parentId){// 非同级
|
|
6557
6557
|
return errRest;}}else{if(!isCrossDrag){return errRest;}if(oldAllMaps[newColumn.id]){isSelfToChildStatus=true;if(!(isCrossDrag&&isSelfToChildDrag)){if(core_.VxeUI.modal){core_.VxeUI.modal.message({status:'error',content:methods_getI18n('vxe.error.treeDragChild')});}return errRest;}}}}else if(dragColumn.parentId){// 子到根
|
|
6558
6558
|
if(!isCrossDrag){return errRest;}}else if(newColumn.parentId){// 根到子
|
|
6559
6559
|
if(!isCrossDrag){return errRest;}if(oldAllMaps[newColumn.id]){isSelfToChildStatus=true;if(!(isCrossDrag&&isSelfToChildDrag)){if(core_.VxeUI.modal){core_.VxeUI.modal.message({status:'error',content:methods_getI18n('vxe.error.treeDragChild')});}return errRest;}}}else{// 根到根
|
|
6560
6560
|
}const oldewMatchRest=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(collectColumn,item=>item.id===dragColumn.id);// 改变层级
|
|
6561
6561
|
if(isSelfToChildStatus&&isCrossDrag&&isSelfToChildDrag){if(oldewMatchRest){const{items:oCols,index:oIndex}=oldewMatchRest;const childList=dragColumn.children||[];childList.forEach(column=>{column.parentId=dragColumn.parentId;});oCols.splice(oIndex,1,...childList);dragColumn.children=[];}}else{if(oldewMatchRest){const{items:oCols,index:oIndex,parent:oParent}=oldewMatchRest;oCols.splice(oIndex,1);if(!oParent){oafIndex=oIndex;}}}const newMatchRest=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(collectColumn,item=>item.id===newColumn.id);if(newMatchRest){const{items:nCols,index:nIndex,parent:nParent}=newMatchRest;// 转子级
|
|
6562
|
-
if(isCrossDrag&&isToChildDrag&&isDragToChildFlag){dragColumn.parentId=newColumn.id;newColumn.children=(newColumn.children||[]).concat([dragColumn]);}else{dragColumn.parentId=newColumn.parentId;nCols.splice(nIndex+dragOffsetIndex,0,dragColumn);}if(!nParent){nafIndex=nIndex;}}external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn,(column,index,items,path,parentColumn)=>{if(!parentColumn){const sortIndex=index+1;column.renderSortNumber=sortIndex;}});if(mouseConfig){if($xeTable.clearSelected){$xeTable.clearSelected();}if($xeTable.clearCellAreas){$xeTable.clearCellAreas();$xeTable.clearCopyCellArea();}}
|
|
6562
|
+
if(isCrossDrag&&isToChildDrag&&isDragToChildFlag){dragColumn.parentId=newColumn.id;newColumn.children=(newColumn.children||[]).concat([dragColumn]);}else{dragColumn.parentId=newColumn.parentId;nCols.splice(nIndex+dragOffsetIndex,0,dragColumn);}if(!nParent){nafIndex=nIndex;}}external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn,(column,index,items,path,parentColumn)=>{if(!parentColumn){const sortIndex=index+1;column.renderSortNumber=sortIndex;}});if(mouseConfig){if($xeTable.clearSelected){$xeTable.clearSelected();}if($xeTable.clearCellAreas){$xeTable.clearCellAreas();$xeTable.clearCopyCellArea();}}if(evnt){$xeTable.dispatchEvent('column-dragend',{oldColumn:dragColumn,newColumn,dragColumn,dragPos:prevDragPos,dragToChild:isDragToChildFlag,offsetIndex:dragOffsetIndex,_index:{newIndex:nafIndex,oldIndex:oafIndex}},evnt);}return $xeTable.$nextTick().then(()=>{if(isSyncColumn){return $xeTable.handleColDragSwapColumn();}}).then(()=>{if(animation){const{tableColumn}=reactData;const{visibleColumn,fullColumnIdData}=internalData;let dragNewColumn=null;const dragNewColMaps={};external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([dragColumn],column=>{if(!dragNewColumn&&(!column.children||!column.children.length)){dragNewColumn=column;}dragNewColMaps[column.id]=column;});if(!dragNewColumn){dragNewColumn=dragColumn;}if(dragColWidth&&dragAllTargetCols.length){const _newColIndex=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findIndexOf(visibleColumn,column=>!!dragNewColumn&&column.id===dragNewColumn.id);const firstCol=tableColumn[0];const firstColRest=fullColumnIdData[firstCol.id];if(firstColRest){const _firstColIndex=firstColRest._index;const _lastColIndex=_firstColIndex+tableColumn.length;let csIndex=-1;let ceIndex=-1;let offsetRate=1;if(_dragColIndex<_firstColIndex){// 从左往右虚拟拖拽
|
|
6563
6563
|
csIndex=0;ceIndex=_newColIndex-_firstColIndex;}else if(_dragColIndex>_lastColIndex){// 从右往左虚拟拖拽
|
|
6564
6564
|
const $newRowIndex=dragColRest.$index;csIndex=$newRowIndex+1;ceIndex=tableColumn.length;offsetRate=-1;}else{if(_newColIndex>_dragColIndex){// 从左往右拖拽
|
|
6565
6565
|
csIndex=_dragColIndex-_firstColIndex;ceIndex=csIndex+_newColIndex-_dragColIndex;}else{// 从右往左拖拽
|
|
6566
|
-
csIndex=_newColIndex-_firstColIndex+1;ceIndex=csIndex+_dragColIndex-_newColIndex;offsetRate=-1;}}const dragRangeList=[];const dragRangeMaps={};for(let i=csIndex;i<ceIndex;i++){const column=tableColumn[i];if(!dragRangeMaps[column.id]&&!dragNewColMaps[column.id]){dragRangeMaps[column.id]=column;dragRangeList.push(column);}}external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([newColumn],column=>{if(!dragRangeMaps[column.id]){dragRangeMaps[column.id]=column;dragRangeList.push(column);}});if(dragRangeList.length){const dtTrList=el.querySelectorAll(dragRangeList.map(column=>`.vxe-table--column[colid="${column.id}"]`).join(','));moveColAnimateToLr(dtTrList,offsetRate*dragColWidth);}}const newTrList=el.querySelectorAll(dragAllTargetCols.map(column=>`.vxe-table--column[colid="${column.id}"]`).join(','));const newTdEl=newTrList[0];if(dragOffsetLeft>-1&&newTdEl){moveColAnimateToLr(newTrList,dragOffsetLeft-newTdEl.offsetLeft);}}}updateColumnOffsetLeft($xeTable);loadScrollXData($xeTable);$xeTable.updateCellAreas();return{status:true};});}).catch(()=>{return errRest;});}clearColDragData($xeTable);clearCrossTableDragStatus($xeTable);return Promise.resolve(errRest);},handleHeaderCellDragDragendEvent(evnt){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{dragCol}=reactData;const{prevDragCol,prevDragPos,prevDragToChild}=internalData;$xeTable.handleColDragSwapEvent(evnt,true,dragCol,prevDragCol,prevDragPos,prevDragToChild);},handleHeaderCellDragDragoverEvent(evnt){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{dragCol}=reactData;const columnDragOpts=$xeTable.computeColumnDragOpts;const{isToChildDrag,isPeerDrag,isCrossDrag}=columnDragOpts;if(!dragCol){evnt.preventDefault();return;}const isControlKey=hasControlKey(evnt);const thEl=evnt.currentTarget;const colid=thEl.getAttribute('colid');const column=$xeTable.getColumnById(colid);if(column){evnt.preventDefault();const{clientX}=evnt;const offsetX=clientX-thEl.getBoundingClientRect().x;const dragPos=offsetX<thEl.clientWidth/2?'left':'right';internalData.prevDragToChild=!!(isCrossDrag&&isToChildDrag&&isControlKey);internalData.prevDragCol=column;internalData.prevDragPos=dragPos;if(column.fixed||dragCol&&dragCol.id===column.id||!isCrossDrag&&(isPeerDrag?dragCol.parentId!==column.parentId:column.parentId)){showDropTip($xeTable,evnt,null,thEl,false,dragPos);return;}showDropTip($xeTable,evnt,null,thEl,true,dragPos);$xeTable.dispatchEvent('column-dragover',{oldColumn:dragCol,targetColumn:column,dragPos},evnt);// 边缘滚动
|
|
6566
|
+
csIndex=_newColIndex-_firstColIndex+1;ceIndex=csIndex+_dragColIndex-_newColIndex;offsetRate=-1;}}const dragRangeList=[];const dragRangeMaps={};for(let i=csIndex;i<ceIndex;i++){const column=tableColumn[i];if(!dragRangeMaps[column.id]&&!dragNewColMaps[column.id]){dragRangeMaps[column.id]=column;dragRangeList.push(column);}}external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([newColumn],column=>{if(!dragRangeMaps[column.id]){dragRangeMaps[column.id]=column;dragRangeList.push(column);}});if(dragRangeList.length){const dtTrList=el.querySelectorAll(dragRangeList.map(column=>`.vxe-table--column[colid="${column.id}"]`).join(','));moveColAnimateToLr(dtTrList,offsetRate*dragColWidth);}}const newTrList=el.querySelectorAll(dragAllTargetCols.map(column=>`.vxe-table--column[colid="${column.id}"]`).join(','));const newTdEl=newTrList[0];if(dragOffsetLeft>-1&&newTdEl){moveColAnimateToLr(newTrList,dragOffsetLeft-newTdEl.offsetLeft);}}}updateColumnOffsetLeft($xeTable);loadScrollXData($xeTable);$xeTable.updateCellAreas();return{status:true};});}).catch(()=>{return errRest;}).then(rest=>{clearColDragData($xeTable);clearCrossTableDragStatus($xeTable);return rest;});}clearColDragData($xeTable);clearCrossTableDragStatus($xeTable);return Promise.resolve(errRest);},handleHeaderCellDragDragendEvent(evnt){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{dragCol}=reactData;const{prevDragCol,prevDragPos,prevDragToChild}=internalData;$xeTable.handleColDragSwapEvent(evnt,true,dragCol,prevDragCol,prevDragPos,prevDragToChild);},handleHeaderCellDragDragoverEvent(evnt){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{dragCol}=reactData;const columnDragOpts=$xeTable.computeColumnDragOpts;const{isToChildDrag,isPeerDrag,isCrossDrag}=columnDragOpts;if(!dragCol){evnt.preventDefault();return;}const isControlKey=hasControlKey(evnt);const thEl=evnt.currentTarget;const colid=thEl.getAttribute('colid');const column=$xeTable.getColumnById(colid);if(column){evnt.preventDefault();const{clientX}=evnt;const offsetX=clientX-thEl.getBoundingClientRect().x;const dragPos=offsetX<thEl.clientWidth/2?'left':'right';internalData.prevDragToChild=!!(isCrossDrag&&isToChildDrag&&isControlKey);internalData.prevDragCol=column;internalData.prevDragPos=dragPos;if(column.fixed||dragCol&&dragCol.id===column.id||!isCrossDrag&&(isPeerDrag?dragCol.parentId!==column.parentId:column.parentId)){showDropTip($xeTable,evnt,null,thEl,false,dragPos);return;}showDropTip($xeTable,evnt,null,thEl,true,dragPos);$xeTable.dispatchEvent('column-dragover',{oldColumn:dragCol,targetColumn:column,dragPos},evnt);// 边缘滚动
|
|
6567
6567
|
const el=$xeTable.$refs.refElem;if(!el){return;}const xHandleEl=$xeTable.$refs.refScrollXHandleElem;const refTableBody=$xeTable.$refs.refTableBody;const tableBodyElem=refTableBody?refTableBody.$el:null;const scrollTargetEl=xHandleEl||tableBodyElem;if(scrollTargetEl){const wrapperRect=el.getBoundingClientRect();const tableWrapperWidth=el.clientWidth;const leftContainerElem=$xeTable.$refs.refLeftContainer;const leftContainerWidth=leftContainerElem?leftContainerElem.clientWidth:0;const rightContainerElem=$xeTable.$refs.refRightContainer;const rightContainerWidth=rightContainerElem?rightContainerElem.clientWidth:0;const srartX=wrapperRect.x+leftContainerWidth;const endX=wrapperRect.x+tableWrapperWidth-rightContainerWidth;const distSize=28;const startDistSize=clientX-srartX;const endDistSize=endX-clientX;if(startDistSize>0&&startDistSize<=distSize){const scrollRatio=Math.floor(tableWrapperWidth/(startDistSize>distSize/2?240:120));scrollTargetEl.scrollLeft-=scrollRatio*(distSize-startDistSize);}else if(endDistSize>0&&endDistSize<=distSize){const scrollRatio=Math.floor(tableWrapperWidth/(endDistSize>distSize/2?240:120));scrollTargetEl.scrollLeft+=scrollRatio*(distSize-endDistSize);}}}},handleHeaderCellDragMousedownEvent(evnt,params){const $xeTable=this;const reactData=$xeTable;evnt.stopPropagation();const columnDragOpts=$xeTable.computeColumnDragOpts;const{trigger,dragStartMethod}=columnDragOpts;const{column}=params;const dragEl=evnt.currentTarget;const thEl=trigger==='cell'?dragEl:dragEl.parentElement?.parentElement;clearColDropOrigin($xeTable);if(dragStartMethod&&!dragStartMethod(params)){thEl.draggable=false;reactData.dragRow=null;reactData.dragCol=null;hideDropTip($xeTable);clearCrossTableDragStatus($xeTable);return;}reactData.dragCol=column;reactData.dragRow=null;thEl.draggable=true;clearCrossTableDragStatus($xeTable);updateColDropOrigin($xeTable,column);updateColDropTipContent($xeTable,thEl);$xeTable.dispatchEvent('column-dragstart',params,evnt);},handleHeaderCellDragMouseupEvent(){const $xeTable=this;const reactData=$xeTable;clearColDropOrigin($xeTable);hideDropTip($xeTable);clearCrossTableDragStatus($xeTable);reactData.dragRow=null;reactData.dragCol=null;},setPendingRow(rows,status){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{handleGetRowId}=createHandleGetRowId($xeTable);const{pendingRowMaps}=internalData;if(rows&&!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)){rows=[rows];}if(status){rows.forEach(row=>{const rowid=handleGetRowId(row);if(rowid&&!pendingRowMaps[rowid]){pendingRowMaps[rowid]=row;}});}else{rows.forEach(row=>{const rowid=handleGetRowId(row);if(rowid&&pendingRowMaps[rowid]){delete pendingRowMaps[rowid];}});}reactData.pendingRowFlag++;return $xeTable.$nextTick();},togglePendingRow(rows){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{handleGetRowId}=createHandleGetRowId($xeTable);const{pendingRowMaps}=internalData;if(rows&&!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)){rows=[rows];}rows.forEach(row=>{const rowid=handleGetRowId(row);if(rowid){if(pendingRowMaps[rowid]){delete pendingRowMaps[rowid];}else{pendingRowMaps[rowid]=row;}}});reactData.pendingRowFlag++;return $xeTable.$nextTick();},hasPendingByRow(row){const $xeTable=this;return $xeTable.isPendingByRow(row);},isPendingByRow(row){const $xeTable=this;const reactData=$xeTable;const{pendingRowMaps}=reactData;const rowid=getRowid($xeTable,row);return!!pendingRowMaps[rowid];},getPendingRecords(){const $xeTable=this;const internalData=$xeTable;const{fullAllDataRowIdData,pendingRowMaps}=internalData;const insertRecords=[];external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(pendingRowMaps,(row,rowid)=>{if(fullAllDataRowIdData[rowid]){insertRecords.push(row);}});return insertRecords;},clearPendingRow(){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;internalData.pendingRowMaps={};reactData.pendingRowFlag++;return $xeTable.$nextTick();},sort(sortConfs,sortOrder){const $xeTable=this;const sortOpts=$xeTable.computeSortOpts;const{multiple,remote,orders}=sortOpts;if(sortConfs){if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(sortConfs)){sortConfs=[{field:sortConfs,order:sortOrder}];}}if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(sortConfs)){sortConfs=[sortConfs];}if(sortConfs.length){let firstSortColumn;if(!multiple){clearAllSort($xeTable);}(multiple?sortConfs:[sortConfs[0]]).forEach((confs,index)=>{let{field,order}=confs;let column=field;if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(field)){column=$xeTable.getColumnByField(field);}if(column&&(column.sortable||column.remoteSort)){if(!firstSortColumn){firstSortColumn=column;}if(orders&&orders.indexOf(order)===-1){order=getNextSortOrder($xeTable,column);}if(column.order!==order){column.order=order;}column.sortTime=Date.now()+index;}});// 如果是服务端排序,则跳过本地排序处理
|
|
6568
6568
|
if(!remote||firstSortColumn&&firstSortColumn.remoteSort){$xeTable.handleTableData(true);}return $xeTable.$nextTick().then(()=>{updateRowOffsetTop($xeTable);$xeTable.updateCellAreas();return updateStyle($xeTable);});}return $xeTable.$nextTick();},setSort(sortConfs,isUpdate){const $xeTable=this;return handleSortEvent($xeTable,null,sortConfs,isUpdate);},setSortByEvent(evnt,sortConfs){const $xeTable=this;return handleSortEvent($xeTable,evnt,sortConfs,true);},/**
|
|
6569
6569
|
* 清空指定列的排序条件
|
|
@@ -6655,9 +6655,9 @@ updateScrollXSpace(){const $xeTable=this;const reactData=$xeTable;const internal
|
|
|
6655
6655
|
let isScrollXBig=false;let ySpaceWidth=scrollXWidth;if(scrollXWidth>maxXWidth){// 触右
|
|
6656
6656
|
if(bodyScrollElem&&bodyTableElem&&bodyScrollElem.scrollLeft+clientWidth>=maxXWidth){xSpaceLeft=maxXWidth-bodyTableElem.clientWidth;}else{xSpaceLeft=(maxXWidth-clientWidth)*(xSpaceLeft/(scrollXWidth-clientWidth));}ySpaceWidth=maxXWidth;isScrollXBig=true;}if(!(scrollXLoad&&overflowX)){xSpaceLeft=0;}if(methods_getConfig().scrollMarginStyle){// 已废弃方式
|
|
6657
6657
|
if(headerTableElem){headerTableElem.style.marginLeft=headerTableElem.getAttribute('xvm')?`${xSpaceLeft}px`:'';}if(bodyTableElem){bodyTableElem.style.marginLeft=`${xSpaceLeft}px`;}if(footerTableElem){footerTableElem.style.marginLeft=footerTableElem.getAttribute('xvm')?`${xSpaceLeft}px`:'';}}else{if(headerTableElem){headerTableElem.style.transform=headerTableElem.getAttribute('xvm')?`translate(${xSpaceLeft}px, 0px)`:'';}if(bodyTableElem){bodyTableElem.style.transform=`translate(${xSpaceLeft}px, ${reactData.scrollYTop||0}px)`;}if(footerTableElem){footerTableElem.style.transform=footerTableElem.getAttribute('xvm')?`translate(${xSpaceLeft}px, 0px)`:'';}}const containerList=['main'];containerList.forEach(name=>{const layoutList=['header','body','footer'];layoutList.forEach(layout=>{const xSpaceElem=getRefElem(elemStore[`${name}-${layout}-xSpace`]);if(xSpaceElem){xSpaceElem.style.width=scrollXLoad?`${ySpaceWidth}px`:'';}});});reactData.scrollXLeft=xSpaceLeft;reactData.scrollXWidth=ySpaceWidth;reactData.isScrollXBig=isScrollXBig;const scrollXSpaceEl=$xeTable.$refs.refScrollXSpaceElem;if(scrollXSpaceEl){scrollXSpaceEl.style.width=`${ySpaceWidth}px`;}calcScrollbar($xeTable);if(isScrollXBig&&mouseOpts.area){errLog('vxe.error.notProp',['mouse-config.area']);}if($xeGanttView&&$xeGanttView.handleUpdateSXSpace){$xeGanttView.handleUpdateSXSpace();}return $xeTable.$nextTick(()=>{updateStyle($xeTable);});}},updateScrollYData(){const $xeTable=this;$xeTable.handleTableData();$xeTable.updateScrollYSpace();return $xeTable.$nextTick().then(()=>{$xeTable.handleTableData();$xeTable.updateScrollYSpace();});},// 更新纵向 Y 可视渲染上下剩余空间大小
|
|
6658
|
-
updateScrollYSpace(){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{isAllOverflow,overflowY,scrollYLoad,scrollYHeight,expandColumn}=reactData;const{scrollYStore,elemStore,isResizeCellHeight,afterFullData,fullAllDataRowIdData,rowExpandedMaps}=internalData;const $xeGanttView=internalData.xeGanttView;const{startIndex}=scrollYStore;const mouseOpts=$xeTable.computeMouseOpts;const expandOpts=$xeTable.computeExpandOpts;const rowOpts=$xeTable.computeRowOpts;const cellOpts=$xeTable.computeCellOpts;const defaultRowHeight=$xeTable.computeDefaultRowHeight;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const bodyTableElem=getRefElem(elemStore['main-body-table']);const leftBodyTableElem=getRefElem(elemStore['left-body-table']);const rightbodyTableElem=getRefElem(elemStore['right-body-table']);const containerList=['main','left','right'];let ySpaceTop=0;let sYHeight=scrollYHeight;let isScrollYBig=false;if(scrollYLoad){const isCustomCellHeight=isResizeCellHeight||cellOpts.height||rowOpts.height;if(!isCustomCellHeight&&!expandColumn&&isAllOverflow){sYHeight=afterFullData.length*defaultRowHeight;if(sYHeight>maxYHeight){isScrollYBig=true;}ySpaceTop=Math.max(0,startIndex*defaultRowHeight);}else{const firstRow=afterFullData[startIndex];if(firstRow){let rowid=getRowid($xeTable,firstRow);let rowRest=fullAllDataRowIdData[rowid]||{};ySpaceTop=rowRest.oTop||0;const lastRow=afterFullData[afterFullData.length-1];rowid=getRowid($xeTable,lastRow);rowRest=fullAllDataRowIdData[rowid]||{};// 如果为空时还没计算完数据,保持原高度不变
|
|
6659
|
-
if(
|
|
6660
|
-
if(expandColumn&&rowExpandedMaps[rowid]){sYHeight+=rowRest.expandHeight||expandOpts.height||0;}}if(sYHeight>maxYHeight){isScrollYBig=true;}}else{sYHeight=bodyTableElem?bodyTableElem.clientHeight:0;}}}else{if(bodyTableElem){sYHeight=bodyTableElem.clientHeight;}}let clientHeight=0;if(bodyScrollElem){clientHeight=bodyScrollElem.clientHeight;}// 虚拟渲染
|
|
6658
|
+
updateScrollYSpace(){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{isAllOverflow,overflowY,scrollYLoad,scrollYHeight,expandColumn}=reactData;const{scrollYStore,elemStore,isResizeCellHeight,afterFullData,fullAllDataRowIdData,rowExpandedMaps}=internalData;const $xeGanttView=internalData.xeGanttView;const{startIndex}=scrollYStore;const mouseOpts=$xeTable.computeMouseOpts;const expandOpts=$xeTable.computeExpandOpts;const rowOpts=$xeTable.computeRowOpts;const cellOpts=$xeTable.computeCellOpts;const defaultRowHeight=$xeTable.computeDefaultRowHeight;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const bodyTableElem=getRefElem(elemStore['main-body-table']);const leftBodyTableElem=getRefElem(elemStore['left-body-table']);const rightbodyTableElem=getRefElem(elemStore['right-body-table']);const containerList=['main','left','right'];let ySpaceTop=0;let sYHeight=scrollYHeight;let isScrollYBig=false;if(scrollYLoad){const isCustomCellHeight=isResizeCellHeight||cellOpts.height||rowOpts.height;if(!isCustomCellHeight&&!expandColumn&&isAllOverflow){sYHeight=afterFullData.length*defaultRowHeight;if(sYHeight>maxYHeight){isScrollYBig=true;}ySpaceTop=Math.max(0,startIndex*defaultRowHeight);}else{const firstRow=afterFullData[startIndex];if(firstRow){let rowid=getRowid($xeTable,firstRow);let rowRest=fullAllDataRowIdData[rowid]||{};ySpaceTop=rowRest.oTop||0;const lastRow=afterFullData[afterFullData.length-1];rowid=getRowid($xeTable,lastRow);rowRest=fullAllDataRowIdData[rowid]||{};if(rowRest){const rHeight=getCellRestHeight(rowRest,cellOpts,rowOpts,defaultRowHeight);// 如果为空时还没计算完数据,保持原高度不变
|
|
6659
|
+
if(rHeight){sYHeight=(rowRest.oTop||0)+rHeight;// 是否展开行
|
|
6660
|
+
if(expandColumn&&rowExpandedMaps[rowid]){sYHeight+=rowRest.expandHeight||expandOpts.height||0;}}}if(sYHeight>maxYHeight){isScrollYBig=true;}}else{sYHeight=bodyTableElem?bodyTableElem.clientHeight:0;}}}else{if(bodyTableElem){sYHeight=bodyTableElem.clientHeight;}}let clientHeight=0;if(bodyScrollElem){clientHeight=bodyScrollElem.clientHeight;}// 虚拟渲染
|
|
6661
6661
|
let ySpaceHeight=sYHeight;let scrollYTop=ySpaceTop;if(isScrollYBig){// 触底
|
|
6662
6662
|
if(bodyScrollElem&&bodyTableElem&&bodyScrollElem.scrollTop+clientHeight>=maxYHeight){scrollYTop=maxYHeight-bodyTableElem.clientHeight;}else{scrollYTop=(maxYHeight-clientHeight)*(ySpaceTop/(scrollYHeight-clientHeight));}ySpaceHeight=maxYHeight;}if(!(scrollYLoad&&overflowY)){scrollYTop=0;}if(methods_getConfig().scrollMarginStyle){if(leftBodyTableElem){leftBodyTableElem.style.marginTop=`${scrollYTop}px`;}if(bodyTableElem){bodyTableElem.style.marginTop=`${scrollYTop}px`;}if(rightbodyTableElem){rightbodyTableElem.style.marginTop=`${scrollYTop}px`;}}else{if(leftBodyTableElem){leftBodyTableElem.style.transform=`translate(0px, ${scrollYTop}px)`;}if(bodyTableElem){bodyTableElem.style.transform=`translate(${reactData.scrollXLeft||0}px, ${scrollYTop}px)`;}if(rightbodyTableElem){rightbodyTableElem.style.transform=`translate(0px, ${scrollYTop}px)`;}}containerList.forEach(name=>{const layoutList=['header','body','footer'];layoutList.forEach(layout=>{const ySpaceElem=getRefElem(elemStore[`${name}-${layout}-ySpace`]);if(ySpaceElem){ySpaceElem.style.height=ySpaceHeight?`${ySpaceHeight}px`:'';}});});const scrollYSpaceEl=$xeTable.$refs.refScrollYSpaceElem;if(scrollYSpaceEl){scrollYSpaceEl.style.height=ySpaceHeight?`${ySpaceHeight}px`:'';}const rowExpandYSpaceEl=$xeTable.$refs.refRowExpandYSpaceElem;if(rowExpandYSpaceEl){rowExpandYSpaceEl.style.height=ySpaceHeight?`${ySpaceHeight}px`:'';}reactData.scrollYTop=scrollYTop;reactData.scrollYHeight=ySpaceHeight;reactData.isScrollYBig=isScrollYBig;calcScrollbar($xeTable);if(isScrollYBig&&mouseOpts.area){errLog('vxe.error.notProp',['mouse-config.area']);}if($xeGanttView&&$xeGanttView.handleUpdateSYSpace){$xeGanttView.handleUpdateSYSpace();}return $xeTable.$nextTick().then(()=>{return updateStyle($xeTable);});},updateScrollYStatus(){const $xeTable=this;return updateScrollYStatus($xeTable);},/**
|
|
6663
6663
|
* 如果有滚动条,则滚动到对应的位置
|
|
@@ -18148,9 +18148,9 @@ function renderBody(h, $xeTable) {
|
|
|
18148
18148
|
const cellOpts = $xeTable.computeCellOpts;
|
|
18149
18149
|
let headCellHeight = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(getCalcHeight(headerCellOpts.height || cellOpts.height));
|
|
18150
18150
|
if ($xeGantt) {
|
|
18151
|
-
const
|
|
18152
|
-
if (
|
|
18153
|
-
const ganttMinHeadCellHeight = defaultRowHeight / 2 *
|
|
18151
|
+
const taskViewScales = $xeGantt.computeTaskViewScales;
|
|
18152
|
+
if (taskViewScales && taskViewScales.length > 2) {
|
|
18153
|
+
const ganttMinHeadCellHeight = defaultRowHeight / 2 * taskViewScales.length;
|
|
18154
18154
|
headCellHeight = Math.max(ganttMinHeadCellHeight, headCellHeight);
|
|
18155
18155
|
}
|
|
18156
18156
|
}
|
|
@@ -18687,13 +18687,21 @@ function renderBody(h, $xeTable) {
|
|
|
18687
18687
|
/**
|
|
18688
18688
|
* 判断列全选的复选框是否禁用
|
|
18689
18689
|
*/
|
|
18690
|
-
|
|
18690
|
+
computeIsAllCheckboxDisabled() {
|
|
18691
|
+
const $xeTable = this;
|
|
18692
|
+
const props = $xeTable;
|
|
18693
|
+
const reactData = $xeTable;
|
|
18694
|
+
const internalData = $xeTable;
|
|
18691
18695
|
const {
|
|
18692
|
-
|
|
18693
|
-
|
|
18694
|
-
|
|
18695
|
-
|
|
18696
|
-
} =
|
|
18696
|
+
treeConfig
|
|
18697
|
+
} = props;
|
|
18698
|
+
const {
|
|
18699
|
+
tableData
|
|
18700
|
+
} = reactData;
|
|
18701
|
+
const {
|
|
18702
|
+
tableFullData
|
|
18703
|
+
} = internalData;
|
|
18704
|
+
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
18697
18705
|
const {
|
|
18698
18706
|
strict,
|
|
18699
18707
|
checkMethod
|
|
@@ -18706,6 +18714,7 @@ function renderBody(h, $xeTable) {
|
|
|
18706
18714
|
}
|
|
18707
18715
|
// 如果所有行都被禁用
|
|
18708
18716
|
return tableFullData.every(row => !checkMethod({
|
|
18717
|
+
$table: $xeTable,
|
|
18709
18718
|
row
|
|
18710
18719
|
}));
|
|
18711
18720
|
}
|
|
@@ -18715,6 +18724,9 @@ function renderBody(h, $xeTable) {
|
|
|
18715
18724
|
}
|
|
18716
18725
|
return false;
|
|
18717
18726
|
},
|
|
18727
|
+
isAllCheckboxDisabled() {
|
|
18728
|
+
return this.computeIsAllCheckboxDisabled;
|
|
18729
|
+
},
|
|
18718
18730
|
computeVirtualScrollBars() {
|
|
18719
18731
|
const $xeTable = this;
|
|
18720
18732
|
const reactData = $xeTable;
|
|
@@ -24510,7 +24522,8 @@ const Toolbar = VxeToolbar;
|
|
|
24510
24522
|
searchEmpty: '未匹配到数据!'
|
|
24511
24523
|
},
|
|
24512
24524
|
tree: {
|
|
24513
|
-
searchEmpty: '未匹配到数据!'
|
|
24525
|
+
searchEmpty: '未匹配到数据!',
|
|
24526
|
+
dragTip: '移动:{0}'
|
|
24514
24527
|
},
|
|
24515
24528
|
treeSelect: {
|
|
24516
24529
|
clearChecked: '清除',
|
|
@@ -24937,24 +24950,26 @@ const Toolbar = VxeToolbar;
|
|
|
24937
24950
|
},
|
|
24938
24951
|
gantt: {
|
|
24939
24952
|
tFullFormat: {
|
|
24940
|
-
year: '{
|
|
24941
|
-
quarter: '{
|
|
24942
|
-
month: '{
|
|
24943
|
-
week: '{
|
|
24944
|
-
day: '{
|
|
24945
|
-
date: '{
|
|
24946
|
-
hour: '{
|
|
24947
|
-
minute: '{
|
|
24953
|
+
year: '{yyyy}年',
|
|
24954
|
+
quarter: '{yyyy}年第{q}季度',
|
|
24955
|
+
month: '{yyyy}年{MM}月',
|
|
24956
|
+
week: '{yyyy}年第{W}周',
|
|
24957
|
+
day: '{yyyy}年{MM}月 {E}',
|
|
24958
|
+
date: '{yyyy}年{MM}月{dd}日',
|
|
24959
|
+
hour: '{yyyy}年{MM}月{dd}日{HH}时',
|
|
24960
|
+
minute: '{yyyy}年{MM}月{dd}日{HH}时{mm}分',
|
|
24961
|
+
second: '{yyyy}年{MM}月{dd}日{HH}时{mm}分{ss}秒'
|
|
24948
24962
|
},
|
|
24949
24963
|
tSimpleFormat: {
|
|
24950
|
-
year: '{
|
|
24964
|
+
year: '{yyyy}年',
|
|
24951
24965
|
quarter: '{q}季度',
|
|
24952
24966
|
month: '{M}月',
|
|
24953
24967
|
week: '{W}周',
|
|
24954
24968
|
day: '{d}',
|
|
24955
24969
|
date: '{d}',
|
|
24956
|
-
hour: '{
|
|
24957
|
-
minute: '{
|
|
24970
|
+
hour: '{HH}',
|
|
24971
|
+
minute: '{mm}',
|
|
24972
|
+
second: '{ss}'
|
|
24958
24973
|
},
|
|
24959
24974
|
dayss: {
|
|
24960
24975
|
w0: '日',
|