vxe-table 3.17.15 → 3.17.17

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 (41) hide show
  1. package/es/style.css +1 -1
  2. package/es/table/module/menu/mixin.js +3 -2
  3. package/es/table/src/body.js +4 -1
  4. package/es/table/src/header.js +4 -1
  5. package/es/table/src/methods.js +8 -1
  6. package/es/table/src/table.js +4 -1
  7. package/es/table/style.css +51 -19
  8. package/es/ui/index.js +1 -1
  9. package/es/ui/src/log.js +1 -1
  10. package/es/vxe-table/style.css +51 -19
  11. package/lib/index.umd.js +27 -11
  12. package/lib/index.umd.min.js +1 -1
  13. package/lib/style.css +1 -1
  14. package/lib/table/module/menu/mixin.js +3 -2
  15. package/lib/table/module/menu/mixin.min.js +1 -1
  16. package/lib/table/src/body.js +4 -1
  17. package/lib/table/src/body.min.js +1 -1
  18. package/lib/table/src/header.js +4 -1
  19. package/lib/table/src/header.min.js +1 -1
  20. package/lib/table/src/methods.js +7 -1
  21. package/lib/table/src/methods.min.js +1 -1
  22. package/lib/table/src/table.js +4 -1
  23. package/lib/table/src/table.min.js +1 -1
  24. package/lib/table/style/style.css +51 -19
  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 +51 -19
  30. package/package.json +3 -2
  31. package/packages/table/module/menu/mixin.ts +3 -2
  32. package/packages/table/src/body.ts +4 -1
  33. package/packages/table/src/header.ts +5 -2
  34. package/packages/table/src/methods.ts +8 -2
  35. package/packages/table/src/table.ts +6 -3
  36. /package/es/{iconfont.1756173083445.ttf → iconfont.1779777608947.ttf} +0 -0
  37. /package/es/{iconfont.1756173083445.woff → iconfont.1779777608947.woff} +0 -0
  38. /package/es/{iconfont.1756173083445.woff2 → iconfont.1779777608947.woff2} +0 -0
  39. /package/lib/{iconfont.1756173083445.ttf → iconfont.1779777608947.ttf} +0 -0
  40. /package/lib/{iconfont.1756173083445.woff → iconfont.1779777608947.woff} +0 -0
  41. /package/lib/{iconfont.1756173083445.woff2 → iconfont.1779777608947.woff2} +0 -0
@@ -2297,12 +2297,12 @@
2297
2297
  }
2298
2298
 
2299
2299
  /*header*/
2300
- .vxe-table {
2301
- /*排序*/
2302
- }
2303
2300
  .vxe-table .vxe-table--header-wrapper {
2304
2301
  color: var(--vxe-ui-table-header-font-color);
2305
2302
  }
2303
+ .vxe-table {
2304
+ /*排序*/
2305
+ }
2306
2306
  .vxe-table .vxe-cell--sort {
2307
2307
  text-align: center;
2308
2308
  position: relative;
@@ -2486,22 +2486,6 @@
2486
2486
  color: var(--vxe-ui-font-color);
2487
2487
  font-family: var(--vxe-ui-font-family);
2488
2488
  direction: ltr;
2489
- /*边框*/
2490
- /*列宽线*/
2491
- /*边框线*/
2492
- /*树形节点*/
2493
- /*行分组*/
2494
- /*单元格高度*/
2495
- /*溢出列*/
2496
- /*展开行*/
2497
- /*拖拽列*/
2498
- /*拖拽行*/
2499
- /*暂无数据*/
2500
- /*校验不通过*/
2501
- /*已废弃,旧的校验样式**/
2502
- /*单元格标记删除状态*/
2503
- /*单元格编辑状态*/
2504
- /*可编辑*/
2505
2489
  }
2506
2490
  .vxe-table--render-default .vxe-table--body-wrapper {
2507
2491
  background-color: var(--vxe-ui-layout-background-color);
@@ -2670,6 +2654,9 @@
2670
2654
  .vxe-table--render-default .vxe-body--row.row--hover.row--current > .vxe-body--column {
2671
2655
  background-color: var(--vxe-ui-table-row-hover-current-background-color);
2672
2656
  }
2657
+ .vxe-table--render-default {
2658
+ /*边框*/
2659
+ }
2673
2660
  .vxe-table--render-default .vxe-table--footer-wrapper {
2674
2661
  border-top: var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color);
2675
2662
  }
