vxe-table 3.16.0-beta.0 → 3.16.0-beta.10
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/README.md +3 -1
- package/es/grid/src/grid.js +866 -692
- package/es/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/locale/lang/ar-EG.js +4 -1
- package/es/locale/lang/de-DE.js +4 -1
- package/es/locale/lang/en-US.js +4 -1
- package/es/locale/lang/es-ES.js +4 -1
- package/es/locale/lang/fr-FR.js +4 -1
- package/es/locale/lang/hu-HU.js +4 -1
- package/es/locale/lang/hy-AM.js +4 -1
- package/es/locale/lang/id-ID.js +4 -1
- package/es/locale/lang/it-IT.js +4 -1
- package/es/locale/lang/ja-JP.js +4 -1
- package/es/locale/lang/ko-KR.js +4 -1
- package/es/locale/lang/ms-MY.js +4 -1
- package/es/locale/lang/nb-NO.js +4 -1
- package/es/locale/lang/pt-BR.js +4 -1
- package/es/locale/lang/ru-RU.js +4 -1
- package/es/locale/lang/th-TH.js +4 -1
- package/es/locale/lang/ug-CN.js +4 -1
- package/es/locale/lang/uk-UA.js +4 -1
- package/es/locale/lang/uz-UZ.js +4 -1
- package/es/locale/lang/vi-VN.js +4 -1
- package/es/locale/lang/zh-CHT.js +4 -1
- package/es/locale/lang/zh-CN.js +4 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/custom/mixin.js +0 -4
- package/es/table/module/custom/panel.js +0 -1
- package/es/table/module/edit/mixin.js +31 -1
- package/es/table/module/keyboard/mixin.js +2 -2
- package/es/table/src/anime.js +46 -0
- package/es/table/src/body.js +18 -43
- package/es/table/src/cell.js +6 -3
- package/es/table/src/columnInfo.js +6 -1
- package/es/table/src/footer.js +4 -22
- package/es/table/src/header.js +2 -20
- package/es/table/src/methods.js +569 -362
- package/es/table/src/table.js +49 -18
- package/es/table/src/util.js +5 -1
- package/es/table/style.css +8 -8
- 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 +8 -8
- package/es/vxe-table/style.min.css +1 -1
- package/lib/grid/src/grid.js +971 -810
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +1725 -1292
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +4 -1
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/ar-EG.umd.js +4 -1
- package/lib/locale/lang/de-DE.js +4 -1
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/de-DE.umd.js +4 -1
- package/lib/locale/lang/en-US.js +4 -1
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +4 -1
- package/lib/locale/lang/es-ES.js +4 -1
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +4 -1
- package/lib/locale/lang/fr-FR.js +4 -1
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/fr-FR.umd.js +4 -1
- package/lib/locale/lang/hu-HU.js +4 -1
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +4 -1
- package/lib/locale/lang/hy-AM.js +4 -1
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/hy-AM.umd.js +4 -1
- package/lib/locale/lang/id-ID.js +4 -1
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/id-ID.umd.js +4 -1
- package/lib/locale/lang/it-IT.js +4 -1
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/it-IT.umd.js +4 -1
- package/lib/locale/lang/ja-JP.js +4 -1
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +4 -1
- package/lib/locale/lang/ko-KR.js +4 -1
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +4 -1
- package/lib/locale/lang/ms-MY.js +4 -1
- package/lib/locale/lang/ms-MY.min.js +1 -1
- package/lib/locale/lang/ms-MY.umd.js +4 -1
- package/lib/locale/lang/nb-NO.js +4 -1
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/nb-NO.umd.js +4 -1
- package/lib/locale/lang/pt-BR.js +4 -1
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +4 -1
- package/lib/locale/lang/ru-RU.js +4 -1
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +4 -1
- package/lib/locale/lang/th-TH.js +4 -1
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/th-TH.umd.js +4 -1
- package/lib/locale/lang/ug-CN.js +4 -1
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/ug-CN.umd.js +4 -1
- package/lib/locale/lang/uk-UA.js +4 -1
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +4 -1
- package/lib/locale/lang/uz-UZ.js +4 -1
- package/lib/locale/lang/uz-UZ.min.js +1 -1
- package/lib/locale/lang/uz-UZ.umd.js +4 -1
- package/lib/locale/lang/vi-VN.js +4 -1
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/vi-VN.umd.js +4 -1
- package/lib/locale/lang/zh-CHT.js +4 -1
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +4 -1
- package/lib/locale/lang/zh-CN.js +4 -1
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +4 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/custom/mixin.js +0 -4
- package/lib/table/module/custom/mixin.min.js +1 -1
- package/lib/table/module/custom/panel.js +0 -1
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/module/edit/mixin.js +30 -1
- package/lib/table/module/edit/mixin.min.js +1 -1
- package/lib/table/module/keyboard/mixin.js +2 -2
- package/lib/table/module/keyboard/mixin.min.js +1 -1
- package/lib/table/src/anime.js +56 -0
- package/lib/table/src/anime.min.js +1 -0
- package/lib/table/src/body.js +5 -31
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +8 -7
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/columnInfo.js +6 -1
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/footer.js +5 -22
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +2 -20
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/methods.js +586 -371
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +49 -17
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +9 -1
- package/lib/table/src/util.min.js +1 -1
- package/lib/table/style/style.css +8 -8
- 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 +8 -8
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/grid/src/grid.ts +1007 -779
- package/packages/locale/lang/ar-EG.ts +4 -1
- package/packages/locale/lang/de-DE.ts +4 -1
- package/packages/locale/lang/en-US.ts +4 -1
- package/packages/locale/lang/es-ES.ts +4 -1
- package/packages/locale/lang/fr-FR.ts +4 -1
- package/packages/locale/lang/hu-HU.ts +4 -1
- package/packages/locale/lang/hy-AM.ts +4 -1
- package/packages/locale/lang/id-ID.ts +4 -1
- package/packages/locale/lang/it-IT.ts +4 -1
- package/packages/locale/lang/ja-JP.ts +4 -1
- package/packages/locale/lang/ko-KR.ts +4 -1
- package/packages/locale/lang/ms-MY.ts +4 -1
- package/packages/locale/lang/nb-NO.ts +4 -1
- package/packages/locale/lang/pt-BR.ts +4 -1
- package/packages/locale/lang/ru-RU.ts +4 -1
- package/packages/locale/lang/th-TH.ts +4 -1
- package/packages/locale/lang/ug-CN.ts +4 -1
- package/packages/locale/lang/uk-UA.ts +4 -1
- package/packages/locale/lang/uz-UZ.ts +4 -1
- package/packages/locale/lang/vi-VN.ts +4 -1
- package/packages/locale/lang/zh-CHT.ts +4 -1
- package/packages/locale/lang/zh-CN.ts +4 -1
- package/packages/table/module/custom/mixin.ts +0 -4
- package/packages/table/module/custom/panel.ts +0 -1
- package/packages/table/module/edit/mixin.ts +30 -2
- package/packages/table/module/keyboard/mixin.ts +2 -2
- package/packages/table/src/anime.ts +52 -0
- package/packages/table/src/body.ts +18 -43
- package/packages/table/src/cell.ts +3 -3
- package/packages/table/src/columnInfo.ts +6 -1
- package/packages/table/src/footer.ts +4 -22
- package/packages/table/src/header.ts +2 -21
- package/packages/table/src/methods.ts +589 -374
- package/packages/table/src/props.ts +4 -4
- package/packages/table/src/table.ts +55 -18
- package/packages/table/src/util.ts +5 -1
- package/packages/ui/index.ts +2 -1
- package/styles/components/table.scss +9 -9
- package/types/all.d.ts +3 -2
- /package/es/{iconfont.1750770351840.ttf → iconfont.1751970594233.ttf} +0 -0
- /package/es/{iconfont.1750770351840.woff → iconfont.1751970594233.woff} +0 -0
- /package/es/{iconfont.1750770351840.woff2 → iconfont.1751970594233.woff2} +0 -0
- /package/lib/{iconfont.1750770351840.ttf → iconfont.1751970594233.ttf} +0 -0
- /package/lib/{iconfont.1750770351840.woff → iconfont.1751970594233.woff} +0 -0
- /package/lib/{iconfont.1750770351840.woff2 → iconfont.1751970594233.woff2} +0 -0
|
@@ -86,11 +86,14 @@ function insertTreeRow($xeTable, newRecords, isAppend) {
|
|
|
86
86
|
}
|
|
87
87
|
});
|
|
88
88
|
}
|
|
89
|
+
// function insertGroupRow ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, newRecords: any[], isAppend: boolean) {
|
|
90
|
+
// }
|
|
89
91
|
function handleInsertRowAt($xeTable, records, targetRow, isInsertNextRow) {
|
|
90
92
|
const props = $xeTable;
|
|
91
93
|
const reactData = $xeTable;
|
|
92
94
|
const internalData = $xeTable;
|
|
93
95
|
const { treeConfig } = props;
|
|
96
|
+
const { isRowGroupStatus } = reactData;
|
|
94
97
|
const { tableFullTreeData, afterFullData, mergeBodyList, tableFullData, fullDataRowIdData, fullAllDataRowIdData, insertRowMaps } = internalData;
|
|
95
98
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
96
99
|
const { transform, rowField, mapChildrenField } = treeOpts;
|
|
@@ -104,6 +107,14 @@ function handleInsertRowAt($xeTable, records, targetRow, isInsertNextRow) {
|
|
|
104
107
|
if (treeConfig && transform) {
|
|
105
108
|
insertTreeRow($xeTable, newRecords, false);
|
|
106
109
|
}
|
|
110
|
+
else if (isRowGroupStatus) {
|
|
111
|
+
// 如果分组
|
|
112
|
+
if (treeConfig) {
|
|
113
|
+
throw new Error(getI18n('vxe.error.noTree', ['insert']));
|
|
114
|
+
}
|
|
115
|
+
warnLog(getI18n('vxe.error.noGroup', ['remove']));
|
|
116
|
+
// insertGroupRow($xeTable, newRecords, false)
|
|
117
|
+
}
|
|
107
118
|
else {
|
|
108
119
|
newRecords.forEach(item => {
|
|
109
120
|
const rowid = getRowid($xeTable, item);
|
|
@@ -128,6 +139,14 @@ function handleInsertRowAt($xeTable, records, targetRow, isInsertNextRow) {
|
|
|
128
139
|
if (treeConfig && transform) {
|
|
129
140
|
insertTreeRow($xeTable, newRecords, true);
|
|
130
141
|
}
|
|
142
|
+
else if (isRowGroupStatus) {
|
|
143
|
+
// 如果分组
|
|
144
|
+
if (treeConfig) {
|
|
145
|
+
throw new Error(getI18n('vxe.error.noTree', ['insert']));
|
|
146
|
+
}
|
|
147
|
+
warnLog(getI18n('vxe.error.noGroup', ['remove']));
|
|
148
|
+
// insertGroupRow($xeTable, newRecords, true)
|
|
149
|
+
}
|
|
131
150
|
else {
|
|
132
151
|
newRecords.forEach(item => {
|
|
133
152
|
const rowid = getRowid($xeTable, item);
|
|
@@ -192,6 +211,13 @@ function handleInsertRowAt($xeTable, records, targetRow, isInsertNextRow) {
|
|
|
192
211
|
insertTreeRow($xeTable, newRecords, true);
|
|
193
212
|
}
|
|
194
213
|
}
|
|
214
|
+
else if (isRowGroupStatus) {
|
|
215
|
+
// 如果分组
|
|
216
|
+
if (treeConfig) {
|
|
217
|
+
throw new Error(getI18n('vxe.error.noTree', ['insert']));
|
|
218
|
+
}
|
|
219
|
+
warnLog(getI18n('vxe.error.noGroup', ['remove']));
|
|
220
|
+
}
|
|
195
221
|
else {
|
|
196
222
|
if (treeConfig) {
|
|
197
223
|
throw new Error(getI18n('vxe.error.noTree', ['insert']));
|
|
@@ -489,7 +515,7 @@ export default {
|
|
|
489
515
|
const reactData = $xeTable;
|
|
490
516
|
const internalData = $xeTable;
|
|
491
517
|
const { treeConfig } = props;
|
|
492
|
-
const { editStore } = reactData;
|
|
518
|
+
const { editStore, isRowGroupStatus } = reactData;
|
|
493
519
|
const { tableFullTreeData, selectCheckboxMaps, afterFullData, mergeBodyList, tableFullData, pendingRowMaps, insertRowMaps, removeRowMaps } = internalData;
|
|
494
520
|
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
495
521
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
@@ -548,6 +574,10 @@ export default {
|
|
|
548
574
|
}
|
|
549
575
|
});
|
|
550
576
|
}
|
|
577
|
+
else if (isRowGroupStatus) {
|
|
578
|
+
// 如果分组
|
|
579
|
+
warnLog(getI18n('vxe.error.noGroup', ['remove']));
|
|
580
|
+
}
|
|
551
581
|
else {
|
|
552
582
|
rows.forEach((row) => {
|
|
553
583
|
const tfIndex = this.findRowIndexOf(tableFullData, row);
|
|
@@ -352,8 +352,8 @@ export default {
|
|
|
352
352
|
handleCellMousedownEvent(evnt, params) {
|
|
353
353
|
const $xeTable = this;
|
|
354
354
|
const { editConfig, editOpts, handleSelected, checkboxConfig, checkboxOpts, mouseConfig, mouseOpts } = this;
|
|
355
|
-
if (mouseConfig && mouseOpts.area && $xeTable.
|
|
356
|
-
return $xeTable.
|
|
355
|
+
if (mouseConfig && mouseOpts.area && $xeTable.triggerCellAreaMousednEvent) {
|
|
356
|
+
return $xeTable.triggerCellAreaMousednEvent(evnt, params);
|
|
357
357
|
}
|
|
358
358
|
else {
|
|
359
359
|
if (checkboxConfig && checkboxOpts.range) {
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import XEUtils from 'xe-utils';
|
|
2
|
+
import { addClass, removeClass } from '../../ui/src/dom';
|
|
3
|
+
const rowMoveCls = 'row--drag-move';
|
|
4
|
+
const colMoveClass = 'col--drag-move';
|
|
5
|
+
/**
|
|
6
|
+
* 上下拖拽
|
|
7
|
+
*/
|
|
8
|
+
export function moveRowAnimateToTb(elemList, offsetTop) {
|
|
9
|
+
XEUtils.arrayEach(elemList, trEl => {
|
|
10
|
+
trEl.style.transform = `translateY(${offsetTop}px)`;
|
|
11
|
+
});
|
|
12
|
+
requestAnimationFrame(() => {
|
|
13
|
+
XEUtils.arrayEach(elemList, trEl => {
|
|
14
|
+
addClass(trEl, rowMoveCls);
|
|
15
|
+
trEl.style.transform = '';
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
export function clearRowAnimate(elem) {
|
|
20
|
+
setTimeout(() => {
|
|
21
|
+
if (elem) {
|
|
22
|
+
XEUtils.arrayEach(elem.querySelectorAll(`.vxe-body--row.${rowMoveCls}`), elem => removeClass(elem, rowMoveCls));
|
|
23
|
+
}
|
|
24
|
+
}, 500);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* 左右拖拽
|
|
28
|
+
*/
|
|
29
|
+
export function moveColAnimateToLr(elemList, offsetLeft) {
|
|
30
|
+
XEUtils.arrayEach(elemList, trEl => {
|
|
31
|
+
trEl.style.transform = `translateX(${offsetLeft}px)`;
|
|
32
|
+
});
|
|
33
|
+
requestAnimationFrame(() => {
|
|
34
|
+
XEUtils.arrayEach(elemList, trEl => {
|
|
35
|
+
addClass(trEl, colMoveClass);
|
|
36
|
+
trEl.style.transform = '';
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
export function clearColAnimate(elem) {
|
|
41
|
+
setTimeout(() => {
|
|
42
|
+
if (elem) {
|
|
43
|
+
XEUtils.arrayEach(elem.querySelectorAll(`.vxe-table--column.${colMoveClass}`), elem => removeClass(elem, colMoveClass));
|
|
44
|
+
}
|
|
45
|
+
}, 500);
|
|
46
|
+
}
|
package/es/table/src/body.js
CHANGED
|
@@ -17,7 +17,7 @@ const isVMScrollProcess = ($xeTable) => {
|
|
|
17
17
|
function renderLine(h, $xeTable, rowid, params, cellHeight) {
|
|
18
18
|
const tableProps = $xeTable;
|
|
19
19
|
const tableInternalData = $xeTable;
|
|
20
|
-
const {
|
|
20
|
+
const { column } = params;
|
|
21
21
|
const { afterFullData } = tableInternalData;
|
|
22
22
|
const { treeConfig } = tableProps;
|
|
23
23
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
@@ -42,7 +42,7 @@ function renderLine(h, $xeTable, rowid, params, cellHeight) {
|
|
|
42
42
|
h('div', {
|
|
43
43
|
class: 'vxe-tree--line',
|
|
44
44
|
style: {
|
|
45
|
-
height: `${$xeTable
|
|
45
|
+
height: `${getRowid($xeTable, afterFullData[0]) === rowid ? 1 : calcTreeLine(params, prevRow)}px`,
|
|
46
46
|
bottom: `-${Math.floor(cellHeight / 2)}px`,
|
|
47
47
|
left: `${(rLevel * treeOpts.indent) + (rLevel ? 2 - getOffsetSize($xeTable) : 0) + 16}px`
|
|
48
48
|
}
|
|
@@ -318,7 +318,7 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
|
|
|
318
318
|
colid,
|
|
319
319
|
rowid
|
|
320
320
|
},
|
|
321
|
-
class: 'vxe-cell--wrapper'
|
|
321
|
+
class: 'vxe-cell--wrapper vxe-body-cell--wrapper'
|
|
322
322
|
}, column.renderCell(h, cellParams))
|
|
323
323
|
]));
|
|
324
324
|
if (showValidTip && errorValidItem) {
|
|
@@ -379,7 +379,7 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
|
|
|
379
379
|
}
|
|
380
380
|
return h('td', {
|
|
381
381
|
class: [
|
|
382
|
-
'vxe-body--column',
|
|
382
|
+
'vxe-table--column vxe-body--column',
|
|
383
383
|
colid,
|
|
384
384
|
cellVerticalAlign ? `col--vertical-${cellVerticalAlign}` : '',
|
|
385
385
|
cellAlign ? `col--${cellAlign}` : '',
|
|
@@ -421,7 +421,7 @@ function renderRows(h, _vm, fixedType, isOptimizeMode, tableData, tableColumn) {
|
|
|
421
421
|
const tableInternalData = $xeTable;
|
|
422
422
|
const $xeGrid = $xeTable.$xeGrid;
|
|
423
423
|
const { stripe, rowKey, highlightHoverRow, rowClassName, rowStyle, editConfig, treeConfig } = tableProps;
|
|
424
|
-
const { hasFixedColumn, treeExpandedFlag,
|
|
424
|
+
const { hasFixedColumn, treeExpandedFlag, scrollXLoad, scrollYLoad, isAllOverflow, rowExpandedFlag, expandColumn, selectRadioRow, pendingRowFlag, rowExpandHeightFlag, isRowGroupStatus } = tableReactData;
|
|
425
425
|
const { fullAllDataRowIdData, fullColumnIdData, treeExpandedMaps, pendingRowMaps, rowExpandedMaps } = tableInternalData;
|
|
426
426
|
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
427
427
|
const radioOpts = $xeTable.computeRadioOpts;
|
|
@@ -429,7 +429,6 @@ function renderRows(h, _vm, fixedType, isOptimizeMode, tableData, tableColumn) {
|
|
|
429
429
|
const editOpts = $xeTable.computeEditOpts;
|
|
430
430
|
const rowOpts = $xeTable.computeRowOpts;
|
|
431
431
|
const columnOpts = $xeTable.computeColumnOpts;
|
|
432
|
-
const columnDragOpts = $xeTable.computeColumnDragOpts;
|
|
433
432
|
const { transform, seqMode } = treeOpts;
|
|
434
433
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
435
434
|
const rows = [];
|
|
@@ -510,29 +509,15 @@ function renderRows(h, _vm, fixedType, isOptimizeMode, tableData, tableColumn) {
|
|
|
510
509
|
const tdVNs = tableColumn.map((column, $columnIndex) => {
|
|
511
510
|
return renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, tableColumn, tableData);
|
|
512
511
|
});
|
|
513
|
-
rows.push(
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
},
|
|
523
|
-
style: rowStyle ? (XEUtils.isFunction(rowStyle) ? rowStyle(params) : rowStyle) : undefined,
|
|
524
|
-
key: rowKey || scrollXLoad || scrollYLoad || rowOpts.useKey || rowOpts.drag || columnOpts.drag || isRowGroupStatus || treeConfig ? rowid : $rowIndex,
|
|
525
|
-
nativeOn: trOn
|
|
526
|
-
}, tdVNs)
|
|
527
|
-
: h('tr', {
|
|
528
|
-
class: trClass,
|
|
529
|
-
attrs: {
|
|
530
|
-
rowid
|
|
531
|
-
},
|
|
532
|
-
style: rowStyle ? (XEUtils.isFunction(rowStyle) ? rowStyle(params) : rowStyle) : undefined,
|
|
533
|
-
key: rowKey || scrollXLoad || scrollYLoad || rowOpts.useKey || rowOpts.drag || columnOpts.drag || isRowGroupStatus || treeConfig ? rowid : $rowIndex,
|
|
534
|
-
on: trOn
|
|
535
|
-
}, tdVNs));
|
|
512
|
+
rows.push(h('tr', {
|
|
513
|
+
class: trClass,
|
|
514
|
+
attrs: {
|
|
515
|
+
rowid
|
|
516
|
+
},
|
|
517
|
+
style: rowStyle ? (XEUtils.isFunction(rowStyle) ? rowStyle(params) : rowStyle) : undefined,
|
|
518
|
+
key: rowKey || scrollXLoad || scrollYLoad || rowOpts.useKey || rowOpts.drag || columnOpts.drag || isRowGroupStatus || treeConfig ? rowid : $rowIndex,
|
|
519
|
+
on: trOn
|
|
520
|
+
}, tdVNs));
|
|
536
521
|
// 如果行被展开了
|
|
537
522
|
if (isExpandRow) {
|
|
538
523
|
const expandOpts = $xeTable.computeExpandOpts;
|
|
@@ -687,12 +672,10 @@ export default {
|
|
|
687
672
|
const { xID } = $xeTable;
|
|
688
673
|
const { fixedColumn, fixedType, tableColumn } = props;
|
|
689
674
|
const { spanMethod, footerSpanMethod, mouseConfig } = tableProps;
|
|
690
|
-
const { isGroup, tableData,
|
|
675
|
+
const { isGroup, tableData, isColLoading, overflowX, scrollXLoad, scrollYLoad, isAllOverflow, expandColumn, dragRow, dragCol } = tableReactData;
|
|
691
676
|
const { visibleColumn, fullAllDataRowIdData, fullColumnIdData } = tableInternalData;
|
|
692
|
-
const rowOpts = $xeTable.computeRowOpts;
|
|
693
677
|
const emptyOpts = $xeTable.computeEmptyOpts;
|
|
694
678
|
const mouseOpts = $xeTable.computeMouseOpts;
|
|
695
|
-
const rowDragOpts = $xeTable.computeRowDragOpts;
|
|
696
679
|
const expandOpts = $xeTable.computeExpandOpts;
|
|
697
680
|
let renderDataList = tableData;
|
|
698
681
|
let renderColumnList = tableColumn;
|
|
@@ -835,17 +818,9 @@ export default {
|
|
|
835
818
|
/**
|
|
836
819
|
* 内容
|
|
837
820
|
*/
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
props: {
|
|
842
|
-
tag: 'tbody',
|
|
843
|
-
name: `vxe-body--row-list${isDragRowMove ? '' : '-disabled'}`
|
|
844
|
-
}
|
|
845
|
-
}, renderRows(h, this, fixedType, isOptimizeMode, renderDataList, renderColumnList))
|
|
846
|
-
: h('tbody', {
|
|
847
|
-
ref: 'refBodyTBody'
|
|
848
|
-
}, renderRows(h, this, fixedType, isOptimizeMode, renderDataList, renderColumnList))
|
|
821
|
+
h('tbody', {
|
|
822
|
+
ref: 'refBodyTBody'
|
|
823
|
+
}, renderRows(h, this, fixedType, isOptimizeMode, renderDataList, renderColumnList))
|
|
849
824
|
]),
|
|
850
825
|
h('div', {
|
|
851
826
|
class: 'vxe-table--checkbox-range'
|
package/es/table/src/cell.js
CHANGED
|
@@ -166,14 +166,14 @@ function getRenderDefaultColumnTitle(h, column, content) {
|
|
|
166
166
|
}
|
|
167
167
|
function renderTitleContent(h, params, content) {
|
|
168
168
|
const { $table, column } = params;
|
|
169
|
-
const { showHeaderOverflow } = column;
|
|
170
169
|
const tableProps = $table;
|
|
171
170
|
const tableReactData = $table;
|
|
172
171
|
const { showHeaderOverflow: allColumnHeaderOverflow } = tableProps;
|
|
173
172
|
const { isRowGroupStatus } = tableReactData;
|
|
173
|
+
const { showHeaderOverflow } = column;
|
|
174
174
|
const tooltipOpts = $table.computeTooltipOpts;
|
|
175
175
|
const showAllTip = tooltipOpts.showAll;
|
|
176
|
-
const headOverflow = XEUtils.
|
|
176
|
+
const headOverflow = XEUtils.eqNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow;
|
|
177
177
|
const showTitle = headOverflow === 'title';
|
|
178
178
|
const showTooltip = headOverflow === true || headOverflow === 'tooltip';
|
|
179
179
|
const ons = {};
|
|
@@ -202,7 +202,10 @@ function renderTitleContent(h, params, content) {
|
|
|
202
202
|
}
|
|
203
203
|
const titleVN = getRenderDefaultColumnTitle(h, column, content);
|
|
204
204
|
return [
|
|
205
|
-
h('span',
|
|
205
|
+
h('span', {
|
|
206
|
+
class: 'vxe-cell--title',
|
|
207
|
+
on: ons
|
|
208
|
+
}, isRowGroupStatus && column.aggFunc && $table.getPivotTableAggregateRenderColTitles
|
|
206
209
|
? $table.getPivotTableAggregateRenderColTitles(h, column, titleVN)
|
|
207
210
|
: [
|
|
208
211
|
titleVN
|
|
@@ -9,7 +9,7 @@ export class ColumnInfo {
|
|
|
9
9
|
constructor($xeTable, _vm, { renderHeader, renderCell, renderFooter, renderData } = {}) {
|
|
10
10
|
const tableProps = $xeTable;
|
|
11
11
|
const $xeGrid = $xeTable.$xeGrid;
|
|
12
|
-
const proxyOpts = $xeGrid ? $xeGrid.
|
|
12
|
+
const proxyOpts = $xeGrid ? $xeGrid.computeProxyOpts : null;
|
|
13
13
|
const formatter = _vm.formatter;
|
|
14
14
|
const visible = XEUtils.isBoolean(_vm.visible) ? _vm.visible : true;
|
|
15
15
|
const types = ['seq', 'checkbox', 'radio', 'expand', 'html'];
|
|
@@ -48,6 +48,11 @@ export class ColumnInfo {
|
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
+
if (_vm.aggFunc) {
|
|
52
|
+
if (!$xeTable.handlePivotTableAggregateData && _vm.aggFunc !== true) {
|
|
53
|
+
errLog('vxe.error.errProp', [`column.agg-func=${_vm.aggFunc}`, 'column.agg-func=true']);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
51
56
|
Object.assign(this, {
|
|
52
57
|
// 基本属性
|
|
53
58
|
type: _vm.type,
|
package/es/table/src/footer.js
CHANGED
|
@@ -14,7 +14,7 @@ function renderRows(h, _vm, isOptimizeMode, tableColumn, footerTableData, row, $
|
|
|
14
14
|
const $xeGrid = $xeTable.$xeGrid;
|
|
15
15
|
const { fixedType } = props;
|
|
16
16
|
const { resizable: allResizable, border, footerCellClassName, footerCellStyle, footerAlign: allFooterAlign, footerSpanMethod, align: allAlign, columnKey, showFooterOverflow: allColumnFooterOverflow } = tableProps;
|
|
17
|
-
const { scrollXLoad, scrollYLoad, overflowX, currentColumn } = tableReactData;
|
|
17
|
+
const { scrollXLoad, scrollYLoad, overflowX, currentColumn, mergeFootFlag } = tableReactData;
|
|
18
18
|
const { fullColumnIdData, mergeFooterList, mergeFooterCellMaps, scrollXStore } = tableInternalData;
|
|
19
19
|
const virtualXOpts = $xeTable.computeVirtualXOpts;
|
|
20
20
|
const tooltipOpts = $xeTable.computeTooltipOpts;
|
|
@@ -89,7 +89,7 @@ function renderRows(h, _vm, isOptimizeMode, tableColumn, footerTableData, row, $
|
|
|
89
89
|
};
|
|
90
90
|
let isMergeCell = false;
|
|
91
91
|
// 合并行或列
|
|
92
|
-
if (mergeFooterList.length) {
|
|
92
|
+
if (mergeFootFlag && mergeFooterList.length) {
|
|
93
93
|
const spanRest = mergeFooterCellMaps[`${_rowIndex}:${_columnIndex}`];
|
|
94
94
|
if (spanRest) {
|
|
95
95
|
const { rowspan, colspan } = spanRest;
|
|
@@ -135,7 +135,7 @@ function renderRows(h, _vm, isOptimizeMode, tableColumn, footerTableData, row, $
|
|
|
135
135
|
tcStyle.minHeight = `${currCellHeight}px`;
|
|
136
136
|
}
|
|
137
137
|
return h('td', {
|
|
138
|
-
class: ['vxe-footer--column', column.id, {
|
|
138
|
+
class: ['vxe-table--column vxe-footer--column', column.id, {
|
|
139
139
|
[`col--${footAlign}`]: footAlign,
|
|
140
140
|
[`col--${type}`]: type,
|
|
141
141
|
'col--last': isLastColumn,
|
|
@@ -164,7 +164,7 @@ function renderRows(h, _vm, isOptimizeMode, tableColumn, footerTableData, row, $
|
|
|
164
164
|
attrs: {
|
|
165
165
|
colid
|
|
166
166
|
},
|
|
167
|
-
class: 'vxe-cell--wrapper'
|
|
167
|
+
class: 'vxe-cell--wrapper vxe-footer-cell--wrapper'
|
|
168
168
|
}, column.renderFooter(h, cellParams))
|
|
169
169
|
]),
|
|
170
170
|
/**
|
|
@@ -188,29 +188,11 @@ function renderHeads(h, _vm, isOptimizeMode, renderColumnList) {
|
|
|
188
188
|
const props = _vm;
|
|
189
189
|
const $xeTable = _vm.$parent;
|
|
190
190
|
const tableProps = $xeTable;
|
|
191
|
-
const tableReactData = $xeTable;
|
|
192
191
|
const { fixedType, footerTableData } = props;
|
|
193
192
|
const { footerRowClassName, footerRowStyle } = tableProps;
|
|
194
|
-
const { isColLoading, isDragColMove } = tableReactData;
|
|
195
|
-
const columnOpts = $xeTable.computeColumnOpts;
|
|
196
|
-
const columnDragOpts = $xeTable.computeColumnDragOpts;
|
|
197
193
|
return footerTableData.map((row, $rowIndex) => {
|
|
198
194
|
const _rowIndex = $rowIndex;
|
|
199
195
|
const rowParams = { $table: $xeTable, row, _rowIndex, $rowIndex, fixed: fixedType, type: renderType };
|
|
200
|
-
if (!isColLoading && columnOpts.drag && columnDragOpts.animation) {
|
|
201
|
-
return h('transition-group', {
|
|
202
|
-
key: $rowIndex,
|
|
203
|
-
props: {
|
|
204
|
-
tag: 'tr',
|
|
205
|
-
name: `vxe-header--col-list${isDragColMove ? '' : '-disabled'}`,
|
|
206
|
-
class: [
|
|
207
|
-
'vxe-footer--row',
|
|
208
|
-
footerRowClassName ? XEUtils.isFunction(footerRowClassName) ? footerRowClassName(rowParams) : footerRowClassName : ''
|
|
209
|
-
],
|
|
210
|
-
style: footerRowStyle ? (XEUtils.isFunction(footerRowStyle) ? footerRowStyle(rowParams) : footerRowStyle) : undefined
|
|
211
|
-
}
|
|
212
|
-
}, renderRows(h, _vm, isOptimizeMode, renderColumnList, footerTableData, row, $rowIndex, _rowIndex));
|
|
213
|
-
}
|
|
214
196
|
return h('tr', {
|
|
215
197
|
key: $rowIndex,
|
|
216
198
|
class: [
|
package/es/table/src/header.js
CHANGED
|
@@ -107,7 +107,7 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
|
|
|
107
107
|
tcStyle.minHeight = `${currCellHeight}px`;
|
|
108
108
|
}
|
|
109
109
|
return h('th', {
|
|
110
|
-
class: ['vxe-header--column', colid, {
|
|
110
|
+
class: ['vxe-table--column vxe-header--column', colid, {
|
|
111
111
|
[`col--${headAlign}`]: headAlign,
|
|
112
112
|
[`col--${type}`]: type,
|
|
113
113
|
'col--last': isLastColumn,
|
|
@@ -143,7 +143,7 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
|
|
|
143
143
|
attrs: {
|
|
144
144
|
colid
|
|
145
145
|
},
|
|
146
|
-
class: 'vxe-cell--wrapper'
|
|
146
|
+
class: 'vxe-cell--wrapper vxe-header-cell--wrapper'
|
|
147
147
|
}, column.renderHeader(h, cellParams))
|
|
148
148
|
]),
|
|
149
149
|
/**
|
|
@@ -165,28 +165,10 @@ function renderHeads(h, _vm, isGroup, isOptimizeMode, headerGroups) {
|
|
|
165
165
|
const props = _vm;
|
|
166
166
|
const $xeTable = _vm.$parent;
|
|
167
167
|
const tableProps = $xeTable;
|
|
168
|
-
const tableReactData = $xeTable;
|
|
169
168
|
const { fixedType } = props;
|
|
170
|
-
const columnOpts = $xeTable.computeColumnOpts;
|
|
171
|
-
const columnDragOpts = $xeTable.computeColumnDragOpts;
|
|
172
169
|
const { headerRowClassName, headerRowStyle } = tableProps;
|
|
173
|
-
const { isColLoading, isDragColMove } = tableReactData;
|
|
174
170
|
return headerGroups.map((cols, $rowIndex) => {
|
|
175
171
|
const params = { $table: $xeTable, $rowIndex, fixed: fixedType, type: cellType };
|
|
176
|
-
if (!isColLoading && columnOpts.drag && columnDragOpts.animation) {
|
|
177
|
-
return h('transition-group', {
|
|
178
|
-
key: $rowIndex,
|
|
179
|
-
props: {
|
|
180
|
-
tag: 'tr',
|
|
181
|
-
name: `vxe-header--col-list${isDragColMove ? '' : '-disabled'}`,
|
|
182
|
-
class: [
|
|
183
|
-
'vxe-header--row',
|
|
184
|
-
headerRowClassName ? XEUtils.isFunction(headerRowClassName) ? headerRowClassName(params) : headerRowClassName : ''
|
|
185
|
-
],
|
|
186
|
-
style: headerRowStyle ? (XEUtils.isFunction(headerRowStyle) ? headerRowStyle(params) : headerRowStyle) : null
|
|
187
|
-
}
|
|
188
|
-
}, renderRows(h, _vm, isGroup, isOptimizeMode, cols, $rowIndex));
|
|
189
|
-
}
|
|
190
172
|
return h('tr', {
|
|
191
173
|
key: $rowIndex,
|
|
192
174
|
class: [
|