vxe-table 4.18.0-beta.1 → 4.18.0-beta.2

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 (273) 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 +3 -0
  4. package/es/locale/lang/de-DE.js +3 -0
  5. package/es/locale/lang/en-US.js +3 -0
  6. package/es/locale/lang/es-ES.js +3 -0
  7. package/es/locale/lang/fr-FR.js +3 -0
  8. package/es/locale/lang/hu-HU.js +3 -0
  9. package/es/locale/lang/hy-AM.js +4 -1
  10. package/es/locale/lang/id-ID.js +3 -0
  11. package/es/locale/lang/it-IT.js +3 -0
  12. package/es/locale/lang/ja-JP.js +3 -0
  13. package/es/locale/lang/ko-KR.js +3 -0
  14. package/es/locale/lang/ms-MY.js +3 -0
  15. package/es/locale/lang/nb-NO.js +3 -0
  16. package/es/locale/lang/pt-BR.js +3 -0
  17. package/es/locale/lang/ru-RU.js +3 -0
  18. package/es/locale/lang/th-TH.js +3 -0
  19. package/es/locale/lang/ug-CN.js +3 -0
  20. package/es/locale/lang/uk-UA.js +3 -0
  21. package/es/locale/lang/uz-UZ.js +3 -0
  22. package/es/locale/lang/vi-VN.js +3 -0
  23. package/es/locale/lang/zh-CHT.js +3 -0
  24. package/es/locale/lang/zh-CN.js +4 -1
  25. package/es/style.css +1 -1
  26. package/es/style.min.css +1 -1
  27. package/es/table/module/filter/hook.js +58 -17
  28. package/es/table/src/footer.js +2 -2
  29. package/es/table/src/table.js +22 -0
  30. package/es/ui/index.js +1 -1
  31. package/es/ui/src/log.js +1 -1
  32. package/lib/index.css +1 -1
  33. package/lib/index.min.css +1 -1
  34. package/lib/index.umd.js +73 -29
  35. package/lib/index.umd.min.js +1 -1
  36. package/lib/locale/lang/ar-EG.js +3 -0
  37. package/lib/locale/lang/ar-EG.min.js +1 -1
  38. package/lib/locale/lang/de-DE.js +3 -0
  39. package/lib/locale/lang/de-DE.min.js +1 -1
  40. package/lib/locale/lang/en-US.js +3 -0
  41. package/lib/locale/lang/en-US.min.js +1 -1
  42. package/lib/locale/lang/es-ES.js +3 -0
  43. package/lib/locale/lang/es-ES.min.js +1 -1
  44. package/lib/locale/lang/fr-FR.js +3 -0
  45. package/lib/locale/lang/fr-FR.min.js +1 -1
  46. package/lib/locale/lang/hu-HU.js +3 -0
  47. package/lib/locale/lang/hu-HU.min.js +1 -1
  48. package/lib/locale/lang/hy-AM.js +4 -1
  49. package/lib/locale/lang/hy-AM.min.js +1 -1
  50. package/lib/locale/lang/id-ID.js +3 -0
  51. package/lib/locale/lang/id-ID.min.js +1 -1
  52. package/lib/locale/lang/it-IT.js +3 -0
  53. package/lib/locale/lang/it-IT.min.js +1 -1
  54. package/lib/locale/lang/ja-JP.js +3 -0
  55. package/lib/locale/lang/ja-JP.min.js +1 -1
  56. package/lib/locale/lang/ko-KR.js +3 -0
  57. package/lib/locale/lang/ko-KR.min.js +1 -1
  58. package/lib/locale/lang/ms-MY.js +3 -0
  59. package/lib/locale/lang/ms-MY.min.js +1 -1
  60. package/lib/locale/lang/nb-NO.js +3 -0
  61. package/lib/locale/lang/nb-NO.min.js +1 -1
  62. package/lib/locale/lang/pt-BR.js +3 -0
  63. package/lib/locale/lang/pt-BR.min.js +1 -1
  64. package/lib/locale/lang/ru-RU.js +3 -0
  65. package/lib/locale/lang/ru-RU.min.js +1 -1
  66. package/lib/locale/lang/th-TH.js +3 -0
  67. package/lib/locale/lang/th-TH.min.js +1 -1
  68. package/lib/locale/lang/ug-CN.js +3 -0
  69. package/lib/locale/lang/ug-CN.min.js +1 -1
  70. package/lib/locale/lang/uk-UA.js +3 -0
  71. package/lib/locale/lang/uk-UA.min.js +1 -1
  72. package/lib/locale/lang/uz-UZ.js +3 -0
  73. package/lib/locale/lang/uz-UZ.min.js +1 -1
  74. package/lib/locale/lang/vi-VN.js +3 -0
  75. package/lib/locale/lang/vi-VN.min.js +1 -1
  76. package/lib/locale/lang/zh-CHT.js +3 -0
  77. package/lib/locale/lang/zh-CHT.min.js +1 -1
  78. package/lib/locale/lang/zh-CN.js +4 -1
  79. package/lib/locale/lang/zh-CN.min.js +1 -1
  80. package/lib/locale/lang/zh-HK.min.js +1 -1
  81. package/lib/locale/lang/zh-MO.min.js +1 -1
  82. package/lib/locale/lang/zh-TW.min.js +1 -1
  83. package/lib/style.css +1 -1
  84. package/lib/style.min.css +1 -1
  85. package/lib/table/module/filter/hook.js +62 -17
  86. package/lib/table/module/filter/hook.min.js +1 -1
  87. package/lib/table/src/footer.js +2 -6
  88. package/lib/table/src/footer.min.js +1 -1
  89. package/lib/table/src/table.js +3 -3
  90. package/lib/table/src/table.min.js +1 -1
  91. package/lib/ui/index.js +1 -1
  92. package/lib/ui/index.min.js +1 -1
  93. package/lib/ui/src/log.js +1 -1
  94. package/lib/ui/src/log.min.js +1 -1
  95. package/package.json +1 -1
  96. package/packages/locale/lang/ar-EG.ts +3 -0
  97. package/packages/locale/lang/de-DE.ts +3 -0
  98. package/packages/locale/lang/en-US.ts +3 -0
  99. package/packages/locale/lang/es-ES.ts +3 -0
  100. package/packages/locale/lang/fr-FR.ts +3 -0
  101. package/packages/locale/lang/hu-HU.ts +3 -0
  102. package/packages/locale/lang/hy-AM.ts +4 -1
  103. package/packages/locale/lang/id-ID.ts +3 -0
  104. package/packages/locale/lang/it-IT.ts +3 -0
  105. package/packages/locale/lang/ja-JP.ts +3 -0
  106. package/packages/locale/lang/ko-KR.ts +3 -0
  107. package/packages/locale/lang/ms-MY.ts +3 -0
  108. package/packages/locale/lang/nb-NO.ts +3 -0
  109. package/packages/locale/lang/pt-BR.ts +3 -0
  110. package/packages/locale/lang/ru-RU.ts +3 -0
  111. package/packages/locale/lang/th-TH.ts +3 -0
  112. package/packages/locale/lang/ug-CN.ts +3 -0
  113. package/packages/locale/lang/uk-UA.ts +3 -0
  114. package/packages/locale/lang/uz-UZ.ts +3 -0
  115. package/packages/locale/lang/vi-VN.ts +3 -0
  116. package/packages/locale/lang/zh-CHT.ts +3 -0
  117. package/packages/locale/lang/zh-CN.ts +4 -1
  118. package/packages/table/module/filter/hook.ts +59 -18
  119. package/packages/table/src/footer.ts +2 -2
  120. package/packages/table/src/table.ts +22 -0
  121. package/styles/components/table.scss +2 -1
  122. package/es/colgroup/style.css +0 -0
  123. package/es/colgroup/style.min.css +0 -0
  124. package/es/column/style.css +0 -0
  125. package/es/column/style.min.css +0 -0
  126. package/es/grid/style.css +0 -86
  127. package/es/grid/style.min.css +0 -1
  128. package/es/iconfont.1767492258883.ttf +0 -0
  129. package/es/iconfont.1767492258883.woff +0 -0
  130. package/es/iconfont.1767492258883.woff2 +0 -0
  131. package/es/locale/lang/ar-EG.d.ts +0 -2
  132. package/es/locale/lang/de-DE.d.ts +0 -2
  133. package/es/locale/lang/en-US.d.ts +0 -2
  134. package/es/locale/lang/es-ES.d.ts +0 -2
  135. package/es/locale/lang/fr-FR.d.ts +0 -2
  136. package/es/locale/lang/hu-HU.d.ts +0 -2
  137. package/es/locale/lang/hy-AM.d.ts +0 -2
  138. package/es/locale/lang/id-ID.d.ts +0 -2
  139. package/es/locale/lang/it-IT.d.ts +0 -2
  140. package/es/locale/lang/ja-JP.d.ts +0 -2
  141. package/es/locale/lang/ko-KR.d.ts +0 -2
  142. package/es/locale/lang/ms-MY.d.ts +0 -2
  143. package/es/locale/lang/nb-NO.d.ts +0 -2
  144. package/es/locale/lang/pt-BR.d.ts +0 -2
  145. package/es/locale/lang/ru-RU.d.ts +0 -2
  146. package/es/locale/lang/th-TH.d.ts +0 -2
  147. package/es/locale/lang/ug-CN.d.ts +0 -2
  148. package/es/locale/lang/uk-UA.d.ts +0 -2
  149. package/es/locale/lang/uz-UZ.d.ts +0 -2
  150. package/es/locale/lang/vi-VN.d.ts +0 -2
  151. package/es/locale/lang/zh-CHT.d.ts +0 -2
  152. package/es/locale/lang/zh-CN.d.ts +0 -2
  153. package/es/locale/lang/zh-HK.d.ts +0 -2
  154. package/es/locale/lang/zh-MO.d.ts +0 -2
  155. package/es/locale/lang/zh-TW.d.ts +0 -2
  156. package/es/table/style.css +0 -3877
  157. package/es/table/style.min.css +0 -1
  158. package/es/toolbar/style.css +0 -106
  159. package/es/toolbar/style.min.css +0 -1
  160. package/es/ui/style.css +0 -0
  161. package/es/ui/style.min.css +0 -0
  162. package/es/v-x-e-table/style.css +0 -0
  163. package/es/v-x-e-table/style.min.css +0 -0
  164. package/es/vxe-colgroup/style.css +0 -0
  165. package/es/vxe-colgroup/style.min.css +0 -0
  166. package/es/vxe-column/style.css +0 -0
  167. package/es/vxe-column/style.min.css +0 -0
  168. package/es/vxe-grid/style.css +0 -86
  169. package/es/vxe-grid/style.min.css +0 -1
  170. package/es/vxe-table/style.css +0 -3877
  171. package/es/vxe-table/style.min.css +0 -1
  172. package/es/vxe-toolbar/style.css +0 -106
  173. package/es/vxe-toolbar/style.min.css +0 -1
  174. package/es/vxe-ui/style.css +0 -0
  175. package/es/vxe-ui/style.min.css +0 -0
  176. package/es/vxe-v-x-e-table/style.css +0 -0
  177. package/es/vxe-v-x-e-table/style.min.css +0 -0
  178. package/lib/colgroup/style/index.js +0 -1
  179. package/lib/colgroup/style/style.css +0 -0
  180. package/lib/colgroup/style/style.min.css +0 -0
  181. package/lib/column/style/index.js +0 -1
  182. package/lib/column/style/style.css +0 -0
  183. package/lib/column/style/style.min.css +0 -0
  184. package/lib/grid/style/index.js +0 -1
  185. package/lib/grid/style/style.css +0 -86
  186. package/lib/grid/style/style.min.css +0 -1
  187. package/lib/iconfont.1767492258883.ttf +0 -0
  188. package/lib/iconfont.1767492258883.woff +0 -0
  189. package/lib/iconfont.1767492258883.woff2 +0 -0
  190. package/lib/index.common.js +0 -22
  191. package/lib/locale/lang/ar-EG.d.ts +0 -2
  192. package/lib/locale/lang/ar-EG.umd.js +0 -839
  193. package/lib/locale/lang/de-DE.d.ts +0 -2
  194. package/lib/locale/lang/de-DE.umd.js +0 -839
  195. package/lib/locale/lang/en-US.d.ts +0 -2
  196. package/lib/locale/lang/en-US.umd.js +0 -839
  197. package/lib/locale/lang/es-ES.d.ts +0 -2
  198. package/lib/locale/lang/es-ES.umd.js +0 -839
  199. package/lib/locale/lang/fr-FR.d.ts +0 -2
  200. package/lib/locale/lang/fr-FR.umd.js +0 -839
  201. package/lib/locale/lang/hu-HU.d.ts +0 -2
  202. package/lib/locale/lang/hu-HU.umd.js +0 -839
  203. package/lib/locale/lang/hy-AM.d.ts +0 -2
  204. package/lib/locale/lang/hy-AM.umd.js +0 -839
  205. package/lib/locale/lang/id-ID.d.ts +0 -2
  206. package/lib/locale/lang/id-ID.umd.js +0 -839
  207. package/lib/locale/lang/it-IT.d.ts +0 -2
  208. package/lib/locale/lang/it-IT.umd.js +0 -839
  209. package/lib/locale/lang/ja-JP.d.ts +0 -2
  210. package/lib/locale/lang/ja-JP.umd.js +0 -839
  211. package/lib/locale/lang/ko-KR.d.ts +0 -2
  212. package/lib/locale/lang/ko-KR.umd.js +0 -839
  213. package/lib/locale/lang/ms-MY.d.ts +0 -2
  214. package/lib/locale/lang/ms-MY.umd.js +0 -839
  215. package/lib/locale/lang/nb-NO.d.ts +0 -2
  216. package/lib/locale/lang/nb-NO.umd.js +0 -839
  217. package/lib/locale/lang/pt-BR.d.ts +0 -2
  218. package/lib/locale/lang/pt-BR.umd.js +0 -839
  219. package/lib/locale/lang/ru-RU.d.ts +0 -2
  220. package/lib/locale/lang/ru-RU.umd.js +0 -839
  221. package/lib/locale/lang/th-TH.d.ts +0 -2
  222. package/lib/locale/lang/th-TH.umd.js +0 -839
  223. package/lib/locale/lang/ug-CN.d.ts +0 -2
  224. package/lib/locale/lang/ug-CN.umd.js +0 -839
  225. package/lib/locale/lang/uk-UA.d.ts +0 -2
  226. package/lib/locale/lang/uk-UA.umd.js +0 -839
  227. package/lib/locale/lang/uz-UZ.d.ts +0 -2
  228. package/lib/locale/lang/uz-UZ.umd.js +0 -839
  229. package/lib/locale/lang/vi-VN.d.ts +0 -2
  230. package/lib/locale/lang/vi-VN.umd.js +0 -839
  231. package/lib/locale/lang/zh-CHT.d.ts +0 -2
  232. package/lib/locale/lang/zh-CHT.umd.js +0 -839
  233. package/lib/locale/lang/zh-CN.d.ts +0 -2
  234. package/lib/locale/lang/zh-CN.umd.js +0 -839
  235. package/lib/locale/lang/zh-HK.d.ts +0 -2
  236. package/lib/locale/lang/zh-HK.umd.js +0 -23
  237. package/lib/locale/lang/zh-MO.d.ts +0 -2
  238. package/lib/locale/lang/zh-MO.umd.js +0 -23
  239. package/lib/locale/lang/zh-TW.d.ts +0 -2
  240. package/lib/locale/lang/zh-TW.umd.js +0 -23
  241. package/lib/table/style/index.js +0 -1
  242. package/lib/table/style/style.css +0 -3877
  243. package/lib/table/style/style.min.css +0 -1
  244. package/lib/toolbar/style/index.js +0 -1
  245. package/lib/toolbar/style/style.css +0 -106
  246. package/lib/toolbar/style/style.min.css +0 -1
  247. package/lib/ui/style/index.js +0 -1
  248. package/lib/ui/style/style.css +0 -0
  249. package/lib/ui/style/style.min.css +0 -0
  250. package/lib/v-x-e-table/style/index.js +0 -1
  251. package/lib/v-x-e-table/style/style.css +0 -0
  252. package/lib/v-x-e-table/style/style.min.css +0 -0
  253. package/lib/vxe-colgroup/style/index.js +0 -1
  254. package/lib/vxe-colgroup/style/style.css +0 -0
  255. package/lib/vxe-colgroup/style/style.min.css +0 -0
  256. package/lib/vxe-column/style/index.js +0 -1
  257. package/lib/vxe-column/style/style.css +0 -0
  258. package/lib/vxe-column/style/style.min.css +0 -0
  259. package/lib/vxe-grid/style/index.js +0 -1
  260. package/lib/vxe-grid/style/style.css +0 -86
  261. package/lib/vxe-grid/style/style.min.css +0 -1
  262. package/lib/vxe-table/style/index.js +0 -1
  263. package/lib/vxe-table/style/style.css +0 -3877
  264. package/lib/vxe-table/style/style.min.css +0 -1
  265. package/lib/vxe-toolbar/style/index.js +0 -1
  266. package/lib/vxe-toolbar/style/style.css +0 -106
  267. package/lib/vxe-toolbar/style/style.min.css +0 -1
  268. package/lib/vxe-ui/style/index.js +0 -1
  269. package/lib/vxe-ui/style/style.css +0 -0
  270. package/lib/vxe-ui/style/style.min.css +0 -0
  271. package/lib/vxe-v-x-e-table/style/index.js +0 -1
  272. package/lib/vxe-v-x-e-table/style/style.css +0 -0
  273. package/lib/vxe-v-x-e-table/style/style.min.css +0 -0