@@ -3076,6 +3063,9 @@
3076
3063
  user-select: none;
3077
3064
  pointer-events: none;
3078
3065
  }
3066
+ .vxe-table--render-default {
3067
+ /*列宽线*/
3068
+ }
3079
3069
  .vxe-table--render-default .vxe-table--resizable-col-bar {
3080
3070
  width: 1px;
3081
3071
  height: 100%;
@@ -3102,6 +3092,9 @@
3102
3092
  top: 0;
3103
3093
  left: 0;
3104
3094
  }
3095
+ .vxe-table--render-default {
3096
+ /*边框线*/
3097
+ }
3105
3098
  .vxe-table--render-default .vxe-table--border-line {
3106
3099
  position: absolute;
3107
3100
  top: 0;
@@ -3112,6 +3105,9 @@
3112
3105
  pointer-events: none;
3113
3106
  border: var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color);
3114
3107
  }
3108
+ .vxe-table--render-default {
3109
+ /*树形节点*/
3110
+ }
3115
3111
  .vxe-table--render-default .vxe-tree--line-wrapper {
3116
3112
  position: relative;
3117
3113
  display: block;
@@ -3158,6 +3154,9 @@
3158
3154
  user-select: none;
3159
3155
  cursor: pointer;
3160
3156
  }
3157
+ .vxe-table--render-default {
3158
+ /*行分组*/
3159
+ }
3161
3160
  .vxe-table--render-default .vxe-row-group--node-btn:hover {
3162
3161
  color: var(--vxe-ui-font-color);
3163
3162
  }
@@ -3166,6 +3165,9 @@
3166
3165
  color: var(--vxe-ui-font-lighten-color);
3167
3166
  transition: transform 0.1s ease-in-out;
3168
3167
  }
3168
+ .vxe-table--render-default {
3169
+ /*单元格高度*/
3170
+ }
3169
3171
  .vxe-table--render-default .vxe-body--column.col--ellipsis > .vxe-cell .vxe-row-group-cell,
3170
3172
  .vxe-table--render-default .vxe-body--column.col--ellipsis > .vxe-cell .vxe-tree-cell {
3171
3173
  overflow: hidden;
@@ -3186,6 +3188,9 @@
3186
3188
  flex-direction: row;
3187
3189
  align-items: center;
3188
3190
  }
3191
+ .vxe-table--render-default {
3192
+ /*溢出列*/
3193
+ }
3189
3194
  .vxe-table--render-default .vxe-header--column:not(.col--active).col--ellipsis > .vxe-cell,
3190
3195
  .vxe-table--render-default .vxe-body--column:not(.col--active).col--ellipsis > .vxe-cell,
3191
3196
  .vxe-table--render-default .vxe-footer--column:not(.col--active).col--ellipsis > .vxe-cell {
@@ -3219,6 +3224,9 @@
3219
3224
  flex-direction: row;
3220
3225
  align-items: center;
3221
3226
  }
3227
+ .vxe-table--render-default {
3228
+ /*展开行*/
3229
+ }
3222
3230
  .vxe-table--render-default .vxe-table--row-expanded-wrapper {
3223
3231
  position: absolute;
3224
3232
  top: 0;
@@ -3285,6 +3293,9 @@
3285
3293
  overflow: auto;
3286
3294
  outline: 0;
3287
3295
  }
3296
+ .vxe-table--render-default {
3297
+ /*拖拽列*/
3298
+ }
3288
3299
  .vxe-table--render-default .vxe-table--drag-col-line {
3289
3300
  height: 100%;
3290
3301
  width: 1px;
@@ -3340,6 +3351,9 @@
3340
3351
  color: var(--vxe-ui-input-disabled-color);
3341
3352
  cursor: not-allowed;
3342
3353
  }
