vxe-table 4.11.6 → 4.11.8

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 (137) hide show
  1. package/es/index.css +1 -1
  2. package/es/index.min.css +1 -1
  3. package/es/locale/lang/ar-EG.js +4 -2
  4. package/es/locale/lang/de-DE.js +4 -2
  5. package/es/locale/lang/en-US.js +4 -2
  6. package/es/locale/lang/es-ES.js +4 -2
  7. package/es/locale/lang/fr-FR.js +4 -2
  8. package/es/locale/lang/hu-HU.js +4 -2
  9. package/es/locale/lang/hy-AM.js +4 -2
  10. package/es/locale/lang/id-ID.js +4 -2
  11. package/es/locale/lang/it-IT.js +4 -2
  12. package/es/locale/lang/ja-JP.js +4 -2
  13. package/es/locale/lang/ko-KR.js +4 -2
  14. package/es/locale/lang/nb-NO.js +4 -2
  15. package/es/locale/lang/pt-BR.js +4 -2
  16. package/es/locale/lang/ru-RU.js +4 -2
  17. package/es/locale/lang/th-TH.js +4 -2
  18. package/es/locale/lang/ug-CN.js +4 -2
  19. package/es/locale/lang/uk-UA.js +4 -2
  20. package/es/locale/lang/vi-VN.js +4 -2
  21. package/es/locale/lang/zh-CHT.js +4 -2
  22. package/es/locale/lang/zh-CN.js +4 -2
  23. package/es/style.css +1 -1
  24. package/es/style.min.css +1 -1
  25. package/es/table/module/export/export-panel.js +7 -4
  26. package/es/table/module/export/hook.js +3 -3
  27. package/es/table/module/filter/hook.js +16 -18
  28. package/es/table/src/table.js +6 -6
  29. package/es/table/style.css +1 -1
  30. package/es/table/style.min.css +1 -1
  31. package/es/ui/index.js +1 -1
  32. package/es/ui/src/log.js +1 -1
  33. package/es/vxe-table/style.css +1 -1
  34. package/es/vxe-table/style.min.css +1 -1
  35. package/lib/index.css +1 -1
  36. package/lib/index.min.css +1 -1
  37. package/lib/index.umd.js +41 -36
  38. package/lib/index.umd.min.js +1 -1
  39. package/lib/locale/lang/ar-EG.js +4 -2
  40. package/lib/locale/lang/ar-EG.min.js +1 -1
  41. package/lib/locale/lang/de-DE.js +4 -2
  42. package/lib/locale/lang/de-DE.min.js +1 -1
  43. package/lib/locale/lang/en-US.js +4 -2
  44. package/lib/locale/lang/en-US.min.js +1 -1
  45. package/lib/locale/lang/en-US.umd.js +4 -2
  46. package/lib/locale/lang/es-ES.js +4 -2
  47. package/lib/locale/lang/es-ES.min.js +1 -1
  48. package/lib/locale/lang/es-ES.umd.js +4 -2
  49. package/lib/locale/lang/fr-FR.js +4 -2
  50. package/lib/locale/lang/fr-FR.min.js +1 -1
  51. package/lib/locale/lang/hu-HU.js +4 -2
  52. package/lib/locale/lang/hu-HU.min.js +1 -1
  53. package/lib/locale/lang/hu-HU.umd.js +4 -2
  54. package/lib/locale/lang/hy-AM.js +4 -2
  55. package/lib/locale/lang/hy-AM.min.js +1 -1
  56. package/lib/locale/lang/id-ID.js +4 -2
  57. package/lib/locale/lang/id-ID.min.js +1 -1
  58. package/lib/locale/lang/it-IT.js +4 -2
  59. package/lib/locale/lang/it-IT.min.js +1 -1
  60. package/lib/locale/lang/ja-JP.js +4 -2
  61. package/lib/locale/lang/ja-JP.min.js +1 -1
  62. package/lib/locale/lang/ja-JP.umd.js +4 -2
  63. package/lib/locale/lang/ko-KR.js +4 -2
  64. package/lib/locale/lang/ko-KR.min.js +1 -1
  65. package/lib/locale/lang/ko-KR.umd.js +4 -2
  66. package/lib/locale/lang/nb-NO.js +4 -2
  67. package/lib/locale/lang/nb-NO.min.js +1 -1
  68. package/lib/locale/lang/pt-BR.js +4 -2
  69. package/lib/locale/lang/pt-BR.min.js +1 -1
  70. package/lib/locale/lang/pt-BR.umd.js +4 -2
  71. package/lib/locale/lang/ru-RU.js +4 -2
  72. package/lib/locale/lang/ru-RU.min.js +1 -1
  73. package/lib/locale/lang/ru-RU.umd.js +4 -2
  74. package/lib/locale/lang/th-TH.js +4 -2
  75. package/lib/locale/lang/th-TH.min.js +1 -1
  76. package/lib/locale/lang/ug-CN.js +4 -2
  77. package/lib/locale/lang/ug-CN.min.js +1 -1
  78. package/lib/locale/lang/uk-UA.js +4 -2
  79. package/lib/locale/lang/uk-UA.min.js +1 -1
  80. package/lib/locale/lang/uk-UA.umd.js +4 -2
  81. package/lib/locale/lang/vi-VN.js +4 -2
  82. package/lib/locale/lang/vi-VN.min.js +1 -1
  83. package/lib/locale/lang/zh-CHT.js +4 -2
  84. package/lib/locale/lang/zh-CHT.min.js +1 -1
  85. package/lib/locale/lang/zh-CN.js +4 -2
  86. package/lib/locale/lang/zh-CN.min.js +1 -1
  87. package/lib/locale/lang/zh-CN.umd.js +4 -2
  88. package/lib/style.css +1 -1
  89. package/lib/style.min.css +1 -1
  90. package/lib/table/module/export/export-panel.js +7 -4
  91. package/lib/table/module/export/export-panel.min.js +1 -1
  92. package/lib/table/module/export/hook.js +4 -3
  93. package/lib/table/module/export/hook.min.js +1 -1
  94. package/lib/table/module/filter/hook.js +18 -19
  95. package/lib/table/module/filter/hook.min.js +1 -1
  96. package/lib/table/src/table.js +6 -6
  97. package/lib/table/src/table.min.js +1 -1
  98. package/lib/table/style/style.css +1 -1
  99. package/lib/table/style/style.min.css +1 -1
  100. package/lib/ui/index.js +1 -1
  101. package/lib/ui/index.min.js +1 -1
  102. package/lib/ui/src/log.js +1 -1
  103. package/lib/ui/src/log.min.js +1 -1
  104. package/lib/vxe-table/style/style.css +1 -1
  105. package/lib/vxe-table/style/style.min.css +1 -1
  106. package/package.json +2 -2
  107. package/packages/locale/lang/ar-EG.ts +4 -2
  108. package/packages/locale/lang/de-DE.ts +4 -2
  109. package/packages/locale/lang/en-US.ts +4 -2
  110. package/packages/locale/lang/es-ES.ts +4 -2
  111. package/packages/locale/lang/fr-FR.ts +4 -2
  112. package/packages/locale/lang/hu-HU.ts +4 -2
  113. package/packages/locale/lang/hy-AM.ts +4 -2
  114. package/packages/locale/lang/id-ID.ts +4 -2
  115. package/packages/locale/lang/it-IT.ts +4 -2
  116. package/packages/locale/lang/ja-JP.ts +4 -2
  117. package/packages/locale/lang/ko-KR.ts +4 -2
  118. package/packages/locale/lang/nb-NO.ts +4 -2
  119. package/packages/locale/lang/pt-BR.ts +4 -2
  120. package/packages/locale/lang/ru-RU.ts +4 -2
  121. package/packages/locale/lang/th-TH.ts +4 -2
  122. package/packages/locale/lang/ug-CN.ts +4 -2
  123. package/packages/locale/lang/uk-UA.ts +4 -2
  124. package/packages/locale/lang/vi-VN.ts +4 -2
  125. package/packages/locale/lang/zh-CHT.ts +4 -2
  126. package/packages/locale/lang/zh-CN.ts +4 -2
  127. package/packages/table/module/export/export-panel.ts +8 -4
  128. package/packages/table/module/export/hook.ts +3 -3
  129. package/packages/table/module/filter/hook.ts +17 -19
  130. package/packages/table/src/table.ts +6 -6
  131. package/styles/components/table.scss +1 -1
  132. /package/es/{iconfont.1740038200666.ttf → iconfont.1740188851839.ttf} +0 -0
  133. /package/es/{iconfont.1740038200666.woff → iconfont.1740188851839.woff} +0 -0
  134. /package/es/{iconfont.1740038200666.woff2 → iconfont.1740188851839.woff2} +0 -0
  135. /package/lib/{iconfont.1740038200666.ttf → iconfont.1740188851839.ttf} +0 -0
  136. /package/lib/{iconfont.1740038200666.woff → iconfont.1740188851839.woff} +0 -0
  137. /package/lib/{iconfont.1740038200666.woff2 → iconfont.1740188851839.woff2} +0 -0
