vxe-table 4.10.6-beta.32 → 4.10.6-beta.34

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 (40) hide show
  1. package/es/index.css +1 -1
  2. package/es/index.min.css +1 -1
  3. package/es/style.css +1 -1
  4. package/es/style.min.css +1 -1
  5. package/es/table/src/body.js +16 -3
  6. package/es/table/src/footer.js +18 -3
  7. package/es/table/style.css +6 -5
  8. package/es/table/style.min.css +1 -1
  9. package/es/ui/index.js +1 -1
  10. package/es/ui/src/log.js +1 -1
  11. package/es/vxe-table/style.css +6 -5
  12. package/es/vxe-table/style.min.css +1 -1
  13. package/lib/index.css +1 -1
  14. package/lib/index.min.css +1 -1
  15. package/lib/index.umd.js +43 -6
  16. package/lib/index.umd.min.js +1 -1
  17. package/lib/style.css +1 -1
  18. package/lib/style.min.css +1 -1
  19. package/lib/table/src/body.js +21 -2
  20. package/lib/table/src/body.min.js +1 -1
  21. package/lib/table/src/footer.js +20 -2
  22. package/lib/table/src/footer.min.js +1 -1
  23. package/lib/table/style/style.css +6 -5
  24. package/lib/table/style/style.min.css +1 -1
  25. package/lib/ui/index.js +1 -1
  26. package/lib/ui/index.min.js +1 -1
  27. package/lib/ui/src/log.js +1 -1
  28. package/lib/ui/src/log.min.js +1 -1
  29. package/lib/vxe-table/style/style.css +6 -5
  30. package/lib/vxe-table/style/style.min.css +1 -1
  31. package/package.json +2 -2
  32. package/packages/table/src/body.ts +22 -6
  33. package/packages/table/src/footer.ts +21 -4
  34. package/styles/components/table.scss +29 -30
  35. /package/es/{iconfont.1738648607811.ttf → iconfont.1738824485252.ttf} +0 -0
  36. /package/es/{iconfont.1738648607811.woff → iconfont.1738824485252.woff} +0 -0
  37. /package/es/{iconfont.1738648607811.woff2 → iconfont.1738824485252.woff2} +0 -0
  38. /package/lib/{iconfont.1738648607811.ttf → iconfont.1738824485252.ttf} +0 -0
  39. /package/lib/{iconfont.1738648607811.woff → iconfont.1738824485252.woff} +0 -0
  40. /package/lib/{iconfont.1738648607811.woff2 → iconfont.1738824485252.woff2} +0 -0
