vxe-table 3.13.7 → 3.13.9

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 (57) hide show
  1. package/es/grid/src/grid.js +29 -21
  2. package/es/index.css +1 -1
  3. package/es/index.min.css +1 -1
  4. package/es/locale/lang/ja-JP.js +2 -2
  5. package/es/style.css +1 -1
  6. package/es/style.min.css +1 -1
  7. package/es/table/module/edit/mixin.js +7 -5
  8. package/es/table/module/filter/panel.js +18 -9
  9. package/es/table/src/methods.js +29 -22
  10. package/es/table/src/table.js +2 -0
  11. package/es/table/style.css +0 -17
  12. package/es/table/style.min.css +1 -1
  13. package/es/ui/index.js +1 -1
  14. package/es/ui/src/log.js +1 -1
  15. package/es/vxe-table/style.css +0 -17
  16. package/es/vxe-table/style.min.css +1 -1
  17. package/lib/grid/src/grid.js +29 -21
  18. package/lib/grid/src/grid.min.js +1 -1
  19. package/lib/index.css +1 -1
  20. package/lib/index.min.css +1 -1
  21. package/lib/index.umd.js +91 -73
  22. package/lib/index.umd.min.js +1 -1
  23. package/lib/locale/lang/ja-JP.js +2 -2
  24. package/lib/locale/lang/ja-JP.min.js +1 -1
  25. package/lib/locale/lang/ja-JP.umd.js +2 -2
  26. package/lib/style.css +1 -1
  27. package/lib/style.min.css +1 -1
  28. package/lib/table/module/edit/mixin.js +7 -5
  29. package/lib/table/module/edit/mixin.min.js +1 -1
  30. package/lib/table/module/filter/panel.js +20 -20
  31. package/lib/table/module/filter/panel.min.js +1 -1
  32. package/lib/table/src/methods.js +31 -25
  33. package/lib/table/src/methods.min.js +1 -1
  34. package/lib/table/src/table.js +2 -0
  35. package/lib/table/src/table.min.js +1 -1
  36. package/lib/table/style/style.css +0 -17
  37. package/lib/table/style/style.min.css +1 -1
  38. package/lib/ui/index.js +1 -1
  39. package/lib/ui/index.min.js +1 -1
  40. package/lib/ui/src/log.js +1 -1
  41. package/lib/ui/src/log.min.js +1 -1
  42. package/lib/vxe-table/style/style.css +0 -17
  43. package/lib/vxe-table/style/style.min.css +1 -1
  44. package/package.json +1 -1
  45. package/packages/grid/src/grid.ts +29 -21
  46. package/packages/locale/lang/ja-JP.ts +2 -2
  47. package/packages/table/module/edit/mixin.ts +7 -5
  48. package/packages/table/module/filter/panel.ts +25 -12
  49. package/packages/table/src/methods.ts +32 -23
  50. package/packages/table/src/table.ts +2 -0
  51. package/styles/components/table.scss +0 -19
  52. /package/es/{iconfont.1740188839037.ttf → iconfont.1740397933178.ttf} +0 -0
  53. /package/es/{iconfont.1740188839037.woff → iconfont.1740397933178.woff} +0 -0
  54. /package/es/{iconfont.1740188839037.woff2 → iconfont.1740397933178.woff2} +0 -0
  55. /package/lib/{iconfont.1740188839037.ttf → iconfont.1740397933178.ttf} +0 -0
  56. /package/lib/{iconfont.1740188839037.woff → iconfont.1740397933178.woff} +0 -0
  57. /package/lib/{iconfont.1740188839037.woff2 → iconfont.1740397933178.woff2} +0 -0
@@ -14,12 +14,15 @@ export default {
14
14
  }
15
15
  },