@@ -971,7 +971,7 @@ hooks.add('tableExportModule', {
971
971
  isMerge: hasMerge,
972
972
  useStyle: true,
973
973
  current: 'current',
974
- modes: ['current', 'selected'].concat(proxyOpts.ajax && proxyOpts.ajax.queryAll ? ['all'] : [])
974
+ modes: (proxyOpts.ajax && proxyOpts.ajax.queryAll ? ['all'] : []).concat(['current', 'selected', 'empty'])
975
975
  }, options);
976
976
  const types = defOpts.types || XEUtils.keys(exportOpts._typeMaps);
977
977
  const modes = defOpts.modes || [];
@@ -1093,7 +1093,7 @@ hooks.add('tableExportModule', {
1093
1093
  isMerge: hasMerge,
1094
1094
  useStyle: true,
1095
1095
  current: 'current',
1096
- modes: ['current', 'selected'].concat(proxyOpts.ajax && proxyOpts.ajax.queryAll ? ['all'] : []),
1096
+ modes: (proxyOpts.ajax && proxyOpts.ajax.queryAll ? ['all'] : []).concat(['current', 'selected', 'empty']),
1097
1097
  download: true,
1098
1098
  type: 'csv'
1099
1099
  // filename: '',
@@ -1309,7 +1309,7 @@ hooks.add('tableExportModule', {
1309
1309
  }
1310
1310
  }
1311
1311
  }
1312
- else if (mode === 'current') {
1312
+ if (mode === 'current') {
1313
1313
  handleOptions.data = afterFullData;
1314
1314
  }
1315
1315
  }
@@ -9,7 +9,7 @@ const tableFilterMethodKeys = ['openFilter', 'setFilter', 'clearFilter', 'saveFi
9
9
  hooks.add('tableFilterModule', {
10
10
  setupTable($xeTable) {
11
11
  const { props, reactData, internalData } = $xeTable;
12
- const { refTableHeader, refTableBody, refTableFilter } = $xeTable.getRefMaps();
12
+ const { refElem, refTableFilter } = $xeTable.getRefMaps();
13
13
  const { computeFilterOpts, computeMouseOpts } = $xeTable.getComputeMaps();
14
14
  // 确认筛选
15
15
  const handleFilterConfirmFilter = (evnt) => {
@@ -61,11 +61,15 @@ hooks.add('tableFilterModule', {
61
61
  */
62
62
  triggerFilterEvent(evnt, column, params) {
63
63
  const { initStore, filterStore } = reactData;
64
+ const { elemStore } = internalData;
64
65
  if (filterStore.column === column && filterStore.visible) {
65
66
  filterStore.visible = false;
66
67
  }
67
68
  else {
68
- const { target: targetElem, pageX } = evnt;
69
+ const { clientY, pageX } = evnt;
70
+ const el = refElem.value;
71
+ const tableRect = el.getBoundingClientRect();
72
+ const targetElem = evnt.target;
69
73
  const { visibleWidth } = getDomNode();
70
74
  const { filters, filterMultiple, filterRender } = column;
71
75
  const compConf = isEnableConf(filterRender) ? renderer.get(filterRender.name) : null;
@@ -91,11 +95,8 @@ hooks.add('tableFilterModule', {
91
95
  filterStore.visible = true;
92
96
  initStore.filter = true;
93
97
  nextTick(() => {
94
- const tableHeader = refTableHeader.value;
95
- const tableBody = refTableBody.value;
96
- const headerElem = tableHeader ? tableHeader.$el : null;
97
- const bodyElem = tableBody.$el;
98
- if (!bodyElem) {
98
+ const headerScrollElem = getRefElem(elemStore['main-header-scroll']);
99
+ if (!headerScrollElem) {
99
100
  return;
100
101
  }
101
102
  const tableFilter = refTableFilter.value;
@@ -104,30 +105,27 @@ hooks.add('tableFilterModule', {
104
105
  return;
105
106
  }
106
107
  const filterWidth = filterWrapperElem.offsetWidth;
107
- const filterHeight = filterWrapperElem.offsetHeight;
108
108
  const filterHeadElem = filterWrapperElem.querySelector('.vxe-table--filter-header');
109
109
  const filterFootElem = filterWrapperElem.querySelector('.vxe-table--filter-footer');
110
110
  const centerWidth = filterWidth / 2;
111
111
  const minMargin = 10;
112
- const maxLeft = bodyElem.clientWidth - filterWidth - minMargin;
112
+ const maxLeft = el.clientWidth - filterWidth - minMargin;
113
113
  let left, right;
114
+ const thEl = targetElem.offsetParent;
115
+ const trEl = thEl.offsetParent;
114
116
  const style = {
115
- top: `${targetElem.offsetTop + targetElem.offsetParent.offsetTop + targetElem.offsetHeight}px`
117
+ top: `${targetElem.offsetTop + thEl.offsetTop + targetElem.offsetHeight}px`
116
118
  };
117
119
  // 判断面板不能大于表格高度
118
- let maxHeight = null;
119
- const bodyHeight = bodyElem.clientHeight - (headerElem ? headerElem.clientHeight / 2 : 0);
120
- if (filterHeight >= bodyHeight) {
121
- maxHeight = Math.max(40, bodyHeight - (filterFootElem ? filterFootElem.offsetHeight : 0) - (filterHeadElem ? filterHeadElem.offsetHeight : 0));
122
- }
120
+ const maxHeight = Math.max(40, el.clientHeight - (clientY - tableRect.y) - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 14);
123
121
  if (column.fixed === 'left') {
124
- left = targetElem.offsetLeft + targetElem.offsetParent.offsetLeft - centerWidth;
122
+ left = targetElem.offsetLeft + thEl.offsetLeft - centerWidth;
125
123
  }
126
124
  else if (column.fixed === 'right') {
127
- right = (targetElem.offsetParent.offsetWidth - targetElem.offsetLeft) + (targetElem.offsetParent.offsetParent.offsetWidth - targetElem.offsetParent.offsetLeft) - column.renderWidth - centerWidth;
125
+ right = (thEl.offsetWidth - targetElem.offsetLeft) + (trEl.offsetWidth - trEl.offsetLeft) - column.renderWidth - centerWidth;
128
126
  }
129
127
  else {
130
- left = targetElem.offsetLeft + targetElem.offsetParent.offsetLeft - centerWidth - bodyElem.scrollLeft;
128
+ left = targetElem.offsetLeft + thEl.offsetLeft - centerWidth - headerScrollElem.scrollLeft;
131
129
  }
132
130
  if (left) {
133
131
  const overflowWidth = (pageX + filterWidth - centerWidth + minMargin) - visibleWidth;
@@ -2305,7 +2305,7 @@ export default defineComponent({
2305
2305
  reactData.isIndeterminate = false;
2306
2306
  reactData.treeIndeterminateMaps = {};
2307
2307
  internalData.treeIndeterminateRowMaps = {};
2308
- tablePrivateMethods.checkSelectionStatus();
2308
+ $xeTable.checkSelectionStatus();
2309
2309
  return nextTick();
2310
2310
  };
2311
2311
  // 还原展开、选中等相关状态
@@ -2341,12 +2341,12 @@ export default defineComponent({
2341
2341
  reactData.rowExpandedMaps = expandColumn ? getRecoverRowMaps(rowExpandedMaps) : {}; // 刷新行展开状态
2342
2342
  // 还原保留状态
2343
2343
  if (expandColumn && expandOpts.reserve) {
2344
- tableMethods.setRowExpand(handleReserveRow(internalData.rowExpandedReserveRowMap), true);
2344
+ $xeTable.setRowExpand(handleReserveRow(internalData.rowExpandedReserveRowMap), true);
2345
2345
  }
2346
2346
  // 树展开
2347
2347
  reactData.treeExpandedMaps = treeConfig ? getRecoverRowMaps(treeExpandedMaps) : {}; // 刷新树展开状态
2348
2348
  if (treeConfig && treeOpts.reserve) {
2349
- tableMethods.setTreeExpand(handleReserveRow(internalData.treeExpandedReserveRowMap), true);
2349
+ $xeTable.setTreeExpand(handleReserveRow(internalData.treeExpandedReserveRowMap), true);
2350
2350
  }
2351
2351
  };
2352
2352
  /**
@@ -3089,9 +3089,9 @@ export default defineComponent({
3089
3089
  handleCheckedAllCheckboxRow(value);
3090
3090
  if (evnt) {
3091
3091
  dispatchEvent('checkbox-all', {
3092
- records: tableMethods.getCheckboxRecords(),
3093
- reserves: tableMethods.getCheckboxReserveRecords(),
3094
- indeterminates: tableMethods.getCheckboxIndeterminateRecords(),
3092
+ records: $xeTable.getCheckboxRecords(),
3093
+ reserves: $xeTable.getCheckboxReserveRecords(),
3094
+ indeterminates: $xeTable.getCheckboxIndeterminateRecords(),
3095
3095
  checked: value
3096
3096
  }, evnt);
3097
3097
  }
@@ -2383,7 +2383,7 @@
2383
2383
  background-color: var(--vxe-ui-layout-background-color);
2384
2384
  }
2385
2385
  .vxe-table--render-default .vxe-table--footer-wrapper {
2386
- margin-top: -1px;
2386
+ margin-top: calc(var(--vxe-ui-table-border-width) * -1);
2387
2387
  background-color: var(--vxe-ui-table-footer-background-color);
2388
2388
  }
2389
2389
  .vxe-table--render-default .vxe-table--header,