vxe-table 3.15.17 → 3.15.18

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 (85) hide show
  1. package/es/locale/lang/fr-FR.d.ts +2 -0
  2. package/es/locale/lang/hy-AM.d.ts +2 -0
  3. package/es/locale/lang/id-ID.d.ts +2 -0
  4. package/es/locale/lang/it-IT.d.ts +2 -0
  5. package/es/locale/lang/ms-MY.d.ts +2 -0
  6. package/es/locale/lang/ms-MY.js +708 -0
  7. package/es/locale/lang/nb-NO.d.ts +2 -0
  8. package/es/locale/lang/th-TH.d.ts +2 -0
  9. package/es/locale/lang/ug-CN.d.ts +2 -0
  10. package/es/locale/lang/uz-UZ.d.ts +2 -0
  11. package/es/locale/lang/uz-UZ.js +708 -0
  12. package/es/locale/lang/vi-VN.d.ts +2 -0
  13. package/es/style.css +1 -1
  14. package/es/table/module/custom/panel.js +1 -1
  15. package/es/table/module/filter/mixin.js +10 -0
  16. package/es/table/src/methods.js +36 -36
  17. package/es/ui/index.js +1 -1
  18. package/es/ui/src/log.js +1 -1
  19. package/lib/index.umd.js +51 -36
  20. package/lib/index.umd.min.js +1 -1
  21. package/lib/locale/lang/ar-EG.d.ts +2 -0
  22. package/lib/locale/lang/ar-EG.min.js +1 -1
  23. package/lib/locale/lang/ar-EG.umd.js +728 -0
  24. package/lib/locale/lang/de-DE.d.ts +2 -0
  25. package/lib/locale/lang/de-DE.min.js +1 -1
  26. package/lib/locale/lang/de-DE.umd.js +728 -0
  27. package/lib/locale/lang/fr-FR.d.ts +2 -0
  28. package/lib/locale/lang/fr-FR.min.js +1 -1
  29. package/lib/locale/lang/fr-FR.umd.js +728 -0
  30. package/lib/locale/lang/hy-AM.d.ts +2 -0
  31. package/lib/locale/lang/hy-AM.min.js +1 -1
  32. package/lib/locale/lang/hy-AM.umd.js +728 -0
  33. package/lib/locale/lang/id-ID.d.ts +2 -0
  34. package/lib/locale/lang/id-ID.min.js +1 -1
  35. package/lib/locale/lang/id-ID.umd.js +728 -0
  36. package/lib/locale/lang/it-IT.d.ts +2 -0
  37. package/lib/locale/lang/it-IT.min.js +1 -1
  38. package/lib/locale/lang/it-IT.umd.js +728 -0
  39. package/lib/locale/lang/ms-MY.d.ts +2 -0
  40. package/lib/locale/lang/ms-MY.js +714 -0
  41. package/lib/locale/lang/ms-MY.min.js +1 -0
  42. package/lib/locale/lang/ms-MY.umd.js +728 -0
  43. package/lib/locale/lang/nb-NO.d.ts +2 -0
  44. package/lib/locale/lang/nb-NO.min.js +1 -1
  45. package/lib/locale/lang/nb-NO.umd.js +728 -0
  46. package/lib/locale/lang/th-TH.d.ts +2 -0
  47. package/lib/locale/lang/th-TH.min.js +1 -1
  48. package/lib/locale/lang/th-TH.umd.js +728 -0
  49. package/lib/locale/lang/ug-CN.d.ts +2 -0
  50. package/lib/locale/lang/ug-CN.min.js +1 -1
  51. package/lib/locale/lang/ug-CN.umd.js +728 -0
  52. package/lib/locale/lang/uz-UZ.d.ts +2 -0
  53. package/lib/locale/lang/uz-UZ.js +714 -0
  54. package/lib/locale/lang/uz-UZ.min.js +1 -0
  55. package/lib/locale/lang/uz-UZ.umd.js +728 -0
  56. package/lib/locale/lang/vi-VN.d.ts +2 -0
  57. package/lib/locale/lang/vi-VN.min.js +1 -1
  58. package/lib/locale/lang/vi-VN.umd.js +728 -0
  59. package/lib/locale/lang/zh-TC.min.js +1 -1
  60. package/lib/style.css +1 -1
  61. package/lib/table/module/custom/panel.js +1 -1
  62. package/lib/table/module/custom/panel.min.js +1 -1
  63. package/lib/table/module/filter/mixin.js +10 -0
  64. package/lib/table/module/filter/mixin.min.js +1 -1
  65. package/lib/table/src/methods.js +38 -33
  66. package/lib/table/src/methods.min.js +1 -1
  67. package/lib/ui/index.js +1 -1
  68. package/lib/ui/index.min.js +1 -1
  69. package/lib/ui/src/log.js +1 -1
  70. package/lib/ui/src/log.min.js +1 -1
  71. package/package.json +1 -1
  72. package/packages/locale/lang/ms-MY.ts +708 -0
  73. package/packages/locale/lang/uz-UZ.ts +708 -0
  74. package/packages/table/module/custom/panel.ts +1 -1
  75. package/packages/table/module/filter/mixin.ts +12 -0
  76. package/packages/table/src/methods.ts +41 -35
  77. package/lib/locale/lang/zh-TC.umd.js +0 -23
  78. /package/es/{iconfont.1746324587006.ttf → iconfont.1746578838891.ttf} +0 -0
  79. /package/es/{iconfont.1746324587006.woff → iconfont.1746578838891.woff} +0 -0
  80. /package/es/{iconfont.1746324587006.woff2 → iconfont.1746578838891.woff2} +0 -0
  81. /package/es/locale/lang/{zh-TC.d.ts → ar-EG.d.ts} +0 -0
  82. /package/{lib/locale/lang/zh-TC.d.ts → es/locale/lang/de-DE.d.ts} +0 -0
  83. /package/lib/{iconfont.1746324587006.ttf → iconfont.1746578838891.ttf} +0 -0
  84. /package/lib/{iconfont.1746324587006.woff → iconfont.1746578838891.woff} +0 -0
  85. /package/lib/{iconfont.1746324587006.woff2 → iconfont.1746578838891.woff2} +0 -0
