vxe-table 3.10.0 → 3.10.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 (127) hide show
  1. package/es/locale/lang/en-US.js +4 -2
  2. package/es/locale/lang/es-ES.js +4 -2
  3. package/es/locale/lang/hu-HU.js +4 -2
  4. package/es/locale/lang/ja-JP.js +4 -2
  5. package/es/locale/lang/ko-KR.js +4 -2
  6. package/es/locale/lang/pt-BR.js +4 -2
  7. package/es/locale/lang/ru-RU.js +4 -2
  8. package/es/locale/lang/uk-UA.js +4 -2
  9. package/es/locale/lang/vi-VN.js +4 -2
  10. package/es/locale/lang/zh-CHT.js +4 -2
  11. package/es/locale/lang/zh-CN.js +4 -2
  12. package/es/style.css +1 -1
  13. package/es/style.min.css +1 -1
  14. package/es/table/module/edit/mixin.js +9 -4
  15. package/es/table/module/export/export-panel.js +2 -2
  16. package/es/table/module/export/import-panel.js +1 -1
  17. package/es/table/src/body.js +43 -24
  18. package/es/table/src/cell.js +54 -24
  19. package/es/table/src/column.js +3 -1
  20. package/es/table/src/columnInfo.js +1 -0
  21. package/es/table/src/methods.js +211 -14
  22. package/es/table/src/props.js +2 -0
  23. package/es/table/src/table.js +16 -1
  24. package/es/table/style.css +80 -3
  25. package/es/table/style.min.css +1 -1
  26. package/es/ui/index.js +4 -1
  27. package/es/ui/src/log.js +1 -1
  28. package/es/vxe-table/style.css +80 -3
  29. package/es/vxe-table/style.min.css +1 -1
  30. package/helper/vetur/attributes.json +1 -1
  31. package/helper/vetur/tags.json +1 -1
  32. package/lib/index.umd.js +371 -78
  33. package/lib/index.umd.min.js +1 -1
  34. package/lib/locale/lang/en-US.js +4 -2
  35. package/lib/locale/lang/en-US.min.js +1 -1
  36. package/lib/locale/lang/en-US.umd.js +4 -2
  37. package/lib/locale/lang/es-ES.js +4 -2
  38. package/lib/locale/lang/es-ES.min.js +1 -1
  39. package/lib/locale/lang/es-ES.umd.js +4 -2
  40. package/lib/locale/lang/hu-HU.js +4 -2
  41. package/lib/locale/lang/hu-HU.min.js +1 -1
  42. package/lib/locale/lang/hu-HU.umd.js +4 -2
  43. package/lib/locale/lang/ja-JP.js +4 -2
  44. package/lib/locale/lang/ja-JP.min.js +1 -1
  45. package/lib/locale/lang/ja-JP.umd.js +4 -2
  46. package/lib/locale/lang/ko-KR.js +4 -2
  47. package/lib/locale/lang/ko-KR.min.js +1 -1
  48. package/lib/locale/lang/ko-KR.umd.js +4 -2
  49. package/lib/locale/lang/pt-BR.js +4 -2
  50. package/lib/locale/lang/pt-BR.min.js +1 -1
  51. package/lib/locale/lang/pt-BR.umd.js +4 -2
  52. package/lib/locale/lang/ru-RU.js +4 -2
  53. package/lib/locale/lang/ru-RU.min.js +1 -1
  54. package/lib/locale/lang/ru-RU.umd.js +4 -2
  55. package/lib/locale/lang/uk-UA.js +4 -2
  56. package/lib/locale/lang/uk-UA.min.js +1 -1
  57. package/lib/locale/lang/uk-UA.umd.js +4 -2
  58. package/lib/locale/lang/vi-VN.js +4 -2
  59. package/lib/locale/lang/vi-VN.min.js +1 -1
  60. package/lib/locale/lang/zh-CHT.js +4 -2
  61. package/lib/locale/lang/zh-CHT.min.js +1 -1
  62. package/lib/locale/lang/zh-CHT.umd.js +4 -2
  63. package/lib/locale/lang/zh-CN.js +4 -2
  64. package/lib/locale/lang/zh-CN.min.js +1 -1
  65. package/lib/locale/lang/zh-CN.umd.js +4 -2
  66. package/lib/style.css +1 -1
  67. package/lib/style.min.css +1 -1
  68. package/lib/table/module/edit/mixin.js +9 -4
  69. package/lib/table/module/edit/mixin.min.js +1 -1
  70. package/lib/table/module/export/export-panel.js +2 -2
  71. package/lib/table/module/export/export-panel.min.js +1 -1
  72. package/lib/table/module/export/import-panel.js +1 -1
  73. package/lib/table/module/export/import-panel.min.js +1 -1
  74. package/lib/table/src/body.js +41 -22
  75. package/lib/table/src/body.min.js +1 -1
  76. package/lib/table/src/cell.js +58 -24
  77. package/lib/table/src/cell.min.js +1 -1
  78. package/lib/table/src/column.js +3 -1
  79. package/lib/table/src/column.min.js +1 -1
  80. package/lib/table/src/columnInfo.js +1 -0
  81. package/lib/table/src/columnInfo.min.js +1 -1
  82. package/lib/table/src/methods.js +227 -14
  83. package/lib/table/src/methods.min.js +1 -1
  84. package/lib/table/src/props.js +2 -0
  85. package/lib/table/src/props.min.js +1 -1
  86. package/lib/table/src/table.js +15 -2
  87. package/lib/table/src/table.min.js +1 -1
  88. package/lib/table/style/style.css +80 -3
  89. package/lib/table/style/style.min.css +1 -1
  90. package/lib/ui/index.js +4 -1
  91. package/lib/ui/index.min.js +1 -1
  92. package/lib/ui/src/log.js +1 -1
  93. package/lib/ui/src/log.min.js +1 -1
  94. package/lib/vxe-table/style/style.css +80 -3
  95. package/lib/vxe-table/style/style.min.css +1 -1
  96. package/package.json +2 -2
  97. package/packages/locale/lang/en-US.ts +4 -2
  98. package/packages/locale/lang/es-ES.ts +4 -2
  99. package/packages/locale/lang/hu-HU.ts +4 -2
  100. package/packages/locale/lang/ja-JP.ts +4 -2
  101. package/packages/locale/lang/ko-KR.ts +4 -2
  102. package/packages/locale/lang/pt-BR.ts +4 -2
  103. package/packages/locale/lang/ru-RU.ts +4 -2
  104. package/packages/locale/lang/uk-UA.ts +4 -2
  105. package/packages/locale/lang/vi-VN.ts +4 -2
  106. package/packages/locale/lang/zh-CHT.ts +4 -2
  107. package/packages/locale/lang/zh-CN.ts +4 -2
  108. package/packages/table/module/custom/panel.ts +8 -8
  109. package/packages/table/module/edit/mixin.ts +10 -4
  110. package/packages/table/module/export/export-panel.ts +2 -2
  111. package/packages/table/module/export/import-panel.ts +1 -1
  112. package/packages/table/src/body.ts +43 -24
  113. package/packages/table/src/cell.ts +58 -24
  114. package/packages/table/src/column.ts +3 -1
  115. package/packages/table/src/columnInfo.ts +1 -0
  116. package/packages/table/src/methods.ts +227 -14
  117. package/packages/table/src/props.ts +2 -0
  118. package/packages/table/src/table.ts +16 -1
  119. package/packages/ui/index.ts +3 -0
  120. package/styles/components/table-module/custom.scss +9 -3
  121. package/styles/components/table.scss +89 -0
  122. /package/es/{iconfont.1730681241769.ttf → iconfont.1730873052490.ttf} +0 -0
  123. /package/es/{iconfont.1730681241769.woff → iconfont.1730873052490.woff} +0 -0
  124. /package/es/{iconfont.1730681241769.woff2 → iconfont.1730873052490.woff2} +0 -0
  125. /package/lib/{iconfont.1730681241769.ttf → iconfont.1730873052490.ttf} +0 -0
  126. /package/lib/{iconfont.1730681241769.woff → iconfont.1730873052490.woff} +0 -0
  127. /package/lib/{iconfont.1730681241769.woff2 → iconfont.1730873052490.woff2} +0 -0
