vxe-table 3.12.10-beta.8 → 3.12.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/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/mixin.js +7 -7
- package/es/table/module/export/mixin.js +105 -69
- package/es/table/module/keyboard/mixin.js +68 -25
- package/es/table/module/menu/mixin.js +3 -1
- package/es/table/src/body.js +135 -83
- package/es/table/src/cell.js +43 -57
- package/es/table/src/column.js +43 -8
- package/es/table/src/columnInfo.js +3 -0
- package/es/table/src/footer.js +50 -9
- package/es/table/src/header.js +70 -168
- package/es/table/src/methods.js +985 -502
- package/es/table/src/props.js +14 -4
- package/es/table/src/table.js +114 -33
- package/es/table/src/util.js +73 -57
- package/es/table/style.css +253 -189
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +26 -10
- 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/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +1782 -1056
- 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-CHT.umd.js +2 -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/mixin.js +7 -2
- package/lib/table/module/edit/mixin.min.js +1 -1
- package/lib/table/module/export/mixin.js +105 -64
- package/lib/table/module/export/mixin.min.js +1 -1
- package/lib/table/module/keyboard/mixin.js +73 -27
- package/lib/table/module/keyboard/mixin.min.js +1 -1
- package/lib/table/module/menu/mixin.js +3 -1
- package/lib/table/src/body.js +132 -79
- 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 +12 -0
- 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/footer.js +46 -7
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +52 -175
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/methods.js +1096 -560
- package/lib/table/src/methods.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 +113 -36
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +87 -70
- 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 -10
- 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/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/mixin.ts +7 -7
- package/packages/table/module/export/mixin.ts +138 -80
- package/packages/table/module/keyboard/mixin.ts +65 -24
- package/packages/table/module/menu/mixin.ts +4 -1
- package/packages/table/src/body.ts +148 -86
- package/packages/table/src/cell.ts +45 -67
- package/packages/table/src/column.ts +48 -10
- package/packages/table/src/columnInfo.ts +3 -0
- package/packages/table/src/footer.ts +53 -10
- package/packages/table/src/header.ts +70 -169
- package/packages/table/src/methods.ts +1031 -515
- package/packages/table/src/props.ts +16 -6
- package/packages/table/src/table.ts +124 -33
- package/packages/table/src/util.ts +82 -62
- package/packages/ui/index.ts +25 -9
- 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 -0
- /package/es/{iconfont.1736840896964.ttf → iconfont.1738985837413.ttf} +0 -0
- /package/es/{iconfont.1736840896964.woff → iconfont.1738985837413.woff} +0 -0
- /package/es/{iconfont.1736840896964.woff2 → iconfont.1738985837413.woff2} +0 -0
- /package/lib/{iconfont.1736840896964.ttf → iconfont.1738985837413.ttf} +0 -0
- /package/lib/{iconfont.1736840896964.woff → iconfont.1738985837413.woff} +0 -0
- /package/lib/{iconfont.1736840896964.woff2 → iconfont.1738985837413.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.getColReMinWidth = getColReMinWidth;
|
|
16
17
|
exports.getOffsetSize = getOffsetSize;
|
|
@@ -144,9 +145,15 @@ function getElementMarginWidth(elem) {
|
|
|
144
145
|
}
|
|
145
146
|
return 0;
|
|
146
147
|
}
|
|
148
|
+
function getCellHeight(height) {
|
|
149
|
+
if (height === 'unset') {
|
|
150
|
+
return 0;
|
|
151
|
+
}
|
|
152
|
+
return height || 0;
|
|
153
|
+
}
|
|
147
154
|
function handleFieldOrColumn(_vm, fieldOrColumn) {
|
|
148
155
|
if (fieldOrColumn) {
|
|
149
|
-
return _xeUtils.default.isString(fieldOrColumn) ? _vm.getColumnByField(fieldOrColumn) : fieldOrColumn;
|
|
156
|
+
return _xeUtils.default.isString(fieldOrColumn) || _xeUtils.default.isNumber(fieldOrColumn) ? _vm.getColumnByField(`${fieldOrColumn}`) : fieldOrColumn;
|
|
150
157
|
}
|
|
151
158
|
return null;
|
|
152
159
|
}
|
|
@@ -231,6 +238,7 @@ function getColReMinWidth(params) {
|
|
|
231
238
|
column,
|
|
232
239
|
cell
|
|
233
240
|
} = params;
|
|
241
|
+
const internalData = $table;
|
|
234
242
|
const {
|
|
235
243
|
showHeaderOverflow: allColumnHeaderOverflow,
|
|
236
244
|
resizableOpts
|
|
@@ -245,6 +253,9 @@ function getColReMinWidth(params) {
|
|
|
245
253
|
return Math.max(1, _xeUtils.default.toNumber(customMinWidth));
|
|
246
254
|
}
|
|
247
255
|
}
|
|
256
|
+
const {
|
|
257
|
+
elemStore
|
|
258
|
+
} = internalData;
|
|
248
259
|
const {
|
|
249
260
|
showHeaderOverflow,
|
|
250
261
|
minWidth: colMinWidth
|
|
@@ -271,13 +282,10 @@ function getColReMinWidth(params) {
|
|
|
271
282
|
}
|
|
272
283
|
// 如果设置最小宽
|
|
273
284
|
if (colMinWidth) {
|
|
274
|
-
const
|
|
275
|
-
|
|
276
|
-
} = $table.$refs;
|
|
277
|
-
const bodyElem = refTableBody ? refTableBody.$el : null;
|
|
278
|
-
if (bodyElem) {
|
|
285
|
+
const bodyScrollElem = getRefElem(elemStore['main-body-scroll']);
|
|
286
|
+
if (bodyScrollElem) {
|
|
279
287
|
if ((0, _dom.isScale)(colMinWidth)) {
|
|
280
|
-
const bodyWidth =
|
|
288
|
+
const bodyWidth = bodyScrollElem.clientWidth - 1;
|
|
281
289
|
const meanWidth = bodyWidth / 100;
|
|
282
290
|
return Math.max(mWidth, Math.floor(_xeUtils.default.toInteger(colMinWidth) * meanWidth));
|
|
283
291
|
} else if ((0, _dom.isPx)(colMinWidth)) {
|
|
@@ -323,14 +331,39 @@ function getOffsetSize($xeTable) {
|
|
|
323
331
|
}
|
|
324
332
|
function calcTreeLine(params, prevRow) {
|
|
325
333
|
const {
|
|
326
|
-
$table
|
|
334
|
+
$table,
|
|
335
|
+
row
|
|
327
336
|
} = params;
|
|
337
|
+
const tableProps = $table;
|
|
328
338
|
const tableReactData = $table;
|
|
339
|
+
const tableInternalData = $table;
|
|
340
|
+
const {
|
|
341
|
+
showOverflow
|
|
342
|
+
} = tableProps;
|
|
343
|
+
const {
|
|
344
|
+
scrollYLoad
|
|
345
|
+
} = tableReactData;
|
|
346
|
+
const {
|
|
347
|
+
fullAllDataRowIdData
|
|
348
|
+
} = tableInternalData;
|
|
349
|
+
const rowOpts = $table.computeRowOpts;
|
|
350
|
+
const cellOpts = $table.computeCellOpts;
|
|
351
|
+
const defaultRowHeight = $table.computeDefaultRowHeight;
|
|
352
|
+
const rowid = getRowid($table, row);
|
|
353
|
+
const rowRest = fullAllDataRowIdData[rowid];
|
|
354
|
+
const currCellHeight = rowRest.resizeHeight || cellOpts.height || rowOpts.height || defaultRowHeight;
|
|
329
355
|
let expandSize = 1;
|
|
330
356
|
if (prevRow) {
|
|
331
357
|
expandSize = countTreeExpand(prevRow, params);
|
|
332
358
|
}
|
|
333
|
-
|
|
359
|
+
let cellHeight = currCellHeight;
|
|
360
|
+
const vnHeight = rowRest.height;
|
|
361
|
+
if (scrollYLoad) {
|
|
362
|
+
if (!showOverflow) {
|
|
363
|
+
cellHeight = vnHeight || currCellHeight;
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
return cellHeight * expandSize - (prevRow ? 1 : 12 - getOffsetSize($table));
|
|
334
367
|
}
|
|
335
368
|
function mergeBodyMethod(mergeList, _rowIndex, _columnIndex) {
|
|
336
369
|
for (let mIndex = 0; mIndex < mergeList.length; mIndex++) {
|
|
@@ -405,43 +438,32 @@ function createColumn($xeTable, options, renderOptions) {
|
|
|
405
438
|
return isColumnInfo(options) ? options : new _columnInfo.ColumnInfo($xeTable, options, renderOptions);
|
|
406
439
|
}
|
|
407
440
|
function rowToVisible($xeTable, row) {
|
|
441
|
+
const tableProps = $xeTable;
|
|
408
442
|
const reactData = $xeTable;
|
|
409
443
|
const internalData = $xeTable;
|
|
410
|
-
const tableProps = $xeTable;
|
|
411
444
|
const {
|
|
412
445
|
showOverflow
|
|
413
446
|
} = tableProps;
|
|
414
|
-
const refTableBody = $xeTable.$refs.refTableBody;
|
|
415
447
|
const {
|
|
416
|
-
columnStore,
|
|
417
448
|
scrollYLoad
|
|
418
449
|
} = reactData;
|
|
419
450
|
const {
|
|
451
|
+
elemStore,
|
|
420
452
|
afterFullData,
|
|
421
|
-
|
|
422
|
-
|
|
453
|
+
fullAllDataRowIdData,
|
|
454
|
+
isResizeCellHeight
|
|
423
455
|
} = internalData;
|
|
424
|
-
const
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
const
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
} = columnStore;
|
|
431
|
-
const bodyElem = refTableBody ? refTableBody.$el : null;
|
|
456
|
+
const rowOpts = $xeTable.computeRowOpts;
|
|
457
|
+
const cellOpts = $xeTable.computeCellOpts;
|
|
458
|
+
const defaultRowHeight = $xeTable.computeDefaultRowHeight;
|
|
459
|
+
const leftFixedWidth = $xeTable.computeLeftFixedWidth;
|
|
460
|
+
const rightFixedWidth = $xeTable.computeRightFixedWidth;
|
|
461
|
+
const bodyScrollElem = getRefElem(elemStore['main-body-scroll']);
|
|
432
462
|
const rowid = getRowid($xeTable, row);
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
let offsetFixedRight = 0;
|
|
438
|
-
rightList.forEach(item => {
|
|
439
|
-
offsetFixedRight += item.renderWidth;
|
|
440
|
-
});
|
|
441
|
-
if (bodyElem) {
|
|
442
|
-
const bodyHeight = bodyElem.clientHeight;
|
|
443
|
-
const bodyScrollTop = bodyElem.scrollTop;
|
|
444
|
-
const trElem = bodyElem.querySelector(`[rowid="${rowid}"]`);
|
|
463
|
+
if (bodyScrollElem) {
|
|
464
|
+
const bodyHeight = bodyScrollElem.clientHeight;
|
|
465
|
+
const bodyScrollTop = bodyScrollElem.scrollTop;
|
|
466
|
+
const trElem = bodyScrollElem.querySelector(`[rowid="${rowid}"]`);
|
|
445
467
|
if (trElem) {
|
|
446
468
|
const trOffsetParent = trElem.offsetParent;
|
|
447
469
|
const trOffsetTop = trElem.offsetTop + (trOffsetParent ? trOffsetParent.offsetTop : 0);
|
|
@@ -455,12 +477,13 @@ function rowToVisible($xeTable, row) {
|
|
|
455
477
|
} else {
|
|
456
478
|
// 如果是虚拟渲染滚动
|
|
457
479
|
if (scrollYLoad) {
|
|
458
|
-
|
|
459
|
-
|
|
480
|
+
const isCustomCellHeight = isResizeCellHeight || cellOpts.height || rowOpts.height;
|
|
481
|
+
if (!isCustomCellHeight && showOverflow) {
|
|
482
|
+
return $xeTable.scrollTo(null, ($xeTable.findRowIndexOf(afterFullData, row) - 1) * defaultRowHeight);
|
|
460
483
|
}
|
|
461
484
|
let scrollTop = 0;
|
|
462
485
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
463
|
-
const rHeight = rowRest ? rowRest.height ||
|
|
486
|
+
const rHeight = rowRest ? rowRest.resizeHeight || cellOpts.height || rowOpts.height || defaultRowHeight : defaultRowHeight;
|
|
464
487
|
for (let i = 0; i < afterFullData.length; i++) {
|
|
465
488
|
const currRow = afterFullData[i];
|
|
466
489
|
const currRowid = getRowid($xeTable, currRow);
|
|
@@ -468,60 +491,53 @@ function rowToVisible($xeTable, row) {
|
|
|
468
491
|
break;
|
|
469
492
|
}
|
|
470
493
|
const rowRest = fullAllDataRowIdData[currRowid];
|
|
471
|
-
scrollTop += rowRest ? rowRest.height ||
|
|
494
|
+
scrollTop += rowRest ? rowRest.resizeHeight || cellOpts.height || rowOpts.height || defaultRowHeight : defaultRowHeight;
|
|
472
495
|
}
|
|
473
496
|
if (scrollTop < bodyScrollTop) {
|
|
474
|
-
return $xeTable.scrollTo(null, scrollTop -
|
|
497
|
+
return $xeTable.scrollTo(null, scrollTop - leftFixedWidth - 1);
|
|
475
498
|
}
|
|
476
|
-
return $xeTable.scrollTo(null, scrollTop + rHeight - (bodyHeight -
|
|
499
|
+
return $xeTable.scrollTo(null, scrollTop + rHeight - (bodyHeight - rightFixedWidth - 1));
|
|
477
500
|
}
|
|
478
501
|
}
|
|
479
502
|
}
|
|
480
503
|
return Promise.resolve();
|
|
481
504
|
}
|
|
482
505
|
function colToVisible($xeTable, column, row) {
|
|
506
|
+
const reactData = $xeTable;
|
|
507
|
+
const internalData = $xeTable;
|
|
483
508
|
const {
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
visibleColumn
|
|
487
|
-
} = $xeTable;
|
|
488
|
-
const refTableBody = $xeTable.$refs.refTableBody;
|
|
509
|
+
scrollXLoad
|
|
510
|
+
} = reactData;
|
|
489
511
|
const {
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
} =
|
|
493
|
-
const
|
|
512
|
+
elemStore,
|
|
513
|
+
visibleColumn
|
|
514
|
+
} = internalData;
|
|
515
|
+
const leftFixedWidth = $xeTable.computeLeftFixedWidth;
|
|
516
|
+
const rightFixedWidth = $xeTable.computeRightFixedWidth;
|
|
517
|
+
const bodyScrollElem = getRefElem(elemStore['main-body-scroll']);
|
|
494
518
|
if (column.fixed) {
|
|
495
519
|
return Promise.resolve();
|
|
496
520
|
}
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
});
|
|
501
|
-
let offsetFixedRight = 0;
|
|
502
|
-
rightList.forEach(item => {
|
|
503
|
-
offsetFixedRight += item.renderWidth;
|
|
504
|
-
});
|
|
505
|
-
if (bodyElem) {
|
|
506
|
-
const bodyWidth = bodyElem.clientWidth;
|
|
507
|
-
const bodyScrollLeft = bodyElem.scrollLeft;
|
|
521
|
+
if (bodyScrollElem) {
|
|
522
|
+
const bodyWidth = bodyScrollElem.clientWidth;
|
|
523
|
+
const bodyScrollLeft = bodyScrollElem.scrollLeft;
|
|
508
524
|
let tdElem = null;
|
|
509
525
|
if (row) {
|
|
510
526
|
const rowid = getRowid($xeTable, row);
|
|
511
|
-
tdElem =
|
|
527
|
+
tdElem = bodyScrollElem.querySelector(`[rowid="${rowid}"] .${column.id}`);
|
|
512
528
|
}
|
|
513
529
|
if (!tdElem) {
|
|
514
|
-
tdElem =
|
|
530
|
+
tdElem = bodyScrollElem.querySelector(`.${column.id}`);
|
|
515
531
|
}
|
|
516
532
|
if (tdElem) {
|
|
517
533
|
const tdOffsetParent = tdElem.offsetParent;
|
|
518
534
|
const tdOffsetLeft = tdElem.offsetLeft + (tdOffsetParent ? tdOffsetParent.offsetLeft : 0);
|
|
519
535
|
const cellWidth = tdElem.clientWidth;
|
|
520
536
|
// 检测是否在可视区中
|
|
521
|
-
if (tdOffsetLeft < bodyScrollLeft +
|
|
522
|
-
return $xeTable.scrollTo(tdOffsetLeft -
|
|
523
|
-
} else if (tdOffsetLeft + cellWidth - bodyScrollLeft > bodyWidth -
|
|
524
|
-
return $xeTable.scrollTo(tdOffsetLeft + cellWidth - (bodyWidth -
|
|
537
|
+
if (tdOffsetLeft < bodyScrollLeft + leftFixedWidth) {
|
|
538
|
+
return $xeTable.scrollTo(tdOffsetLeft - leftFixedWidth - 1);
|
|
539
|
+
} else if (tdOffsetLeft + cellWidth - bodyScrollLeft > bodyWidth - rightFixedWidth) {
|
|
540
|
+
return $xeTable.scrollTo(tdOffsetLeft + cellWidth - (bodyWidth - rightFixedWidth - 1));
|
|
525
541
|
}
|
|
526
542
|
} else {
|
|
527
543
|
// 检测是否在虚拟渲染可视区中
|
|
@@ -529,15 +545,16 @@ function colToVisible($xeTable, column, row) {
|
|
|
529
545
|
let scrollLeft = 0;
|
|
530
546
|
const cellWidth = column.renderWidth;
|
|
531
547
|
for (let i = 0; i < visibleColumn.length; i++) {
|
|
532
|
-
|
|
548
|
+
const currCol = visibleColumn[i];
|
|
549
|
+
if (currCol === column || currCol.id === column.id) {
|
|
533
550
|
break;
|
|
534
551
|
}
|
|
535
|
-
scrollLeft +=
|
|
552
|
+
scrollLeft += currCol.renderWidth;
|
|
536
553
|
}
|
|
537
554
|
if (scrollLeft < bodyScrollLeft) {
|
|
538
|
-
return $xeTable.scrollTo(scrollLeft -
|
|
555
|
+
return $xeTable.scrollTo(scrollLeft - leftFixedWidth - 1);
|
|
539
556
|
}
|
|
540
|
-
return $xeTable.scrollTo(scrollLeft + cellWidth - (bodyWidth -
|
|
557
|
+
return $xeTable.scrollTo(scrollLeft + cellWidth - (bodyWidth - rightFixedWidth - 1));
|
|
541
558
|
}
|
|
542
559
|
}
|
|
543
560
|
}
|
|
@@ -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.getColReMinWidth=getColReMinWidth,exports.getOffsetSize=getOffsetSize,exports.getRefElem=getRefElem,exports.getRootColumn=getRootColumn,exports.getRowUniqueId=getRowUniqueId,exports.getRowid=getRowid,exports.getRowkey=getRowkey,exports.handleFieldOrColumn=handleFieldOrColumn,exports.isColumnInfo=isColumnInfo,exports.mergeBodyMethod=mergeBodyMethod,exports.restoreScrollLocation=restoreScrollLocation,exports.rowToVisible=rowToVisible,exports.setCellValue=setCellValue,exports.toFilters=toFilters,exports.toTreePathSeq=toTreePathSeq;var _xeUtils=_interopRequireDefault(require("xe-utils")),_columnInfo=require("./columnInfo"),_dom=require("../../ui/src/dom"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let getAllConvertColumns=(e,l)=>{let t=[];return e.forEach(e=>{e.parentId=l?l.id:null,e.visible&&(e.children&&e.children.length&&e.children.some(e=>e.visible)?(t.push(e),t.push(...getAllConvertColumns(e.children,e))):t.push(e))}),t},convertHeaderColumnToRows=e=>{let l=1,r=(t,e)=>{if(e&&(t.level=e.level+1,l<t.level)&&(l=t.level),t.children&&t.children.length&&t.children.some(e=>e.visible)){let l=0;t.children.forEach(e=>{e.visible&&(r(e,t),l+=e.colSpan)}),t.colSpan=l}else t.colSpan=1},t=(e.forEach(e=>{e.level=1,r(e)}),[]);for(let e=0;e<l;e++)t.push([]);return getAllConvertColumns(e).forEach(e=>{e.children&&e.children.length&&e.children.some(e=>e.visible)?e.rowSpan=1:e.rowSpan=l-e.level+1,t[e.level-1].push(e)}),t};function restoreScrollLocation(e,l,t){let r=e;return e.clearScroll().then(()=>{if(l||t)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(l,t)})}function toTreePathSeq(e){return e.map((e,l)=>l%2==0?Number(e)+1:".").join("")}function getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function getRowkey(e){return e.rowOpts.keyField||e.rowId||"_X_ROW_KEY"}function getRowid(e,l){l=_xeUtils.default.get(l,getRowkey(e));return _xeUtils.default.eqNull(l)?"":encodeURIComponent(l)}function getPaddingLeftRightSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingLeft)+_xeUtils.default.toNumber(e.paddingRight)):0}function getElementMarginWidth(e){var l,t;return e?(t=getComputedStyle(e),l=_xeUtils.default.toNumber(t.marginLeft),t=_xeUtils.default.toNumber(t.marginRight),e.offsetWidth+l+t):0}function handleFieldOrColumn(e,l){return l?_xeUtils.default.isString(l)?e.getColumnByField(l):l:null}function assembleColumn(e){var{$el:e,$xetable:l,$xecolumn:t,columnConfig:r}=e,o=t?t.columnConfig:null;o?("development"===process.env.NODE_ENV&&("vxe-table-column"===t.$options._componentTag?(0,_log.errLog)("vxe.error.groupTag",[`<vxe-table-colgroup title=${t.title} ...>`,`<vxe-table-column title=${t.title} ...>`]):"vxe-column"===t.$options._componentTag&&(0,_log.warnLog)("vxe.error.groupTag",[`<vxe-colgroup title=${t.title} ...>`,`<vxe-column title=${t.title} ...>`])),o.children||(o.children=[]),o.children.splice(_xeUtils.default.arrayIndexOf(t.$el.children,e),0,r)):l.staticColumns.splice(_xeUtils.default.arrayIndexOf(l.$refs.hideColumn.children,e),0,r)}function destroyColumn(e){let{$xetable:l,columnConfig:t}=e;e=_xeUtils.default.findTree(l.staticColumns,e=>e===t);e&&e.items.splice(e.index,1)}function getRootColumn(e,l){var t=e.fullColumnIdData;if(!l)return null;let r=l.parentId;for(;t[r];){let e=t[r].column;if(!(r=e.parentId))return e}return l}function queryCellElement(e,l){return e.querySelector(".vxe-cell"+l)}function toFilters(e){return e&&_xeUtils.default.isArray(e)?e.map(({label:e,value:l,data:t,resetValue:r,checked:o})=>({label:e,value:l,data:t,resetValue:r,checked:!!o,_checked:!!o})):e}function getColReMinWidth(e){var{$table:l,column:t,cell:r}=e,{showHeaderOverflow:
|
|
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.getColReMinWidth=getColReMinWidth,exports.getOffsetSize=getOffsetSize,exports.getRefElem=getRefElem,exports.getRootColumn=getRootColumn,exports.getRowUniqueId=getRowUniqueId,exports.getRowid=getRowid,exports.getRowkey=getRowkey,exports.handleFieldOrColumn=handleFieldOrColumn,exports.isColumnInfo=isColumnInfo,exports.mergeBodyMethod=mergeBodyMethod,exports.restoreScrollLocation=restoreScrollLocation,exports.rowToVisible=rowToVisible,exports.setCellValue=setCellValue,exports.toFilters=toFilters,exports.toTreePathSeq=toTreePathSeq;var _xeUtils=_interopRequireDefault(require("xe-utils")),_columnInfo=require("./columnInfo"),_dom=require("../../ui/src/dom"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let getAllConvertColumns=(e,l)=>{let t=[];return e.forEach(e=>{e.parentId=l?l.id:null,e.visible&&(e.children&&e.children.length&&e.children.some(e=>e.visible)?(t.push(e),t.push(...getAllConvertColumns(e.children,e))):t.push(e))}),t},convertHeaderColumnToRows=e=>{let l=1,r=(t,e)=>{if(e&&(t.level=e.level+1,l<t.level)&&(l=t.level),t.children&&t.children.length&&t.children.some(e=>e.visible)){let l=0;t.children.forEach(e=>{e.visible&&(r(e,t),l+=e.colSpan)}),t.colSpan=l}else t.colSpan=1},t=(e.forEach(e=>{e.level=1,r(e)}),[]);for(let e=0;e<l;e++)t.push([]);return getAllConvertColumns(e).forEach(e=>{e.children&&e.children.length&&e.children.some(e=>e.visible)?e.rowSpan=1:e.rowSpan=l-e.level+1,t[e.level-1].push(e)}),t};function restoreScrollLocation(e,l,t){let r=e;return e.clearScroll().then(()=>{if(l||t)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(l,t)})}function toTreePathSeq(e){return e.map((e,l)=>l%2==0?Number(e)+1:".").join("")}function getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function getRowkey(e){return e.rowOpts.keyField||e.rowId||"_X_ROW_KEY"}function getRowid(e,l){l=_xeUtils.default.get(l,getRowkey(e));return _xeUtils.default.eqNull(l)?"":encodeURIComponent(l)}function getPaddingLeftRightSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingLeft)+_xeUtils.default.toNumber(e.paddingRight)):0}function getElementMarginWidth(e){var l,t;return e?(t=getComputedStyle(e),l=_xeUtils.default.toNumber(t.marginLeft),t=_xeUtils.default.toNumber(t.marginRight),e.offsetWidth+l+t):0}function getCellHeight(e){return"unset"!==e&&e||0}function handleFieldOrColumn(e,l){return l?_xeUtils.default.isString(l)||_xeUtils.default.isNumber(l)?e.getColumnByField(""+l):l:null}function assembleColumn(e){var{$el:e,$xetable:l,$xecolumn:t,columnConfig:r}=e,o=t?t.columnConfig:null;o?("development"===process.env.NODE_ENV&&("vxe-table-column"===t.$options._componentTag?(0,_log.errLog)("vxe.error.groupTag",[`<vxe-table-colgroup title=${t.title} ...>`,`<vxe-table-column title=${t.title} ...>`]):"vxe-column"===t.$options._componentTag&&(0,_log.warnLog)("vxe.error.groupTag",[`<vxe-colgroup title=${t.title} ...>`,`<vxe-column title=${t.title} ...>`])),o.children||(o.children=[]),o.children.splice(_xeUtils.default.arrayIndexOf(t.$el.children,e),0,r)):l.staticColumns.splice(_xeUtils.default.arrayIndexOf(l.$refs.hideColumn.children,e),0,r)}function destroyColumn(e){let{$xetable:l,columnConfig:t}=e;e=_xeUtils.default.findTree(l.staticColumns,e=>e===t);e&&e.items.splice(e.index,1)}function getRootColumn(e,l){var t=e.fullColumnIdData;if(!l)return null;let r=l.parentId;for(;t[r];){let e=t[r].column;if(!(r=e.parentId))return e}return l}function queryCellElement(e,l){return e.querySelector(".vxe-cell"+l)}function toFilters(e){return e&&_xeUtils.default.isArray(e)?e.map(({label:e,value:l,data:t,resetValue:r,checked:o})=>({label:e,value:l,data:t,resetValue:r,checked:!!o,_checked:!!o})):e}function getColReMinWidth(e){var{$table:l,column:t,cell:r}=e,o=l,{showHeaderOverflow:l,resizableOpts:i}=l,i=i.minWidth;if(i){e=_xeUtils.default.isFunction(i)?i(e):i;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}var n,u,a,s,i=o.elemStore,{showHeaderOverflow:e,minWidth:o}=t,t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?l:e,l="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t;let c=_xeUtils.default.floor(1.6*(_xeUtils.default.toNumber(getComputedStyle(r).fontSize)||14))+(getPaddingLeftRightSize(r)+getPaddingLeftRightSize(queryCellElement(r,"")));if(l&&(e=getPaddingLeftRightSize(queryCellElement(r,">.vxe-cell--drag-handle")),t=getPaddingLeftRightSize(queryCellElement(r,">.vxe-cell--checkbox")),l=getElementMarginWidth(queryCellElement(r,">.vxe-cell--required-icon")),n=getElementMarginWidth(queryCellElement(r,">.vxe-cell--edit-icon")),u=getElementMarginWidth(queryCellElement(r,">.vxe-cell-title-prefix-icon")),a=getElementMarginWidth(queryCellElement(r,">.vxe-cell-title-suffix-icon")),s=getElementMarginWidth(queryCellElement(r,">.vxe-cell--sort")),r=getElementMarginWidth(queryCellElement(r,">.vxe-cell--filter")),c+=e+t+l+n+u+a+r+s),o){e=getRefElem(i["main-body-scroll"]);if(e){if((0,_dom.isScale)(o))return t=(e.clientWidth-1)/100,Math.max(c,Math.floor(_xeUtils.default.toInteger(o)*t));if((0,_dom.isPx)(o))return Math.max(c,_xeUtils.default.toInteger(o))}}return c}exports.convertHeaderColumnToRows=convertHeaderColumnToRows;let lineOffsetSizes={mini:3,small:2,medium:1};function countTreeExpand(e,l){let t=1;if(e){var r=l.$table,o=r.computeTreeOpts,{transform:i,mapChildrenField:n}=o,o=o.children||o.childrenField,u=e[i?n:o];if(u&&r.isTreeExpandByRow(e))for(let e=0;e<u.length;e++)t+=countTreeExpand(u[e],l)}return t}function getOffsetSize(e){e=e.computeSize;return e&&lineOffsetSizes[e]||0}function calcTreeLine(e,l){var{$table:t,row:r}=e,o=t.showOverflow,i=t.scrollYLoad,n=t.fullAllDataRowIdData,u=t.computeRowOpts,a=t.computeCellOpts,s=t.computeDefaultRowHeight,n=n[getRowid(t,r)],r=n.resizeHeight||a.height||u.height||s;let c=1,d=(l&&(c=countTreeExpand(l,e)),r);return(d=i&&!o?n.height||r:d)*c-(l?1:12-getOffsetSize(t))}function mergeBodyMethod(l,t,r){for(let e=0;e<l.length;e++){var{row:o,col:i,rowspan:n,colspan:u}=l[e];if(-1<i&&-1<o&&n&&u){if(o===t&&i===r)return{rowspan:n,colspan:u};if(o<=t&&t<o+n&&i<=r&&r<i+u)return{rowspan:0,colspan:0}}}}function getCellValue(e,l){return _xeUtils.default.get(e,l.field)}function setCellValue(e,l,t){return _xeUtils.default.set(e,l.field,t)}function getRefElem(e){return e?e.$el||e:null}function clearTableDefaultStatus(e){return e.initStatus=!1,e.clearSort(),e.clearCurrentRow(),e.clearCurrentColumn(),e.clearRadioRow(),e.clearRadioReserve(),e.clearCheckboxRow(),e.clearCheckboxReserve(),e.clearRowExpand(),e.clearTreeExpand(),e.clearTreeExpandReserve(),e.clearEdit&&e.clearEdit(),e.clearSelected&&(e.keyboardConfig||e.mouseConfig)&&e.clearSelected(),e.clearCellAreas&&e.mouseConfig&&(e.clearCellAreas(),e.clearCopyCellArea()),e.clearScroll()}function clearTableAllStatus(e){return e.clearFilter&&e.clearFilter(),clearTableDefaultStatus(e)}function isColumnInfo(e){return e instanceof _columnInfo.ColumnInfo}function createColumn(e,l,t){return isColumnInfo(l)?l:new _columnInfo.ColumnInfo(e,l,t)}function rowToVisible(t,r){var e=t.showOverflow,l=t.scrollYLoad,{elemStore:o,afterFullData:i,fullAllDataRowIdData:n,isResizeCellHeight:u}=t,a=t.computeRowOpts,s=t.computeCellOpts,c=t.computeDefaultRowHeight,d=t.computeLeftFixedWidth,f=t.computeRightFixedWidth,o=getRefElem(o["main-body-scroll"]),m=getRowid(t,r);if(o){var g=o.clientHeight,h=o.scrollTop,o=o.querySelector(`[rowid="${m}"]`);if(o){var p=o.offsetParent,p=o.offsetTop+(p?p.offsetTop:0),o=o.clientHeight;if(p<h||h+g<p)return t.scrollTo(null,p);if(g+h<=p+o)return t.scrollTo(null,h+o)}else if(l){if(!(u||s.height||a.height)&&e)return t.scrollTo(null,(t.findRowIndexOf(i,r)-1)*c);let l=0;p=n[m],o=p&&(p.resizeHeight||s.height||a.height)||c;for(let e=0;e<i.length;e++){var x=i[e],C=getRowid(t,x);if(x===r||C===m)break;x=n[C];l+=x&&(x.resizeHeight||s.height||a.height)||c}return l<h?t.scrollTo(null,l-d-1):t.scrollTo(null,l+o-(g-f-1))}}return Promise.resolve()}function colToVisible(t,r,l){var o=t.scrollXLoad,{elemStore:i,visibleColumn:n}=t,u=t.computeLeftFixedWidth,a=t.computeRightFixedWidth,i=getRefElem(i["main-body-scroll"]);if(!r.fixed&&i){var s=i.clientWidth,c=i.scrollLeft;let e=null;if(l&&(l=getRowid(t,l),e=i.querySelector(`[rowid="${l}"] .`+r.id)),e=e||i.querySelector("."+r.id)){l=e.offsetParent,i=e.offsetLeft+(l?l.offsetLeft:0),l=e.clientWidth;if(i<c+u)return t.scrollTo(i-u-1);if(s-a<i+l-c)return t.scrollTo(i+l-(s-a-1))}else if(o){let l=0;i=r.renderWidth;for(let e=0;e<n.length;e++){var d=n[e];if(d===r||d.id===r.id)break;l+=d.renderWidth}return l<c?t.scrollTo(l-u-1):t.scrollTo(l+i-(s-a-1))}}return Promise.resolve()}
|