@@ -854,7 +854,7 @@ export default {
854
854
 
855
855
  const { customOpts } = $xeTable
856
856
  const { mode } = customOpts
857
- if (!VxeUIModalComponent) {
857
+ if (!VxeUIModalComponent && (mode === 'modal')) {
858
858
  errLog('vxe.error.reqComp', ['vxe-modal'])
859
859
  }
860
860
  if (!VxeUIDrawerComponent && (mode === 'drawer')) {
@@ -167,12 +167,24 @@ export default {
167
167
  $xeTable.handleFilterConfirmFilter(null)
168
168
  return $xeTable.$nextTick()
169
169
  },
170
+ _saveFilterPanelByEvent (evnt: Event) {
171
+ const $xeTable = this
172
+
173
+ $xeTable.handleFilterConfirmFilter(evnt)
174
+ return $xeTable.$nextTick()
175
+ },
170
176
  _resetFilterPanel () {
171
177
  const $xeTable = this
172
178
 
173
179
  $xeTable.handleFilterResetFilter(null)
174
180
  return $xeTable.$nextTick()
175
181
  },
182
+ _resetFilterPanelByEvent (evnt: Event) {
183
+ const $xeTable = this
184
+
185
+ $xeTable.handleFilterResetFilter(evnt)
186
+ return $xeTable.$nextTick()
187
+ },
176
188
  _getCheckedFilters () {
177
189
  const { tableFullColumn } = this
178
190
  const filterList: any[] = []
@@ -1,5 +1,5 @@
1
1
  import XEUtils from 'xe-utils'
2
- import { getTpImg, isPx, isScale, hasClass, addClass, removeClass, getEventTargetNode, getPaddingTopBottomSize, getOffsetPos, setScrollTop, setScrollLeft, toCssUnit, hasControlKey } from '../../ui/src/dom'
2
+ import { getTpImg, isPx, isScale, hasClass, addClass, removeClass, getEventTargetNode, getPaddingTopBottomSize, setScrollTop, setScrollLeft, toCssUnit, hasControlKey } from '../../ui/src/dom'
3
3
  import { getLastZIndex, nextZIndex, hasChildrenList, getFuncText, isEnableConf, formatText, eqEmptyValue } from '../../ui/src/utils'
4
4
  import { VxeUI } from '../../ui'
5
5
  import Cell from './cell'
@@ -5128,8 +5128,9 @@ const Methods = {
5128
5128
  evnt.stopPropagation()
5129
5129
  evnt.preventDefault()
5130
5130
  const { column } = params
5131
- const { overflowX, scrollbarHeight } = reactData
5131
+ const { columnStore, overflowX, scrollbarHeight } = reactData
5132
5132
  const { elemStore, visibleColumn } = internalData
5133
+ const { leftList, rightList } = columnStore
5133
5134
  const resizableOpts = $xeTable.computeResizableOpts
5134
5135
  const osbHeight = overflowX ? scrollbarHeight : 0
5135
5136
  const tableEl = $xeTable.$refs.refElem as HTMLDivElement
@@ -5139,10 +5140,11 @@ const Methods = {
5139
5140
  if (!resizeBarElem) {
5140
5141
  return
5141
5142
  }
5143
+ const isLeftFixed = fixedType === 'left'
5144
+ const isRightFixed = fixedType === 'right'
5142
5145
  const resizeTipElem = resizeBarElem.firstElementChild as HTMLDivElement
5143
5146
  const scrollbarXToTop = $xeTable.computeScrollbarXToTop
5144
5147
  const { clientX: dragClientX } = evnt
5145
- const wrapperElem = $xeTable.$refs.refElem as HTMLDivElement
5146
5148
  const dragBtnElem = evnt.target as HTMLDivElement
5147
5149
  let resizeColumn = column
5148
5150
  if (column.children && column.children.length) {
@@ -5157,30 +5159,34 @@ const Methods = {
5157
5159
  if (!bodyScrollElem) {
5158
5160
  return
5159
5161
  }
5160
- const pos = getOffsetPos(dragBtnElem, wrapperElem)
5162
+ const tableRect = tableEl.getBoundingClientRect()
5163
+ const rightContainerRect = rightContainerElem ? rightContainerElem.getBoundingClientRect() : null
5164
+ const cellRect = cell.getBoundingClientRect()
5165
+ const dragBtnRect = dragBtnElem.getBoundingClientRect()
5166
+
5161
5167
  const dragBtnWidth = dragBtnElem.clientWidth
5162
5168
  const dragBtnOffsetWidth = Math.floor(dragBtnWidth / 2)
5169
+ const dragPosLeft = dragBtnRect.x - tableRect.x + dragBtnOffsetWidth
5170
+
5163
5171
  const minInterval = getColReMinWidth(cellParams) - dragBtnOffsetWidth // 列之间的最小间距
5164
- let dragMinLeft = pos.left - cell.clientWidth + dragBtnWidth + minInterval
5165
- let dragPosLeft = pos.left + dragBtnOffsetWidth
5166
- const isLeftFixed = fixedType === 'left'
5167
- const isRightFixed = fixedType === 'right'
5172
+ const dragMinLeft = isRightFixed ? 0 : (cellRect.x - tableRect.x + dragBtnWidth + minInterval)
5173
+ const dragMaxLeft = cellRect.x - tableRect.x + cell.clientWidth - minInterval
5168
5174
 
5169
- // 计算左右侧固定列偏移量
5170
- let fixedOffsetWidth = 0
5175
+ let fixedLeftRemainWidth = 0
5176
+ let fixedRightRemainWidth = 0
5171
5177
  if (isLeftFixed || isRightFixed) {
5172
- const siblingProp = isLeftFixed ? 'nextElementSibling' : 'previousElementSibling'
5173
- let tempCellElem = cell[siblingProp] as HTMLTableCellElement
5174
- while (tempCellElem) {
5175
- if (hasClass(tempCellElem, 'fixed--hidden')) {
5176
- break
5177
- } else if (!hasClass(tempCellElem, 'col--group')) {
5178
- fixedOffsetWidth += tempCellElem.offsetWidth
5178
+ let isMach = false
5179
+ const fixedColumn = isLeftFixed ? leftList : rightList
5180
+ for (let i = 0; i < fixedColumn.length; i++) {
5181
+ const item = fixedColumn[i]
5182
+ if (isMach) {
5183
+ fixedLeftRemainWidth += item.renderWidth
5184
+ } else {
5185
+ isMach = item.id === resizeColumn.id
5186
+ if (!isMach) {
5187
+ fixedRightRemainWidth += item.renderWidth
5188
+ }
5179
5189
  }
5180
- tempCellElem = tempCellElem[siblingProp] as HTMLTableCellElement
5181
- }
5182
- if (isRightFixed && rightContainerElem) {
5183
- dragPosLeft = rightContainerElem.offsetLeft + fixedOffsetWidth
5184
5190
  }
5185
5191
  }
5186
5192
 
@@ -5191,27 +5197,27 @@ const Methods = {
5191
5197
  const tableHeight = tableEl.clientHeight
5192
5198
  const offsetX = evnt.clientX - dragClientX
5193
5199
  let left = dragPosLeft + offsetX
5194
- const scrollLeft = fixedType ? 0 : bodyScrollElem.scrollLeft
5200
+
5195
5201
  if (isLeftFixed) {
5196
- // 左固定列(不允许超过右侧固定列、不允许超过右边距)
5197
- left = Math.min(left, (rightContainerElem ? rightContainerElem.offsetLeft : bodyScrollElem.clientWidth) - fixedOffsetWidth - minInterval)
5202
+ if (rightContainerRect) {
5203
+ left = Math.min(left, rightContainerRect.x - tableRect.x - fixedLeftRemainWidth - minInterval)
5204
+ }
5198
5205
  } else if (isRightFixed) {
5199
- // 右侧固定列(不允许超过左侧固定列、不允许超过左边距)
5200
- dragMinLeft = (leftContainerElem ? leftContainerElem.clientWidth : 0) + fixedOffsetWidth + minInterval
5201
- left = Math.min(left, dragPosLeft + cell.clientWidth - minInterval)
5202
- } else {
5203
- dragMinLeft = Math.max(bodyScrollElem.scrollLeft, dragMinLeft)
5204
- // left = Math.min(left, bodyScrollElem.clientWidth + bodyScrollElem.scrollLeft - 40)
5206
+ if (leftContainerElem) {
5207
+ left = Math.max(left, leftContainerElem.clientWidth + fixedRightRemainWidth + minInterval)
5208
+ }
5209
+ left = Math.min(left, dragMaxLeft)
5205
5210
  }
5211
+
5206
5212
  dragLeft = Math.max(left, dragMinLeft)
5207
- const resizeBarLeft = Math.max(1, dragLeft - scrollLeft)
5213
+
5214
+ const resizeBarLeft = Math.max(1, dragLeft)
5208
5215
  resizeBarElem.style.left = `${resizeBarLeft}px`
5209
5216
  resizeBarElem.style.top = `${scrollbarXToTop ? osbHeight : 0}px`
5210
5217
  resizeBarElem.style.height = `${scrollbarXToTop ? tableHeight - osbHeight : tableHeight}px`
5211
5218
  if (resizableOpts.showDragTip && resizeTipElem) {
5212
- resizeTipElem.textContent = getI18n('vxe.table.resizeColTip', [resizeColumn.renderWidth + (isRightFixed ? dragPosLeft - dragLeft : dragLeft - dragPosLeft)])
5219
+ resizeTipElem.textContent = getI18n('vxe.table.resizeColTip', [Math.floor(resizeColumn.renderWidth + (isRightFixed ? dragPosLeft - dragLeft : dragLeft - dragPosLeft))])
5213
5220
  const tableWrapperWidth = tableEl.clientWidth
5214
- const wrapperRect = wrapperElem.getBoundingClientRect()
5215
5221
  const resizeBarWidth = resizeBarElem.clientWidth
5216
5222
  const resizeTipWidth = resizeTipElem.clientWidth
5217
5223
  const resizeTipHeight = resizeTipElem.clientHeight
@@ -5222,7 +5228,7 @@ const Methods = {
5222
5228
  resizeTipLeft += tableWrapperWidth - resizeBarLeft
5223
5229
  }
5224
5230
  resizeTipElem.style.left = `${resizeTipLeft}px`
5225
- resizeTipElem.style.top = `${Math.min(tableHeight - resizeTipHeight, Math.max(0, evnt.clientY - wrapperRect.y - resizeTipHeight / 2))}px`
5231
+ resizeTipElem.style.top = `${Math.min(tableHeight - resizeTipHeight, Math.max(0, evnt.clientY - tableRect.y - resizeTipHeight / 2))}px`
5226
5232
  }
5227
5233
  reactData.isDragResize = true
5228
5234
  }
@@ -10312,7 +10318,7 @@ const Methods = {
10312
10318
  } as any
10313
10319
 
10314
10320
  // Module methods
10315
- const funcs = 'setFilter,openFilter,clearFilter,saveFilterPanel,resetFilterPanel,getCheckedFilters,updateFilterOptionStatus,closeMenu,setActiveCellArea,getActiveCellArea,getCellAreas,clearCellAreas,copyCellArea,cutCellArea,pasteCellArea,getCopyCellArea,getCopyCellAreas,clearCopyCellArea,setCellAreas,openFNR,openFind,openReplace,closeFNR,getSelectedCell,clearSelected,insert,insertAt,insertNextAt,insertChild,insertChildAt,insertChildNextAt,remove,removeCheckboxRow,removeRadioRow,removeCurrentRow,getRecordset,getInsertRecords,getRemoveRecords,getUpdateRecords,clearEdit,clearActived,getEditRecord,getActiveRecord,isEditByRow,isActiveByRow,setEditRow,setActiveRow,setEditCell,setActiveCell,setSelectCell,clearValidate,fullValidate,validate,fullValidateField,validateField,openExport,closeExport,openPrint,closePrint,getPrintHtml,exportData,openImport,closeImport,importData,saveFile,readFile,importByFile,print,openCustom,closeCustom,saveCustom,cancelCustom,resetCustom,toggleCustomAllCheckbox,setCustomAllCheckbox'.split(',')
10321
+ const funcs = 'setFilter,openFilter,clearFilter,saveFilterPanel,saveFilterPanelByEvent,resetFilterPanel,resetFilterPanelByEvent,getCheckedFilters,updateFilterOptionStatus,closeMenu,setActiveCellArea,getActiveCellArea,getCellAreas,clearCellAreas,copyCellArea,cutCellArea,pasteCellArea,getCopyCellArea,getCopyCellAreas,clearCopyCellArea,setCellAreas,openFNR,openFind,openReplace,closeFNR,getSelectedCell,clearSelected,insert,insertAt,insertNextAt,insertChild,insertChildAt,insertChildNextAt,remove,removeCheckboxRow,removeRadioRow,removeCurrentRow,getRecordset,getInsertRecords,getRemoveRecords,getUpdateRecords,clearEdit,clearActived,getEditRecord,getActiveRecord,isEditByRow,isActiveByRow,setEditRow,setActiveRow,setEditCell,setActiveCell,setSelectCell,clearValidate,fullValidate,validate,fullValidateField,validateField,openExport,closeExport,openPrint,closePrint,getPrintHtml,exportData,openImport,closeImport,importData,saveFile,readFile,importByFile,print,openCustom,closeCustom,saveCustom,cancelCustom,resetCustom,toggleCustomAllCheckbox,setCustomAllCheckbox'.split(',')
10316
10322
 
10317
10323
  funcs.forEach(name => {
10318
10324
  Methods[name] = function (...args: any[]) {
@@ -1,23 +0,0 @@
1
- (function (global, factory) {
2
- if (typeof define === "function" && define.amd) {
3
- define("vxe-table-lang.zh-TC", ["exports", "./zh-CHT"], factory);
4
- } else if (typeof exports !== "undefined") {
5
- factory(exports, require("./zh-CHT"));
6
- } else {
7
- var mod = {
8
- exports: {}
9
- };
10
- factory(mod.exports, global.zhCHT);
11
- global.vxeTableLangZhTC = mod.exports;
12
- }
13
- })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _zhCHT) {
14
- "use strict";
15
-
16
- Object.defineProperty(_exports, "__esModule", {
17
- value: true
18
- });
19
- _exports.default = void 0;
20
- _zhCHT = _interopRequireDefault(_zhCHT);
21
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
22
- var _default = _exports.default = _zhCHT.default;
23
- });
File without changes