package/lib/index.umd.js CHANGED
@@ -3144,7 +3144,7 @@ function getDefaultConfig(val1, def1) {
3144
3144
  ;// ./packages/ui/index.ts
3145
3145
 
3146
3146
 
3147
- const version = "4.18.0-beta.1";
3147
+ const version = "4.18.0-beta.2";
3148
3148
  core_.VxeUI.version = version;
3149
3149
  core_.VxeUI.tableVersion = version;
3150
3150
  core_.VxeUI.setConfig({
@@ -3662,7 +3662,7 @@ var esnext_iterator_some = __webpack_require__(7550);
3662
3662
  const {
3663
3663
  log: log_log
3664
3664
  } = core_.VxeUI;
3665
- const log_version = `table v${"4.18.0-beta.1"}`;
3665
+ const log_version = `table v${"4.18.0-beta.2"}`;
3666
3666
  const warnLog = log_log.create('warn', log_version);
3667
3667
  const errLog = log_log.create('error', log_version);
3668
3668
  ;// ./packages/table/src/columnInfo.ts
@@ -9243,14 +9243,10 @@ const footer_renderType = 'footer';
9243
9243
  };
9244
9244
  }
9245
9245
  tfOns.onClick = evnt => {
9246
- $xeTable.dispatchEvent('footer-cell-click', Object.assign({
9247
- cell: evnt.currentTarget
9248
- }, cellParams), evnt);
9246
+ $xeTable.triggerFooterCellClickEvent(evnt, cellParams);
9249
9247
  };
9250
9248
  tfOns.onDblclick = evnt => {
9251
- $xeTable.dispatchEvent('footer-cell-dblclick', Object.assign({
9252
- cell: evnt.currentTarget
9253
- }, cellParams), evnt);
9249
+ $xeTable.triggerFooterCellDblclickEvent(evnt, cellParams);
9254
9250
  };
9255
9251
  let isMergeCell = false;
9256
9252
  // 合并行或列
@@ -11879,6 +11875,7 @@ const {
11879
11875
  hooks: hook_hooks
11880
11876
  } = core_.VxeUI;
11881
11877
  const tableFilterMethodKeys = ['openFilter', 'setFilter', 'clearFilter', 'saveFilter', 'saveFilterByEvent', 'saveFilterPanel', 'saveFilterPanelByEvent', 'resetFilter', 'resetFilterByEvent', 'resetFilterPanel', 'resetFilterPanelByEvent', 'getCheckedFilters', 'updateFilterOptionStatus'];
11878
+ const hook_sourceType = 'table';
11882
11879
  hook_hooks.add('tableFilterModule', {
11883
11880
  setupTable($xeTable) {
11884
11881
  const $xeGrid = $xeTable.xeGrid;
@@ -11911,16 +11908,7 @@ hook_hooks.add('tableFilterModule', {
11911
11908
  filterStore.isIndeterminate = !filterStore.isAllSelected && filterOptions.some(item => item._checked);
11912
11909
  }
11913
11910
  },
11914
- /**
11915
- * 点击筛选事件
11916
- * 当筛选图标被点击时触发
11917
- * 更新选项是否全部状态
11918
- * 打开筛选面板
11919
- * @param {Event} evnt 事件
11920
- * @param {ColumnInfo} column 列配置
11921
- * @param {Object} params 参数
11922
- */
11923
- triggerFilterEvent(evnt, column, params) {
11911
+ handleOpenFilterColumn(evnt, btnEl, colEl, column, params) {
11924
11912
  const {
11925
11913
  initStore,
11926
11914
  filterStore
@@ -11942,8 +11930,8 @@ hook_hooks.add('tableFilterModule', {
11942
11930
  const {
11943
11931
  transfer
11944
11932
  } = filterOpts;
11933
+ const currEl = btnEl || colEl;
11945
11934
  const tableRect = tableEl.getBoundingClientRect();
11946
- const btnElem = evnt.currentTarget;
11947
11935
  const filterRender = column ? column.filterRender : null;
11948
11936
  const compConf = filterRender && isEnableConf(filterRender) ? hook_renderer.get(filterRender.name) : null;
11949
11937
  $xeTable.handleFilterOptions(column);
@@ -11961,17 +11949,21 @@ hook_hooks.add('tableFilterModule', {
11961
11949
  if (!filterWrapperElem) {
11962
11950
  return;
11963
11951
  }
11964
- const btnRect = btnElem.getBoundingClientRect();
11952
+ const btnRect = currEl.getBoundingClientRect();
11965
11953
  const filterHeadElem = filterWrapperElem.querySelector('.vxe-table--filter-header');
11966
11954
  const filterFootElem = filterWrapperElem.querySelector('.vxe-table--filter-footer');
11967
11955
  const filterWidth = filterWrapperElem.offsetWidth;
11968
- const centerWidth = filterWidth / 2;
11956
+ const centerWidth = btnEl ? filterWidth / 2 : (filterWidth - column.renderWidth) / 2;
11969
11957
  let left = 0;
11970
11958
  let top = 0;
11971
11959
  let maxHeight = 0;
11960
+ /**
11961
+ * 是否显示筛选按钮图标
11962
+ * 如果不存在图标,则相对单元格居中显示
11963
+ */
11972
11964
  if (transfer) {
11973
11965
  left = btnRect.left - centerWidth + scrollLeft;
11974
- top = btnRect.top + btnElem.clientHeight + scrollTop;
11966
+ top = btnRect.top + currEl.clientHeight + scrollTop;
11975
11967
  maxHeight = Math.min(Math.max(tableRect.height, Math.floor(visibleHeight / 2)), Math.max(80, visibleHeight - top - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 28));
11976
11968
  if (left < 16) {
11977
11969
  left = 16;
@@ -11980,7 +11972,7 @@ hook_hooks.add('tableFilterModule', {
11980
11972
  }
11981
11973
  } else {
11982
11974
  left = btnRect.left - tableRect.left - centerWidth;
11983
- top = btnRect.top - tableRect.top + btnElem.clientHeight;
11975
+ top = btnRect.top - tableRect.top + currEl.clientHeight;
11984
11976
  maxHeight = Math.max(40, tableEl.clientHeight - top - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 14);
11985
11977
  if (left < 1) {
11986
11978
  left = 1;
@@ -12015,6 +12007,27 @@ hook_hooks.add('tableFilterModule', {
12015
12007
  visible: filterStore.visible
12016
12008
  }, evnt);
12017
12009
  },
12010
+ /**
12011
+ * 点击筛选事件
12012
+ * 当筛选图标被点击时触发
12013
+ * 更新选项是否全部状态
12014
+ * 打开筛选面板
12015
+ * @param {Event} evnt 事件
12016
+ * @param {ColumnInfo} column 列配置
12017
+ * @param {Object} params 参数
12018
+ */
12019
+ triggerFilterEvent(evnt, column, params) {
12020
+ const {
12021
+ elemStore
12022
+ } = internalData;
12023
+ const {
12024
+ fixed
12025
+ } = column;
12026
+ const headerWrapperElem = getRefElem(elemStore[`${fixed || 'main'}-header-wrapper`] || elemStore['main-header-wrapper']);
12027
+ const btnElem = evnt.currentTarget;
12028
+ const colEl = headerWrapperElem ? headerWrapperElem.querySelector(`.vxe-header--column.${column.id}`) : null;
12029
+ $xeTable.handleOpenFilterColumn(evnt, btnElem, colEl || btnElem, column, params);
12030
+ },
12018
12031
  handleClearFilter(column) {
12019
12032
  if (column) {
12020
12033
  const {
@@ -12204,13 +12217,41 @@ hook_hooks.add('tableFilterModule', {
12204
12217
  elemStore
12205
12218
  } = internalData;
12206
12219
  const {
12207
- fixed
12220
+ fixed,
12221
+ filters
12208
12222
  } = column;
12209
12223
  return $xeTable.scrollToColumn(column).then(() => {
12210
12224
  const headerWrapperElem = getRefElem(elemStore[`${fixed || 'main'}-header-wrapper`] || elemStore['main-header-wrapper']);
12211
12225
  if (headerWrapperElem) {
12212
12226
  const filterBtnElem = headerWrapperElem.querySelector(`.vxe-header--column.${column.id} .vxe-cell--filter`);
12213
- triggerEvent(filterBtnElem, 'click');
12227
+ if (filterBtnElem) {
12228
+ triggerEvent(filterBtnElem, 'click');
12229
+ } else {
12230
+ const colEl = headerWrapperElem.querySelector(`.vxe-header--column.${column.id}`);
12231
+ if (colEl) {
12232
+ let firstFilterOption = null;
12233
+ if (filters) {
12234
+ firstFilterOption = filters[0];
12235
+ }
12236
+ const params = {
12237
+ $table: $xeTable,
12238
+ $grid: $xeGrid,
12239
+ $gantt: $xeGantt,
12240
+ $rowIndex: -1,
12241
+ column,
12242
+ columnIndex: $xeTable.getColumnIndex(column),
12243
+ $columnIndex: $xeTable.getVMColumnIndex(column),
12244
+ _columnIndex: $xeTable.getVTColumnIndex(column),
12245
+ firstFilterOption: firstFilterOption,
12246
+ fixed,
12247
+ source: hook_sourceType,
12248
+ type: 'header'
12249
+ // isHidden
12250
+ // hasFilter
12251
+ };
12252
+ $xeTable.handleOpenFilterColumn(new Event('click'), null, colEl, column, params);
12253
+ }
12254
+ }
12214
12255
  }
12215
12256
  });
12216
12257
  }
@@ -20073,7 +20114,7 @@ if(column.editRender&&isEnableConf(editConfig)){// 如果是行编辑模式
20073
20114
  if(editOpts.mode==='row'&&actived.row===row){return;}// 如果是单元格编辑模式
20074
20115
  if(actived.row===row&&actived.column===column){return;}}if(tooltipStore.column!==column||tooltipStore.row!==row||!tooltipStore.visible){const ctEl=tdEl.querySelector('.vxe-cell--wrapper');let ovEl=null;let tipEl=tdEl.querySelector(column.type==='html'?'.vxe-cell--html':'.vxe-cell--label');if(column.treeNode){ovEl=tdEl.querySelector('.vxe-tree-cell');}if(!tipEl){tipEl=ctEl;}handleTooltip(evnt,tooltipOpts,'body',tdEl,ovEl||ctEl,tipEl,params);}},/**
20075
20116
  * 触发表尾 tooltip 事件
20076
- */triggerFooterTooltipEvent(evnt,params){const{column}=params;const{tooltipStore}=reactData;const footerTooltipOpts=computeFooterTooltipOpts.value;const tdEl=evnt.currentTarget;handleTargetEnterEvent(tooltipStore.column!==column||!!tooltipStore.row);if(tooltipStore.column!==column||!tooltipStore.visible){const ctEl=tdEl.querySelector('.vxe-cell--wrapper');let ovEl=null;let tipEl=tdEl.querySelector(column.type==='html'?'.vxe-cell--html':'.vxe-cell--label');if(column.type==='html'){ovEl=tdEl.querySelector('.vxe-cell--html');}if(!tipEl){tipEl=ctEl;}handleTooltip(evnt,footerTooltipOpts,'footer',tdEl,ovEl||ctEl,tipEl,params);}},handleTargetLeaveEvent(){const tooltipOpts=computeTooltipOpts.value;let $tooltip=refTooltip.value;if($tooltip&&$tooltip.setActived){$tooltip.setActived(false);}if(tooltipOpts.enterable){internalData.tooltipTimeout=setTimeout(()=>{$tooltip=refTooltip.value;if($tooltip&&$tooltip.isActived&&!$tooltip.isActived()){$xeTable.closeTooltip();}},tooltipOpts.leaveDelay);}else{$xeTable.closeTooltip();}},triggerHeaderCellClickEvent(evnt,params){const{_lastResizeTime}=internalData;const sortOpts=computeSortOpts.value;const columnOpts=computeColumnOpts.value;const currentColumnOpts=computeCurrentColumnOpts.value;const{column}=params;const cell=evnt.currentTarget;const triggerResizable=_lastResizeTime&&_lastResizeTime>Date.now()-300;const triggerSort=getEventTargetNode(evnt,cell,'vxe-cell--sort').flag;const triggerFilter=getEventTargetNode(evnt,cell,'vxe-cell--filter').flag;if(sortOpts.trigger==='cell'&&!(triggerResizable||triggerSort||triggerFilter)){$xeTable.triggerSortEvent(evnt,column,getNextSortOrder(column));}dispatchEvent('header-cell-click',Object.assign({triggerResizable,triggerSort,triggerFilter,cell},params),evnt);if((columnOpts.isCurrent||props.highlightCurrentColumn)&&(!currentColumnOpts.trigger||['header','default'].includes(currentColumnOpts.trigger))){$xeTable.triggerCurrentColumnEvent(evnt,params);}},triggerHeaderCellDblclickEvent(evnt,params){dispatchEvent('header-cell-dblclick',Object.assign({cell:evnt.currentTarget},params),evnt);},/**
20117
+ */triggerFooterTooltipEvent(evnt,params){const{column}=params;const{tooltipStore}=reactData;const footerTooltipOpts=computeFooterTooltipOpts.value;const tdEl=evnt.currentTarget;handleTargetEnterEvent(tooltipStore.column!==column||!!tooltipStore.row);if(tooltipStore.column!==column||!tooltipStore.visible){const ctEl=tdEl.querySelector('.vxe-cell--wrapper');let ovEl=null;let tipEl=tdEl.querySelector(column.type==='html'?'.vxe-cell--html':'.vxe-cell--label');if(column.type==='html'){ovEl=tdEl.querySelector('.vxe-cell--html');}if(!tipEl){tipEl=ctEl;}handleTooltip(evnt,footerTooltipOpts,'footer',tdEl,ovEl||ctEl,tipEl,params);}},handleTargetLeaveEvent(){const tooltipOpts=computeTooltipOpts.value;let $tooltip=refTooltip.value;if($tooltip&&$tooltip.setActived){$tooltip.setActived(false);}if(tooltipOpts.enterable){internalData.tooltipTimeout=setTimeout(()=>{$tooltip=refTooltip.value;if($tooltip&&$tooltip.isActived&&!$tooltip.isActived()){$xeTable.closeTooltip();}},tooltipOpts.leaveDelay);}else{$xeTable.closeTooltip();}},triggerHeaderCellClickEvent(evnt,params){const{_lastResizeTime}=internalData;const sortOpts=computeSortOpts.value;const columnOpts=computeColumnOpts.value;const currentColumnOpts=computeCurrentColumnOpts.value;const{column}=params;const cell=evnt.currentTarget;const triggerResizable=_lastResizeTime&&_lastResizeTime>Date.now()-300;const triggerSort=getEventTargetNode(evnt,cell,'vxe-cell--sort').flag;const triggerFilter=getEventTargetNode(evnt,cell,'vxe-cell--filter').flag;if(sortOpts.trigger==='cell'&&!(triggerResizable||triggerSort||triggerFilter)){$xeTable.triggerSortEvent(evnt,column,getNextSortOrder(column));}if($xeGantt){const ganttReactData=$xeGantt.reactData;ganttReactData.activeBarRowid=null;}dispatchEvent('header-cell-click',Object.assign({triggerResizable,triggerSort,triggerFilter,cell},params),evnt);if((columnOpts.isCurrent||props.highlightCurrentColumn)&&(!currentColumnOpts.trigger||['header','default'].includes(currentColumnOpts.trigger))){$xeTable.triggerCurrentColumnEvent(evnt,params);}},triggerHeaderCellDblclickEvent(evnt,params){dispatchEvent('header-cell-dblclick',Object.assign({cell:evnt.currentTarget},params),evnt);},/**
20077
20118
  * 列点击事件
20078
20119
  * 如果是单击模式,则激活为编辑状态
20079
20120
  * 如果是双击模式,则单击后选中状态
@@ -20088,10 +20129,10 @@ if(!triggerRadio&&(radioColumn&&radioOpts.trigger==='row'||isRadioType&&radioOpt
20088
20129
  if(!triggerCheckbox&&(checkboxColumn&&checkboxOpts.trigger==='row'||isCheckboxType&&checkboxOpts.trigger==='cell')){$xeTable.handleToggleCheckRowEvent(evnt,params);}}// 如果设置了单元格选中功能,则不会使用点击事件去处理(只能支持双击模式)
20089
20130
  if(isEnableConf(editConfig)){// 记录点击输入框聚焦状态
20090
20131
  if(keyboardOpts.arrowCursorLock&&evnt&&editOpts.mode==='cell'&&evnt.target&&/^input|textarea$/i.test(evnt.target.tagName)){focused.column=column;focused.row=row;}if(editOpts.trigger==='manual'){if(actived.args&&actived.row===row&&column!==actived.column){handleChangeCell(evnt,params);}}else if(!actived.args||row!==actived.row||column!==actived.column){if(editOpts.trigger==='click'){handleChangeCell(evnt,params);}else if(editOpts.trigger==='dblclick'){if(editOpts.mode==='row'&&actived.row===row){handleChangeCell(evnt,params);}}}}}// 如果是双击编辑模式
20091
- if(isEnableConf(editConfig)&&editOpts.trigger==='dblclick'){if(actived.row&&actived.column){if(editOpts.mode==='row'){if(!$xeTable.eqRow(actived.row,row)){$xeTable.handleClearEdit(evnt);}}else if(editOpts.mode==='cell'){if(!$xeTable.eqRow(actived.row,row)||actived.column.id!==column.id){$xeTable.handleClearEdit(evnt);}}}}dispatchEvent('cell-click',params,evnt);},/**
20132
+ if(isEnableConf(editConfig)&&editOpts.trigger==='dblclick'){if(actived.row&&actived.column){if(editOpts.mode==='row'){if(!$xeTable.eqRow(actived.row,row)){$xeTable.handleClearEdit(evnt);}}else if(editOpts.mode==='cell'){if(!$xeTable.eqRow(actived.row,row)||actived.column.id!==column.id){$xeTable.handleClearEdit(evnt);}}}}if($xeGantt){const ganttReactData=$xeGantt.reactData;ganttReactData.activeBarRowid=null;}dispatchEvent('cell-click',params,evnt);},/**
20092
20133
  * 列双击点击事件
20093
20134
  * 如果是双击模式,则激活为编辑状态
20094
- */triggerCellDblclickEvent(evnt,params){const{editConfig}=props;const{editStore,isDragResize}=reactData;if(isDragResize){return;}const editOpts=computeEditOpts.value;const{actived}=editStore;const cell=evnt.currentTarget;params=Object.assign({cell},params);if(isEnableConf(editConfig)&&editOpts.trigger==='dblclick'){if(!actived.args||evnt.currentTarget!==actived.args.cell){if(editOpts.mode==='row'){checkValidate('blur').catch(e=>e).then(()=>{$xeTable.handleEdit(params,evnt).then(()=>checkValidate('change')).catch(e=>e);});}else if(editOpts.mode==='cell'){$xeTable.handleEdit(params,evnt).then(()=>checkValidate('change')).catch(e=>e);}}}dispatchEvent('cell-dblclick',params,evnt);},handleToggleCheckRowEvent(evnt,params){const{selectCheckboxMaps}=internalData;const checkboxOpts=computeCheckboxOpts.value;const{checkField,trigger}=checkboxOpts;const{row}=params;if(trigger==='manual'){return;}let checked=false;if(checkField){checked=!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,checkField);}else{checked=!selectCheckboxMaps[getRowid($xeTable,row)];}if(evnt){$xeTable.triggerCheckRowEvent(evnt,params,checked);}else{$xeTable.handleBatchSelectRows([row],checked);$xeTable.checkSelectionStatus();}},triggerCheckRowEvent(evnt,params,checked){const{treeConfig}=props;const{row}=params;const{isRowGroupStatus}=reactData;const{afterFullData}=internalData;const checkboxOpts=computeCheckboxOpts.value;const{checkMethod,trigger}=checkboxOpts;if(trigger==='manual'){return;}evnt.stopPropagation();if(checkboxOpts.isShiftKey&&evnt.shiftKey&&!(treeConfig||isRowGroupStatus)){const checkboxRecords=$xeTable.getCheckboxRecords();if(checkboxRecords.length){const firstRow=checkboxRecords[0];const _rowIndex=$xeTable.getVTRowIndex(row);const _firstRowIndex=$xeTable.getVTRowIndex(firstRow);if(_rowIndex!==_firstRowIndex){$xeTable.setAllCheckboxRow(false);const rangeRows=_rowIndex<_firstRowIndex?afterFullData.slice(_rowIndex,_firstRowIndex+1):afterFullData.slice(_firstRowIndex,_rowIndex+1);(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{handleCheckedCheckboxRow(rangeRows,true,false);});dispatchEvent('checkbox-range-select',Object.assign({rangeRecords:rangeRows},params),evnt);return;}}}if(isRowGroupStatus||!checkMethod||checkMethod({$table:$xeTable,row})){$xeTable.handleBatchSelectRows([row],checked);$xeTable.checkSelectionStatus();dispatchEvent('checkbox-change',Object.assign({records:()=>$xeTable.getCheckboxRecords(),reserves:()=>$xeTable.getCheckboxReserveRecords(),indeterminates:()=>$xeTable.getCheckboxIndeterminateRecords(),checked},params),evnt);}},/**
20135
+ */triggerCellDblclickEvent(evnt,params){const{editConfig}=props;const{editStore,isDragResize}=reactData;if(isDragResize){return;}const editOpts=computeEditOpts.value;const{actived}=editStore;const cell=evnt.currentTarget;params=Object.assign({cell},params);if(isEnableConf(editConfig)&&editOpts.trigger==='dblclick'){if(!actived.args||evnt.currentTarget!==actived.args.cell){if(editOpts.mode==='row'){checkValidate('blur').catch(e=>e).then(()=>{$xeTable.handleEdit(params,evnt).then(()=>checkValidate('change')).catch(e=>e);});}else if(editOpts.mode==='cell'){$xeTable.handleEdit(params,evnt).then(()=>checkValidate('change')).catch(e=>e);}}}dispatchEvent('cell-dblclick',params,evnt);},triggerFooterCellClickEvent(evnt,params){const cell=evnt.currentTarget;params=Object.assign({cell},params);if($xeGantt){const ganttReactData=$xeGantt.reactData;ganttReactData.activeBarRowid=null;}$xeTable.dispatchEvent('footer-cell-click',params,evnt);},triggerFooterCellDblclickEvent(evnt,params){const cell=evnt.currentTarget;params=Object.assign({cell},params);$xeTable.dispatchEvent('footer-cell-dblclick',params,evnt);},handleToggleCheckRowEvent(evnt,params){const{selectCheckboxMaps}=internalData;const checkboxOpts=computeCheckboxOpts.value;const{checkField,trigger}=checkboxOpts;const{row}=params;if(trigger==='manual'){return;}let checked=false;if(checkField){checked=!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,checkField);}else{checked=!selectCheckboxMaps[getRowid($xeTable,row)];}if(evnt){$xeTable.triggerCheckRowEvent(evnt,params,checked);}else{$xeTable.handleBatchSelectRows([row],checked);$xeTable.checkSelectionStatus();}},triggerCheckRowEvent(evnt,params,checked){const{treeConfig}=props;const{row}=params;const{isRowGroupStatus}=reactData;const{afterFullData}=internalData;const checkboxOpts=computeCheckboxOpts.value;const{checkMethod,trigger}=checkboxOpts;if(trigger==='manual'){return;}evnt.stopPropagation();if(checkboxOpts.isShiftKey&&evnt.shiftKey&&!(treeConfig||isRowGroupStatus)){const checkboxRecords=$xeTable.getCheckboxRecords();if(checkboxRecords.length){const firstRow=checkboxRecords[0];const _rowIndex=$xeTable.getVTRowIndex(row);const _firstRowIndex=$xeTable.getVTRowIndex(firstRow);if(_rowIndex!==_firstRowIndex){$xeTable.setAllCheckboxRow(false);const rangeRows=_rowIndex<_firstRowIndex?afterFullData.slice(_rowIndex,_firstRowIndex+1):afterFullData.slice(_firstRowIndex,_rowIndex+1);(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{handleCheckedCheckboxRow(rangeRows,true,false);});dispatchEvent('checkbox-range-select',Object.assign({rangeRecords:rangeRows},params),evnt);return;}}}if(isRowGroupStatus||!checkMethod||checkMethod({$table:$xeTable,row})){$xeTable.handleBatchSelectRows([row],checked);$xeTable.checkSelectionStatus();dispatchEvent('checkbox-change',Object.assign({records:()=>$xeTable.getCheckboxRecords(),reserves:()=>$xeTable.getCheckboxReserveRecords(),indeterminates:()=>$xeTable.getCheckboxIndeterminateRecords(),checked},params),evnt);}},/**
20095
20136
  * 多选,选中所有事件
20096
20137
  */triggerCheckAllEvent(evnt,value){const checkboxOpts=computeCheckboxOpts.value;const{trigger}=checkboxOpts;if(trigger==='manual'){return;}if(evnt){evnt.stopPropagation();}handleCheckAllEvent(evnt,value);},/**
20097
20138
  * 单选,行选中事件
@@ -23192,7 +23233,7 @@ const Toolbar = VxeToolbar;
23192
23233
  allChecked: '全选',
23193
23234
  total: '{0} / {1}',
23194
23235
  search: '搜索',
23195
- loadingText: '加载中',
23236
+ loadingText: '加载中...',
23196
23237
  emptyText: '暂无数据',
23197
23238
  maxSize: '最大可选择的数量不能超过 {0} 个',
23198
23239
  overSizeErr: '已超出最大可选数量 {0} 个,超出部分将被忽略!',
@@ -23625,6 +23666,9 @@ const Toolbar = VxeToolbar;
23625
23666
  ss: '秒'
23626
23667
  }
23627
23668
  },
23669
+ contextMenu: {
23670
+ loadingText: '加载中...'
23671
+ },
23628
23672
  gantt: {
23629
23673
  tFullFormat: {
23630
23674
  year: '{yyyy}年',