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
@@ -14,7 +14,7 @@ const tableFilterMethodKeys: (keyof TableFilterMethods)[] = ['openFilter', 'setF
14
14
  hooks.add('tableFilterModule', {
15
15
  setupTable ($xeTable) {
16
16
  const { props, reactData, internalData } = $xeTable
17
- const { refTableHeader, refTableBody, refTableFilter } = $xeTable.getRefMaps()
17
+ const { refElem, refTableFilter } = $xeTable.getRefMaps()
18
18
  const { computeFilterOpts, computeMouseOpts } = $xeTable.getComputeMaps()
19
19
 
20
20
  // 确认筛选
@@ -69,12 +69,16 @@ hooks.add('tableFilterModule', {
69
69
  * @param {ColumnInfo} column 列配置
70
70
  * @param {Object} params 参数
71
71
  */
72
- triggerFilterEvent (evnt, column, params) {
72
+ triggerFilterEvent (evnt: MouseEvent, column, params) {
73
73
  const { initStore, filterStore } = reactData
74
+ const { elemStore } = internalData
74
75
  if (filterStore.column === column && filterStore.visible) {
75
76
  filterStore.visible = false
76
77
  } else {
77
- const { target: targetElem, pageX } = evnt
78
+ const { clientY, pageX } = evnt
79
+ const el = refElem.value
80
+ const tableRect = el.getBoundingClientRect()
81
+ const targetElem = evnt.target as HTMLDivElement
78
82
  const { visibleWidth } = getDomNode()
79
83
  const { filters, filterMultiple, filterRender } = column
80
84
  const compConf = isEnableConf(filterRender) ? renderer.get(filterRender.name) : null
@@ -100,11 +104,8 @@ hooks.add('tableFilterModule', {
100
104
  filterStore.visible = true
101
105
  initStore.filter = true
102
106
  nextTick(() => {
103
- const tableHeader = refTableHeader.value
104
- const tableBody = refTableBody.value
105
- const headerElem = tableHeader ? tableHeader.$el as HTMLDivElement : null
106
- const bodyElem = tableBody.$el as HTMLDivElement
107
- if (!bodyElem) {
107
+ const headerScrollElem = getRefElem(elemStore['main-header-scroll'])
108
+ if (!headerScrollElem) {
108
109
  return
109
110
  }
110
111
  const tableFilter = refTableFilter.value
@@ -113,28 +114,25 @@ hooks.add('tableFilterModule', {
113
114
  return
114
115
  }
115
116
  const filterWidth = filterWrapperElem.offsetWidth
116
- const filterHeight = filterWrapperElem.offsetHeight
117
117
  const filterHeadElem = filterWrapperElem.querySelector<HTMLDivElement>('.vxe-table--filter-header')
118
118
  const filterFootElem = filterWrapperElem.querySelector<HTMLDivElement>('.vxe-table--filter-footer')
119
119
  const centerWidth = filterWidth / 2
120
120
  const minMargin = 10
121
- const maxLeft = bodyElem.clientWidth - filterWidth - minMargin
121
+ const maxLeft = el.clientWidth - filterWidth - minMargin
122
122
  let left, right
123
+ const thEl = targetElem.offsetParent as HTMLTableCellElement
124
+ const trEl = thEl.offsetParent as HTMLTableCellElement
123
125
  const style: any = {
124
- top: `${targetElem.offsetTop + targetElem.offsetParent.offsetTop + targetElem.offsetHeight}px`
126
+ top: `${targetElem.offsetTop + thEl.offsetTop + targetElem.offsetHeight}px`
125
127
  }
126
128
  // 判断面板不能大于表格高度
127
- let maxHeight: number | null = null
128
- const bodyHeight = bodyElem.clientHeight - (headerElem ? headerElem.clientHeight / 2 : 0)
129
- if (filterHeight >= bodyHeight) {
130
- maxHeight = Math.max(40, bodyHeight - (filterFootElem ? filterFootElem.offsetHeight : 0) - (filterHeadElem ? filterHeadElem.offsetHeight : 0))
131
- }
129
+ const maxHeight = Math.max(40, el.clientHeight - (clientY - tableRect.y) - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 14)
132
130
  if (column.fixed === 'left') {
133
- left = targetElem.offsetLeft + targetElem.offsetParent.offsetLeft - centerWidth
131
+ left = targetElem.offsetLeft + thEl.offsetLeft - centerWidth
134
132
  } else if (column.fixed === 'right') {
135
- right = (targetElem.offsetParent.offsetWidth - targetElem.offsetLeft) + (targetElem.offsetParent.offsetParent.offsetWidth - targetElem.offsetParent.offsetLeft) - column.renderWidth - centerWidth
133
+ right = (thEl.offsetWidth - targetElem.offsetLeft) + (trEl.offsetWidth - trEl.offsetLeft) - column.renderWidth - centerWidth
136
134
  } else {
137
- left = targetElem.offsetLeft + targetElem.offsetParent.offsetLeft - centerWidth - bodyElem.scrollLeft
135
+ left = targetElem.offsetLeft + thEl.offsetLeft - centerWidth - headerScrollElem.scrollLeft
138
136
  }
139
137
  if (left) {
140
138
  const overflowWidth = (pageX + filterWidth - centerWidth + minMargin) - visibleWidth