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.
Files changed (39) hide show
  1. package/es/index.css +1 -1
  2. package/es/index.min.css +1 -1
  3. package/es/style.css +1 -1
  4. package/es/style.min.css +1 -1
  5. package/es/table/module/filter/mixin.js +1 -0
  6. package/es/table/src/methods.js +98 -53
  7. package/es/table/style.css +6 -0
  8. package/es/table/style.min.css +1 -1
  9. package/es/ui/index.js +1 -1
  10. package/es/ui/src/log.js +1 -1
  11. package/es/vxe-table/style.css +6 -0
  12. package/es/vxe-table/style.min.css +1 -1
  13. package/lib/index.css +1 -1
  14. package/lib/index.min.css +1 -1
  15. package/lib/index.umd.js +112 -61
  16. package/lib/index.umd.min.js +1 -1
  17. package/lib/style.css +1 -1
  18. package/lib/style.min.css +1 -1
  19. package/lib/table/module/filter/mixin.js +1 -0
  20. package/lib/table/src/methods.js +109 -59
  21. package/lib/table/src/methods.min.js +1 -1
  22. package/lib/table/style/style.css +6 -0
  23. package/lib/table/style/style.min.css +1 -1
  24. package/lib/ui/index.js +1 -1
  25. package/lib/ui/index.min.js +1 -1
  26. package/lib/ui/src/log.js +1 -1
  27. package/lib/ui/src/log.min.js +1 -1
  28. package/lib/vxe-table/style/style.css +6 -0
  29. package/lib/vxe-table/style/style.min.css +1 -1
  30. package/package.json +1 -1
  31. package/packages/table/module/filter/mixin.ts +1 -0
  32. package/packages/table/src/methods.ts +103 -54
  33. package/styles/components/table.scss +14 -0
  34. /package/es/{iconfont.1747176212818.ttf → iconfont.1747286367921.ttf} +0 -0
  35. /package/es/{iconfont.1747176212818.woff → iconfont.1747286367921.woff} +0 -0
  36. /package/es/{iconfont.1747176212818.woff2 → iconfont.1747286367921.woff2} +0 -0
  37. /package/lib/{iconfont.1747176212818.ttf → iconfont.1747286367921.ttf} +0 -0
  38. /package/lib/{iconfont.1747176212818.woff → iconfont.1747286367921.woff} +0 -0
  39. /package/lib/{iconfont.1747176212818.woff2 → iconfont.1747286367921.woff2} +0 -0
@@ -37,8 +37,11 @@ function eqCellValue(row1, row2, field) {
37
37
  }
38
38
  return _xeUtils.default.isEqual(val1, val2);
39
39
  }
40
- function getNextSortOrder(_vm, column) {
41
- const orders = _vm.sortOpts.orders;
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 clearAllSort(_vm) {
2399
- _vm.tableFullColumn.forEach(column => {
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
- calcCellHeight($xeTable);
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
- calcCellHeight($xeTable);
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
- handleTooltip($xeTable, evnt, tdEl, ovEl || ctEl, tdEl.querySelector('.vxe-cell--label') || tdEl.querySelector('.vxe-cell--wrapper'), params);
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
- handleTooltip($xeTable, evnt, tdEl, tdEl.querySelector('.vxe-cell--wrapper'), tdEl.querySelector('.vxe-cell--label') || tdEl.querySelector('.vxe-cell--wrapper'), params);
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
- const sortOpts = $xeTable.computeSortOpts;
9675
- const {
9676
- multiple,
9677
- remote,
9678
- orders
9679
- } = sortOpts;
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 事件