@@ -311,6 +311,51 @@ function getOrderField(_vm, column) {
311
311
  return cellValue;
312
312
  };
313
313
  }
314
+ function clearRowDropOrigin($xeTable) {
315
+ const el = $xeTable.$el;
316
+ if (el) {
317
+ const clss = 'row--drag-origin';
318
+ XEUtils.arrayEach(el.querySelectorAll(`.${clss}`), (elem) => {
319
+ elem.draggable = false;
320
+ removeClass(elem, clss);
321
+ });
322
+ }
323
+ }
324
+ function clearRowDropTarget($xeTable) {
325
+ const el = $xeTable.$el;
326
+ if (el) {
327
+ const clss = 'row--drag-active-target';
328
+ XEUtils.arrayEach(el.querySelectorAll(`.${clss}`), (elem) => {
329
+ removeClass(elem, clss);
330
+ });
331
+ }
332
+ }
333
+ function showRowDropTip(evnt, $xeTable) {
334
+ const rdTipEl = $xeTable.$refs.refRowDragTipElem;
335
+ if (!rdTipEl) {
336
+ return;
337
+ }
338
+ const el = $xeTable.$el;
339
+ if (!el) {
340
+ return;
341
+ }
342
+ if (rdTipEl) {
343
+ const wrapperRect = el.getBoundingClientRect();
344
+ rdTipEl.style.display = 'block';
345
+ rdTipEl.style.top = `${Math.min(el.clientHeight - el.scrollTop - rdTipEl.clientHeight, evnt.clientY - wrapperRect.y)}px`;
346
+ rdTipEl.style.left = `${Math.min(el.clientWidth - el.scrollLeft - rdTipEl.clientWidth - 16, evnt.clientX - wrapperRect.x)}px`;
347
+ }
348
+ }
349
+ const hideRowDropTip = ($xeTable) => {
350
+ const rdTipEl = $xeTable.$refs.refRowDragTipElem;
351
+ if (rdTipEl) {
352
+ rdTipEl.style.display = '';
353
+ }
354
+ };
355
+ const updateRowDropTipContent = ($xeTable, tdEl) => {
356
+ const reactData = $xeTable;
357
+ reactData.dragTipText = tdEl.textContent || '';
358
+ };
314
359
  const Methods = {
315
360
  callSlot(slotFunc, params, h, vNodes) {
316
361
  if (slotFunc) {
@@ -4577,6 +4622,145 @@ const Methods = {
4577
4622
  this.emitEvent('sort-change', params, evnt);
4578
4623
  }
4579
4624
  },
4625
+ handleRowDragDragstartEvent(evnt) {
4626
+ const img = new Image();
4627
+ if (evnt.dataTransfer) {
4628
+ evnt.dataTransfer.setDragImage(img, 0, 0);
4629
+ }
4630
+ },
4631
+ handleRowDragDragendEvent(evnt) {
4632
+ const $xeTable = this;
4633
+ const props = $xeTable;
4634
+ const reactData = $xeTable;
4635
+ const internalData = $xeTable;
4636
+ const { treeConfig } = props;
4637
+ const rowOpts = $xeTable.computeRowOpts;
4638
+ const { dragEndMethod } = rowOpts;
4639
+ const treeOpts = $xeTable.computeTreeOpts;
4640
+ const { transform } = treeOpts;
4641
+ const { dragRow } = reactData;
4642
+ const { afterFullData, tableFullData, prevDragRow, prevDragPos } = internalData;
4643
+ if (prevDragRow && dragRow) {
4644
+ // 判断是否有拖动
4645
+ if (prevDragRow !== dragRow) {
4646
+ Promise.resolve(dragEndMethod
4647
+ ? dragEndMethod({
4648
+ oldRow: dragRow,
4649
+ newRow: prevDragRow
4650
+ })
4651
+ : true).then((status) => {
4652
+ if (!status) {
4653
+ return;
4654
+ }
4655
+ const dragOffsetIndex = prevDragPos === 'bottom' ? 1 : 0;
4656
+ // 移出源位置
4657
+ const oafIndex = $xeTable.findRowIndexOf(afterFullData, dragRow);
4658
+ const otfIndex = $xeTable.findRowIndexOf(tableFullData, dragRow);
4659
+ afterFullData.splice(oafIndex, 1);
4660
+ tableFullData.splice(otfIndex, 1);
4661
+ // 插新位置
4662
+ const pafIndex = $xeTable.findRowIndexOf(afterFullData, prevDragRow);
4663
+ const ptfIndex = $xeTable.findRowIndexOf(tableFullData, prevDragRow);
4664
+ const nafIndex = pafIndex + dragOffsetIndex;
4665
+ const ntfIndex = ptfIndex + dragOffsetIndex;
4666
+ afterFullData.splice(nafIndex, 0, dragRow);
4667
+ tableFullData.splice(ntfIndex, 0, dragRow);
4668
+ reactData.isDragRowMove = true;
4669
+ $xeTable.cacheRowMap();
4670
+ $xeTable.updateScrollYStatus();
4671
+ $xeTable.handleTableData(treeConfig && transform);
4672
+ if (!(treeConfig && transform)) {
4673
+ $xeTable.updateAfterDataIndex();
4674
+ }
4675
+ $xeTable.updateFooter();
4676
+ $xeTable.checkSelectionStatus();
4677
+ if (reactData.scrollYLoad) {
4678
+ $xeTable.updateScrollYSpace();
4679
+ }
4680
+ $xeTable.$nextTick().then(() => {
4681
+ $xeTable.updateCellAreas();
4682
+ return $xeTable.recalculate();
4683
+ });
4684
+ $xeTable.dispatchEvent('row-dragend', {
4685
+ oldRow: dragRow,
4686
+ newRow: prevDragRow,
4687
+ _index: {
4688
+ newIndex: nafIndex,
4689
+ oldIndex: oafIndex
4690
+ }
4691
+ }, evnt);
4692
+ }).catch(() => {
4693
+ });
4694
+ }
4695
+ }
4696
+ hideRowDropTip($xeTable);
4697
+ clearRowDropOrigin($xeTable);
4698
+ clearRowDropTarget($xeTable);
4699
+ reactData.dragRow = null;
4700
+ setTimeout(() => {
4701
+ reactData.isDragRowMove = false;
4702
+ }, 500);
4703
+ },
4704
+ handleRowDragDragoverEvent(evnt) {
4705
+ const $xeTable = this;
4706
+ const internalData = $xeTable;
4707
+ const reactData = $xeTable;
4708
+ const trEl = evnt.currentTarget;
4709
+ const rowid = trEl.getAttribute('rowid');
4710
+ const row = $xeTable.getRowById(rowid);
4711
+ clearRowDropTarget($xeTable);
4712
+ if (row) {
4713
+ evnt.preventDefault();
4714
+ evnt.preventDefault();
4715
+ const { dragRow } = reactData;
4716
+ const offsetY = evnt.clientY - trEl.getBoundingClientRect().y;
4717
+ const dragPos = offsetY < trEl.clientHeight / 2 ? 'top' : 'bottom';
4718
+ addClass(trEl, 'row--drag-active-target');
4719
+ trEl.setAttribute('drag-pos', dragPos);
4720
+ internalData.prevDragRow = row;
4721
+ internalData.prevDragPos = dragPos;
4722
+ $xeTable.dispatchEvent('row-dragover', {
4723
+ oldRow: dragRow,
4724
+ targetRow: row,
4725
+ dragPos
4726
+ }, evnt);
4727
+ }
4728
+ showRowDropTip(evnt, $xeTable);
4729
+ },
4730
+ handleCellDragMousedownEvent(evnt, params) {
4731
+ var _a;
4732
+ const $xeTable = this;
4733
+ const reactData = $xeTable;
4734
+ evnt.stopPropagation();
4735
+ const rowOpts = $xeTable.computeRowOpts;
4736
+ const { dragStartMethod } = rowOpts;
4737
+ const { row } = params;
4738
+ const dragEl = evnt.currentTarget;
4739
+ const tdEl = (_a = dragEl.parentNode) === null || _a === void 0 ? void 0 : _a.parentNode;
4740
+ const trEl = tdEl.parentNode;
4741
+ reactData.isDragRowMove = false;
4742
+ clearRowDropOrigin($xeTable);
4743
+ if (dragStartMethod && !dragStartMethod(params)) {
4744
+ trEl.draggable = false;
4745
+ reactData.dragRow = null;
4746
+ hideRowDropTip($xeTable);
4747
+ return;
4748
+ }
4749
+ reactData.dragRow = row;
4750
+ trEl.draggable = true;
4751
+ addClass(trEl, 'row--drag-origin');
4752
+ showRowDropTip(evnt, $xeTable);
4753
+ updateRowDropTipContent($xeTable, tdEl);
4754
+ $xeTable.dispatchEvent('row-dragstart', params, evnt);
4755
+ },
4756
+ handleCellDragMouseupEvent() {
4757
+ const $xeTable = this;
4758
+ const reactData = $xeTable;
4759
+ clearRowDropOrigin($xeTable);
4760
+ hideRowDropTip($xeTable);
4761
+ reactData.dragRow = null;
4762
+ reactData.isDragRowMove = false;
4763
+ },
4580
4764
  setPendingRow(rows, status) {
4581
4765
  const pendingMaps = Object.assign({}, this.pendingRowMaps);
4582
4766
  const pendingList = [...this.pendingRowList];
@@ -5436,10 +5620,11 @@ const Methods = {
5436
5620
  const bodyWidth = bodyElem ? bodyElem.clientWidth : 0;
5437
5621
  const scrollHeight = bodyElem ? bodyElem.scrollHeight : 0;
5438
5622
  const scrollWidth = bodyElem ? bodyElem.scrollWidth : 0;
5439
- $xeTable.dispatchEvent('scroll', Object.assign({ bodyHeight,
5623
+ const evntParams = Object.assign({ bodyHeight,
5440
5624
  bodyWidth,
5441
5625
  scrollHeight,
5442
- scrollWidth, isX: isRollX, isY: isRollY }, params), evnt);
5626
+ scrollWidth, isX: isRollX, isY: isRollY }, params);
5627
+ $xeTable.dispatchEvent('scroll', evntParams, evnt);
5443
5628
  },
5444
5629
  /**
5445
5630
  * 纵向 Y 可视渲染事件处理
@@ -5459,23 +5644,29 @@ const Methods = {
5459
5644
  debounceScrollYData: XEUtils.debounce(function () {
5460
5645
  this.loadScrollYData();
5461
5646
  }, debounceScrollYDuration, { leading: false, trailing: true }),
5462
- scrollXEvent(evnt) {
5647
+ handleSyncScrollX(scrollLeft) {
5463
5648
  const $xeTable = this;
5464
- const wrapperEl = evnt.currentTarget;
5465
5649
  const tableHeader = $xeTable.$refs.tableHeader;
5466
5650
  const tableBody = $xeTable.$refs.tableBody;
5467
5651
  const tableFooter = $xeTable.$refs.tableFooter;
5468
5652
  const bodyElem = tableBody.$el;
5469
5653
  const headerElem = tableHeader ? tableHeader.$el : null;
5470
5654
  const footerElem = tableFooter ? tableFooter.$el : null;
5471
- const { scrollTop, scrollLeft } = wrapperEl;
5472
- const isRollX = true;
5473
- const isRollY = false;
5474
5655
  $xeTable.lastScrollLeft = scrollLeft;
5475
5656
  $xeTable.lastScrollTime = Date.now();
5476
5657
  setScrollLeft(bodyElem, scrollLeft);
5477
5658
  setScrollLeft(headerElem, scrollLeft);
5478
5659
  setScrollLeft(footerElem, scrollLeft);
5660
+ },
5661
+ scrollXEvent(evnt) {
5662
+ const $xeTable = this;
5663
+ const wrapperEl = evnt.currentTarget;
5664
+ const { scrollTop, scrollLeft } = wrapperEl;
5665
+ const isRollX = true;
5666
+ const isRollY = false;
5667
+ $xeTable.lastScrollLeft = scrollLeft;
5668
+ $xeTable.lastScrollTime = Date.now();
5669
+ $xeTable.handleSyncScrollX(scrollLeft);
5479
5670
  $xeTable.triggerScrollXEvent(evnt);
5480
5671
  $xeTable.handleScrollEvent(evnt, isRollY, isRollX, {
5481
5672
  type: 'table',
@@ -5487,23 +5678,29 @@ const Methods = {
5487
5678
  debounceScrollYCalculate: XEUtils.debounce(function () {
5488
5679
  this.updateScrollYSpace();
5489
5680
  }, 1000, { leading: false, trailing: true }),
5490
- scrollYEvent(evnt) {
5681
+ handleSyncScrollY(scrollTop) {
5491
5682
  const $xeTable = this;
5492
- const wrapperEl = evnt.currentTarget;
5493
5683
  const tableBody = $xeTable.$refs.tableBody;
5494
5684
  const leftBody = $xeTable.$refs.leftBody;
5495
5685
  const rightBody = $xeTable.$refs.rightBody;
5496
5686
  const bodyElem = tableBody.$el;
5497
5687
  const leftElem = leftBody ? leftBody.$el : null;
5498
5688
  const rightElem = rightBody ? rightBody.$el : null;
5499
- const { scrollTop, scrollLeft } = wrapperEl;
5500
- const isRollX = false;
5501
- const isRollY = true;
5502
5689
  $xeTable.lastScrollTop = scrollTop;
5503
5690
  $xeTable.lastScrollTime = Date.now();
5504
5691
  setScrollTop(bodyElem, scrollTop);
5505
5692
  setScrollTop(leftElem, scrollTop);
5506
5693
  setScrollTop(rightElem, scrollTop);
5694
+ },
5695
+ scrollYEvent(evnt) {
5696
+ const $xeTable = this;
5697
+ const wrapperEl = evnt.currentTarget;
5698
+ const { scrollTop, scrollLeft } = wrapperEl;
5699
+ const isRollX = false;
5700
+ const isRollY = true;
5701
+ $xeTable.lastScrollTop = scrollTop;
5702
+ $xeTable.lastScrollTime = Date.now();
5703
+ $xeTable.handleSyncScrollY(scrollTop);
5507
5704
  $xeTable.triggerScrollYEvent(evnt);
5508
5705
  $xeTable.handleScrollEvent(evnt, isRollY, isRollX, {
5509
5706
  type: 'table',
@@ -5589,7 +5786,7 @@ const Methods = {
5589
5786
  },
5590
5787
  updateScrollXData() {
5591
5788
  // this.tableColumn = []
5592
- this.$nextTick(() => {
5789
+ return this.$nextTick().then(() => {
5593
5790
  this.handleTableColumn();
5594
5791
  this.updateScrollXSpace();
5595
5792
  });
@@ -5638,7 +5835,7 @@ const Methods = {
5638
5835
  updateScrollYData() {
5639
5836
  const $xeTable = this;
5640
5837
  // this.tableData = []
5641
- this.$nextTick(() => {
5838
+ return this.$nextTick().then(() => {
5642
5839
  this.handleTableData();
5643
5840
  calcCellHeight($xeTable);
5644
5841
  this.updateScrollYSpace();
@@ -159,6 +159,8 @@ export default {
159
159
  cellConfig: Object,
160
160
  // 行配置信息
161
161
  rowConfig: Object,
162
+ // 可拖拽配置项
163
+ dragConfig: Object,
162
164
  // 列调整配置项
163
165
  resizableConfig: Object,
164
166
  // 序号配置项
@@ -345,6 +345,9 @@ export default {
345
345
  isHeader: false,
346
346
  isFooter: false
347
347
  },
348
+ isDragRowMove: false,
349
+ dragRow: null,
350
+ dragTipText: '',
348
351
  _isLoading: false
349
352
  };
350
353
  },
@@ -399,6 +402,9 @@ export default {
399
402
  computeRowOpts() {
400
403
  return Object.assign({}, getConfig().table.rowConfig, this.rowConfig);
401
404
  },
405
+ computeDragOpts() {
406
+ return Object.assign({}, getConfig().table.dragConfig, this.dragConfig);
407
+ },
402
408
  resizeOpts() {
403
409
  return this.computeResizeOpts;
404
410
  },
@@ -1263,9 +1269,18 @@ export default {
1263
1269
  }
1264
1270
  })
1265
1271
  : _e(),
1272
+ /**
1273
+ * 拖拽提示
1274
+ */
1275
+ rowOpts.drag
1276
+ ? h('div', {
1277
+ ref: 'refRowDragTipElem',
1278
+ class: 'vxe-table--row-drag-hint'
1279
+ }, getI18n('vxe.table.dragTip', [this.dragTipText]))
1280
+ : _e(),
1266
1281
  h('div', {}, [
1267
1282
  /**
1268
- * 通用提示
1283
+ * 提示相关
1269
1284
  */
1270
1285
  VxeUITooltipComponent
1271
1286
  ? h(VxeUITooltipComponent, {
@@ -712,6 +712,9 @@
712
712
  display: flex;
713
713
  flex-direction: row;
714
714
  }
715
+ .vxe-table-custom--option.active--drag-origin {
716
+ opacity: 0.5;
717
+ }
715
718
  .vxe-table-custom--option.active--drag-target[drag-pos=top]::after {
716
719
  display: block;
717
720
  top: -2px;
@@ -944,6 +947,9 @@
944
947
  padding-right: 0.4em;
945
948
  }
946
949
  .vxe-table-custom--sort-btn:not(.is--disabled) {
950
+ cursor: grab;
951
+ }
952
+ .vxe-table-custom--sort-btn:not(.is--disabled):active {
947
953
  cursor: grabbing;
948
954
  }
949
955
  .vxe-table-custom--sort-btn:not(.is--disabled):hover {
@@ -1024,7 +1030,7 @@
1024
1030
  position: absolute;
1025
1031
  top: 0;
1026
1032
  left: 0;
1027
- padding: 0.6em 1em 0.6em 1.8em;
1033
+ padding: 0.6em 1em 0.6em 1.6em;
1028
1034
  max-width: 300px;
1029
1035
  border-radius: var(--vxe-ui-border-radius);
1030
1036
  overflow: hidden;
@@ -1108,7 +1114,7 @@
1108
1114
  position: absolute;
1109
1115
  left: -1px;
1110
1116
  width: calc(100% + 1px);
1111
- height: 3px;
1117
+ height: 2px;
1112
1118
  background-color: var(--vxe-ui-font-primary-color);
1113
1119
  z-index: 12;
1114
1120
  }
@@ -2032,6 +2038,7 @@
2032
2038
  /*树形节点*/
2033
2039
  /*展开行*/
2034
2040
  /*设置列高度*/
2041
+ /*拖拽行*/
2035
2042
  /*溢出列*/
2036
2043
  /*暂无数据*/
2037
2044
  /*校验不通过*/
@@ -2314,7 +2321,12 @@
2314
2321
  .vxe-table--render-default .vxe-table--scroll-y-space {
2315
2322
  width: 1px;
2316
2323
  }
2317
- .vxe-table--render-default.is--padding .vxe-cell {
2324
+ .vxe-table--render-default.is--padding .vxe-body--column .vxe-cell {
2325
+ padding-left: var(--vxe-ui-table-cell-padding-left);
2326
+ padding-right: var(--vxe-ui-table-cell-padding-right);
2327
+ }
2328
+ .vxe-table--render-default .vxe-header--column .vxe-cell,
2329
+ .vxe-table--render-default .vxe-footer--column .vxe-cell {
2318
2330
  padding-left: var(--vxe-ui-table-cell-padding-left);
2319
2331
  padding-right: var(--vxe-ui-table-cell-padding-right);
2320
2332
  }
@@ -2587,6 +2599,71 @@
2587
2599
  overflow: auto;
2588
2600
  outline: 0;
2589
2601
  }
2602
+ .vxe-table--render-default .vxe-cell--drag-handle {
2603
+ -webkit-user-select: none;
2604
+ -moz-user-select: none;
2605
+ user-select: none;
2606
+ }
2607
+ .vxe-table--render-default .vxe-cell--drag-handle + span {
2608
+ padding-left: 0.5em;
2609
+ }
2610
+ .vxe-table--render-default .vxe-cell--drag-handle:not(.is--disabled) {
2611
+ cursor: grab;
2612
+ }
2613
+ .vxe-table--render-default .vxe-cell--drag-handle:not(.is--disabled):active {
2614
+ cursor: grabbing;
2615
+ }
2616
+ .vxe-table--render-default .vxe-cell--drag-handle:not(.is--disabled):hover {
2617
+ color: var(--vxe-ui-font-primary-color);
2618
+ }
2619
+ .vxe-table--render-default .vxe-cell--drag-handle.is--disabled {
2620
+ color: var(--vxe-ui-input-disabled-color);
2621
+ cursor: not-allowed;
2622
+ }
2623
+ .vxe-table--render-default .vxe-body--row.row--drag-origin > .vxe-body--column > .vxe-cell {
2624
+ opacity: 0.5;
2625
+ }
2626
+ .vxe-table--render-default .vxe-body--row.row--drag-active-target > .vxe-body--column::after {
2627
+ display: none;
2628
+ content: "";
2629
+ position: absolute;
2630
+ left: 0;
2631
+ width: 100%;
2632
+ height: 2px;
2633
+ background-color: var(--vxe-ui-font-primary-color);
2634
+ z-index: 12;
2635
+ }
2636
+ .vxe-table--render-default .vxe-body--row.row--drag-active-target[drag-pos=top] > .vxe-body--column::after {
2637
+ display: block;
2638
+ top: 0;
2639
+ }
2640
+ .vxe-table--render-default .vxe-body--row.row--drag-active-target[drag-pos=bottom] > .vxe-body--column::after {
2641
+ display: block;
2642
+ bottom: 0;
2643
+ }
2644
+ .vxe-table--render-default .vxe-body--row-list-move {
2645
+ transition: transform 0.35s;
2646
+ }
2647
+ .vxe-table--render-default .vxe-table--row-drag-hint {
2648
+ display: none;
2649
+ position: absolute;
2650
+ top: 0;
2651
+ left: 0;
2652
+ padding: 0.6em 1em 0.6em 1.6em;
2653
+ max-width: 50%;
2654
+ min-width: 100px;
2655
+ border-radius: var(--vxe-ui-border-radius);
2656
+ overflow: hidden;
2657
+ text-overflow: ellipsis;
2658
+ white-space: nowrap;
2659
+ -webkit-user-select: none;
2660
+ -moz-user-select: none;
2661
+ user-select: none;
2662
+ pointer-events: none;
2663
+ background-color: var(--vxe-ui-layout-background-color);
2664
+ box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
2665
+ z-index: 33;
2666
+ }
2590
2667
  .vxe-table--render-default .vxe-header--column.col--ellipsis:not(.col--active) > .vxe-cell,
2591
2668
  .vxe-table--render-default .vxe-body--column.col--ellipsis:not(.col--active) > .vxe-cell,
2592
2669
  .vxe-table--render-default .vxe-footer--column.col--ellipsis:not(.col--active) > .vxe-cell {