vxe-table 3.15.28 → 3.15.29
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/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/filter/mixin.js +1 -0
- package/es/table/src/methods.js +98 -53
- package/es/table/style.css +6 -0
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +6 -0
- 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 +112 -61
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/filter/mixin.js +1 -0
- package/lib/table/src/methods.js +109 -59
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/style/style.css +6 -0
- package/lib/table/style/style.min.css +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/lib/vxe-table/style/style.css +6 -0
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/table/module/filter/mixin.ts +1 -0
- package/packages/table/src/methods.ts +103 -54
- package/styles/components/table.scss +14 -0
- /package/es/{iconfont.1747176212818.ttf → iconfont.1747286367921.ttf} +0 -0
- /package/es/{iconfont.1747176212818.woff → iconfont.1747286367921.woff} +0 -0
- /package/es/{iconfont.1747176212818.woff2 → iconfont.1747286367921.woff2} +0 -0
- /package/lib/{iconfont.1747176212818.ttf → iconfont.1747286367921.ttf} +0 -0
- /package/lib/{iconfont.1747176212818.woff → iconfont.1747286367921.woff} +0 -0
- /package/lib/{iconfont.1747176212818.woff2 → iconfont.1747286367921.woff2} +0 -0
package/lib/table/src/methods.js
CHANGED
|
@@ -37,8 +37,11 @@ function eqCellValue(row1, row2, field) {
|
|
|
37
37
|
}
|
|
38
38
|
return _xeUtils.default.isEqual(val1, val2);
|
|
39
39
|
}
|
|
40
|
-
function getNextSortOrder(
|
|
41
|
-
const
|
|
40
|
+
function getNextSortOrder($xeTable, column) {
|
|
41
|
+
const sortOpts = $xeTable.computeSortOpts;
|
|
42
|
+
const {
|
|
43
|
+
orders = []
|
|
44
|
+
} = sortOpts;
|
|
42
45
|
const currOrder = column.order || null;
|
|
43
46
|
const oIndex = orders.indexOf(currOrder) + 1;
|
|
44
47
|
return orders[oIndex < orders.length ? oIndex : 0];
|
|
@@ -2395,8 +2398,66 @@ function removeFooterMerges($xeTable, merges) {
|
|
|
2395
2398
|
}
|
|
2396
2399
|
return rest;
|
|
2397
2400
|
}
|
|
2398
|
-
function
|
|
2399
|
-
|
|
2401
|
+
function handleSortEvent($xeTable, evnt, sortConfs, isUpdate) {
|
|
2402
|
+
const sortOpts = $xeTable.computeSortOpts;
|
|
2403
|
+
const {
|
|
2404
|
+
multiple,
|
|
2405
|
+
remote,
|
|
2406
|
+
orders
|
|
2407
|
+
} = sortOpts;
|
|
2408
|
+
if (!_xeUtils.default.isArray(sortConfs)) {
|
|
2409
|
+
sortConfs = [sortConfs];
|
|
2410
|
+
}
|
|
2411
|
+
if (sortConfs && sortConfs.length) {
|
|
2412
|
+
if (!multiple) {
|
|
2413
|
+
sortConfs = [sortConfs[0]];
|
|
2414
|
+
clearAllSort($xeTable);
|
|
2415
|
+
}
|
|
2416
|
+
let firstColumn = null;
|
|
2417
|
+
sortConfs.forEach((confs, index) => {
|
|
2418
|
+
let {
|
|
2419
|
+
field,
|
|
2420
|
+
order
|
|
2421
|
+
} = confs;
|
|
2422
|
+
let column = field;
|
|
2423
|
+
if (_xeUtils.default.isString(field)) {
|
|
2424
|
+
column = $xeTable.getColumnByField(field);
|
|
2425
|
+
}
|
|
2426
|
+
if (!firstColumn) {
|
|
2427
|
+
firstColumn = column;
|
|
2428
|
+
}
|
|
2429
|
+
if (column && column.sortable) {
|
|
2430
|
+
if (orders && orders.indexOf(order) === -1) {
|
|
2431
|
+
order = getNextSortOrder($xeTable, column);
|
|
2432
|
+
}
|
|
2433
|
+
if (column.order !== order) {
|
|
2434
|
+
column.order = order;
|
|
2435
|
+
}
|
|
2436
|
+
column.sortTime = Date.now() + index;
|
|
2437
|
+
}
|
|
2438
|
+
});
|
|
2439
|
+
if (isUpdate) {
|
|
2440
|
+
if (!remote) {
|
|
2441
|
+
$xeTable.handleTableData(true);
|
|
2442
|
+
}
|
|
2443
|
+
}
|
|
2444
|
+
if (evnt) {
|
|
2445
|
+
$xeTable.handleColumnSortEvent(evnt, firstColumn);
|
|
2446
|
+
}
|
|
2447
|
+
return $xeTable.$nextTick().then(() => {
|
|
2448
|
+
updateRowOffsetTop($xeTable);
|
|
2449
|
+
$xeTable.updateCellAreas();
|
|
2450
|
+
return updateStyle($xeTable);
|
|
2451
|
+
});
|
|
2452
|
+
}
|
|
2453
|
+
return $xeTable.$nextTick();
|
|
2454
|
+
}
|
|
2455
|
+
function clearAllSort($xeTable) {
|
|
2456
|
+
const internalData = $xeTable;
|
|
2457
|
+
const {
|
|
2458
|
+
tableFullColumn
|
|
2459
|
+
} = internalData;
|
|
2460
|
+
tableFullColumn.forEach(column => {
|
|
2400
2461
|
column.order = null;
|
|
2401
2462
|
});
|
|
2402
2463
|
}
|
|
@@ -3761,7 +3822,8 @@ function checkLastSyncScroll($xeTable, isRollX, isRollY) {
|
|
|
3761
3822
|
const internalData = $xeTable;
|
|
3762
3823
|
const {
|
|
3763
3824
|
scrollXLoad,
|
|
3764
|
-
scrollYLoad
|
|
3825
|
+
scrollYLoad,
|
|
3826
|
+
isAllOverflow
|
|
3765
3827
|
} = reactData;
|
|
3766
3828
|
const {
|
|
3767
3829
|
lcsTimeout
|
|
@@ -3779,13 +3841,19 @@ function checkLastSyncScroll($xeTable, isRollX, isRollY) {
|
|
|
3779
3841
|
internalData.inBodyScroll = false;
|
|
3780
3842
|
internalData.inFooterScroll = false;
|
|
3781
3843
|
internalData.scrollRenderType = '';
|
|
3782
|
-
|
|
3844
|
+
if (!isAllOverflow) {
|
|
3845
|
+
calcCellHeight($xeTable);
|
|
3846
|
+
updateRowOffsetTop($xeTable);
|
|
3847
|
+
}
|
|
3783
3848
|
if (isRollX && scrollXLoad) {
|
|
3784
3849
|
$xeTable.updateScrollXData();
|
|
3785
3850
|
}
|
|
3786
3851
|
if (isRollY && scrollYLoad) {
|
|
3787
3852
|
$xeTable.updateScrollYData().then(() => {
|
|
3788
|
-
|
|
3853
|
+
if (!isAllOverflow) {
|
|
3854
|
+
calcCellHeight($xeTable);
|
|
3855
|
+
updateRowOffsetTop($xeTable);
|
|
3856
|
+
}
|
|
3789
3857
|
$xeTable.updateScrollYSpace();
|
|
3790
3858
|
});
|
|
3791
3859
|
}
|
|
@@ -5436,6 +5504,7 @@ const Methods = {
|
|
|
5436
5504
|
}
|
|
5437
5505
|
_xeUtils.default.eachTree([targetColumn], column => {
|
|
5438
5506
|
column.fixed = fixed;
|
|
5507
|
+
column.renderFixed = fixed;
|
|
5439
5508
|
});
|
|
5440
5509
|
$xeTable.saveCustomStore('update:fixed');
|
|
5441
5510
|
if (!status) {
|
|
@@ -5461,6 +5530,7 @@ const Methods = {
|
|
|
5461
5530
|
if (targetColumn && targetColumn.fixed) {
|
|
5462
5531
|
_xeUtils.default.eachTree([targetColumn], column => {
|
|
5463
5532
|
column.fixed = null;
|
|
5533
|
+
column.renderFixed = null;
|
|
5464
5534
|
});
|
|
5465
5535
|
$xeTable.saveCustomStore('update:fixed');
|
|
5466
5536
|
if (!status) {
|
|
@@ -7238,10 +7308,14 @@ const Methods = {
|
|
|
7238
7308
|
if (tooltipStore.column !== column || tooltipStore.row !== row || !tooltipStore.visible) {
|
|
7239
7309
|
const ctEl = tdEl.querySelector('.vxe-cell--wrapper');
|
|
7240
7310
|
let ovEl = null;
|
|
7311
|
+
let tipEl = tdEl.querySelector(column.type === 'html' ? '.vxe-cell--html' : '.vxe-cell--label');
|
|
7241
7312
|
if (column.treeNode) {
|
|
7242
7313
|
ovEl = tdEl.querySelector('.vxe-tree-cell');
|
|
7243
7314
|
}
|
|
7244
|
-
|
|
7315
|
+
if (!tipEl) {
|
|
7316
|
+
tipEl = ctEl;
|
|
7317
|
+
}
|
|
7318
|
+
handleTooltip($xeTable, evnt, tdEl, ovEl || ctEl, tipEl, params);
|
|
7245
7319
|
}
|
|
7246
7320
|
},
|
|
7247
7321
|
/**
|
|
@@ -7259,7 +7333,16 @@ const Methods = {
|
|
|
7259
7333
|
const tdEl = evnt.currentTarget;
|
|
7260
7334
|
handleTargetEnterEvent($xeTable, tooltipStore.column !== column || !!tooltipStore.row);
|
|
7261
7335
|
if (tooltipStore.column !== column || !tooltipStore.visible) {
|
|
7262
|
-
|
|
7336
|
+
const ctEl = tdEl.querySelector('.vxe-cell--wrapper');
|
|
7337
|
+
let ovEl = null;
|
|
7338
|
+
let tipEl = tdEl.querySelector(column.type === 'html' ? '.vxe-cell--html' : '.vxe-cell--label');
|
|
7339
|
+
if (column.type === 'html') {
|
|
7340
|
+
ovEl = tdEl.querySelector('.vxe-cell--html');
|
|
7341
|
+
}
|
|
7342
|
+
if (!tipEl) {
|
|
7343
|
+
tipEl = ctEl;
|
|
7344
|
+
}
|
|
7345
|
+
handleTooltip($xeTable, evnt, tdEl, ovEl || ctEl, tipEl, params);
|
|
7263
7346
|
}
|
|
7264
7347
|
},
|
|
7265
7348
|
openTooltip(target, content) {
|
|
@@ -9671,56 +9754,12 @@ const Methods = {
|
|
|
9671
9754
|
},
|
|
9672
9755
|
setSort(sortConfs, isUpdate) {
|
|
9673
9756
|
const $xeTable = this;
|
|
9674
|
-
|
|
9675
|
-
|
|
9676
|
-
|
|
9677
|
-
|
|
9678
|
-
|
|
9679
|
-
|
|
9680
|
-
if (!_xeUtils.default.isArray(sortConfs)) {
|
|
9681
|
-
sortConfs = [sortConfs];
|
|
9682
|
-
}
|
|
9683
|
-
if (sortConfs && sortConfs.length) {
|
|
9684
|
-
if (!multiple) {
|
|
9685
|
-
sortConfs = [sortConfs[0]];
|
|
9686
|
-
clearAllSort($xeTable);
|
|
9687
|
-
}
|
|
9688
|
-
let firstColumn = null;
|
|
9689
|
-
sortConfs.forEach((confs, index) => {
|
|
9690
|
-
let {
|
|
9691
|
-
field,
|
|
9692
|
-
order
|
|
9693
|
-
} = confs;
|
|
9694
|
-
let column = field;
|
|
9695
|
-
if (_xeUtils.default.isString(field)) {
|
|
9696
|
-
column = $xeTable.getColumnByField(field);
|
|
9697
|
-
}
|
|
9698
|
-
if (!firstColumn) {
|
|
9699
|
-
firstColumn = column;
|
|
9700
|
-
}
|
|
9701
|
-
if (column && column.sortable) {
|
|
9702
|
-
if (orders && orders.indexOf(order) === -1) {
|
|
9703
|
-
order = getNextSortOrder($xeTable, column);
|
|
9704
|
-
}
|
|
9705
|
-
if (column.order !== order) {
|
|
9706
|
-
column.order = order;
|
|
9707
|
-
}
|
|
9708
|
-
column.sortTime = Date.now() + index;
|
|
9709
|
-
}
|
|
9710
|
-
});
|
|
9711
|
-
if (isUpdate) {
|
|
9712
|
-
if (!remote) {
|
|
9713
|
-
$xeTable.handleTableData(true);
|
|
9714
|
-
}
|
|
9715
|
-
$xeTable.handleColumnSortEvent(new Event('click'), firstColumn);
|
|
9716
|
-
}
|
|
9717
|
-
return $xeTable.$nextTick().then(() => {
|
|
9718
|
-
updateRowOffsetTop($xeTable);
|
|
9719
|
-
$xeTable.updateCellAreas();
|
|
9720
|
-
return updateStyle($xeTable);
|
|
9721
|
-
});
|
|
9722
|
-
}
|
|
9723
|
-
return $xeTable.$nextTick();
|
|
9757
|
+
// 已废弃,即将去掉事件触发 new Event('click') -> null
|
|
9758
|
+
return handleSortEvent($xeTable, new Event('click'), sortConfs, isUpdate);
|
|
9759
|
+
},
|
|
9760
|
+
setSortByEvent(evnt, sortConfs, isUpdate) {
|
|
9761
|
+
const $xeTable = this;
|
|
9762
|
+
return handleSortEvent($xeTable, evnt, sortConfs, isUpdate);
|
|
9724
9763
|
},
|
|
9725
9764
|
/**
|
|
9726
9765
|
* 清空指定列的排序条件
|
|
@@ -9829,6 +9868,17 @@ const Methods = {
|
|
|
9829
9868
|
}
|
|
9830
9869
|
return sortList;
|
|
9831
9870
|
},
|
|
9871
|
+
setFilterByEvent(evnt, fieldOrColumn, options, isUpdate) {
|
|
9872
|
+
const $xeTable = this;
|
|
9873
|
+
const column = (0, _util.handleFieldOrColumn)($xeTable, fieldOrColumn);
|
|
9874
|
+
if (column && column.filters) {
|
|
9875
|
+
column.filters = (0, _util.toFilters)(options || []);
|
|
9876
|
+
if (isUpdate) {
|
|
9877
|
+
return $xeTable.handleColumnConfirmFilter(column, evnt);
|
|
9878
|
+
}
|
|
9879
|
+
}
|
|
9880
|
+
return $xeTable.$nextTick();
|
|
9881
|
+
},
|
|
9832
9882
|
/**
|
|
9833
9883
|
* 关闭筛选
|
|
9834
9884
|
* @param {Event} evnt 事件
|