vxe-table 3.10.6 → 3.10.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.
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/custom/panel.js +31 -8
- package/es/table/module/validator/mixin.js +1 -1
- package/es/table/src/body.js +14 -8
- package/es/table/src/cell.js +7 -3
- package/es/table/src/header.js +2 -2
- package/es/table/src/methods.js +67 -17
- package/es/table/src/table.js +10 -3
- package/es/table/style.css +25 -15
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +3 -2
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +25 -15
- package/es/vxe-table/style.min.css +1 -1
- package/lib/index.umd.js +136 -36
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/custom/panel.js +31 -5
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/module/validator/mixin.js +1 -1
- package/lib/table/module/validator/mixin.min.js +1 -1
- package/lib/table/src/body.js +5 -3
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +10 -3
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/header.js +2 -2
- package/lib/table/src/methods.js +70 -16
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +13 -3
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +25 -15
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +3 -2
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-table/style/style.css +25 -15
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/table/module/custom/panel.ts +34 -8
- package/packages/table/module/validator/mixin.ts +6 -1
- package/packages/table/src/body.ts +14 -8
- package/packages/table/src/cell.ts +9 -5
- package/packages/table/src/header.ts +2 -2
- package/packages/table/src/methods.ts +68 -17
- package/packages/table/src/table.ts +10 -3
- package/packages/ui/index.ts +2 -1
- package/styles/components/table-module/custom.scss +2 -1
- package/styles/components/table.scss +36 -26
- /package/es/{iconfont.1730978752470.ttf → iconfont.1731060585164.ttf} +0 -0
- /package/es/{iconfont.1730978752470.woff → iconfont.1731060585164.woff} +0 -0
- /package/es/{iconfont.1730978752470.woff2 → iconfont.1731060585164.woff2} +0 -0
- /package/lib/{iconfont.1730978752470.ttf → iconfont.1731060585164.ttf} +0 -0
- /package/lib/{iconfont.1730978752470.woff → iconfont.1731060585164.woff} +0 -0
- /package/lib/{iconfont.1730978752470.woff2 → iconfont.1731060585164.woff2} +0 -0
package/es/table/src/methods.js
CHANGED
|
@@ -321,6 +321,16 @@ function clearRowDropOrigin($xeTable) {
|
|
|
321
321
|
});
|
|
322
322
|
}
|
|
323
323
|
}
|
|
324
|
+
function updateRowDropOrigin($xeTable, row) {
|
|
325
|
+
const el = $xeTable.$el;
|
|
326
|
+
if (el) {
|
|
327
|
+
const clss = 'row--drag-origin';
|
|
328
|
+
const rowid = getRowid($xeTable, row);
|
|
329
|
+
XEUtils.arrayEach(el.querySelectorAll(`[rowid="${rowid}"]`), (elem) => {
|
|
330
|
+
addClass(elem, clss);
|
|
331
|
+
});
|
|
332
|
+
}
|
|
333
|
+
}
|
|
324
334
|
function clearRowDropTarget($xeTable) {
|
|
325
335
|
const el = $xeTable.$el;
|
|
326
336
|
if (el) {
|
|
@@ -330,6 +340,17 @@ function clearRowDropTarget($xeTable) {
|
|
|
330
340
|
});
|
|
331
341
|
}
|
|
332
342
|
}
|
|
343
|
+
function updateRowDropTarget($xeTable, row, dragPos) {
|
|
344
|
+
const el = $xeTable.$el;
|
|
345
|
+
if (el) {
|
|
346
|
+
const clss = 'row--drag-active-target';
|
|
347
|
+
const rowid = getRowid($xeTable, row);
|
|
348
|
+
XEUtils.arrayEach(el.querySelectorAll(`[rowid="${rowid}"]`), (elem) => {
|
|
349
|
+
addClass(elem, clss);
|
|
350
|
+
elem.setAttribute('drag-pos', dragPos);
|
|
351
|
+
});
|
|
352
|
+
}
|
|
353
|
+
}
|
|
333
354
|
function showRowDropTip(evnt, $xeTable) {
|
|
334
355
|
const rdTipEl = $xeTable.$refs.refRowDragTipElem;
|
|
335
356
|
if (!rdTipEl) {
|
|
@@ -354,7 +375,19 @@ const hideRowDropTip = ($xeTable) => {
|
|
|
354
375
|
};
|
|
355
376
|
const updateRowDropTipContent = ($xeTable, tdEl) => {
|
|
356
377
|
const reactData = $xeTable;
|
|
357
|
-
|
|
378
|
+
const { dragRow } = reactData;
|
|
379
|
+
const dragOpts = $xeTable.computeDragOpts;
|
|
380
|
+
const { rowTooltipMethod } = dragOpts;
|
|
381
|
+
let tipContent = '';
|
|
382
|
+
if (rowTooltipMethod) {
|
|
383
|
+
tipContent = `${rowTooltipMethod({
|
|
384
|
+
row: dragRow
|
|
385
|
+
}) || ''}`;
|
|
386
|
+
}
|
|
387
|
+
else {
|
|
388
|
+
tipContent = getI18n('vxe.table.dragTip', [tdEl.textContent || '']);
|
|
389
|
+
}
|
|
390
|
+
reactData.dragTipText = tipContent;
|
|
358
391
|
};
|
|
359
392
|
const Methods = {
|
|
360
393
|
callSlot(slotFunc, params, h, vNodes) {
|
|
@@ -4616,7 +4649,7 @@ const Methods = {
|
|
|
4616
4649
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
4617
4650
|
const { transform } = treeOpts;
|
|
4618
4651
|
const { dragRow } = reactData;
|
|
4619
|
-
const { afterFullData, tableFullData, prevDragRow, prevDragPos } = internalData;
|
|
4652
|
+
const { afterFullData, afterTreeFullData, tableFullData, tableFullTreeData, prevDragRow, prevDragPos } = internalData;
|
|
4620
4653
|
if (prevDragRow && dragRow) {
|
|
4621
4654
|
// 判断是否有拖动
|
|
4622
4655
|
if (prevDragRow !== dragRow) {
|
|
@@ -4630,18 +4663,36 @@ const Methods = {
|
|
|
4630
4663
|
return;
|
|
4631
4664
|
}
|
|
4632
4665
|
const dragOffsetIndex = prevDragPos === 'bottom' ? 1 : 0;
|
|
4633
|
-
|
|
4634
|
-
|
|
4635
|
-
|
|
4636
|
-
|
|
4637
|
-
|
|
4638
|
-
|
|
4639
|
-
|
|
4640
|
-
|
|
4641
|
-
|
|
4642
|
-
|
|
4643
|
-
|
|
4644
|
-
|
|
4666
|
+
let oafIndex = -1;
|
|
4667
|
+
let nafIndex = -1;
|
|
4668
|
+
if (treeConfig) {
|
|
4669
|
+
// 移出源位置
|
|
4670
|
+
oafIndex = $xeTable.findRowIndexOf(afterTreeFullData, dragRow);
|
|
4671
|
+
const otfIndex = $xeTable.findRowIndexOf(tableFullTreeData, dragRow);
|
|
4672
|
+
afterTreeFullData.splice(oafIndex, 1);
|
|
4673
|
+
tableFullTreeData.splice(otfIndex, 1);
|
|
4674
|
+
// 插新位置
|
|
4675
|
+
const pafIndex = $xeTable.findRowIndexOf(afterTreeFullData, prevDragRow);
|
|
4676
|
+
const ptfIndex = $xeTable.findRowIndexOf(tableFullTreeData, prevDragRow);
|
|
4677
|
+
nafIndex = pafIndex + dragOffsetIndex;
|
|
4678
|
+
const ntfIndex = ptfIndex + dragOffsetIndex;
|
|
4679
|
+
afterTreeFullData.splice(nafIndex, 0, dragRow);
|
|
4680
|
+
tableFullTreeData.splice(ntfIndex, 0, dragRow);
|
|
4681
|
+
}
|
|
4682
|
+
else {
|
|
4683
|
+
// 移出源位置
|
|
4684
|
+
oafIndex = $xeTable.findRowIndexOf(afterFullData, dragRow);
|
|
4685
|
+
const otfIndex = $xeTable.findRowIndexOf(tableFullData, dragRow);
|
|
4686
|
+
afterFullData.splice(oafIndex, 1);
|
|
4687
|
+
tableFullData.splice(otfIndex, 1);
|
|
4688
|
+
// 插新位置
|
|
4689
|
+
const pafIndex = $xeTable.findRowIndexOf(afterFullData, prevDragRow);
|
|
4690
|
+
const ptfIndex = $xeTable.findRowIndexOf(tableFullData, prevDragRow);
|
|
4691
|
+
nafIndex = pafIndex + dragOffsetIndex;
|
|
4692
|
+
const ntfIndex = ptfIndex + dragOffsetIndex;
|
|
4693
|
+
afterFullData.splice(nafIndex, 0, dragRow);
|
|
4694
|
+
tableFullData.splice(ntfIndex, 0, dragRow);
|
|
4695
|
+
}
|
|
4645
4696
|
reactData.isDragRowMove = true;
|
|
4646
4697
|
$xeTable.cacheRowMap();
|
|
4647
4698
|
$xeTable.updateScrollYStatus();
|
|
@@ -4692,8 +4743,7 @@ const Methods = {
|
|
|
4692
4743
|
const { dragRow } = reactData;
|
|
4693
4744
|
const offsetY = evnt.clientY - trEl.getBoundingClientRect().y;
|
|
4694
4745
|
const dragPos = offsetY < trEl.clientHeight / 2 ? 'top' : 'bottom';
|
|
4695
|
-
|
|
4696
|
-
trEl.setAttribute('drag-pos', dragPos);
|
|
4746
|
+
updateRowDropTarget($xeTable, row, dragPos);
|
|
4697
4747
|
internalData.prevDragRow = row;
|
|
4698
4748
|
internalData.prevDragPos = dragPos;
|
|
4699
4749
|
$xeTable.dispatchEvent('row-dragover', {
|
|
@@ -4725,7 +4775,7 @@ const Methods = {
|
|
|
4725
4775
|
}
|
|
4726
4776
|
reactData.dragRow = row;
|
|
4727
4777
|
trEl.draggable = true;
|
|
4728
|
-
|
|
4778
|
+
updateRowDropOrigin($xeTable, row);
|
|
4729
4779
|
showRowDropTip(evnt, $xeTable);
|
|
4730
4780
|
updateRowDropTipContent($xeTable, tdEl);
|
|
4731
4781
|
$xeTable.dispatchEvent('row-dragstart', params, evnt);
|
package/es/table/src/table.js
CHANGED
|
@@ -1021,11 +1021,16 @@ export default {
|
|
|
1021
1021
|
const VxeUILoadingComponent = VxeUI.getComponent('VxeLoading');
|
|
1022
1022
|
const VxeUITooltipComponent = VxeUI.getComponent('VxeTooltip');
|
|
1023
1023
|
const $xeTable = this;
|
|
1024
|
+
const reactData = $xeTable;
|
|
1024
1025
|
const { _e, $scopedSlots, tId, isCalcColumn, tableData, tableColumn, tableGroupColumn, isGroup, loading, stripe, showHeader, height, tableBorder, treeOpts, treeConfig, mouseConfig, mouseOpts, computeSize, validOpts, showFooter, overflowX, overflowY, scrollXLoad, scrollYLoad, scrollbarHeight, highlightCell, highlightHoverRow, highlightHoverColumn, editConfig, validTipOpts, initStore, columnStore, filterStore, customStore, ctxMenuStore, ctxMenuOpts, footerTableData, columnOpts, rowOpts, checkboxOpts, loadingOpts, editRules } = $xeTable;
|
|
1026
|
+
const { dragRow, dragTipText } = reactData;
|
|
1025
1027
|
const { leftList, rightList } = columnStore;
|
|
1026
1028
|
const currLoading = this._isLoading || loading;
|
|
1027
1029
|
const vSize = computeSize;
|
|
1030
|
+
const dragOpts = $xeTable.computeDragOpts;
|
|
1028
1031
|
const virtualScrollBars = $xeTable.computeVirtualScrollBars;
|
|
1032
|
+
const dragSlots = dragOpts.slots || {};
|
|
1033
|
+
const rowTipSlot = dragSlots.rowTip;
|
|
1029
1034
|
return h('div', {
|
|
1030
1035
|
class: ['vxe-table', 'vxe-table--render-default', `tid_${tId}`, vSize ? `size--${vSize}` : '', `border--${tableBorder}`, {
|
|
1031
1036
|
[`valid-msg--${validOpts.msgMode}`]: !!editRules,
|
|
@@ -1272,11 +1277,13 @@ export default {
|
|
|
1272
1277
|
/**
|
|
1273
1278
|
* 拖拽提示
|
|
1274
1279
|
*/
|
|
1275
|
-
rowOpts.drag
|
|
1280
|
+
rowOpts.drag && (dragRow || dragTipText)
|
|
1276
1281
|
? h('div', {
|
|
1277
1282
|
ref: 'refRowDragTipElem',
|
|
1278
|
-
class: 'vxe-table--row-drag-
|
|
1279
|
-
},
|
|
1283
|
+
class: 'vxe-table--row-drag-tip'
|
|
1284
|
+
}, rowTipSlot
|
|
1285
|
+
? (dragRow ? this.callSlot(rowTipSlot, { row: dragRow }, h) : [renderEmptyElement($xeTable)])
|
|
1286
|
+
: (dragTipText ? [h('span', dragTipText)] : [renderEmptyElement($xeTable)]))
|
|
1280
1287
|
: _e(),
|
|
1281
1288
|
h('div', {}, [
|
|
1282
1289
|
/**
|
package/es/table/style.css
CHANGED
|
@@ -1074,7 +1074,7 @@
|
|
|
1074
1074
|
.vxe-table-custom-popup--column-item.col--sort, .vxe-table-custom-popup--column-item.col--visible, .vxe-table-custom-popup--column-item.col--resizable, .vxe-table-custom-popup--column-item.col--fixed {
|
|
1075
1075
|
text-align: center;
|
|
1076
1076
|
}
|
|
1077
|
-
.vxe-table-custom-popup--column-item.col--resizable > .vxe-input {
|
|
1077
|
+
.vxe-table-custom-popup--column-item.col--resizable > .vxe-input, .vxe-table-custom-popup--column-item.col--resizable > .vxe-number-input {
|
|
1078
1078
|
width: 100%;
|
|
1079
1079
|
}
|
|
1080
1080
|
|
|
@@ -2652,7 +2652,7 @@
|
|
|
2652
2652
|
.vxe-table--render-default .vxe-body--row-list-move {
|
|
2653
2653
|
transition: transform 0.35s;
|
|
2654
2654
|
}
|
|
2655
|
-
.vxe-table--render-default .vxe-table--row-drag-
|
|
2655
|
+
.vxe-table--render-default .vxe-table--row-drag-tip {
|
|
2656
2656
|
display: none;
|
|
2657
2657
|
position: absolute;
|
|
2658
2658
|
top: 0;
|
|
@@ -2736,10 +2736,7 @@
|
|
|
2736
2736
|
.vxe-table--render-default .vxe-body--column.col--selected {
|
|
2737
2737
|
box-shadow: inset 0px 0px 0px 2px var(--vxe-ui-font-primary-color);
|
|
2738
2738
|
}
|
|
2739
|
-
.vxe-table--render-default .vxe-body--column
|
|
2740
|
-
position: relative;
|
|
2741
|
-
}
|
|
2742
|
-
.vxe-table--render-default .vxe-body--column.col--valid-error .vxe-cell--valid-error-hint {
|
|
2739
|
+
.vxe-table--render-default .vxe-body--column .vxe-cell--valid-error-tip {
|
|
2743
2740
|
width: 100%;
|
|
2744
2741
|
position: absolute;
|
|
2745
2742
|
left: 50%;
|
|
@@ -2751,12 +2748,25 @@
|
|
|
2751
2748
|
padding-left: var(--vxe-ui-table-cell-padding-left);
|
|
2752
2749
|
padding-right: var(--vxe-ui-table-cell-padding-right);
|
|
2753
2750
|
}
|
|
2754
|
-
.vxe-table--render-default .vxe-body--column
|
|
2751
|
+
.vxe-table--render-default .vxe-body--column .vxe-cell--valid-error-wrapper {
|
|
2755
2752
|
display: inline-block;
|
|
2756
2753
|
border-radius: var(--vxe-ui-border-radius);
|
|
2754
|
+
pointer-events: auto;
|
|
2755
|
+
}
|
|
2756
|
+
.vxe-table--render-default .vxe-body--column .vxe-cell--valid-error-theme-beautify {
|
|
2757
|
+
padding: 0.4em 0.8em;
|
|
2758
|
+
color: #fff;
|
|
2759
|
+
background-color: #f56c6c;
|
|
2760
|
+
}
|
|
2761
|
+
.vxe-table--render-default .vxe-body--column .vxe-cell--valid-error-theme-beautify .vxe-cell--valid-error-msg {
|
|
2762
|
+
background: transparent;
|
|
2763
|
+
}
|
|
2764
|
+
.vxe-table--render-default .vxe-body--column .vxe-cell--valid-error-theme-normal {
|
|
2757
2765
|
color: var(--vxe-ui-table-validate-error-color);
|
|
2758
2766
|
background-color: var(--vxe-ui-table-validate-error-background-color);
|
|
2759
|
-
|
|
2767
|
+
}
|
|
2768
|
+
.vxe-table--render-default .vxe-body--column.col--active, .vxe-table--render-default .vxe-body--column.col--selected {
|
|
2769
|
+
position: relative;
|
|
2760
2770
|
}
|
|
2761
2771
|
.vxe-table--render-default .vxe-body--column.col--valid-error .vxe-default-input,
|
|
2762
2772
|
.vxe-table--render-default .vxe-body--column.col--valid-error .vxe-default-textarea,
|
|
@@ -2767,16 +2777,16 @@
|
|
|
2767
2777
|
.vxe-table--render-default .vxe-body--column.col--valid-error .vxe-ico-picker {
|
|
2768
2778
|
border-color: var(--vxe-ui-table-validate-error-color);
|
|
2769
2779
|
}
|
|
2770
|
-
.vxe-table--render-default.valid-msg--single .vxe-body--row:last-child .vxe-cell--valid-error-
|
|
2780
|
+
.vxe-table--render-default.valid-msg--single .vxe-body--row:last-child .vxe-cell--valid-error-tip {
|
|
2771
2781
|
bottom: 100%;
|
|
2772
2782
|
}
|
|
2773
|
-
.vxe-table--render-default.valid-msg--single .vxe-body--row:last-child:first-child .vxe-cell--valid-error-
|
|
2783
|
+
.vxe-table--render-default.valid-msg--single .vxe-body--row:last-child:first-child .vxe-cell--valid-error-tip {
|
|
2774
2784
|
bottom: auto;
|
|
2775
2785
|
}
|
|
2776
|
-
.vxe-table--render-default.valid-msg--full .vxe-body--row:last-child .vxe-cell--valid-error-
|
|
2786
|
+
.vxe-table--render-default.valid-msg--full .vxe-body--row:last-child .vxe-cell--valid-error-tip {
|
|
2777
2787
|
top: calc(100% - 1.3em);
|
|
2778
2788
|
}
|
|
2779
|
-
.vxe-table--render-default.old-cell-valid .vxe-body--column.col--valid-error .vxe-cell--valid-error-
|
|
2789
|
+
.vxe-table--render-default.old-cell-valid .vxe-body--column.col--valid-error .vxe-cell--valid-error-tip {
|
|
2780
2790
|
width: 320px;
|
|
2781
2791
|
position: absolute;
|
|
2782
2792
|
bottom: calc(100% + 4px);
|
|
@@ -2786,7 +2796,7 @@
|
|
|
2786
2796
|
pointer-events: none;
|
|
2787
2797
|
z-index: 4;
|
|
2788
2798
|
}
|
|
2789
|
-
.vxe-table--render-default.old-cell-valid .vxe-body--column.col--valid-error .vxe-cell--valid-error-
|
|
2799
|
+
.vxe-table--render-default.old-cell-valid .vxe-body--column.col--valid-error .vxe-cell--valid-error-tip .vxe-cell--valid-error-msg {
|
|
2790
2800
|
display: inline-block;
|
|
2791
2801
|
border-radius: -var(-vxe-border-radius);
|
|
2792
2802
|
padding: 8px 12px;
|
|
@@ -2794,11 +2804,11 @@
|
|
|
2794
2804
|
background-color: #f56c6c;
|
|
2795
2805
|
pointer-events: auto;
|
|
2796
2806
|
}
|
|
2797
|
-
.vxe-table--render-default.old-cell-valid .vxe-body--row:first-child .vxe-cell--valid-error-
|
|
2807
|
+
.vxe-table--render-default.old-cell-valid .vxe-body--row:first-child .vxe-cell--valid-error-tip {
|
|
2798
2808
|
bottom: auto;
|
|
2799
2809
|
top: calc(100% + 4px);
|
|
2800
2810
|
}
|
|
2801
|
-
.vxe-table--render-default.old-cell-valid .vxe-body--column:first-child .vxe-cell--valid-error-
|
|
2811
|
+
.vxe-table--render-default.old-cell-valid .vxe-body--column:first-child .vxe-cell--valid-error-tip {
|
|
2802
2812
|
left: 10px;
|
|
2803
2813
|
transform: translateX(0);
|
|
2804
2814
|
text-align: left;
|