@@ -48,7 +48,7 @@ export default defineComponent({
48
48
  const $xeTable = inject('$xeTable', {} as VxeTableConstructor & VxeTableMethods & VxeTablePrivateMethods)
49
49
 
50
50
  const { xID, props: tableProps, reactData: tableReactData, internalData: tableInternalData } = $xeTable
51
- const { computeTooltipOpts, computeColumnOpts, computeColumnDragOpts, computeCellOpts, computeFooterCellOpts, computeDefaultRowHeight } = $xeTable.getComputeMaps()
51
+ const { computeTooltipOpts, computeColumnOpts, computeColumnDragOpts, computeCellOpts, computeFooterCellOpts, computeDefaultRowHeight, computeResizableOpts } = $xeTable.getComputeMaps()
52
52
 
53
53
  const refElem = ref() as Ref<HTMLDivElement>
54
54
  const refFooterScroll = ref() as Ref<HTMLDivElement>
@@ -59,10 +59,12 @@ export default defineComponent({
59
59
 
60
60
  const renderRows = (tableColumn: VxeTableDefines.ColumnInfo[], footerTableData: any[], row: any, $rowIndex: number, _rowIndex: number) => {
61
61
  const { fixedType } = props
62
- const { footerCellClassName, footerCellStyle, footerAlign: allFooterAlign, footerSpanMethod, align: allAlign, columnKey, showFooterOverflow: allColumnFooterOverflow } = tableProps
62
+ const { resizable: allResizable, border, footerCellClassName, footerCellStyle, footerAlign: allFooterAlign, footerSpanMethod, align: allAlign, columnKey, showFooterOverflow: allColumnFooterOverflow } = tableProps
63
63
  const { scrollXLoad, scrollYLoad, overflowX, currentColumn, mergeFooterList } = tableReactData
64
64
  const { scrollXStore } = tableInternalData
65
65
  const tooltipOpts = computeTooltipOpts.value
66
+ const resizableOpts = computeResizableOpts.value
67
+ const { isAllColumnDrag } = resizableOpts
66
68
  const columnOpts = computeColumnOpts.value
67
69
  const defaultRowHeight = computeDefaultRowHeight.value
68
70
  const cellOpts = computeCellOpts.value
@@ -84,12 +86,15 @@ export default defineComponent({
84
86
  const showTitle = footOverflow === 'title'
85
87
  const showTooltip = footOverflow === true || footOverflow === 'tooltip'
86
88
  let hasEllipsis = showTitle || showTooltip || showEllipsis
89
+ const showResizable = (XEUtils.isBoolean(column.resizable) ? column.resizable : (columnOpts.resizable || allResizable))
87
90
  const attrs: any = { colid }
88
91
  const tfOns: any = {}
89
92
  const columnIndex = $xeTable.getColumnIndex(column)
90
93
  const _columnIndex = $xeTable.getVTColumnIndex(column)
91
94
  const itemIndex = _columnIndex
92
- const cellParams: VxeTableDefines.CellRenderFooterParams = {
95
+ const cellParams: VxeTableDefines.CellRenderFooterParams & {
96
+ $table: VxeTableConstructor<any> & VxeTablePrivateMethods
97
+ } = {
93
98
  $table: $xeTable,
94
99
  $grid: $xeTable.xegrid,
95
100
  row,
@@ -205,7 +210,19 @@ export default defineComponent({
205
210
  colid,
206
211
  class: 'vxe-cell--wrapper'
207
212
  }, column.renderFooter(cellParams))
208
- ])
213
+ ]),
214
+ /**
215
+ * 列宽拖动
216
+ */
217
+ !fixedHiddenColumn && showResizable && isAllColumnDrag
218
+ ? h('div', {
219
+ class: ['vxe-cell--col-resizable', {
220
+ 'is--line': !border || border === 'none'
221
+ }],
222
+ onMousedown: (evnt: MouseEvent) => $xeTable.handleColResizeMousedownEvent(evnt, fixedType, cellParams),
223
+ onDblclick: (evnt: MouseEvent) => $xeTable.handleColResizeDblclickEvent(evnt, cellParams)
224
+ })
225
+ : renderEmptyElement($xeTable)
209
226
  ])
210
227
  })
211
228
  }
@@ -730,40 +730,39 @@
730
730
  .vxe-cell-title-suffix-icon {
731
731
  cursor: help;
732
732
  }
733
- .vxe-cell--col-resizable {
734
- position: absolute;
735
- right: -0.3em;
736
- bottom: 0;
737
- width: 0.6em;
738
- height: 100%;
739
- text-align: center;
740
- z-index: 1;
741
- cursor: col-resize;
742
- &.is--line {
743
- &:before,
744
- &:after {
745
- content: "";
746
- display: inline-block;
747
- vertical-align: middle;
748
- }
749
- &:before {
750
- width: 1px;
751
- height: 50%;
752
- background-color: var(--vxe-ui-table-resizable-line-color);
753
- }
754
- &:after {
755
- width: 0;
756
- height: 100%;
757
- }
733
+ }
734
+
735
+ .vxe-cell--col-resizable {
736
+ position: absolute;
737
+ right: -0.3em;
738
+ bottom: 0;
739
+ width: 0.6em;
740
+ height: 100%;
741
+ text-align: center;
742
+ z-index: 1;
743
+ cursor: col-resize;
744
+ &.is--line {
745
+ &:before,
746
+ &:after {
747
+ content: "";
748
+ display: inline-block;
749
+ vertical-align: middle;
750
+ }
751
+ &:before {
752
+ width: 1px;
753
+ height: 50%;
754
+ background-color: var(--vxe-ui-table-resizable-line-color);
755
+ }
756
+ &:after {
757
+ width: 0;
758
+ height: 100%;
758
759
  }
759
760
  }
760
761
  }
761
762
  .vxe-table--fixed-right-wrapper {
762
- .vxe-header--column {
763
- .vxe-cell--col-resizable {
764
- right: auto;
765
- left: -0.3em;
766
- }
763
+ .vxe-cell--col-resizable {
764
+ right: auto;
765
+ left: -0.3em;
767
766
  }
768
767
  }
769
768