vxe-table 4.11.7 → 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 (114) hide show
  1. package/es/locale/lang/ar-EG.js +2 -1
  2. package/es/locale/lang/de-DE.js +2 -1
  3. package/es/locale/lang/en-US.js +2 -1
  4. package/es/locale/lang/es-ES.js +2 -1
  5. package/es/locale/lang/fr-FR.js +2 -1
  6. package/es/locale/lang/hu-HU.js +2 -1
  7. package/es/locale/lang/hy-AM.js +2 -1
  8. package/es/locale/lang/id-ID.js +2 -1
  9. package/es/locale/lang/it-IT.js +2 -1
  10. package/es/locale/lang/ja-JP.js +2 -1
  11. package/es/locale/lang/ko-KR.js +2 -1
  12. package/es/locale/lang/nb-NO.js +2 -1
  13. package/es/locale/lang/pt-BR.js +2 -1
  14. package/es/locale/lang/ru-RU.js +2 -1
  15. package/es/locale/lang/th-TH.js +2 -1
  16. package/es/locale/lang/ug-CN.js +2 -1
  17. package/es/locale/lang/uk-UA.js +2 -1
  18. package/es/locale/lang/vi-VN.js +2 -1
  19. package/es/locale/lang/zh-CHT.js +2 -1
  20. package/es/locale/lang/zh-CN.js +2 -1
  21. package/es/style.css +1 -1
  22. package/es/table/module/export/hook.js +2 -2
  23. package/es/table/module/filter/hook.js +16 -18
  24. package/es/ui/index.js +1 -1
  25. package/es/ui/src/log.js +1 -1
  26. package/lib/index.umd.js +24 -24
  27. package/lib/index.umd.min.js +1 -1
  28. package/lib/locale/lang/ar-EG.js +2 -1
  29. package/lib/locale/lang/ar-EG.min.js +1 -1
  30. package/lib/locale/lang/de-DE.js +2 -1
  31. package/lib/locale/lang/de-DE.min.js +1 -1
  32. package/lib/locale/lang/en-US.js +2 -1
  33. package/lib/locale/lang/en-US.min.js +1 -1
  34. package/lib/locale/lang/en-US.umd.js +2 -1
  35. package/lib/locale/lang/es-ES.js +2 -1
  36. package/lib/locale/lang/es-ES.min.js +1 -1
  37. package/lib/locale/lang/es-ES.umd.js +2 -1
  38. package/lib/locale/lang/fr-FR.js +2 -1
  39. package/lib/locale/lang/fr-FR.min.js +1 -1
  40. package/lib/locale/lang/hu-HU.js +2 -1
  41. package/lib/locale/lang/hu-HU.min.js +1 -1
  42. package/lib/locale/lang/hu-HU.umd.js +2 -1
  43. package/lib/locale/lang/hy-AM.js +2 -1
  44. package/lib/locale/lang/hy-AM.min.js +1 -1
  45. package/lib/locale/lang/id-ID.js +2 -1
  46. package/lib/locale/lang/id-ID.min.js +1 -1
  47. package/lib/locale/lang/it-IT.js +2 -1
  48. package/lib/locale/lang/it-IT.min.js +1 -1
  49. package/lib/locale/lang/ja-JP.js +2 -1
  50. package/lib/locale/lang/ja-JP.min.js +1 -1
  51. package/lib/locale/lang/ja-JP.umd.js +2 -1
  52. package/lib/locale/lang/ko-KR.js +2 -1
  53. package/lib/locale/lang/ko-KR.min.js +1 -1
  54. package/lib/locale/lang/ko-KR.umd.js +2 -1
  55. package/lib/locale/lang/nb-NO.js +2 -1
  56. package/lib/locale/lang/nb-NO.min.js +1 -1
  57. package/lib/locale/lang/pt-BR.js +2 -1
  58. package/lib/locale/lang/pt-BR.min.js +1 -1
  59. package/lib/locale/lang/pt-BR.umd.js +2 -1
  60. package/lib/locale/lang/ru-RU.js +2 -1
  61. package/lib/locale/lang/ru-RU.min.js +1 -1
  62. package/lib/locale/lang/ru-RU.umd.js +2 -1
  63. package/lib/locale/lang/th-TH.js +2 -1
  64. package/lib/locale/lang/th-TH.min.js +1 -1
  65. package/lib/locale/lang/ug-CN.js +2 -1
  66. package/lib/locale/lang/ug-CN.min.js +1 -1
  67. package/lib/locale/lang/uk-UA.js +2 -1
  68. package/lib/locale/lang/uk-UA.min.js +1 -1
  69. package/lib/locale/lang/uk-UA.umd.js +2 -1
  70. package/lib/locale/lang/vi-VN.js +2 -1
  71. package/lib/locale/lang/vi-VN.min.js +1 -1
  72. package/lib/locale/lang/zh-CHT.js +2 -1
  73. package/lib/locale/lang/zh-CHT.min.js +1 -1
  74. package/lib/locale/lang/zh-CN.js +2 -1
  75. package/lib/locale/lang/zh-CN.min.js +1 -1
  76. package/lib/locale/lang/zh-CN.umd.js +2 -1
  77. package/lib/style.css +1 -1
  78. package/lib/table/module/export/hook.js +2 -2
  79. package/lib/table/module/export/hook.min.js +1 -1
  80. package/lib/table/module/filter/hook.js +18 -19
  81. package/lib/table/module/filter/hook.min.js +1 -1
  82. package/lib/ui/index.js +1 -1
  83. package/lib/ui/index.min.js +1 -1
  84. package/lib/ui/src/log.js +1 -1
  85. package/lib/ui/src/log.min.js +1 -1
  86. package/package.json +2 -2
  87. package/packages/locale/lang/ar-EG.ts +2 -1
  88. package/packages/locale/lang/de-DE.ts +2 -1
  89. package/packages/locale/lang/en-US.ts +2 -1
  90. package/packages/locale/lang/es-ES.ts +2 -1
  91. package/packages/locale/lang/fr-FR.ts +2 -1
  92. package/packages/locale/lang/hu-HU.ts +2 -1
  93. package/packages/locale/lang/hy-AM.ts +2 -1
  94. package/packages/locale/lang/id-ID.ts +2 -1
  95. package/packages/locale/lang/it-IT.ts +2 -1
  96. package/packages/locale/lang/ja-JP.ts +2 -1
  97. package/packages/locale/lang/ko-KR.ts +2 -1
  98. package/packages/locale/lang/nb-NO.ts +2 -1
  99. package/packages/locale/lang/pt-BR.ts +2 -1
  100. package/packages/locale/lang/ru-RU.ts +2 -1
  101. package/packages/locale/lang/th-TH.ts +2 -1
  102. package/packages/locale/lang/ug-CN.ts +2 -1
  103. package/packages/locale/lang/uk-UA.ts +2 -1
  104. package/packages/locale/lang/vi-VN.ts +2 -1
  105. package/packages/locale/lang/zh-CHT.ts +2 -1
  106. package/packages/locale/lang/zh-CN.ts +2 -1
  107. package/packages/table/module/export/hook.ts +2 -2
  108. package/packages/table/module/filter/hook.ts +17 -19
  109. /package/es/{iconfont.1740104016678.ttf → iconfont.1740188851839.ttf} +0 -0
  110. /package/es/{iconfont.1740104016678.woff → iconfont.1740188851839.woff} +0 -0
  111. /package/es/{iconfont.1740104016678.woff2 → iconfont.1740188851839.woff2} +0 -0
  112. /package/lib/{iconfont.1740104016678.ttf → iconfont.1740188851839.ttf} +0 -0
  113. /package/lib/{iconfont.1740104016678.woff → iconfont.1740188851839.woff} +0 -0
  114. /package/lib/{iconfont.1740104016678.woff2 → iconfont.1740188851839.woff2} +0 -0
