vxe-table 4.10.6-beta.8 → 4.10.6
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/grid/src/grid.js +1 -1
- package/es/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/locale/lang/ar-EG.js +2 -1
- package/es/locale/lang/de-DE.js +2 -1
- package/es/locale/lang/en-US.js +4 -3
- package/es/locale/lang/es-ES.js +2 -1
- package/es/locale/lang/fr-FR.js +2 -1
- package/es/locale/lang/hu-HU.js +2 -1
- package/es/locale/lang/hy-AM.js +2 -1
- package/es/locale/lang/it-IT.js +2 -1
- package/es/locale/lang/ja-JP.js +2 -1
- package/es/locale/lang/ko-KR.js +2 -1
- package/es/locale/lang/nb-NO.js +2 -1
- package/es/locale/lang/pt-BR.js +2 -1
- package/es/locale/lang/ru-RU.js +4 -3
- package/es/locale/lang/th-TH.js +2 -1
- package/es/locale/lang/ug-CN.js +2 -1
- package/es/locale/lang/uk-UA.js +518 -517
- package/es/locale/lang/vi-VN.js +2 -1
- package/es/locale/lang/zh-CHT.js +2 -1
- package/es/locale/lang/zh-CN.js +2 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/edit/hook.js +7 -7
- package/es/table/module/export/hook.js +97 -62
- package/es/table/module/keyboard/hook.js +63 -27
- package/es/table/src/body.js +128 -81
- package/es/table/src/cell.js +41 -55
- package/es/table/src/column.js +13 -1
- package/es/table/src/columnInfo.js +3 -0
- package/es/table/src/emits.js +2 -0
- package/es/table/src/footer.js +48 -10
- package/es/table/src/header.js +70 -168
- package/es/table/src/props.js +14 -4
- package/es/table/src/table.js +884 -426
- package/es/table/src/util.js +77 -62
- package/es/table/style.css +253 -189
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +26 -11
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +253 -189
- package/es/vxe-table/style.min.css +1 -1
- package/lib/grid/src/grid.js +1 -1
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +1533 -917
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +2 -1
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/de-DE.js +2 -1
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/en-US.js +4 -3
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +4 -3
- package/lib/locale/lang/es-ES.js +2 -1
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +2 -1
- package/lib/locale/lang/fr-FR.js +2 -1
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/hu-HU.js +2 -1
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +2 -1
- package/lib/locale/lang/hy-AM.js +2 -1
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/it-IT.js +2 -1
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/ja-JP.js +2 -1
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +2 -1
- package/lib/locale/lang/ko-KR.js +2 -1
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +2 -1
- package/lib/locale/lang/nb-NO.js +2 -1
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/pt-BR.js +2 -1
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +2 -1
- package/lib/locale/lang/ru-RU.js +4 -3
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +4 -3
- package/lib/locale/lang/th-TH.js +2 -1
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/ug-CN.js +2 -1
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/uk-UA.js +518 -517
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +518 -517
- package/lib/locale/lang/vi-VN.js +2 -1
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/zh-CHT.js +2 -1
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CN.js +2 -1
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +2 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/edit/hook.js +7 -2
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/module/export/hook.js +97 -57
- package/lib/table/module/export/hook.min.js +1 -1
- package/lib/table/module/keyboard/hook.js +71 -28
- package/lib/table/module/keyboard/hook.min.js +1 -1
- package/lib/table/src/body.js +129 -80
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +32 -42
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/column.js +13 -1
- package/lib/table/src/column.min.js +1 -1
- package/lib/table/src/columnInfo.js +3 -0
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/emits.js +1 -1
- package/lib/table/src/emits.min.js +1 -1
- package/lib/table/src/footer.js +48 -8
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +54 -181
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/props.js +14 -4
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/table.js +935 -417
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +100 -82
- package/lib/table/src/util.min.js +1 -1
- package/lib/table/style/style.css +253 -189
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +26 -11
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-table/style/style.css +253 -189
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/grid/src/grid.ts +1 -1
- package/packages/locale/lang/ar-EG.ts +2 -1
- package/packages/locale/lang/de-DE.ts +2 -1
- package/packages/locale/lang/en-US.ts +4 -3
- package/packages/locale/lang/es-ES.ts +2 -1
- package/packages/locale/lang/fr-FR.ts +2 -1
- package/packages/locale/lang/hu-HU.ts +2 -1
- package/packages/locale/lang/hy-AM.ts +2 -1
- package/packages/locale/lang/it-IT.ts +2 -1
- package/packages/locale/lang/ja-JP.ts +2 -1
- package/packages/locale/lang/ko-KR.ts +2 -1
- package/packages/locale/lang/nb-NO.ts +2 -1
- package/packages/locale/lang/pt-BR.ts +2 -1
- package/packages/locale/lang/ru-RU.ts +4 -3
- package/packages/locale/lang/th-TH.ts +2 -1
- package/packages/locale/lang/ug-CN.ts +2 -1
- package/packages/locale/lang/uk-UA.ts +518 -517
- package/packages/locale/lang/vi-VN.ts +2 -1
- package/packages/locale/lang/zh-CHT.ts +2 -1
- package/packages/locale/lang/zh-CN.ts +2 -1
- package/packages/table/module/edit/hook.ts +7 -7
- package/packages/table/module/export/hook.ts +118 -65
- package/packages/table/module/keyboard/hook.ts +59 -25
- package/packages/table/src/body.ts +148 -91
- package/packages/table/src/cell.ts +41 -63
- package/packages/table/src/column.ts +13 -1
- package/packages/table/src/columnInfo.ts +3 -0
- package/packages/table/src/emits.ts +5 -1
- package/packages/table/src/footer.ts +51 -11
- package/packages/table/src/header.ts +70 -168
- package/packages/table/src/props.ts +14 -5
- package/packages/table/src/table.ts +890 -428
- package/packages/table/src/util.ts +81 -62
- package/packages/ui/index.ts +25 -10
- package/styles/components/table.scss +319 -271
- package/styles/theme/base.scss +4 -6
- package/styles/theme/dark.scss +1 -0
- package/styles/theme/light.scss +1 -0
- package/styles/variable.scss +1 -1
- /package/es/{iconfont.1736840923205.ttf → iconfont.1738985856004.ttf} +0 -0
- /package/es/{iconfont.1736840923205.woff → iconfont.1738985856004.woff} +0 -0
- /package/es/{iconfont.1736840923205.woff2 → iconfont.1738985856004.woff2} +0 -0
- /package/lib/{iconfont.1736840923205.ttf → iconfont.1738985856004.ttf} +0 -0
- /package/lib/{iconfont.1736840923205.woff → iconfont.1738985856004.woff} +0 -0
- /package/lib/{iconfont.1736840923205.woff2 → iconfont.1738985856004.woff2} +0 -0
package/lib/table/src/util.js
CHANGED
|
@@ -11,6 +11,7 @@ exports.colToVisible = colToVisible;
|
|
|
11
11
|
exports.convertHeaderColumnToRows = void 0;
|
|
12
12
|
exports.createColumn = createColumn;
|
|
13
13
|
exports.destroyColumn = destroyColumn;
|
|
14
|
+
exports.getCellHeight = getCellHeight;
|
|
14
15
|
exports.getCellValue = getCellValue;
|
|
15
16
|
exports.getColReMaxWidth = getColReMaxWidth;
|
|
16
17
|
exports.getColReMinWidth = getColReMinWidth;
|
|
@@ -137,7 +138,7 @@ function getRowid($xeTable, row) {
|
|
|
137
138
|
}
|
|
138
139
|
const handleFieldOrColumn = ($xeTable, fieldOrColumn) => {
|
|
139
140
|
if (fieldOrColumn) {
|
|
140
|
-
return _xeUtils.default.isString(fieldOrColumn) ? $xeTable.getColumnByField(fieldOrColumn) : fieldOrColumn;
|
|
141
|
+
return _xeUtils.default.isString(fieldOrColumn) || _xeUtils.default.isNumber(fieldOrColumn) ? $xeTable.getColumnByField(`${fieldOrColumn}`) : fieldOrColumn;
|
|
141
142
|
}
|
|
142
143
|
return null;
|
|
143
144
|
};
|
|
@@ -202,6 +203,12 @@ function getRefElem(refEl) {
|
|
|
202
203
|
}
|
|
203
204
|
return null;
|
|
204
205
|
}
|
|
206
|
+
function getCellHeight(height) {
|
|
207
|
+
if (height === 'unset') {
|
|
208
|
+
return 0;
|
|
209
|
+
}
|
|
210
|
+
return height || 0;
|
|
211
|
+
}
|
|
205
212
|
/**
|
|
206
213
|
* 列宽拖动最大宽度
|
|
207
214
|
* @param params
|
|
@@ -238,9 +245,8 @@ function getColReMinWidth(params) {
|
|
|
238
245
|
column,
|
|
239
246
|
cell
|
|
240
247
|
} = params;
|
|
241
|
-
const
|
|
242
|
-
|
|
243
|
-
} = $table;
|
|
248
|
+
const tableProps = $table.props;
|
|
249
|
+
const internalData = $table.internalData;
|
|
244
250
|
const {
|
|
245
251
|
computeResizableOpts
|
|
246
252
|
} = $table.getComputeMaps();
|
|
@@ -255,6 +261,9 @@ function getColReMinWidth(params) {
|
|
|
255
261
|
return Math.max(1, _xeUtils.default.toNumber(customMinWidth));
|
|
256
262
|
}
|
|
257
263
|
}
|
|
264
|
+
const {
|
|
265
|
+
elemStore
|
|
266
|
+
} = internalData;
|
|
258
267
|
const {
|
|
259
268
|
showHeaderOverflow: allColumnHeaderOverflow
|
|
260
269
|
} = tableProps;
|
|
@@ -284,14 +293,10 @@ function getColReMinWidth(params) {
|
|
|
284
293
|
}
|
|
285
294
|
// 如果设置最小宽
|
|
286
295
|
if (colMinWidth) {
|
|
287
|
-
const
|
|
288
|
-
|
|
289
|
-
} = $table.getRefMaps();
|
|
290
|
-
const tableBody = refTableBody.value;
|
|
291
|
-
const bodyElem = tableBody ? tableBody.$el : null;
|
|
292
|
-
if (bodyElem) {
|
|
296
|
+
const bodyScrollElem = getRefElem(elemStore['main-body-scroll']);
|
|
297
|
+
if (bodyScrollElem) {
|
|
293
298
|
if ((0, _dom.isScale)(colMinWidth)) {
|
|
294
|
-
const bodyWidth =
|
|
299
|
+
const bodyWidth = bodyScrollElem.clientWidth - 1;
|
|
295
300
|
const meanWidth = bodyWidth / 100;
|
|
296
301
|
return Math.max(mWidth, Math.floor(_xeUtils.default.toInteger(colMinWidth) * meanWidth));
|
|
297
302
|
} else if ((0, _dom.isPx)(colMinWidth)) {
|
|
@@ -415,14 +420,44 @@ const getOffsetSize = $xeTable => {
|
|
|
415
420
|
exports.getOffsetSize = getOffsetSize;
|
|
416
421
|
function calcTreeLine(params, prevRow) {
|
|
417
422
|
const {
|
|
418
|
-
$table
|
|
423
|
+
$table,
|
|
424
|
+
row
|
|
419
425
|
} = params;
|
|
426
|
+
const tableProps = $table.props;
|
|
420
427
|
const tableReactData = $table.reactData;
|
|
428
|
+
const tableInternalData = $table.internalData;
|
|
429
|
+
const {
|
|
430
|
+
showOverflow
|
|
431
|
+
} = tableProps;
|
|
432
|
+
const {
|
|
433
|
+
scrollYLoad
|
|
434
|
+
} = tableReactData;
|
|
435
|
+
const {
|
|
436
|
+
fullAllDataRowIdData
|
|
437
|
+
} = tableInternalData;
|
|
438
|
+
const {
|
|
439
|
+
computeRowOpts,
|
|
440
|
+
computeCellOpts,
|
|
441
|
+
computeDefaultRowHeight
|
|
442
|
+
} = $table.getComputeMaps();
|
|
443
|
+
const rowOpts = computeRowOpts.value;
|
|
444
|
+
const cellOpts = computeCellOpts.value;
|
|
445
|
+
const defaultRowHeight = computeDefaultRowHeight.value;
|
|
446
|
+
const rowid = getRowid($table, row);
|
|
447
|
+
const rowRest = fullAllDataRowIdData[rowid];
|
|
448
|
+
const currCellHeight = rowRest.resizeHeight || cellOpts.height || rowOpts.height || defaultRowHeight;
|
|
421
449
|
let expandSize = 1;
|
|
422
450
|
if (prevRow) {
|
|
423
451
|
expandSize = countTreeExpand(prevRow, params);
|
|
424
452
|
}
|
|
425
|
-
|
|
453
|
+
let cellHeight = currCellHeight;
|
|
454
|
+
const vnHeight = rowRest.height;
|
|
455
|
+
if (scrollYLoad) {
|
|
456
|
+
if (!showOverflow) {
|
|
457
|
+
cellHeight = vnHeight || currCellHeight;
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
return cellHeight * expandSize - (prevRow ? 1 : 12 - getOffsetSize($table));
|
|
426
461
|
}
|
|
427
462
|
function mergeBodyMethod(mergeList, _rowIndex, _columnIndex) {
|
|
428
463
|
for (let mIndex = 0; mIndex < mergeList.length; mIndex++) {
|
|
@@ -484,45 +519,39 @@ function clearTableAllStatus($xeTable) {
|
|
|
484
519
|
return clearTableDefaultStatus($xeTable);
|
|
485
520
|
}
|
|
486
521
|
function rowToVisible($xeTable, row) {
|
|
487
|
-
const {
|
|
488
|
-
reactData,
|
|
489
|
-
internalData
|
|
490
|
-
} = $xeTable;
|
|
491
522
|
const tableProps = $xeTable.props;
|
|
523
|
+
const reactData = $xeTable.reactData;
|
|
524
|
+
const internalData = $xeTable.internalData;
|
|
525
|
+
const {
|
|
526
|
+
computeLeftFixedWidth,
|
|
527
|
+
computeRightFixedWidth,
|
|
528
|
+
computeRowOpts,
|
|
529
|
+
computeCellOpts,
|
|
530
|
+
computeDefaultRowHeight
|
|
531
|
+
} = $xeTable.getComputeMaps();
|
|
492
532
|
const {
|
|
493
533
|
showOverflow
|
|
494
534
|
} = tableProps;
|
|
495
535
|
const {
|
|
496
|
-
|
|
497
|
-
} = $xeTable.getRefMaps();
|
|
498
|
-
const {
|
|
499
|
-
columnStore,
|
|
500
|
-
scrollYLoad,
|
|
501
|
-
rowHeight
|
|
536
|
+
scrollYLoad
|
|
502
537
|
} = reactData;
|
|
503
538
|
const {
|
|
539
|
+
elemStore,
|
|
504
540
|
afterFullData,
|
|
505
|
-
fullAllDataRowIdData
|
|
541
|
+
fullAllDataRowIdData,
|
|
542
|
+
isResizeCellHeight
|
|
506
543
|
} = internalData;
|
|
507
|
-
const
|
|
508
|
-
const
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
const
|
|
544
|
+
const rowOpts = computeRowOpts.value;
|
|
545
|
+
const cellOpts = computeCellOpts.value;
|
|
546
|
+
const defaultRowHeight = computeDefaultRowHeight.value;
|
|
547
|
+
const leftFixedWidth = computeLeftFixedWidth.value;
|
|
548
|
+
const rightFixedWidth = computeRightFixedWidth.value;
|
|
549
|
+
const bodyScrollElem = getRefElem(elemStore['main-body-scroll']);
|
|
513
550
|
const rowid = getRowid($xeTable, row);
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
let offsetFixedRight = 0;
|
|
519
|
-
rightList.forEach(item => {
|
|
520
|
-
offsetFixedRight += item.renderWidth;
|
|
521
|
-
});
|
|
522
|
-
if (bodyElem) {
|
|
523
|
-
const bodyHeight = bodyElem.clientHeight;
|
|
524
|
-
const bodyScrollTop = bodyElem.scrollTop;
|
|
525
|
-
const trElem = bodyElem.querySelector(`[rowid="${rowid}"]`);
|
|
551
|
+
if (bodyScrollElem) {
|
|
552
|
+
const bodyHeight = bodyScrollElem.clientHeight;
|
|
553
|
+
const bodyScrollTop = bodyScrollElem.scrollTop;
|
|
554
|
+
const trElem = bodyScrollElem.querySelector(`[rowid="${rowid}"]`);
|
|
526
555
|
if (trElem) {
|
|
527
556
|
const trOffsetParent = trElem.offsetParent;
|
|
528
557
|
const trOffsetTop = trElem.offsetTop + (trOffsetParent ? trOffsetParent.offsetTop : 0);
|
|
@@ -536,82 +565,71 @@ function rowToVisible($xeTable, row) {
|
|
|
536
565
|
} else {
|
|
537
566
|
// 如果是虚拟渲染滚动
|
|
538
567
|
if (scrollYLoad) {
|
|
539
|
-
|
|
540
|
-
|
|
568
|
+
const isCustomCellHeight = isResizeCellHeight || cellOpts.height || rowOpts.height;
|
|
569
|
+
if (!isCustomCellHeight && showOverflow) {
|
|
570
|
+
return $xeTable.scrollTo(null, ($xeTable.findRowIndexOf(afterFullData, row) - 1) * defaultRowHeight);
|
|
541
571
|
}
|
|
542
572
|
let scrollTop = 0;
|
|
543
|
-
const rowRest = fullAllDataRowIdData[rowid];
|
|
544
|
-
const rHeight = rowRest ? rowRest.height ||
|
|
573
|
+
const rowRest = fullAllDataRowIdData[rowid] || {};
|
|
574
|
+
const rHeight = rowRest ? rowRest.resizeHeight || cellOpts.height || rowOpts.height || defaultRowHeight : defaultRowHeight;
|
|
545
575
|
for (let i = 0; i < afterFullData.length; i++) {
|
|
546
576
|
const currRow = afterFullData[i];
|
|
547
577
|
const currRowid = getRowid($xeTable, currRow);
|
|
548
578
|
if (currRow === row || currRowid === rowid) {
|
|
549
579
|
break;
|
|
550
580
|
}
|
|
551
|
-
const
|
|
552
|
-
scrollTop +=
|
|
581
|
+
const currRowRest = fullAllDataRowIdData[currRowid] || {};
|
|
582
|
+
scrollTop += currRowRest.resizeHeight || currRowRest.height || cellOpts.height || rowOpts.height || defaultRowHeight;
|
|
553
583
|
}
|
|
554
584
|
if (scrollTop < bodyScrollTop) {
|
|
555
|
-
return $xeTable.scrollTo(null, scrollTop -
|
|
585
|
+
return $xeTable.scrollTo(null, scrollTop - leftFixedWidth - 1);
|
|
556
586
|
}
|
|
557
|
-
return $xeTable.scrollTo(null, scrollTop + rHeight - (bodyHeight -
|
|
587
|
+
return $xeTable.scrollTo(null, scrollTop + rHeight - (bodyHeight - rightFixedWidth - 1));
|
|
558
588
|
}
|
|
559
589
|
}
|
|
560
590
|
}
|
|
561
591
|
return Promise.resolve();
|
|
562
592
|
}
|
|
563
593
|
function colToVisible($xeTable, column, row) {
|
|
594
|
+
const reactData = $xeTable.reactData;
|
|
595
|
+
const internalData = $xeTable.internalData;
|
|
564
596
|
const {
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
} = $xeTable;
|
|
568
|
-
const {
|
|
569
|
-
refTableBody
|
|
570
|
-
} = $xeTable.getRefMaps();
|
|
597
|
+
computeLeftFixedWidth,
|
|
598
|
+
computeRightFixedWidth
|
|
599
|
+
} = $xeTable.getComputeMaps();
|
|
571
600
|
const {
|
|
572
|
-
columnStore,
|
|
573
601
|
scrollXLoad
|
|
574
602
|
} = reactData;
|
|
575
603
|
const {
|
|
604
|
+
elemStore,
|
|
576
605
|
visibleColumn
|
|
577
606
|
} = internalData;
|
|
578
|
-
const
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
} = columnStore;
|
|
582
|
-
const tableBody = refTableBody.value;
|
|
583
|
-
const bodyElem = tableBody ? tableBody.$el : null;
|
|
607
|
+
const leftFixedWidth = computeLeftFixedWidth.value;
|
|
608
|
+
const rightFixedWidth = computeRightFixedWidth.value;
|
|
609
|
+
const bodyScrollElem = getRefElem(elemStore['main-body-scroll']);
|
|
584
610
|
if (column.fixed) {
|
|
585
611
|
return Promise.resolve();
|
|
586
612
|
}
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
});
|
|
591
|
-
let offsetFixedRight = 0;
|
|
592
|
-
rightList.forEach(item => {
|
|
593
|
-
offsetFixedRight += item.renderWidth;
|
|
594
|
-
});
|
|
595
|
-
if (bodyElem) {
|
|
596
|
-
const bodyWidth = bodyElem.clientWidth;
|
|
597
|
-
const bodyScrollLeft = bodyElem.scrollLeft;
|
|
613
|
+
if (bodyScrollElem) {
|
|
614
|
+
const bodyWidth = bodyScrollElem.clientWidth;
|
|
615
|
+
const bodyScrollLeft = bodyScrollElem.scrollLeft;
|
|
598
616
|
let tdElem = null;
|
|
599
617
|
if (row) {
|
|
600
618
|
const rowid = getRowid($xeTable, row);
|
|
601
|
-
tdElem =
|
|
619
|
+
tdElem = bodyScrollElem.querySelector(`[rowid="${rowid}"] .${column.id}`);
|
|
602
620
|
}
|
|
603
621
|
if (!tdElem) {
|
|
604
|
-
tdElem =
|
|
622
|
+
tdElem = bodyScrollElem.querySelector(`.${column.id}`);
|
|
605
623
|
}
|
|
606
624
|
if (tdElem) {
|
|
607
625
|
const tdOffsetParent = tdElem.offsetParent;
|
|
608
626
|
const tdOffsetLeft = tdElem.offsetLeft + (tdOffsetParent ? tdOffsetParent.offsetLeft : 0);
|
|
609
627
|
const cellWidth = tdElem.clientWidth;
|
|
610
628
|
// 检测是否在可视区中
|
|
611
|
-
if (tdOffsetLeft < bodyScrollLeft +
|
|
612
|
-
return $xeTable.scrollTo(tdOffsetLeft -
|
|
613
|
-
} else if (tdOffsetLeft + cellWidth - bodyScrollLeft > bodyWidth -
|
|
614
|
-
return $xeTable.scrollTo(tdOffsetLeft + cellWidth - (bodyWidth -
|
|
629
|
+
if (tdOffsetLeft < bodyScrollLeft + leftFixedWidth) {
|
|
630
|
+
return $xeTable.scrollTo(tdOffsetLeft - leftFixedWidth - 1);
|
|
631
|
+
} else if (tdOffsetLeft + cellWidth - bodyScrollLeft > bodyWidth - rightFixedWidth) {
|
|
632
|
+
return $xeTable.scrollTo(tdOffsetLeft + cellWidth - (bodyWidth - rightFixedWidth - 1));
|
|
615
633
|
}
|
|
616
634
|
} else {
|
|
617
635
|
// 检测是否在虚拟渲染可视区中
|
|
@@ -626,9 +644,9 @@ function colToVisible($xeTable, column, row) {
|
|
|
626
644
|
scrollLeft += currCol.renderWidth;
|
|
627
645
|
}
|
|
628
646
|
if (scrollLeft < bodyScrollLeft) {
|
|
629
|
-
return $xeTable.scrollTo(scrollLeft -
|
|
647
|
+
return $xeTable.scrollTo(scrollLeft - leftFixedWidth - 1);
|
|
630
648
|
}
|
|
631
|
-
return $xeTable.scrollTo(scrollLeft + cellWidth - (bodyWidth -
|
|
649
|
+
return $xeTable.scrollTo(scrollLeft + cellWidth - (bodyWidth - rightFixedWidth - 1));
|
|
632
650
|
}
|
|
633
651
|
}
|
|
634
652
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.assembleColumn=assembleColumn,exports.calcTreeLine=calcTreeLine,exports.clearTableAllStatus=clearTableAllStatus,exports.clearTableDefaultStatus=clearTableDefaultStatus,exports.colToVisible=colToVisible,exports.convertHeaderColumnToRows=void 0,exports.createColumn=createColumn,exports.destroyColumn=destroyColumn,exports.getCellValue=getCellValue,exports.getColReMaxWidth=getColReMaxWidth,exports.getColReMinWidth=getColReMinWidth,exports.getOffsetSize=void 0,exports.getRefElem=getRefElem,exports.getRootColumn=getRootColumn,exports.getRowUniqueId=getRowUniqueId,exports.getRowid=getRowid,exports.getRowkey=getRowkey,exports.handleFieldOrColumn=void 0,exports.isColumnInfo=isColumnInfo,exports.mergeBodyMethod=mergeBodyMethod,exports.restoreScrollLocation=restoreScrollLocation,exports.rowToVisible=rowToVisible,exports.setCellValue=setCellValue,exports.toFilters=toFilters,exports.toTreePathSeq=toTreePathSeq,exports.watchColumn=watchColumn;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_columnInfo=require("./columnInfo"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let getAllConvertColumns=(e,t)=>{let l=[];return e.forEach(e=>{e.parentId=t?t.id:null,e.visible&&(e.children&&e.children.length&&e.children.some(e=>e.visible)?(l.push(e),l.push(...getAllConvertColumns(e.children,e))):l.push(e))}),l},convertHeaderColumnToRows=e=>{let t=1,r=(l,e)=>{if(e&&(l.level=e.level+1,t<l.level)&&(t=l.level),l.children&&l.children.length&&l.children.some(e=>e.visible)){let t=0;l.children.forEach(e=>{e.visible&&(r(e,l),t+=e.colSpan)}),l.colSpan=t}else l.colSpan=1},l=(e.forEach(e=>{e.level=1,r(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getAllConvertColumns(e).forEach(e=>{e.children&&e.children.length&&e.children.some(e=>e.visible)?e.rowSpan=1:e.rowSpan=t-e.level+1,l[e.level-1].push(e)}),l};function restoreScrollLocation(e,t,l){let r=e.internalData;return e.clearScroll().then(()=>{if(t||l)return r.lastScrollLeft=0,r.lastScrollTop=0,r.intoRunScroll=!1,r.inVirtualScroll=!1,r.inWheelScroll=!1,r.inHeaderScroll=!1,r.inBodyScroll=!1,r.inFooterScroll=!1,r.scrollRenderType="",e.scrollTo(t,l)})}function getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function getRowkey(e){var t=e.props,e=e.getComputeMaps().computeRowOpts,t=t.rowId,e=e.value;return t||e.keyField||"_X_ROW_KEY"}function getRowid(e,t){t=_xeUtils.default.get(t,getRowkey(e));return _xeUtils.default.eqNull(t)?"":encodeURIComponent(t)}exports.convertHeaderColumnToRows=convertHeaderColumnToRows;let handleFieldOrColumn=(e,t)=>t?_xeUtils.default.isString(t)?e.getColumnByField(t):t:null;function getPaddingLeftRightSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingLeft)+_xeUtils.default.toNumber(e.paddingRight)):0}function getElementMarginWidth(e){var t,l;return e?(l=getComputedStyle(e),t=_xeUtils.default.toNumber(l.marginLeft),l=_xeUtils.default.toNumber(l.marginRight),e.offsetWidth+t+l):0}function queryCellElement(e,t){return e.querySelector(".vxe-cell"+t)}function toFilters(e){return e&&_xeUtils.default.isArray(e)?e.map(({label:e,value:t,data:l,resetValue:r,checked:o})=>({label:e,value:t,data:l,resetValue:r,checked:!!o,_checked:!!o})):e}function toTreePathSeq(e){return e.map((e,t)=>t%2==0?Number(e)+1:".").join("")}function getCellValue(e,t){return _xeUtils.default.get(e,t.field)}function setCellValue(e,t,l){return _xeUtils.default.set(e,t.field,l)}function getRefElem(e){if(e){e=e.value;if(e)return e.$el||e}return null}function getColReMaxWidth(e){var t=e.$table,t=t.getComputeMaps().computeResizableOpts,t=t.value.maxWidth;if(t){e=_xeUtils.default.isFunction(t)?t(e):t;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}return-1}function getColReMinWidth(e){var{$table:t,column:l,cell:r}=e,o=t.props,
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.assembleColumn=assembleColumn,exports.calcTreeLine=calcTreeLine,exports.clearTableAllStatus=clearTableAllStatus,exports.clearTableDefaultStatus=clearTableDefaultStatus,exports.colToVisible=colToVisible,exports.convertHeaderColumnToRows=void 0,exports.createColumn=createColumn,exports.destroyColumn=destroyColumn,exports.getCellHeight=getCellHeight,exports.getCellValue=getCellValue,exports.getColReMaxWidth=getColReMaxWidth,exports.getColReMinWidth=getColReMinWidth,exports.getOffsetSize=void 0,exports.getRefElem=getRefElem,exports.getRootColumn=getRootColumn,exports.getRowUniqueId=getRowUniqueId,exports.getRowid=getRowid,exports.getRowkey=getRowkey,exports.handleFieldOrColumn=void 0,exports.isColumnInfo=isColumnInfo,exports.mergeBodyMethod=mergeBodyMethod,exports.restoreScrollLocation=restoreScrollLocation,exports.rowToVisible=rowToVisible,exports.setCellValue=setCellValue,exports.toFilters=toFilters,exports.toTreePathSeq=toTreePathSeq,exports.watchColumn=watchColumn;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_columnInfo=require("./columnInfo"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let getAllConvertColumns=(e,t)=>{let l=[];return e.forEach(e=>{e.parentId=t?t.id:null,e.visible&&(e.children&&e.children.length&&e.children.some(e=>e.visible)?(l.push(e),l.push(...getAllConvertColumns(e.children,e))):l.push(e))}),l},convertHeaderColumnToRows=e=>{let t=1,r=(l,e)=>{if(e&&(l.level=e.level+1,t<l.level)&&(t=l.level),l.children&&l.children.length&&l.children.some(e=>e.visible)){let t=0;l.children.forEach(e=>{e.visible&&(r(e,l),t+=e.colSpan)}),l.colSpan=t}else l.colSpan=1},l=(e.forEach(e=>{e.level=1,r(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getAllConvertColumns(e).forEach(e=>{e.children&&e.children.length&&e.children.some(e=>e.visible)?e.rowSpan=1:e.rowSpan=t-e.level+1,l[e.level-1].push(e)}),l};function restoreScrollLocation(e,t,l){let r=e.internalData;return e.clearScroll().then(()=>{if(t||l)return r.lastScrollLeft=0,r.lastScrollTop=0,r.intoRunScroll=!1,r.inVirtualScroll=!1,r.inWheelScroll=!1,r.inHeaderScroll=!1,r.inBodyScroll=!1,r.inFooterScroll=!1,r.scrollRenderType="",e.scrollTo(t,l)})}function getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function getRowkey(e){var t=e.props,e=e.getComputeMaps().computeRowOpts,t=t.rowId,e=e.value;return t||e.keyField||"_X_ROW_KEY"}function getRowid(e,t){t=_xeUtils.default.get(t,getRowkey(e));return _xeUtils.default.eqNull(t)?"":encodeURIComponent(t)}exports.convertHeaderColumnToRows=convertHeaderColumnToRows;let handleFieldOrColumn=(e,t)=>t?_xeUtils.default.isString(t)||_xeUtils.default.isNumber(t)?e.getColumnByField(""+t):t:null;function getPaddingLeftRightSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingLeft)+_xeUtils.default.toNumber(e.paddingRight)):0}function getElementMarginWidth(e){var t,l;return e?(l=getComputedStyle(e),t=_xeUtils.default.toNumber(l.marginLeft),l=_xeUtils.default.toNumber(l.marginRight),e.offsetWidth+t+l):0}function queryCellElement(e,t){return e.querySelector(".vxe-cell"+t)}function toFilters(e){return e&&_xeUtils.default.isArray(e)?e.map(({label:e,value:t,data:l,resetValue:r,checked:o})=>({label:e,value:t,data:l,resetValue:r,checked:!!o,_checked:!!o})):e}function toTreePathSeq(e){return e.map((e,t)=>t%2==0?Number(e)+1:".").join("")}function getCellValue(e,t){return _xeUtils.default.get(e,t.field)}function setCellValue(e,t,l){return _xeUtils.default.set(e,t.field,l)}function getRefElem(e){if(e){e=e.value;if(e)return e.$el||e}return null}function getCellHeight(e){return"unset"!==e&&e||0}function getColReMaxWidth(e){var t=e.$table,t=t.getComputeMaps().computeResizableOpts,t=t.value.maxWidth;if(t){e=_xeUtils.default.isFunction(t)?t(e):t;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}return-1}function getColReMinWidth(e){var{$table:t,column:l,cell:r}=e,o=t.props,i=t.internalData,t=t.getComputeMaps().computeResizableOpts,t=t.value.minWidth;if(t){e=_xeUtils.default.isFunction(t)?t(e):t;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}var n,a,u,s,t=i.elemStore,e=o.showHeaderOverflow,{showHeaderOverflow:i,minWidth:o}=l,l=_xeUtils.default.isUndefined(i)||_xeUtils.default.isNull(i)?e:i,e="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;let c=_xeUtils.default.floor(1.6*(_xeUtils.default.toNumber(getComputedStyle(r).fontSize)||14))+(getPaddingLeftRightSize(r)+getPaddingLeftRightSize(queryCellElement(r,"")));if(e&&(i=getPaddingLeftRightSize(queryCellElement(r,">.vxe-cell--drag-handle")),l=getPaddingLeftRightSize(queryCellElement(r,">.vxe-cell--checkbox")),e=getElementMarginWidth(queryCellElement(r,">.vxe-cell--required-icon")),n=getElementMarginWidth(queryCellElement(r,">.vxe-cell--edit-icon")),a=getElementMarginWidth(queryCellElement(r,">.vxe-cell-title-prefix-icon")),u=getElementMarginWidth(queryCellElement(r,">.vxe-cell-title-suffix-icon")),s=getElementMarginWidth(queryCellElement(r,">.vxe-cell--sort")),r=getElementMarginWidth(queryCellElement(r,">.vxe-cell--filter")),c+=i+l+e+n+a+u+r+s),o){i=getRefElem(t["main-body-scroll"]);if(i){if((0,_dom.isScale)(o))return l=(i.clientWidth-1)/100,Math.max(c,Math.floor(_xeUtils.default.toInteger(o)*l));if((0,_dom.isPx)(o))return Math.max(c,_xeUtils.default.toInteger(o))}}return c}function isColumnInfo(e){return e&&(e.constructor===_columnInfo.ColumnInfo||e instanceof _columnInfo.ColumnInfo)}function createColumn(e,t,l){return isColumnInfo(t)?t:(0,_vue.reactive)(new _columnInfo.ColumnInfo(e,t,l))}function watchColumn(l,e,r){Object.keys(e).forEach(t=>{(0,_vue.watch)(()=>e[t],e=>{r.update(t,e),l&&("filters"===t?(l.setFilter(r,e),l.handleUpdateDataQueue()):["visible","fixed","width","minWidth","maxWidth"].includes(t)&&l.handleRefreshColumnQueue())})})}function assembleColumn(e,t,l,r){var e=e.reactData,o=e.staticColumns,i=t.parentNode,r=r?r.columnConfig:null,r=r?r.children:o;i&&r&&(r.splice(_xeUtils.default.arrayIndexOf(i.children,t),0,l),e.staticColumns=o.slice(0))}function destroyColumn(e,t){var e=e.reactData,l=e.staticColumns,r=_xeUtils.default.findTree(l,e=>e.id===t.id,{children:"children"});r&&r.items.splice(r.index,1),e.staticColumns=l.slice(0)}function getRootColumn(e,t){var e=e.internalData,l=e.fullColumnIdData;if(!t)return null;let r=t.parentId;for(;l[r];){let e=l[r].column;if(!(r=e.parentId))return e}return t}exports.handleFieldOrColumn=handleFieldOrColumn;let lineOffsetSizes={mini:3,small:2,medium:1},countTreeExpand=(e,t)=>{let l=1;if(e){var r=t.$table,o=r.getComputeMaps().computeTreeOpts,o=o.value,{transform:i,mapChildrenField:n}=o,o=o.children||o.childrenField,a=e[i?n:o];if(a&&r.isTreeExpandByRow(e))for(let e=0;e<a.length;e++)l+=countTreeExpand(a[e],t)}return l},getOffsetSize=e=>{e=e.getComputeMaps().computeSize,e=e.value;return e&&lineOffsetSizes[e]||0};function calcTreeLine(e,t){var{$table:l,row:r}=e,o=l.props.showOverflow,i=l.reactData.scrollYLoad,n=l.internalData.fullAllDataRowIdData,{computeRowOpts:a,computeCellOpts:u,computeDefaultRowHeight:s}=l.getComputeMaps(),a=a.value,u=u.value,s=s.value,n=n[getRowid(l,r)],r=n.resizeHeight||u.height||a.height||s;let c=1,d=(t&&(c=countTreeExpand(t,e)),r);return(d=i&&!o?n.height||r:d)*c-(t?1:12-getOffsetSize(l))}function mergeBodyMethod(t,l,r){for(let e=0;e<t.length;e++){var{row:o,col:i,rowspan:n,colspan:a}=t[e];if(-1<i&&-1<o&&n&&a){if(o===l&&i===r)return{rowspan:n,colspan:a};if(o<=l&&l<o+n&&i<=r&&r<i+a)return{rowspan:0,colspan:0}}}}function clearTableDefaultStatus(e){var{props:t,internalData:l}=e;return l.initStatus=!1,e.clearSort(),e.clearCurrentRow(),e.clearCurrentColumn(),e.clearRadioRow(),e.clearRadioReserve(),e.clearCheckboxRow(),e.clearCheckboxReserve(),e.clearRowExpand(),e.clearTreeExpand(),e.clearTreeExpandReserve(),e.clearPendingRow(),e.clearFilter&&e.clearFilter(),e.clearSelected&&(t.keyboardConfig||t.mouseConfig)&&e.clearSelected(),e.clearCellAreas&&t.mouseConfig&&(e.clearCellAreas(),e.clearCopyCellArea()),e.clearScroll()}function clearTableAllStatus(e){return e.clearFilter&&e.clearFilter(),clearTableDefaultStatus(e)}function rowToVisible(l,r){var e=l.props,t=l.reactData,o=l.internalData,{computeLeftFixedWidth:i,computeRightFixedWidth:n,computeRowOpts:a,computeCellOpts:u,computeDefaultRowHeight:s}=l.getComputeMaps(),e=e.showOverflow,t=t.scrollYLoad,{elemStore:o,afterFullData:c,fullAllDataRowIdData:d,isResizeCellHeight:f}=o,m=a.value,h=u.value,g=s.value,a=i.value,u=n.value,s=getRefElem(o["main-body-scroll"]),p=getRowid(l,r);if(s){i=s.clientHeight,n=s.scrollTop,o=s.querySelector(`[rowid="${p}"]`);if(o){s=o.offsetParent,s=o.offsetTop+(s?s.offsetTop:0),o=o.clientHeight;if(s<n||n+i<s)return l.scrollTo(null,s);if(i+n<=s+o)return l.scrollTo(null,n+o)}else if(t){if(!(f||h.height||m.height)&&e)return l.scrollTo(null,(l.findRowIndexOf(c,r)-1)*g);let t=0;s=d[p]||{},o=s&&(s.resizeHeight||h.height||m.height)||g;for(let e=0;e<c.length;e++){var C=c[e],x=getRowid(l,C);if(C===r||x===p)break;C=d[x]||{};t+=C.resizeHeight||C.height||h.height||m.height||g}return t<n?l.scrollTo(null,t-a-1):l.scrollTo(null,t+o-(i-u-1))}}return Promise.resolve()}function colToVisible(l,r,t){var o=l.reactData,i=l.internalData,{computeLeftFixedWidth:n,computeRightFixedWidth:a}=l.getComputeMaps(),o=o.scrollXLoad,{elemStore:i,visibleColumn:u}=i,n=n.value,a=a.value,i=getRefElem(i["main-body-scroll"]);if(!r.fixed&&i){var s=i.clientWidth,c=i.scrollLeft;let e=null;if(t&&(t=getRowid(l,t),e=i.querySelector(`[rowid="${t}"] .`+r.id)),e=e||i.querySelector("."+r.id)){t=e.offsetParent,i=e.offsetLeft+(t?t.offsetLeft:0),t=e.clientWidth;if(i<c+n)return l.scrollTo(i-n-1);if(s-a<i+t-c)return l.scrollTo(i+t-(s-a-1))}else if(o){let t=0;i=r.renderWidth;for(let e=0;e<u.length;e++){var d=u[e];if(d===r||d.id===r.id)break;t+=d.renderWidth}return t<c?l.scrollTo(t-n-1):l.scrollTo(t+i-(s-a-1))}}return Promise.resolve()}exports.getOffsetSize=getOffsetSize;
|