3354
+ .vxe-table--render-default {
3355
+ /*拖拽行*/
3356
+ }
3343
3357
  .vxe-table--render-default .vxe-table--drag-row-line {
3344
3358
  width: 100%;
3345
3359
  height: 1px;
@@ -3457,6 +3471,9 @@
3457
3471
  .vxe-table--render-default.size--mini .vxe-cell--radio {
3458
3472
  font-size: var(--vxe-radio-font-size-mini);
3459
3473
  }
3474
+ .vxe-table--render-default {
3475
+ /*暂无数据*/
3476
+ }
3460
3477
  .vxe-table--render-default .vxe-table--empty-placeholder,
3461
3478
  .vxe-table--render-default .vxe-table--empty-block {
3462
3479
  color: var(--vxe-ui-input-placeholder-color);
@@ -3491,6 +3508,9 @@
3491
3508
  .vxe-table--render-default .vxe-body--column.col--selected {
3492
3509
  box-shadow: inset 0px 0px 0px 2px var(--vxe-ui-font-primary-color);
3493
3510
  }
3511
+ .vxe-table--render-default {
3512
+ /*校验不通过*/
3513
+ }
3494
3514
  .vxe-table--render-default .vxe-body--column .vxe-cell--valid-error-tip {
3495
3515
  width: 100%;
3496
3516
  position: absolute;
@@ -3541,6 +3561,9 @@
3541
3561
  .vxe-table--render-default.valid-msg--full .vxe-body--row:last-child .vxe-cell--valid-error-tip {
3542
3562
  top: calc(100% - 1.3em);
3543
3563
  }
3564
+ .vxe-table--render-default {
3565
+ /*已废弃,旧的校验样式**/
3566
+ }
3544
3567
  .vxe-table--render-default.old-cell-valid .vxe-body--column.col--valid-error .vxe-cell--valid-error-tip {
3545
3568
  width: 320px;
3546
3569
  position: absolute;
@@ -3568,6 +3591,9 @@
3568
3591
  transform: translateX(0);
3569
3592
  text-align: left;
3570
3593
  }
3594
+ .vxe-table--render-default {
3595
+ /*单元格标记删除状态*/
3596
+ }
3571
3597
  .vxe-table--render-default .vxe-body--row.row--pending {
3572
3598
  color: var(--vxe-ui-table-validate-error-color);
3573
3599
  text-decoration: line-through;
@@ -3586,6 +3612,9 @@
3586
3612
  border-bottom: 1px solid var(--vxe-ui-table-validate-error-color);
3587
3613
  z-index: 1;
3588
3614
  }
3615
+ .vxe-table--render-default {
3616
+ /*单元格编辑状态*/
3617
+ }
3589
3618
  .vxe-table--render-default .vxe-body--row.row--new > .vxe-body--column {
3590
3619
  position: relative;
3591
3620
  }
@@ -3612,6 +3641,9 @@
3612
3641
  border-color: transparent var(--vxe-ui-table-cell-dirty-update-color) transparent transparent;
3613
3642
  transform: rotate(45deg);
3614
3643
  }
3644
+ .vxe-table--render-default {
3645
+ /*可编辑*/
3646
+ }
3615
3647
  .vxe-table--render-default.vxe-editable.cell--highlight .vxe-body--column.col--active {
3616
3648
  box-shadow: inset 0px 0px 0px 2px var(--vxe-ui-font-primary-color);
3617
3649
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-table",
3
- "version": "3.17.15",
3
+ "version": "3.17.17",
4
4
  "description": "A PC-end table component based on Vxe UI, supporting copy-paste, data pivot table, and high-performance virtual list table solution.",
5
5
  "scripts": {
6
6
  "update": "npm install --legacy-peer-deps",
@@ -67,7 +67,8 @@
67
67
  "vue": "~2.6.14",
68
68
  "vue-i18n": "^8.15.1",
69
69
  "vue-router": "^3.5.1",
70
- "vue-template-compiler": "2.6.14"
70
+ "vue-template-compiler": "2.6.14",
71
+ "vxe-pc-ui": "3.8.17"
71
72
  },
72
73
  "vetur": {
73
74
  "tags": "helper/vetur/tags.json",
@@ -263,8 +263,9 @@ export default {
263
263
  if (!menu.disabled && (menu.code || !menu.children || !menu.children.length)) {
264
264
  const gMenuOpts = menus.get(menu.code)
265
265
  const params = Object.assign({ menu, $grid: $xeGrid, $table: this, $event: evnt }, this.ctxMenuStore.args)
266
- if (gMenuOpts && gMenuOpts.menuMethod) {
267
- gMenuOpts.menuMethod(params, evnt)
266
+ const tmMethod = gMenuOpts ? (gMenuOpts.tableMenuMethod || gMenuOpts.menuMethod) : null
267
+ if (tmMethod) {
268
+ tmMethod(params, evnt)
268
269
  }
269
270
  // 在 v4 中废弃事件 context-menu-click
270
271
  if (this.$listeners['context-menu-click']) {
@@ -883,7 +883,10 @@ export default {
883
883
  }),
884
884
  mouseConfig && mouseOpts.area
885
885
  ? h('div', {
886
- class: 'vxe-table--cell-area'
886
+ class: 'vxe-table--cell-area',
887
+ attrs: {
888
+ xid: xID
889
+ }
887
890
  }, [
888
891
  h('span', {
889
892
  class: 'vxe-table--cell-main-area'
@@ -54,7 +54,7 @@ const renderRows = (h: CreateElement, _vm: any, isGroup: boolean, isOptimizeMode
54
54
  }
55
55
  const columnIndex = colRest.index
56
56
  const _columnIndex = colRest._index
57
- const cellParams = {
57
+ const cellParams: any = {
58
58
  $table: $xeTable,
59
59
  $grid: $xeGrid,
60
60
  $rowIndex,
@@ -382,7 +382,10 @@ export default {
382
382
  ]),
383
383
  mouseConfig && mouseOpts.area
384
384
  ? h('div', {
385
- class: 'vxe-table--cell-area'
385
+ class: 'vxe-table--cell-area',
386
+ attrs: {
387
+ xid: xID
388
+ }
386
389
  }, [
387
390
  h('span', {
388
391
  class: 'vxe-table--cell-main-area'
@@ -3674,7 +3674,9 @@ const wheelScrollTopTo = (diffNum: number, cb: (progress: number) => void) => {
3674
3674
  let countTop = 0
3675
3675
  const step = (timestamp: number) => {
3676
3676
  let progress = (timestamp - startTime) / duration
3677
- if (progress > 1) {
3677
+ if (progress < 0) {
3678
+ progress = 0
3679
+ } else if (progress > 1) {
3678
3680
  progress = 1
3679
3681
  }
3680
3682
  const easedProgress = Math.pow(progress, 2)
@@ -10463,6 +10465,10 @@ const Methods = {
10463
10465
  if (target && /^textarea$/i.test((target as HTMLElement).tagName)) {
10464
10466
  return
10465
10467
  }
10468
+ // 如果滚轮未移动或者触摸板未变化位置
10469
+ if (!deltaY && !deltaX) {
10470
+ return
10471
+ }
10466
10472
 
10467
10473
  const { highlightHoverRow } = tableProps
10468
10474
  const { scrollXLoad, scrollYLoad, expandColumn } = reactData
@@ -11066,7 +11072,7 @@ const Methods = {
11066
11072
  if (showFooter && footerData && footerData.length) {
11067
11073
  footData = footerData.slice(0)
11068
11074
  } else if (showFooter && footerMethod) {
11069
- footData = visibleColumn.length ? footerMethod({ columns: visibleColumn, data: afterFullData, $table: $xeTable, $grid: $xeGrid }) : []
11075
+ footData = visibleColumn.length ? footerMethod({ columns: visibleColumn, data: afterFullData, $table: $xeTable, $grid: $xeGrid } as any) : []
11070
11076
  }
11071
11077
  reactData.footerTableData = footData
11072
11078
  $xeTable.handleUpdateFooterMerge()
@@ -281,7 +281,7 @@ function renderRowExpandedVNs (h: CreateElement, $xeTable: VxeTableConstructor &
281
281
  $columnIndex = colRest.$index
282
282
  _columnIndex = colRest._index
283
283
  }
284
- const expandParams: VxeTableDefines.CellRenderDataParams = {
284
+ const expandParams: any = {
285
285
  $grid: $xeGrid,
286
286
  $table: $xeTable,
287
287
  seq,
@@ -764,7 +764,7 @@ export default {
764
764
  const { id } = props
765
765
  if (id) {
766
766
  if (XEUtils.isFunction(id)) {
767
- return `${id({ $table: $xeTable, $grid: $xeGrid }) || ''}`
767
+ return `${id({ $table: $xeTable, $grid: $xeGrid } as any) || ''}`
768
768
  }
769
769
  return `${id}`
770
770
  }
@@ -1129,9 +1129,12 @@ export default {
1129
1129
  return footerOpts && footerOpts.options ? footerOpts.options : []
1130
1130
  },
1131
1131
  isCtxMenu () {
1132
- return this.computeIsMenu
1132
+ return this.computeIsContentMenu
1133
1133
  },
1134
1134
  computeIsMenu () {
1135
+ return this.computeIsContentMenu
1136
+ },
1137
+ computeIsContentMenu () {
1135
1138
  const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
1136
1139
  const props = $xeTable
1137
1140