@@ -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;
package/es/ui/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  import { getFuncText } from './src/utils';
3
- export const version = "4.11.7";
3
+ export const version = "4.11.8";
4
4
  VxeUI.version = version;
5
5
  VxeUI.tableVersion = version;
6
6
  VxeUI.setConfig({
package/es/ui/src/log.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  const { log } = VxeUI;
3
- const version = `table v${"4.11.7"}`;
3
+ const version = `table v${"4.11.8"}`;
4
4
  export const warnLog = log.create('warn', version);
5
5
  export const errLog = log.create('error', version);
package/lib/index.umd.js CHANGED
@@ -3138,7 +3138,7 @@ function eqEmptyValue(cellValue) {
3138
3138
  ;// ./packages/ui/index.ts
3139
3139
 
3140
3140
 
3141
- const version = "4.11.7";
3141
+ const version = "4.11.8";
3142
3142
  core_.VxeUI.version = version;
3143
3143
  core_.VxeUI.tableVersion = version;
3144
3144
  core_.VxeUI.setConfig({
@@ -3586,7 +3586,7 @@ var esnext_iterator_some = __webpack_require__(7550);
3586
3586
  const {
3587
3587
  log: log_log
3588
3588
  } = core_.VxeUI;
3589
- const log_version = `table v${"4.11.7"}`;
3589
+ const log_version = `table v${"4.11.8"}`;
3590
3590
  const warnLog = log_log.create('warn', log_version);
3591
3591
  const errLog = log_log.create('error', log_version);
3592
3592
  ;// ./packages/table/src/columnInfo.ts
@@ -22090,8 +22090,7 @@ hook_hooks.add('tableFilterModule', {
22090
22090
  internalData
22091
22091
  } = $xeTable;
22092
22092
  const {
22093
- refTableHeader,
22094
- refTableBody,
22093
+ refElem,
22095
22094
  refTableFilter
22096
22095
  } = $xeTable.getRefMaps();
22097
22096
  const {
@@ -22159,13 +22158,19 @@ hook_hooks.add('tableFilterModule', {
22159
22158
  initStore,
22160
22159
  filterStore
22161
22160
  } = reactData;
22161
+ const {
22162
+ elemStore
22163
+ } = internalData;
22162
22164
  if (filterStore.column === column && filterStore.visible) {
22163
22165
  filterStore.visible = false;
22164
22166
  } else {
22165
22167
  const {
22166
- target: targetElem,
22168
+ clientY,
22167
22169
  pageX
22168
22170
  } = evnt;
22171
+ const el = refElem.value;
22172
+ const tableRect = el.getBoundingClientRect();
22173
+ const targetElem = evnt.target;
22169
22174
  const {
22170
22175
  visibleWidth
22171
22176
  } = getDomNode();
@@ -22204,11 +22209,8 @@ hook_hooks.add('tableFilterModule', {
22204
22209
  filterStore.visible = true;
22205
22210
  initStore.filter = true;
22206
22211
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
22207
- const tableHeader = refTableHeader.value;
22208
- const tableBody = refTableBody.value;
22209
- const headerElem = tableHeader ? tableHeader.$el : null;
22210
- const bodyElem = tableBody.$el;
22211
- if (!bodyElem) {
22212
+ const headerScrollElem = getRefElem(elemStore['main-header-scroll']);
22213
+ if (!headerScrollElem) {
22212
22214
  return;
22213
22215
  }
22214
22216
  const tableFilter = refTableFilter.value;
@@ -22217,28 +22219,25 @@ hook_hooks.add('tableFilterModule', {
22217
22219
  return;
22218
22220
  }
22219
22221
  const filterWidth = filterWrapperElem.offsetWidth;
22220
- const filterHeight = filterWrapperElem.offsetHeight;
22221
22222
  const filterHeadElem = filterWrapperElem.querySelector('.vxe-table--filter-header');
22222
22223
  const filterFootElem = filterWrapperElem.querySelector('.vxe-table--filter-footer');
22223
22224
  const centerWidth = filterWidth / 2;
22224
22225
  const minMargin = 10;
22225
- const maxLeft = bodyElem.clientWidth - filterWidth - minMargin;
22226
+ const maxLeft = el.clientWidth - filterWidth - minMargin;
22226
22227
  let left, right;
22228
+ const thEl = targetElem.offsetParent;
22229
+ const trEl = thEl.offsetParent;
22227
22230
  const style = {
22228
- top: `${targetElem.offsetTop + targetElem.offsetParent.offsetTop + targetElem.offsetHeight}px`
22231
+ top: `${targetElem.offsetTop + thEl.offsetTop + targetElem.offsetHeight}px`
22229
22232
  };
22230
22233
  // 判断面板不能大于表格高度
22231
- let maxHeight = null;
22232
- const bodyHeight = bodyElem.clientHeight - (headerElem ? headerElem.clientHeight / 2 : 0);
22233
- if (filterHeight >= bodyHeight) {
22234
- maxHeight = Math.max(40, bodyHeight - (filterFootElem ? filterFootElem.offsetHeight : 0) - (filterHeadElem ? filterHeadElem.offsetHeight : 0));
22235
- }
22234
+ const maxHeight = Math.max(40, el.clientHeight - (clientY - tableRect.y) - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 14);
22236
22235
  if (column.fixed === 'left') {
22237
- left = targetElem.offsetLeft + targetElem.offsetParent.offsetLeft - centerWidth;
22236
+ left = targetElem.offsetLeft + thEl.offsetLeft - centerWidth;
22238
22237
  } else if (column.fixed === 'right') {
22239
- right = targetElem.offsetParent.offsetWidth - targetElem.offsetLeft + (targetElem.offsetParent.offsetParent.offsetWidth - targetElem.offsetParent.offsetLeft) - column.renderWidth - centerWidth;
22238
+ right = thEl.offsetWidth - targetElem.offsetLeft + (trEl.offsetWidth - trEl.offsetLeft) - column.renderWidth - centerWidth;
22240
22239
  } else {
22241
- left = targetElem.offsetLeft + targetElem.offsetParent.offsetLeft - centerWidth - bodyElem.scrollLeft;
22240
+ left = targetElem.offsetLeft + thEl.offsetLeft - centerWidth - headerScrollElem.scrollLeft;
22242
22241
  }
22243
22242
  if (left) {
22244
22243
  const overflowWidth = pageX + filterWidth - centerWidth + minMargin - visibleWidth;
@@ -25310,7 +25309,7 @@ export_hook_hooks.add('tableExportModule', {
25310
25309
  isMerge: hasMerge,
25311
25310
  useStyle: true,
25312
25311
  current: 'current',
25313
- modes: ['current', 'selected', 'empty'].concat(proxyOpts.ajax && proxyOpts.ajax.queryAll ? ['all'] : [])
25312
+ modes: (proxyOpts.ajax && proxyOpts.ajax.queryAll ? ['all'] : []).concat(['current', 'selected', 'empty'])
25314
25313
  }, options);
25315
25314
  const types = defOpts.types || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().keys(exportOpts._typeMaps);
25316
25315
  const modes = defOpts.modes || [];
@@ -25451,7 +25450,7 @@ export_hook_hooks.add('tableExportModule', {
25451
25450
  isMerge: hasMerge,
25452
25451
  useStyle: true,
25453
25452
  current: 'current',
25454
- modes: ['current', 'selected', 'empty'].concat(proxyOpts.ajax && proxyOpts.ajax.queryAll ? ['all'] : []),
25453
+ modes: (proxyOpts.ajax && proxyOpts.ajax.queryAll ? ['all'] : []).concat(['current', 'selected', 'empty']),
25455
25454
  download: true,
25456
25455
  type: 'csv'
25457
25456
  // filename: '',
@@ -31047,7 +31046,8 @@ const Grid = VxeGrid;
31047
31046
  },
31048
31047
  button: {
31049
31048
  confirm: '确认',
31050
- cancel: '取消'
31049
+ cancel: '取消',
31050
+ clear: '清除'
31051
31051
  },
31052
31052
  filter: {
31053
31053
  search: '搜索'