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
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.6";
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.6"}`;
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
@@ -9989,6 +9989,7 @@ const {
9989
9989
  columns,
9990
9990
  params: defaultOptions.params
9991
9991
  };
9992
+ const hasEmptyData = defaultOptions.mode === 'empty';
9992
9993
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
9993
9994
  class: 'vxe-table-export--panel'
9994
9995
  }, [topSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
@@ -10057,7 +10058,8 @@ const {
10057
10058
  }, $xeTable.callSlot(parameterSlot, params))]) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('td', [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
10058
10059
  class: 'vxe-table-export--panel-option-row'
10059
10060
  }, [VxeUICheckboxComponent ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(VxeUICheckboxComponent, {
10060
- modelValue: defaultOptions.isHeader,
10061
+ modelValue: hasEmptyData || defaultOptions.isHeader,
10062
+ disabled: hasEmptyData,
10061
10063
  title: export_panel_getI18n('vxe.export.expHeaderTitle'),
10062
10064
  content: export_panel_getI18n('vxe.export.expOptHeader'),
10063
10065
  'onUpdate:modelValue'(value) {
@@ -10072,7 +10074,8 @@ const {
10072
10074
  defaultOptions.isFooter = value;
10073
10075
  }
10074
10076
  }) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)(), VxeUICheckboxComponent ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(VxeUICheckboxComponent, {
10075
- modelValue: defaultOptions.original,
10077
+ modelValue: hasEmptyData ? false : defaultOptions.original,
10078
+ disabled: hasEmptyData,
10076
10079
  title: export_panel_getI18n('vxe.export.expOriginalTitle'),
10077
10080
  content: export_panel_getI18n('vxe.export.expOptOriginal'),
10078
10081
  'onUpdate:modelValue'(value) {
@@ -10094,7 +10097,7 @@ const {
10094
10097
  }) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)(), VxeUICheckboxComponent ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(VxeUICheckboxComponent, {
10095
10098
  modelValue: hasMerge && supportMerge && checkedAll ? defaultOptions.isMerge : false,
10096
10099
  title: export_panel_getI18n('vxe.export.expMergeTitle'),
10097
- disabled: !hasMerge || !supportMerge || !checkedAll,
10100
+ disabled: hasEmptyData || !hasMerge || !supportMerge || !checkedAll,
10098
10101
  content: export_panel_getI18n('vxe.export.expOptMerge'),
10099
10102
  'onUpdate:modelValue'(value) {
10100
10103
  defaultOptions.isMerge = value;
@@ -10109,7 +10112,7 @@ const {
10109
10112
  }
10110
10113
  }), VxeUICheckboxComponent ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(VxeUICheckboxComponent, {
10111
10114
  modelValue: hasTree ? defaultOptions.isAllExpand : false,
10112
- disabled: !hasTree,
10115
+ disabled: hasEmptyData || !hasTree,
10113
10116
  title: export_panel_getI18n('vxe.export.expAllExpandTitle'),
10114
10117
  content: export_panel_getI18n('vxe.export.expOptAllExpand'),
10115
10118
  'onUpdate:modelValue'(value) {
@@ -13006,7 +13009,7 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
13006
13009
  reactData.isIndeterminate = false;
13007
13010
  reactData.treeIndeterminateMaps = {};
13008
13011
  internalData.treeIndeterminateRowMaps = {};
13009
- tablePrivateMethods.checkSelectionStatus();
13012
+ $xeTable.checkSelectionStatus();
13010
13013
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
13011
13014
  };
13012
13015
  // 还原展开、选中等相关状态
@@ -13055,12 +13058,12 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
13055
13058
  reactData.rowExpandedMaps = expandColumn ? getRecoverRowMaps(rowExpandedMaps) : {}; // 刷新行展开状态
13056
13059
  // 还原保留状态
13057
13060
  if (expandColumn && expandOpts.reserve) {
13058
- tableMethods.setRowExpand(handleReserveRow(internalData.rowExpandedReserveRowMap), true);
13061
+ $xeTable.setRowExpand(handleReserveRow(internalData.rowExpandedReserveRowMap), true);
13059
13062
  }
13060
13063
  // 树展开
13061
13064
  reactData.treeExpandedMaps = treeConfig ? getRecoverRowMaps(treeExpandedMaps) : {}; // 刷新树展开状态
13062
13065
  if (treeConfig && treeOpts.reserve) {
13063
- tableMethods.setTreeExpand(handleReserveRow(internalData.treeExpandedReserveRowMap), true);
13066
+ $xeTable.setTreeExpand(handleReserveRow(internalData.treeExpandedReserveRowMap), true);
13064
13067
  }
13065
13068
  };
13066
13069
  /**
@@ -13921,9 +13924,9 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
13921
13924
  handleCheckedAllCheckboxRow(value);
13922
13925
  if (evnt) {
13923
13926
  dispatchEvent('checkbox-all', {
13924
- records: tableMethods.getCheckboxRecords(),
13925
- reserves: tableMethods.getCheckboxReserveRecords(),
13926
- indeterminates: tableMethods.getCheckboxIndeterminateRecords(),
13927
+ records: $xeTable.getCheckboxRecords(),
13928
+ reserves: $xeTable.getCheckboxReserveRecords(),
13929
+ indeterminates: $xeTable.getCheckboxIndeterminateRecords(),
13927
13930
  checked: value
13928
13931
  }, evnt);
13929
13932
  }
@@ -22087,8 +22090,7 @@ hook_hooks.add('tableFilterModule', {
22087
22090
  internalData
22088
22091
  } = $xeTable;
22089
22092
  const {
22090
- refTableHeader,
22091
- refTableBody,
22093
+ refElem,
22092
22094
  refTableFilter
22093
22095
  } = $xeTable.getRefMaps();
22094
22096
  const {
@@ -22156,13 +22158,19 @@ hook_hooks.add('tableFilterModule', {
22156
22158
  initStore,
22157
22159
  filterStore
22158
22160
  } = reactData;
22161
+ const {
22162
+ elemStore
22163
+ } = internalData;
22159
22164
  if (filterStore.column === column && filterStore.visible) {
22160
22165
  filterStore.visible = false;
22161
22166
  } else {
22162
22167
  const {
22163
- target: targetElem,
22168
+ clientY,
22164
22169
  pageX
22165
22170
  } = evnt;
22171
+ const el = refElem.value;
22172
+ const tableRect = el.getBoundingClientRect();
22173
+ const targetElem = evnt.target;
22166
22174
  const {
22167
22175
  visibleWidth
22168
22176
  } = getDomNode();
@@ -22201,11 +22209,8 @@ hook_hooks.add('tableFilterModule', {
22201
22209
  filterStore.visible = true;
22202
22210
  initStore.filter = true;
22203
22211
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
22204
- const tableHeader = refTableHeader.value;
22205
- const tableBody = refTableBody.value;
22206
- const headerElem = tableHeader ? tableHeader.$el : null;
22207
- const bodyElem = tableBody.$el;
22208
- if (!bodyElem) {
22212
+ const headerScrollElem = getRefElem(elemStore['main-header-scroll']);
22213
+ if (!headerScrollElem) {
22209
22214
  return;
22210
22215
  }
22211
22216
  const tableFilter = refTableFilter.value;
@@ -22214,28 +22219,25 @@ hook_hooks.add('tableFilterModule', {
22214
22219
  return;
22215
22220
  }
22216
22221
  const filterWidth = filterWrapperElem.offsetWidth;
22217
- const filterHeight = filterWrapperElem.offsetHeight;
22218
22222
  const filterHeadElem = filterWrapperElem.querySelector('.vxe-table--filter-header');
22219
22223
  const filterFootElem = filterWrapperElem.querySelector('.vxe-table--filter-footer');
22220
22224
  const centerWidth = filterWidth / 2;
22221
22225
  const minMargin = 10;
22222
- const maxLeft = bodyElem.clientWidth - filterWidth - minMargin;
22226
+ const maxLeft = el.clientWidth - filterWidth - minMargin;
22223
22227
  let left, right;
22228
+ const thEl = targetElem.offsetParent;
22229
+ const trEl = thEl.offsetParent;
22224
22230
  const style = {
22225
- top: `${targetElem.offsetTop + targetElem.offsetParent.offsetTop + targetElem.offsetHeight}px`
22231
+ top: `${targetElem.offsetTop + thEl.offsetTop + targetElem.offsetHeight}px`
22226
22232
  };
22227
22233
  // 判断面板不能大于表格高度
22228
- let maxHeight = null;
22229
- const bodyHeight = bodyElem.clientHeight - (headerElem ? headerElem.clientHeight / 2 : 0);
22230
- if (filterHeight >= bodyHeight) {
22231
- maxHeight = Math.max(40, bodyHeight - (filterFootElem ? filterFootElem.offsetHeight : 0) - (filterHeadElem ? filterHeadElem.offsetHeight : 0));
22232
- }
22234
+ const maxHeight = Math.max(40, el.clientHeight - (clientY - tableRect.y) - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 14);
22233
22235
  if (column.fixed === 'left') {
22234
- left = targetElem.offsetLeft + targetElem.offsetParent.offsetLeft - centerWidth;
22236
+ left = targetElem.offsetLeft + thEl.offsetLeft - centerWidth;
22235
22237
  } else if (column.fixed === 'right') {
22236
- 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;
22237
22239
  } else {
22238
- left = targetElem.offsetLeft + targetElem.offsetParent.offsetLeft - centerWidth - bodyElem.scrollLeft;
22240
+ left = targetElem.offsetLeft + thEl.offsetLeft - centerWidth - headerScrollElem.scrollLeft;
22239
22241
  }
22240
22242
  if (left) {
22241
22243
  const overflowWidth = pageX + filterWidth - centerWidth + minMargin - visibleWidth;
@@ -25307,7 +25309,7 @@ export_hook_hooks.add('tableExportModule', {
25307
25309
  isMerge: hasMerge,
25308
25310
  useStyle: true,
25309
25311
  current: 'current',
25310
- modes: ['current', 'selected'].concat(proxyOpts.ajax && proxyOpts.ajax.queryAll ? ['all'] : [])
25312
+ modes: (proxyOpts.ajax && proxyOpts.ajax.queryAll ? ['all'] : []).concat(['current', 'selected', 'empty'])
25311
25313
  }, options);
25312
25314
  const types = defOpts.types || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().keys(exportOpts._typeMaps);
25313
25315
  const modes = defOpts.modes || [];
@@ -25448,7 +25450,7 @@ export_hook_hooks.add('tableExportModule', {
25448
25450
  isMerge: hasMerge,
25449
25451
  useStyle: true,
25450
25452
  current: 'current',
25451
- modes: ['current', 'selected'].concat(proxyOpts.ajax && proxyOpts.ajax.queryAll ? ['all'] : []),
25453
+ modes: (proxyOpts.ajax && proxyOpts.ajax.queryAll ? ['all'] : []).concat(['current', 'selected', 'empty']),
25452
25454
  download: true,
25453
25455
  type: 'csv'
25454
25456
  // filename: '',
@@ -25704,7 +25706,8 @@ export_hook_hooks.add('tableExportModule', {
25704
25706
  });
25705
25707
  }
25706
25708
  }
25707
- } else if (mode === 'current') {
25709
+ }
25710
+ if (mode === 'current') {
25708
25711
  handleOptions.data = afterFullData;
25709
25712
  }
25710
25713
  }
@@ -30975,7 +30978,7 @@ const Grid = VxeGrid;
30975
30978
  treeNotImp: '树表格不支持导入',
30976
30979
  treeCrossDrag: '只能拖拽第一层级',
30977
30980
  treeDragChild: '父级不能拖拽到自己的子级中',
30978
- reqPlugin: '可选扩展插件 "{1}" https://vxeui.com/other{0}/#/{1}/install'
30981
+ reqPlugin: '扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install'
30979
30982
  },
30980
30983
  table: {
30981
30984
  emptyText: '暂无数据',
@@ -31043,7 +31046,8 @@ const Grid = VxeGrid;
31043
31046
  },
31044
31047
  button: {
31045
31048
  confirm: '确认',
31046
- cancel: '取消'
31049
+ cancel: '取消',
31050
+ clear: '清除'
31047
31051
  },
31048
31052
  filter: {
31049
31053
  search: '搜索'
@@ -31095,6 +31099,7 @@ const Grid = VxeGrid;
31095
31099
  pdf: 'PDF (*.pdf)'
31096
31100
  },
31097
31101
  modes: {
31102
+ empty: '空数据',
31098
31103
  current: '当前数据(当前页的数据)',
31099
31104
  selected: '选中数据(当前页选中的数据)',
31100
31105
  all: '全量数据(包括所有分页的数据)'