vxe-table 4.10.6-beta.26 → 4.10.6-beta.28
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/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/locale/lang/en-US.js +2 -2
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/src/body.js +14 -11
- package/es/table/src/cell.js +25 -39
- package/es/table/src/column.js +10 -0
- package/es/table/src/columnInfo.js +2 -0
- package/es/table/src/footer.js +2 -1
- package/es/table/src/header.js +2 -2
- package/es/table/src/table.js +75 -40
- package/es/table/src/util.js +9 -3
- package/es/table/style.css +51 -26
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +51 -26
- package/es/vxe-table/style.min.css +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +144 -93
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/en-US.js +2 -2
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +2 -2
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/src/body.js +13 -11
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +24 -33
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/column.js +10 -0
- package/lib/table/src/column.min.js +1 -1
- package/lib/table/src/columnInfo.js +2 -0
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/footer.js +2 -1
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +1 -1
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/table.js +81 -42
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +10 -3
- package/lib/table/src/util.min.js +1 -1
- package/lib/table/style/style.css +51 -26
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +1 -1
- 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 +51 -26
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/locale/lang/en-US.ts +2 -2
- package/packages/table/src/body.ts +14 -11
- package/packages/table/src/cell.ts +25 -47
- package/packages/table/src/column.ts +10 -0
- package/packages/table/src/columnInfo.ts +2 -0
- package/packages/table/src/footer.ts +2 -1
- package/packages/table/src/header.ts +2 -2
- package/packages/table/src/table.ts +77 -41
- package/packages/table/src/util.ts +10 -3
- package/styles/components/table.scss +63 -31
- /package/es/{iconfont.1737366161311.ttf → iconfont.1737448409773.ttf} +0 -0
- /package/es/{iconfont.1737366161311.woff → iconfont.1737448409773.woff} +0 -0
- /package/es/{iconfont.1737366161311.woff2 → iconfont.1737448409773.woff2} +0 -0
- /package/lib/{iconfont.1737366161311.ttf → iconfont.1737448409773.ttf} +0 -0
- /package/lib/{iconfont.1737366161311.woff → iconfont.1737448409773.woff} +0 -0
- /package/lib/{iconfont.1737366161311.woff2 → iconfont.1737448409773.woff2} +0 -0
package/es/table/src/cell.js
CHANGED
|
@@ -179,18 +179,6 @@ function renderTitleContent(params, content) {
|
|
|
179
179
|
: h('span', Object.assign({ class: 'vxe-cell--title' }, ons), getSlotVNs(content))
|
|
180
180
|
];
|
|
181
181
|
}
|
|
182
|
-
function formatFooterLabel(footerFormatter, params) {
|
|
183
|
-
if (XEUtils.isFunction(footerFormatter)) {
|
|
184
|
-
return `${footerFormatter(params)}`;
|
|
185
|
-
}
|
|
186
|
-
const isArr = XEUtils.isArray(footerFormatter);
|
|
187
|
-
const gFormatOpts = isArr ? formats.get(footerFormatter[0]) : formats.get(footerFormatter);
|
|
188
|
-
const footerFormatMethod = gFormatOpts ? gFormatOpts.tableFooterCellFormatMethod : null;
|
|
189
|
-
if (footerFormatMethod) {
|
|
190
|
-
return `${isArr ? footerFormatMethod(params, ...footerFormatter.slice(1)) : footerFormatMethod(params)}`;
|
|
191
|
-
}
|
|
192
|
-
return '';
|
|
193
|
-
}
|
|
194
182
|
function getFooterContent(params) {
|
|
195
183
|
const { $table, column, _columnIndex, items, row } = params;
|
|
196
184
|
const { slots, editRender, cellRender, footerFormatter } = column;
|
|
@@ -199,42 +187,40 @@ function getFooterContent(params) {
|
|
|
199
187
|
if (footerSlot) {
|
|
200
188
|
return $table.callSlot(footerSlot, params);
|
|
201
189
|
}
|
|
190
|
+
let itemValue = '';
|
|
191
|
+
// 兼容老模式
|
|
192
|
+
if (XEUtils.isArray(items)) {
|
|
193
|
+
itemValue = items[_columnIndex];
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
itemValue = XEUtils.get(row, column.field);
|
|
197
|
+
}
|
|
198
|
+
const footParams = Object.assign(params, {
|
|
199
|
+
itemValue
|
|
200
|
+
});
|
|
201
|
+
if (footerFormatter) {
|
|
202
|
+
if (XEUtils.isFunction(footerFormatter)) {
|
|
203
|
+
return `${footerFormatter(footParams)}`;
|
|
204
|
+
}
|
|
205
|
+
const isArr = XEUtils.isArray(footerFormatter);
|
|
206
|
+
const gFormatOpts = isArr ? formats.get(footerFormatter[0]) : formats.get(footerFormatter);
|
|
207
|
+
const footerFormatMethod = gFormatOpts ? gFormatOpts.tableFooterCellFormatMethod : null;
|
|
208
|
+
if (footerFormatMethod) {
|
|
209
|
+
return `${isArr ? footerFormatMethod(footParams, ...footerFormatter.slice(1)) : footerFormatMethod(footParams)}`;
|
|
210
|
+
}
|
|
211
|
+
return '';
|
|
212
|
+
}
|
|
202
213
|
if (renderOpts) {
|
|
203
214
|
const compConf = renderer.get(renderOpts.name);
|
|
204
215
|
if (compConf) {
|
|
205
216
|
const rtFooter = compConf.renderTableFooter || compConf.renderFooter;
|
|
206
217
|
if (rtFooter) {
|
|
207
|
-
return getSlotVNs(rtFooter(renderOpts,
|
|
218
|
+
return getSlotVNs(rtFooter(renderOpts, footParams));
|
|
208
219
|
}
|
|
209
220
|
}
|
|
210
221
|
}
|
|
211
|
-
let itemValue = '';
|
|
212
|
-
// 兼容老模式
|
|
213
|
-
if (XEUtils.isArray(items)) {
|
|
214
|
-
itemValue = items[_columnIndex];
|
|
215
|
-
return [
|
|
216
|
-
footerFormatter
|
|
217
|
-
? formatFooterLabel(footerFormatter, {
|
|
218
|
-
itemValue,
|
|
219
|
-
column,
|
|
220
|
-
row,
|
|
221
|
-
items,
|
|
222
|
-
_columnIndex
|
|
223
|
-
})
|
|
224
|
-
: formatText(itemValue, 1)
|
|
225
|
-
];
|
|
226
|
-
}
|
|
227
|
-
itemValue = XEUtils.get(row, column.field);
|
|
228
222
|
return [
|
|
229
|
-
|
|
230
|
-
? formatFooterLabel(footerFormatter, {
|
|
231
|
-
itemValue,
|
|
232
|
-
column,
|
|
233
|
-
row,
|
|
234
|
-
items,
|
|
235
|
-
_columnIndex
|
|
236
|
-
})
|
|
237
|
-
: formatText(itemValue, 1)
|
|
223
|
+
formatText(itemValue, 1)
|
|
238
224
|
];
|
|
239
225
|
}
|
|
240
226
|
function getDefaultCellLabel(params) {
|
package/es/table/src/column.js
CHANGED
|
@@ -54,6 +54,16 @@ export const columnProps = {
|
|
|
54
54
|
formatter: [Function, Array, String],
|
|
55
55
|
// 格式化表尾显示内容
|
|
56
56
|
footerFormatter: [Function, Array, String],
|
|
57
|
+
// 是否显示间距
|
|
58
|
+
padding: {
|
|
59
|
+
type: Boolean,
|
|
60
|
+
default: null
|
|
61
|
+
},
|
|
62
|
+
// 垂直对齐方式
|
|
63
|
+
verticalAlign: {
|
|
64
|
+
type: String,
|
|
65
|
+
default: null
|
|
66
|
+
},
|
|
57
67
|
// 是否允许排序
|
|
58
68
|
sortable: Boolean,
|
|
59
69
|
// 自定义排序的属性
|
|
@@ -70,6 +70,8 @@ export class ColumnInfo {
|
|
|
70
70
|
footerClassName: _vm.footerClassName,
|
|
71
71
|
formatter: formatter,
|
|
72
72
|
footerFormatter: _vm.footerFormatter,
|
|
73
|
+
padding: _vm.padding,
|
|
74
|
+
verticalAlign: _vm.verticalAlign,
|
|
73
75
|
sortable: _vm.sortable,
|
|
74
76
|
sortBy: _vm.sortBy,
|
|
75
77
|
sortType: _vm.sortType,
|
package/es/table/src/footer.js
CHANGED
|
@@ -2,6 +2,7 @@ import { defineComponent, TransitionGroup, h, ref, inject, nextTick, onMounted,
|
|
|
2
2
|
import XEUtils from 'xe-utils';
|
|
3
3
|
import { VxeUI } from '../../ui';
|
|
4
4
|
import { updateCellTitle, getPropClass } from '../../ui/src/dom';
|
|
5
|
+
import { getCellHeight } from './util';
|
|
5
6
|
const { renderer, renderEmptyElement } = VxeUI;
|
|
6
7
|
const renderType = 'footer';
|
|
7
8
|
function mergeFooterMethod(mergeFooterList, _rowIndex, _columnIndex) {
|
|
@@ -57,7 +58,7 @@ export default defineComponent({
|
|
|
57
58
|
const defaultRowHeight = computeDefaultRowHeight.value;
|
|
58
59
|
const cellOpts = computeCellOpts.value;
|
|
59
60
|
const footerCellOpts = computeFooterCellOpts.value;
|
|
60
|
-
const currCellHeight = footerCellOpts.height || cellOpts.height || defaultRowHeight;
|
|
61
|
+
const currCellHeight = getCellHeight(footerCellOpts.height || cellOpts.height) || defaultRowHeight;
|
|
61
62
|
return tableColumn.map((column, $columnIndex) => {
|
|
62
63
|
const { type, showFooterOverflow, footerAlign, align, footerClassName, editRender, cellRender } = column;
|
|
63
64
|
const colid = column.id;
|
package/es/table/src/header.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent, TransitionGroup, h, ref, inject, nextTick, watch, onMounted, onUnmounted } from 'vue';
|
|
2
2
|
import XEUtils from 'xe-utils';
|
|
3
3
|
import { VxeUI } from '../../ui';
|
|
4
|
-
import { convertHeaderColumnToRows } from './util';
|
|
4
|
+
import { getCellHeight, convertHeaderColumnToRows } from './util';
|
|
5
5
|
const { renderer, renderEmptyElement } = VxeUI;
|
|
6
6
|
const renderType = 'header';
|
|
7
7
|
export default defineComponent({
|
|
@@ -42,7 +42,7 @@ export default defineComponent({
|
|
|
42
42
|
const cellOpts = computeCellOpts.value;
|
|
43
43
|
const defaultRowHeight = computeDefaultRowHeight.value;
|
|
44
44
|
const headerCellOpts = computeHeaderCellOpts.value;
|
|
45
|
-
const currCellHeight = headerCellOpts.height || cellOpts.height || defaultRowHeight;
|
|
45
|
+
const currCellHeight = getCellHeight(headerCellOpts.height || cellOpts.height) || defaultRowHeight;
|
|
46
46
|
const { disabledMethod: dragDisabledMethod, isCrossDrag, isPeerDrag } = columnDragOpts;
|
|
47
47
|
return cols.map((column, $columnIndex) => {
|
|
48
48
|
const { type, showHeaderOverflow, headerAlign, align, filters, headerClassName, editRender, cellRender } = column;
|
package/es/table/src/table.js
CHANGED
|
@@ -891,8 +891,8 @@ export default defineComponent({
|
|
|
891
891
|
for (let rIndex = 0, rLen = afterFullData.length; rIndex < rLen; rIndex++) {
|
|
892
892
|
const row = afterFullData[rIndex];
|
|
893
893
|
const rowid = getRowid($xeTable, row);
|
|
894
|
-
const rowRest = fullAllDataRowIdData[rowid];
|
|
895
|
-
offsetTop += rowRest
|
|
894
|
+
const rowRest = fullAllDataRowIdData[rowid] || {};
|
|
895
|
+
offsetTop += rowRest.resizeHeight || rowRest.height || cellOpts.height || rowOpts.height || defaultRowHeight;
|
|
896
896
|
if (toVisibleIndex === -1 && scrollTop < offsetTop) {
|
|
897
897
|
toVisibleIndex = rIndex;
|
|
898
898
|
}
|
|
@@ -1390,19 +1390,15 @@ export default defineComponent({
|
|
|
1390
1390
|
};
|
|
1391
1391
|
const calcCellAutoHeight = (rowRest, wrapperEl) => {
|
|
1392
1392
|
const cellElemList = wrapperEl.querySelectorAll(`.vxe-cell--wrapper[rowid="${rowRest.rowid}"]`);
|
|
1393
|
-
let
|
|
1394
|
-
const firstCellEl = cellElemList[0];
|
|
1395
|
-
if (firstCellEl && firstCellEl.parentElement) {
|
|
1396
|
-
const cellStyle = getComputedStyle(firstCellEl.parentElement);
|
|
1397
|
-
topBottomPadding = Math.ceil(XEUtils.toNumber(cellStyle.paddingTop) + XEUtils.toNumber(cellStyle.paddingBottom));
|
|
1398
|
-
}
|
|
1399
|
-
let colHeight = rowRest.height - topBottomPadding;
|
|
1393
|
+
let colHeight = rowRest.height;
|
|
1400
1394
|
for (let i = 0; i < cellElemList.length; i++) {
|
|
1401
1395
|
const cellElem = cellElemList[i];
|
|
1396
|
+
const tdEl = cellElem.parentElement;
|
|
1397
|
+
const topBottomPadding = Math.ceil(XEUtils.toNumber(tdEl.style.paddingTop) + XEUtils.toNumber(tdEl.style.paddingBottom));
|
|
1402
1398
|
const cellHeight = cellElem ? cellElem.clientHeight : 0;
|
|
1403
|
-
colHeight = Math.max(colHeight, Math.ceil(cellHeight));
|
|
1399
|
+
colHeight = Math.max(colHeight - topBottomPadding, Math.ceil(cellHeight));
|
|
1404
1400
|
}
|
|
1405
|
-
return colHeight
|
|
1401
|
+
return colHeight;
|
|
1406
1402
|
};
|
|
1407
1403
|
const calcCellHeight = () => {
|
|
1408
1404
|
const { tableData, isAllOverflow, scrollYLoad, scrollXLoad } = reactData;
|
|
@@ -1410,13 +1406,15 @@ export default defineComponent({
|
|
|
1410
1406
|
const defaultRowHeight = computeDefaultRowHeight.value;
|
|
1411
1407
|
const el = refElem.value;
|
|
1412
1408
|
if (!isAllOverflow && scrollYLoad && el) {
|
|
1409
|
+
el.setAttribute('data-calc-row', 'Y');
|
|
1413
1410
|
tableData.forEach(row => {
|
|
1414
1411
|
const rowid = getRowid($xeTable, row);
|
|
1415
1412
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
1416
1413
|
if (rowRest) {
|
|
1417
|
-
const
|
|
1418
|
-
rowRest.height = Math.max(defaultRowHeight, scrollXLoad ? Math.max(rowRest.height,
|
|
1414
|
+
const reHeight = calcCellAutoHeight(rowRest, el);
|
|
1415
|
+
rowRest.height = Math.max(defaultRowHeight, scrollXLoad ? Math.max(rowRest.height, reHeight) : reHeight);
|
|
1419
1416
|
}
|
|
1417
|
+
el.removeAttribute('data-calc-row');
|
|
1420
1418
|
});
|
|
1421
1419
|
reactData.calcCellHeightFlag++;
|
|
1422
1420
|
}
|
|
@@ -4148,7 +4146,7 @@ export default defineComponent({
|
|
|
4148
4146
|
if (rowRest) {
|
|
4149
4147
|
const resizeHeight = rowRest.resizeHeight;
|
|
4150
4148
|
if (resizeHeight || isFull) {
|
|
4151
|
-
const currCellHeight = resizeHeight || cellOpts.height || rowOpts.height || defaultRowHeight;
|
|
4149
|
+
const currCellHeight = resizeHeight || rowRest.height || cellOpts.height || rowOpts.height || defaultRowHeight;
|
|
4152
4150
|
rest[rowid] = currCellHeight;
|
|
4153
4151
|
}
|
|
4154
4152
|
}
|
|
@@ -4193,8 +4191,10 @@ export default defineComponent({
|
|
|
4193
4191
|
const defaultRowHeight = computeDefaultRowHeight.value;
|
|
4194
4192
|
const rowid = XEUtils.isString(rowOrId) || XEUtils.isNumber(rowOrId) ? rowOrId : getRowid($xeTable, rowOrId);
|
|
4195
4193
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
4196
|
-
|
|
4197
|
-
|
|
4194
|
+
if (rowRest) {
|
|
4195
|
+
return rowRest.resizeHeight || rowRest.height || cellOpts.height || rowOpts.height || defaultRowHeight;
|
|
4196
|
+
}
|
|
4197
|
+
return 0;
|
|
4198
4198
|
},
|
|
4199
4199
|
/**
|
|
4200
4200
|
* 刷新滚动操作,手动同步滚动相关位置(对于某些特殊的操作,比如滚动条错位、固定列不同步)
|
|
@@ -6736,6 +6736,7 @@ export default defineComponent({
|
|
|
6736
6736
|
resizeTipElem.style.left = `${resizeTipLeft}px`;
|
|
6737
6737
|
resizeTipElem.style.top = `${Math.min(tableHeight - resizeTipHeight, Math.max(0, evnt.clientY - wrapperRect.y - resizeTipHeight / 2))}px`;
|
|
6738
6738
|
}
|
|
6739
|
+
reactData.isDragResize = true;
|
|
6739
6740
|
};
|
|
6740
6741
|
reactData.isDragResize = true;
|
|
6741
6742
|
addClass(tableEl, 'col-drag--resize');
|
|
@@ -6745,8 +6746,10 @@ export default defineComponent({
|
|
|
6745
6746
|
document.onmousemove = null;
|
|
6746
6747
|
document.onmouseup = null;
|
|
6747
6748
|
resizeBarElem.style.display = 'none';
|
|
6748
|
-
reactData.isDragResize = false;
|
|
6749
6749
|
internalData._lastResizeTime = Date.now();
|
|
6750
|
+
setTimeout(() => {
|
|
6751
|
+
reactData.isDragResize = false;
|
|
6752
|
+
}, 50);
|
|
6750
6753
|
const resizeWidth = resizeColumn.renderWidth + (isRightFixed ? dragPosLeft - dragLeft : dragLeft - dragPosLeft);
|
|
6751
6754
|
const resizeParams = Object.assign(Object.assign({}, params), { resizeWidth, resizeColumn });
|
|
6752
6755
|
if (resizableOpts.dragMode === 'fixed') {
|
|
@@ -6777,6 +6780,8 @@ export default defineComponent({
|
|
|
6777
6780
|
const { isDblclickAutoWidth } = resizableOpts;
|
|
6778
6781
|
const el = refElem.value;
|
|
6779
6782
|
if (isDblclickAutoWidth && el) {
|
|
6783
|
+
evnt.stopPropagation();
|
|
6784
|
+
evnt.preventDefault();
|
|
6780
6785
|
const { fullColumnIdData } = internalData;
|
|
6781
6786
|
const { column } = params;
|
|
6782
6787
|
let resizeColumn = column;
|
|
@@ -6842,7 +6847,7 @@ export default defineComponent({
|
|
|
6842
6847
|
return;
|
|
6843
6848
|
}
|
|
6844
6849
|
const defaultRowHeight = computeDefaultRowHeight.value;
|
|
6845
|
-
const currCellHeight = rowRest.resizeHeight || cellOpts.height || rowOpts.height || defaultRowHeight;
|
|
6850
|
+
const currCellHeight = rowRest.resizeHeight || rowRest.height || cellOpts.height || rowOpts.height || defaultRowHeight;
|
|
6846
6851
|
const tableRect = tableEl.getBoundingClientRect();
|
|
6847
6852
|
const trRect = trEl.getBoundingClientRect();
|
|
6848
6853
|
const targetOffsetY = dragClientY - trRect.y - trEl.clientHeight;
|
|
@@ -6885,6 +6890,7 @@ export default defineComponent({
|
|
|
6885
6890
|
resizeTipElem.style.left = `${resizeBarLeft}px`;
|
|
6886
6891
|
resizeTipElem.style.top = `${resizeBarTop}px`;
|
|
6887
6892
|
}
|
|
6893
|
+
reactData.isDragResize = true;
|
|
6888
6894
|
};
|
|
6889
6895
|
reactData.isDragResize = true;
|
|
6890
6896
|
addClass(tableEl, 'row-drag--resize');
|
|
@@ -6894,8 +6900,10 @@ export default defineComponent({
|
|
|
6894
6900
|
document.onmousemove = null;
|
|
6895
6901
|
document.onmouseup = null;
|
|
6896
6902
|
resizeBarElem.style.display = 'none';
|
|
6897
|
-
reactData.isDragResize = false;
|
|
6898
6903
|
internalData._lastResizeTime = Date.now();
|
|
6904
|
+
setTimeout(() => {
|
|
6905
|
+
reactData.isDragResize = false;
|
|
6906
|
+
}, 50);
|
|
6899
6907
|
if (resizeHeight !== currCellHeight) {
|
|
6900
6908
|
const resizeParams = Object.assign(Object.assign({}, params), { resizeHeight, resizeRow: row });
|
|
6901
6909
|
internalData.isResizeCellHeight = true;
|
|
@@ -6916,23 +6924,37 @@ export default defineComponent({
|
|
|
6916
6924
|
const { isDblclickAutoHeight } = resizableOpts;
|
|
6917
6925
|
const el = refElem.value;
|
|
6918
6926
|
if (isDblclickAutoHeight && el) {
|
|
6927
|
+
evnt.stopPropagation();
|
|
6928
|
+
evnt.preventDefault();
|
|
6929
|
+
const { editStore } = reactData;
|
|
6919
6930
|
const { fullAllDataRowIdData } = internalData;
|
|
6931
|
+
const { actived } = editStore;
|
|
6920
6932
|
const { row } = params;
|
|
6921
6933
|
const rowid = getRowid($xeTable, row);
|
|
6922
6934
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
6923
6935
|
if (!rowRest) {
|
|
6924
6936
|
return;
|
|
6925
6937
|
}
|
|
6926
|
-
const
|
|
6927
|
-
|
|
6928
|
-
|
|
6929
|
-
|
|
6930
|
-
|
|
6931
|
-
|
|
6938
|
+
const handleRsHeight = () => {
|
|
6939
|
+
el.setAttribute('data-calc-row', 'Y');
|
|
6940
|
+
const resizeHeight = calcCellAutoHeight(rowRest, el);
|
|
6941
|
+
el.removeAttribute('data-calc-row');
|
|
6942
|
+
const resizeParams = Object.assign(Object.assign({}, params), { resizeHeight, resizeRow: row });
|
|
6943
|
+
reactData.isDragResize = false;
|
|
6944
|
+
internalData._lastResizeTime = Date.now();
|
|
6945
|
+
if ($xeTable.handleRowResizeDblclickCellAreaEvent) {
|
|
6946
|
+
$xeTable.handleRowResizeDblclickCellAreaEvent(evnt, resizeParams);
|
|
6947
|
+
}
|
|
6948
|
+
else {
|
|
6949
|
+
rowRest.resizeHeight = resizeHeight;
|
|
6950
|
+
handleUpdateRowResize(evnt, resizeParams);
|
|
6951
|
+
}
|
|
6952
|
+
};
|
|
6953
|
+
if (actived.row || actived.column) {
|
|
6954
|
+
$xeTable.clearEdit().then(handleRsHeight);
|
|
6932
6955
|
}
|
|
6933
6956
|
else {
|
|
6934
|
-
|
|
6935
|
-
handleUpdateRowResize(evnt, resizeParams);
|
|
6957
|
+
handleRsHeight();
|
|
6936
6958
|
}
|
|
6937
6959
|
}
|
|
6938
6960
|
},
|
|
@@ -7350,12 +7372,12 @@ export default defineComponent({
|
|
|
7350
7372
|
internalData.tooltipTimeout = setTimeout(() => {
|
|
7351
7373
|
$tooltip = refTooltip.value;
|
|
7352
7374
|
if ($tooltip && $tooltip.isActived && !$tooltip.isActived()) {
|
|
7353
|
-
|
|
7375
|
+
$xeTable.closeTooltip();
|
|
7354
7376
|
}
|
|
7355
7377
|
}, tooltipOpts.leaveDelay);
|
|
7356
7378
|
}
|
|
7357
7379
|
else {
|
|
7358
|
-
|
|
7380
|
+
$xeTable.closeTooltip();
|
|
7359
7381
|
}
|
|
7360
7382
|
},
|
|
7361
7383
|
triggerHeaderCellClickEvent(evnt, params) {
|
|
@@ -7385,7 +7407,10 @@ export default defineComponent({
|
|
|
7385
7407
|
*/
|
|
7386
7408
|
triggerCellClickEvent(evnt, params) {
|
|
7387
7409
|
const { highlightCurrentRow, editConfig } = props;
|
|
7388
|
-
const { editStore } = reactData;
|
|
7410
|
+
const { editStore, isDragResize } = reactData;
|
|
7411
|
+
if (isDragResize) {
|
|
7412
|
+
return;
|
|
7413
|
+
}
|
|
7389
7414
|
const expandOpts = computeExpandOpts.value;
|
|
7390
7415
|
const editOpts = computeEditOpts.value;
|
|
7391
7416
|
const treeOpts = computeTreeOpts.value;
|
|
@@ -7480,7 +7505,10 @@ export default defineComponent({
|
|
|
7480
7505
|
*/
|
|
7481
7506
|
triggerCellDblclickEvent(evnt, params) {
|
|
7482
7507
|
const { editConfig } = props;
|
|
7483
|
-
const { editStore } = reactData;
|
|
7508
|
+
const { editStore, isDragResize } = reactData;
|
|
7509
|
+
if (isDragResize) {
|
|
7510
|
+
return;
|
|
7511
|
+
}
|
|
7484
7512
|
const editOpts = computeEditOpts.value;
|
|
7485
7513
|
const { actived } = editStore;
|
|
7486
7514
|
const cell = evnt.currentTarget;
|
|
@@ -7882,7 +7910,11 @@ export default defineComponent({
|
|
|
7882
7910
|
else {
|
|
7883
7911
|
// 根到根
|
|
7884
7912
|
}
|
|
7885
|
-
const fullList = XEUtils.toTreeArray(internalData.afterTreeFullData, {
|
|
7913
|
+
const fullList = XEUtils.toTreeArray(internalData.afterTreeFullData, {
|
|
7914
|
+
key: rowField,
|
|
7915
|
+
parentKey: parentField,
|
|
7916
|
+
children: mapChildrenField
|
|
7917
|
+
});
|
|
7886
7918
|
// 移出
|
|
7887
7919
|
const otfIndex = $xeTable.findRowIndexOf(fullList, dragRow);
|
|
7888
7920
|
fullList.splice(otfIndex, 1);
|
|
@@ -7898,10 +7930,10 @@ export default defineComponent({
|
|
|
7898
7930
|
}
|
|
7899
7931
|
dragRow[parentField] = isDragToChildFlag ? prevDragRow[rowField] : prevDragRow[parentField];
|
|
7900
7932
|
internalData.tableFullTreeData = XEUtils.toArrayTree(fullList, {
|
|
7901
|
-
key:
|
|
7902
|
-
parentKey:
|
|
7933
|
+
key: rowField,
|
|
7934
|
+
parentKey: parentField,
|
|
7903
7935
|
children: childrenField,
|
|
7904
|
-
mapChildren:
|
|
7936
|
+
mapChildren: mapChildrenField
|
|
7905
7937
|
});
|
|
7906
7938
|
}
|
|
7907
7939
|
}
|
|
@@ -8601,7 +8633,10 @@ export default defineComponent({
|
|
|
8601
8633
|
});
|
|
8602
8634
|
},
|
|
8603
8635
|
triggerBodyWheelEvent(evnt) {
|
|
8604
|
-
const { deltaY, deltaX } = evnt;
|
|
8636
|
+
const { target, deltaY, deltaX } = evnt;
|
|
8637
|
+
if (target && /^textarea$/i.test(target.tagName)) {
|
|
8638
|
+
return;
|
|
8639
|
+
}
|
|
8605
8640
|
const { highlightHoverRow } = tableProps;
|
|
8606
8641
|
const { elemStore, lastScrollTop, lastScrollLeft } = internalData;
|
|
8607
8642
|
const rowOpts = computeRowOpts.value;
|
|
@@ -8817,14 +8852,14 @@ export default defineComponent({
|
|
|
8817
8852
|
for (let i = 0; i < afterFullData.length; i++) {
|
|
8818
8853
|
const row = afterFullData[i];
|
|
8819
8854
|
const rowid = getRowid($xeTable, row);
|
|
8820
|
-
const rowRest = fullAllDataRowIdData[rowid];
|
|
8821
|
-
ySpaceHeight += rowRest
|
|
8855
|
+
const rowRest = fullAllDataRowIdData[rowid] || {};
|
|
8856
|
+
ySpaceHeight += rowRest.resizeHeight || rowRest.height || cellOpts.height || rowOpts.height || defaultRowHeight;
|
|
8822
8857
|
}
|
|
8823
8858
|
for (let i = 0; i < startIndex; i++) {
|
|
8824
8859
|
const row = afterFullData[i];
|
|
8825
8860
|
const rowid = getRowid($xeTable, row);
|
|
8826
|
-
const rowRest = fullAllDataRowIdData[rowid];
|
|
8827
|
-
topSpaceHeight += rowRest
|
|
8861
|
+
const rowRest = fullAllDataRowIdData[rowid] || {};
|
|
8862
|
+
topSpaceHeight += rowRest.resizeHeight || rowRest.height || cellOpts.height || rowOpts.height || defaultRowHeight;
|
|
8828
8863
|
}
|
|
8829
8864
|
}
|
|
8830
8865
|
}
|
package/es/table/src/util.js
CHANGED
|
@@ -152,6 +152,12 @@ export function getRefElem(refEl) {
|
|
|
152
152
|
}
|
|
153
153
|
return null;
|
|
154
154
|
}
|
|
155
|
+
export function getCellHeight(height) {
|
|
156
|
+
if (height === 'unset') {
|
|
157
|
+
return 0;
|
|
158
|
+
}
|
|
159
|
+
return height || 0;
|
|
160
|
+
}
|
|
155
161
|
/**
|
|
156
162
|
* 列宽拖动最大宽度
|
|
157
163
|
* @param params
|
|
@@ -430,7 +436,7 @@ export function rowToVisible($xeTable, row) {
|
|
|
430
436
|
return $xeTable.scrollTo(null, ($xeTable.findRowIndexOf(afterFullData, row) - 1) * defaultRowHeight);
|
|
431
437
|
}
|
|
432
438
|
let scrollTop = 0;
|
|
433
|
-
const rowRest = fullAllDataRowIdData[rowid];
|
|
439
|
+
const rowRest = fullAllDataRowIdData[rowid] || {};
|
|
434
440
|
const rHeight = rowRest ? (rowRest.resizeHeight || cellOpts.height || rowOpts.height || defaultRowHeight) : defaultRowHeight;
|
|
435
441
|
for (let i = 0; i < afterFullData.length; i++) {
|
|
436
442
|
const currRow = afterFullData[i];
|
|
@@ -438,8 +444,8 @@ export function rowToVisible($xeTable, row) {
|
|
|
438
444
|
if (currRow === row || currRowid === rowid) {
|
|
439
445
|
break;
|
|
440
446
|
}
|
|
441
|
-
const
|
|
442
|
-
scrollTop +=
|
|
447
|
+
const currRowRest = fullAllDataRowIdData[currRowid] || {};
|
|
448
|
+
scrollTop += currRowRest.resizeHeight || currRowRest.height || cellOpts.height || rowOpts.height || defaultRowHeight;
|
|
443
449
|
}
|
|
444
450
|
if (scrollTop < bodyScrollTop) {
|
|
445
451
|
return $xeTable.scrollTo(null, scrollTop - leftFixedWidth - 1);
|
package/es/table/style.css
CHANGED
|
@@ -1819,8 +1819,8 @@
|
|
|
1819
1819
|
.vxe-table--filter-template .vxe-default-input,
|
|
1820
1820
|
.vxe-table--filter-template .vxe-default-textarea,
|
|
1821
1821
|
.vxe-table--filter-template .vxe-default-select {
|
|
1822
|
+
font-family: var(--vxe-ui-font-family);
|
|
1822
1823
|
outline: 0;
|
|
1823
|
-
padding: 0 2px;
|
|
1824
1824
|
color: var(--vxe-ui-font-color);
|
|
1825
1825
|
border-radius: var(--vxe-ui-border-radius);
|
|
1826
1826
|
border: 1px solid var(--vxe-ui-input-border-color);
|
|
@@ -1868,13 +1868,10 @@
|
|
|
1868
1868
|
}
|
|
1869
1869
|
.vxe-cell .vxe-default-textarea,
|
|
1870
1870
|
.vxe-table--filter-template .vxe-default-textarea {
|
|
1871
|
+
font-size: 1em;
|
|
1871
1872
|
resize: none;
|
|
1872
1873
|
vertical-align: middle;
|
|
1873
1874
|
}
|
|
1874
|
-
.vxe-cell .vxe-default-textarea:not([rows]),
|
|
1875
|
-
.vxe-table--filter-template .vxe-default-textarea:not([rows]) {
|
|
1876
|
-
height: var(--vxe-ui-input-height-default);
|
|
1877
|
-
}
|
|
1878
1875
|
.vxe-cell > .vxe-input > .vxe-input--inner, .vxe-cell > .vxe-textarea > .vxe-textarea--inner,
|
|
1879
1876
|
.vxe-table--filter-template > .vxe-input > .vxe-input--inner,
|
|
1880
1877
|
.vxe-table--filter-template > .vxe-textarea > .vxe-textarea--inner {
|
|
@@ -1898,9 +1895,17 @@
|
|
|
1898
1895
|
resize: none;
|
|
1899
1896
|
}
|
|
1900
1897
|
|
|
1901
|
-
.vxe-body--column.col--vertical-top > .vxe-cell > .vxe-cell--wrapper {
|
|
1898
|
+
.vxe-body--column.col--vertical-top.col--active > .vxe-cell > .vxe-cell--wrapper {
|
|
1902
1899
|
height: 100%;
|
|
1903
1900
|
}
|
|
1901
|
+
.vxe-body--column.col--vertical-top.col--active > .vxe-cell > .vxe-cell--wrapper > .vxe-default-textarea {
|
|
1902
|
+
height: 100%;
|
|
1903
|
+
}
|
|
1904
|
+
|
|
1905
|
+
/*行高*/
|
|
1906
|
+
.vxe-table:not([data-calc-row]) .vxe-body--column.col--vertical-top:not(.col--active) > .vxe-cell > .vxe-cell--wrapper {
|
|
1907
|
+
min-height: 100%;
|
|
1908
|
+
}
|
|
1904
1909
|
|
|
1905
1910
|
.vxe-table--checkbox-range,
|
|
1906
1911
|
.vxe-table--cell-main-area,
|
|
@@ -2332,10 +2337,10 @@
|
|
|
2332
2337
|
/*边框线*/
|
|
2333
2338
|
/*树形节点*/
|
|
2334
2339
|
/*单元格高度*/
|
|
2340
|
+
/*溢出列*/
|
|
2335
2341
|
/*展开行*/
|
|
2336
2342
|
/*拖拽列*/
|
|
2337
2343
|
/*拖拽行*/
|
|
2338
|
-
/*溢出列*/
|
|
2339
2344
|
/*暂无数据*/
|
|
2340
2345
|
/*校验不通过*/
|
|
2341
2346
|
/*已废弃,旧的校验样式**/
|
|
@@ -2619,6 +2624,11 @@
|
|
|
2619
2624
|
.vxe-table--render-default.size--medium .vxe-footer--column.is--padding .vxe-cell {
|
|
2620
2625
|
padding: var(--vxe-ui-table-cell-padding-medium);
|
|
2621
2626
|
}
|
|
2627
|
+
.vxe-table--render-default.size--medium .vxe-header--column.is--padding .vxe-cell .vxe-default-textarea,
|
|
2628
|
+
.vxe-table--render-default.size--medium .vxe-body--column.is--padding .vxe-cell .vxe-default-textarea,
|
|
2629
|
+
.vxe-table--render-default.size--medium .vxe-footer--column.is--padding .vxe-cell .vxe-default-textarea {
|
|
2630
|
+
padding: var(--vxe-ui-table-cell-padding-medium);
|
|
2631
|
+
}
|
|
2622
2632
|
.vxe-table--render-default.size--medium .vxe-cell .vxe-default-input,
|
|
2623
2633
|
.vxe-table--render-default.size--medium .vxe-cell .vxe-default-textarea,
|
|
2624
2634
|
.vxe-table--render-default.size--medium .vxe-cell .vxe-default-select {
|
|
@@ -2639,6 +2649,11 @@
|
|
|
2639
2649
|
.vxe-table--render-default.size--small .vxe-footer--column.is--padding .vxe-cell {
|
|
2640
2650
|
padding: var(--vxe-ui-table-cell-padding-small);
|
|
2641
2651
|
}
|
|
2652
|
+
.vxe-table--render-default.size--small .vxe-header--column.is--padding .vxe-cell .vxe-default-textarea,
|
|
2653
|
+
.vxe-table--render-default.size--small .vxe-body--column.is--padding .vxe-cell .vxe-default-textarea,
|
|
2654
|
+
.vxe-table--render-default.size--small .vxe-footer--column.is--padding .vxe-cell .vxe-default-textarea {
|
|
2655
|
+
padding: var(--vxe-ui-table-cell-padding-small);
|
|
2656
|
+
}
|
|
2642
2657
|
.vxe-table--render-default.size--small .vxe-cell .vxe-default-input,
|
|
2643
2658
|
.vxe-table--render-default.size--small .vxe-cell .vxe-default-textarea,
|
|
2644
2659
|
.vxe-table--render-default.size--small .vxe-cell .vxe-default-select {
|
|
@@ -2659,6 +2674,11 @@
|
|
|
2659
2674
|
.vxe-table--render-default.size--mini .vxe-footer--column.is--padding .vxe-cell {
|
|
2660
2675
|
padding: var(--vxe-ui-table-cell-padding-mini);
|
|
2661
2676
|
}
|
|
2677
|
+
.vxe-table--render-default.size--mini .vxe-header--column.is--padding .vxe-cell .vxe-default-textarea,
|
|
2678
|
+
.vxe-table--render-default.size--mini .vxe-body--column.is--padding .vxe-cell .vxe-default-textarea,
|
|
2679
|
+
.vxe-table--render-default.size--mini .vxe-footer--column.is--padding .vxe-cell .vxe-default-textarea {
|
|
2680
|
+
padding: var(--vxe-ui-table-cell-padding-mini);
|
|
2681
|
+
}
|
|
2662
2682
|
.vxe-table--render-default.size--mini .vxe-cell .vxe-default-input,
|
|
2663
2683
|
.vxe-table--render-default.size--mini .vxe-cell .vxe-default-textarea,
|
|
2664
2684
|
.vxe-table--render-default.size--mini .vxe-cell .vxe-default-select {
|
|
@@ -2672,6 +2692,11 @@
|
|
|
2672
2692
|
.vxe-table--render-default .vxe-footer--column.is--padding .vxe-cell {
|
|
2673
2693
|
padding: var(--vxe-ui-table-cell-padding-default);
|
|
2674
2694
|
}
|
|
2695
|
+
.vxe-table--render-default .vxe-header--column.is--padding .vxe-cell .vxe-default-textarea,
|
|
2696
|
+
.vxe-table--render-default .vxe-body--column.is--padding .vxe-cell .vxe-default-textarea,
|
|
2697
|
+
.vxe-table--render-default .vxe-footer--column.is--padding .vxe-cell .vxe-default-textarea {
|
|
2698
|
+
padding: var(--vxe-ui-table-cell-padding-default);
|
|
2699
|
+
}
|
|
2675
2700
|
.vxe-table--render-default .vxe-cell {
|
|
2676
2701
|
white-space: pre-line;
|
|
2677
2702
|
word-break: break-all;
|
|
@@ -2953,6 +2978,25 @@
|
|
|
2953
2978
|
flex-direction: row;
|
|
2954
2979
|
align-items: center;
|
|
2955
2980
|
}
|
|
2981
|
+
.vxe-table--render-default .vxe-header--column:not(.col--active).col--ellipsis > .vxe-cell,
|
|
2982
|
+
.vxe-table--render-default .vxe-body--column:not(.col--active).col--ellipsis > .vxe-cell,
|
|
2983
|
+
.vxe-table--render-default .vxe-footer--column:not(.col--active).col--ellipsis > .vxe-cell {
|
|
2984
|
+
overflow: hidden;
|
|
2985
|
+
}
|
|
2986
|
+
.vxe-table--render-default .vxe-header--column:not(.col--active).col--ellipsis > .vxe-cell > .vxe-cell--wrapper,
|
|
2987
|
+
.vxe-table--render-default .vxe-body--column:not(.col--active).col--ellipsis > .vxe-cell > .vxe-cell--wrapper,
|
|
2988
|
+
.vxe-table--render-default .vxe-footer--column:not(.col--active).col--ellipsis > .vxe-cell > .vxe-cell--wrapper {
|
|
2989
|
+
overflow: hidden;
|
|
2990
|
+
text-overflow: ellipsis;
|
|
2991
|
+
white-space: nowrap;
|
|
2992
|
+
}
|
|
2993
|
+
.vxe-table--render-default .vxe-header--column:not(.col--active).vxe-tree-cell > .vxe-cell > .vxe-cell--wrapper, .vxe-table--render-default .vxe-header--column:not(.col--active).col--vertical-top > .vxe-cell > .vxe-cell--wrapper,
|
|
2994
|
+
.vxe-table--render-default .vxe-body--column:not(.col--active).vxe-tree-cell > .vxe-cell > .vxe-cell--wrapper,
|
|
2995
|
+
.vxe-table--render-default .vxe-body--column:not(.col--active).col--vertical-top > .vxe-cell > .vxe-cell--wrapper,
|
|
2996
|
+
.vxe-table--render-default .vxe-footer--column:not(.col--active).vxe-tree-cell > .vxe-cell > .vxe-cell--wrapper,
|
|
2997
|
+
.vxe-table--render-default .vxe-footer--column:not(.col--active).col--vertical-top > .vxe-cell > .vxe-cell--wrapper {
|
|
2998
|
+
white-space: pre-line;
|
|
2999
|
+
}
|
|
2956
3000
|
.vxe-table--render-default .vxe-header--column.col--ellipsis > .vxe-cell .vxe-cell--wrapper,
|
|
2957
3001
|
.vxe-table--render-default .vxe-footer--column.col--ellipsis > .vxe-cell .vxe-cell--wrapper {
|
|
2958
3002
|
overflow: hidden;
|
|
@@ -3159,25 +3203,6 @@
|
|
|
3159
3203
|
text-overflow: ellipsis;
|
|
3160
3204
|
white-space: nowrap;
|
|
3161
3205
|
}
|
|
3162
|
-
.vxe-table--render-default .vxe-header--column.col--ellipsis:not(.col--active) > .vxe-cell,
|
|
3163
|
-
.vxe-table--render-default .vxe-body--column.col--ellipsis:not(.col--active) > .vxe-cell,
|
|
3164
|
-
.vxe-table--render-default .vxe-footer--column.col--ellipsis:not(.col--active) > .vxe-cell {
|
|
3165
|
-
overflow: hidden;
|
|
3166
|
-
text-overflow: ellipsis;
|
|
3167
|
-
white-space: nowrap;
|
|
3168
|
-
}
|
|
3169
|
-
.vxe-table--render-default .vxe-header--column.col--ellipsis:not(.col--active) > .vxe-cell > .vxe-cell--wrapper,
|
|
3170
|
-
.vxe-table--render-default .vxe-body--column.col--ellipsis:not(.col--active) > .vxe-cell > .vxe-cell--wrapper,
|
|
3171
|
-
.vxe-table--render-default .vxe-footer--column.col--ellipsis:not(.col--active) > .vxe-cell > .vxe-cell--wrapper {
|
|
3172
|
-
overflow: hidden;
|
|
3173
|
-
text-overflow: ellipsis;
|
|
3174
|
-
white-space: nowrap;
|
|
3175
|
-
}
|
|
3176
|
-
.vxe-table--render-default .vxe-header--column.col--ellipsis:not(.col--active).col--vertical-top > .vxe-cell,
|
|
3177
|
-
.vxe-table--render-default .vxe-body--column.col--ellipsis:not(.col--active).col--vertical-top > .vxe-cell,
|
|
3178
|
-
.vxe-table--render-default .vxe-footer--column.col--ellipsis:not(.col--active).col--vertical-top > .vxe-cell {
|
|
3179
|
-
white-space: pre-line;
|
|
3180
|
-
}
|
|
3181
3206
|
.vxe-table--render-default.size--medium .vxe-cell--checkbox {
|
|
3182
3207
|
font-size: var(--vxe-checkbox-font-size-medium);
|
|
3183
3208
|
}
|