16
16
  render(h) {
17
+ const $panel = this;
17
18
  const $xeTable = this.$parent;
19
+ const tableInternalData = $xeTable;
18
20
  const { filterStore } = this;
19
- const { args, visible, multiple, column } = filterStore;
21
+ const { visible, multiple, column } = filterStore;
20
22
  const filterRender = column ? column.filterRender : null;
21
23
  const compConf = isEnableConf(filterRender) ? renderer.get(filterRender.name) : null;
22
24
  const filterClassName = compConf ? (compConf.tableFilterClassName || compConf.filterClassName) : '';
25
+ const params = Object.assign({}, tableInternalData._currFilterParams, { $panel, $table: $xeTable });
23
26
  const filterOpts = $xeTable.computeFilterOpts;
24
27
  const { destroyOnClose } = filterOpts;
25
28
  return h('div', {
@@ -27,7 +30,7 @@ export default {
27
30
  'vxe-table--filter-wrapper',
28
31
  'filter--prevent-default',
29
32
  compConf && compConf.className ? compConf.className : '',
30
- getClass(filterClassName, Object.assign({ $panel: this, $table: $xeTable }, args)),
33
+ getClass(filterClassName, params),
31
34
  {
32
35
  'is--animat': $xeTable.animat,
33
36
  'is--multiple': multiple,
@@ -39,22 +42,27 @@ export default {
39
42
  },
40
43
  methods: {
41
44
  renderOptions(h, filterRender, compConf) {
42
- const { $parent: $xetable, filterStore } = this;
43
- const { args, column, multiple, maxHeight } = filterStore;
45
+ const $panel = this;
46
+ const $xeTable = this.$parent;
47
+ const tableInternalData = $xeTable;
48
+ const { filterStore } = this;
49
+ const { column, multiple, maxHeight } = filterStore;
44
50
  const slots = column ? column.slots : null;
51
+ const filterSlot = slots ? slots.filter : null;
52
+ const params = Object.assign({}, tableInternalData._currFilterParams, { $panel, $table: $xeTable });
45
53
  const rtFilter = compConf ? (compConf.renderTableFilter || compConf.renderFilter) : null;
46
- if (slots && slots.filter) {
54
+ if (filterSlot) {
47
55
  return [
48
56
  h('div', {
49
57
  class: 'vxe-table--filter-template'
50
- }, $xetable.callSlot(slots.filter, Object.assign({ $panel: this, context: this }, args), h))
58
+ }, $xeTable.callSlot(filterSlot, params, h))
51
59
  ];
52
60
  }
53
61
  else if (rtFilter) {
54
62
  return [
55
63
  h('div', {
56
64
  class: 'vxe-table--filter-template'
57
- }, getSlotVNs(rtFilter.call($xetable, h, filterRender, Object.assign({ $panel: this, context: this }, args))))
65
+ }, getSlotVNs(rtFilter.call($xeTable, h, filterRender, params)))
58
66
  ];
59
67
  }
60
68
  const isAllChecked = multiple ? filterStore.isAllSelected : !filterStore.options.some((item) => item._checked);
@@ -125,9 +133,10 @@ export default {
125
133
  ];
126
134
  },
127
135
  renderFooter(h) {
128
- const { $parent: $xetable, hasCheckOption, filterStore } = this;
129
- const { filterOpts } = $xetable;
136
+ const $xeTable = this.$parent;
137
+ const { hasCheckOption, filterStore } = this;
130
138
  const { column, multiple } = filterStore;
139
+ const filterOpts = $xeTable.computeFilterOpts;
131
140
  const filterRender = column.filterRender;
132
141
  const compConf = isEnableConf(filterRender) ? renderer.get(filterRender.name) : null;
133
142
  const isDisabled = !hasCheckOption && !filterStore.isAllSelected && !filterStore.isIndeterminate;
@@ -191,7 +191,7 @@ function cacheColumnMap($xeTable) {
191
191
  let hasFixed;
192
192
  const handleFunc = (column, index, items, path, parentColumn) => {
193
193
  const { id: colid, field, fixed, type, treeNode } = column;
194
- const rest = { $index: -1, _index: -1, column, colid, index, items, parent: parentColumn || null, width: 0 };
194
+ const rest = { $index: -1, _index: -1, column, colid, index, items, parent: parentColumn || null, width: 0, oLeft: 0 };
195
195
  if (field) {
196
196
  if (fullColumnFieldData[field]) {
197
197
  errLog('vxe.error.colRepet', ['field', field]);
@@ -1567,6 +1567,20 @@ function handleScrollToRowColumn($xeTable, fieldOrColumn, row) {
1567
1567
  }
1568
1568
  return $xeTable.$nextTick();
1569
1569
  }
1570
+ const handleRowExpandReserve = ($xeTable, row, expanded) => {
1571
+ const internalData = $xeTable;
1572
+ const { rowExpandedReserveRowMap } = internalData;
1573
+ const expandOpts = $xeTable.computeExpandOpts;
1574
+ if (expandOpts.reserve) {
1575
+ const rowid = getRowid($xeTable, row);
1576
+ if (expanded) {
1577
+ rowExpandedReserveRowMap[rowid] = row;
1578
+ }
1579
+ else if (rowExpandedReserveRowMap[rowid]) {
1580
+ delete rowExpandedReserveRowMap[rowid];
1581
+ }
1582
+ }
1583
+ };
1570
1584
  // 计算可视渲染相关数据
1571
1585
  function computeScrollLoad($xeTable) {
1572
1586
  const reactData = $xeTable;
@@ -5950,7 +5964,7 @@ const Methods = {
5950
5964
  const rowid = getRowid(this, row);
5951
5965
  this.clearHoverRow();
5952
5966
  if ($el) {
5953
- XEUtils.arrayEach($el.querySelectorAll(`[rowid="${rowid}"]`), elem => addClass(elem, 'row--hover'));
5967
+ XEUtils.arrayEach($el.querySelectorAll(`.vxe-body--row[rowid="${rowid}"]`), elem => addClass(elem, 'row--hover'));
5954
5968
  }
5955
5969
  this.hoverRow = row;
5956
5970
  },
@@ -7382,7 +7396,7 @@ const Methods = {
7382
7396
  });
7383
7397
  }
7384
7398
  if (reserve) {
7385
- validRows.forEach((row) => this.handleRowExpandReserve(row, expanded));
7399
+ validRows.forEach((row) => handleRowExpandReserve($xeTable, row, expanded));
7386
7400
  }
7387
7401
  }
7388
7402
  this.rowExpandedMaps = rExpandedMaps;
@@ -7417,35 +7431,28 @@ const Methods = {
7417
7431
  */
7418
7432
  clearRowExpand() {
7419
7433
  const $xeTable = this;
7420
- const { expandOpts, tableFullData } = this;
7434
+ const reactData = $xeTable;
7435
+ const internalData = $xeTable;
7436
+ const { tableFullData } = internalData;
7437
+ const expandOpts = $xeTable.computeExpandOpts;
7421
7438
  const { reserve } = expandOpts;
7422
- const expList = this.getRowExpandRecords();
7423
- this.rowExpandedMaps = {};
7439
+ const expList = $xeTable.getRowExpandRecords();
7440
+ reactData.rowExpandedMaps = {};
7424
7441
  if (reserve) {
7425
- tableFullData.forEach((row) => this.handleRowExpandReserve(row, false));
7442
+ tableFullData.forEach((row) => handleRowExpandReserve($xeTable, row, false));
7426
7443
  }
7427
- return this.$nextTick().then(() => {
7444
+ return $xeTable.$nextTick().then(() => {
7428
7445
  if (expList.length) {
7429
- this.recalculate();
7446
+ return $xeTable.recalculate();
7430
7447
  }
7431
- }).then(() => $xeTable.updateCellAreas());
7448
+ }).then(() => {
7449
+ return $xeTable.updateCellAreas();
7450
+ });
7432
7451
  },
7433
7452
  clearRowExpandReserve() {
7434
7453
  this.rowExpandedReserveRowMap = {};
7435
7454
  return this.$nextTick();
7436
7455
  },
7437
- handleRowExpandReserve(row, expanded) {
7438
- const { rowExpandedReserveRowMap, expandOpts } = this;
7439
- if (expandOpts.reserve) {
7440
- const rowid = getRowid(this, row);
7441
- if (expanded) {
7442
- rowExpandedReserveRowMap[rowid] = row;
7443
- }
7444
- else if (rowExpandedReserveRowMap[rowid]) {
7445
- delete rowExpandedReserveRowMap[rowid];
7446
- }
7447
- }
7448
- },
7449
7456
  getRowExpandRecords() {
7450
7457
  const rest = [];
7451
7458
  XEUtils.each(this.rowExpandedMaps, item => {
@@ -630,6 +630,8 @@ export default {
630
630
  mini: 36
631
631
  },
632
632
  scrollVMLoading: false,
633
+ scrollYHeight: 0,
634
+ scrollXWidth: 0,
633
635
  rowExpandHeightFlag: 1,
634
636
  calcCellHeightFlag: 1,
635
637
  resizeHeightFlag: 1,
@@ -2211,15 +2211,6 @@
2211
2211
  .vxe-table .vxe-table--header-wrapper {
2212
2212
  color: var(--vxe-ui-table-header-font-color);
2213
2213
  }
2214
- .vxe-table .vxe-table--header-wrapper::after {
2215
- content: "";
2216
- position: absolute;
2217
- left: 0;
2218
- bottom: 0;
2219
- height: 0;
2220
- width: 100%;
2221
- border-bottom: var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color);
2222
- }
2223
2214
  .vxe-table .vxe-cell--sort {
2224
2215
  text-align: center;
2225
2216
  position: relative;
@@ -2467,11 +2458,6 @@
2467
2458
  .vxe-table--render-default.column--highlight .vxe-header--column:not(.col--seq):hover {
2468
2459
  background-color: var(--vxe-ui-table-column-hover-background-color);
2469
2460
  }
2470
- .vxe-table--render-default.header-cell--area .vxe-table--header-wrapper {
2471
- -webkit-user-select: none;
2472
- -moz-user-select: none;
2473
- user-select: none;
2474
- }
2475
2461
  .vxe-table--render-default.body-cell--area .vxe-table--body-wrapper {
2476
2462
  -webkit-user-select: none;
2477
2463
  -moz-user-select: none;
@@ -2654,9 +2640,6 @@
2654
2640
  .vxe-table--render-default.border--none .vxe-table--border-line {
2655
2641
  display: none;
2656
2642
  }
2657
- .vxe-table--render-default.border--none .vxe-table--header-wrapper::after {
2658
- display: none;
2659
- }
2660
2643
  .vxe-table--render-default.size--medium {
2661
2644
  font-size: var(--vxe-ui-font-size-medium);
2662
2645
  }