vxe-table 4.19.10 → 4.19.12
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/dist/all.esm.js +226 -217
- package/dist/style.css +1 -1
- package/dist/style.min.css +1 -1
- package/es/grid/src/grid.js +8 -2
- package/es/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/menu/panel.js +2 -2
- package/es/table/src/cell.js +16 -12
- package/es/table/src/columnInfo.js +77 -77
- package/es/table/src/table.js +3 -3
- package/es/table/style.css +18 -6
- 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 +18 -6
- package/es/vxe-table/style.min.css +1 -1
- package/lib/grid/src/grid.js +6 -2
- 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 +261 -244
- 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/menu/panel.js +3 -3
- package/lib/table/module/menu/panel.min.js +1 -1
- package/lib/table/src/cell.js +6 -4
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/columnInfo.js +85 -77
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/table.js +4 -1
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +18 -6
- 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 +18 -6
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/grid/src/grid.ts +6 -2
- package/packages/table/module/menu/panel.ts +2 -2
- package/packages/table/src/cell.ts +16 -12
- package/packages/table/src/columnInfo.ts +80 -80
- package/packages/table/src/table.ts +3 -3
- package/packages/table/src/util.ts +1 -1
- package/styles/components/table.scss +24 -6
- /package/es/{iconfont.1780911752570.ttf → iconfont.1781140839085.ttf} +0 -0
- /package/es/{iconfont.1780911752570.woff → iconfont.1781140839085.woff} +0 -0
- /package/es/{iconfont.1780911752570.woff2 → iconfont.1781140839085.woff2} +0 -0
- /package/lib/{iconfont.1780911752570.ttf → iconfont.1781140839085.ttf} +0 -0
- /package/lib/{iconfont.1780911752570.woff → iconfont.1781140839085.woff} +0 -0
- /package/lib/{iconfont.1780911752570.woff2 → iconfont.1781140839085.woff2} +0 -0
|
@@ -25,8 +25,8 @@ export default defineVxeComponent({
|
|
|
25
25
|
const { ctxMenuStore } = tableReactData;
|
|
26
26
|
const { computeMenuOpts } = $xeTable.getComputeMaps();
|
|
27
27
|
const menuOpts = computeMenuOpts.value;
|
|
28
|
-
const { transfer, destroyOnClose } = menuOpts;
|
|
29
|
-
const { visible, list
|
|
28
|
+
const { transfer, destroyOnClose, className } = menuOpts;
|
|
29
|
+
const { visible, list } = ctxMenuStore;
|
|
30
30
|
return h(Teleport, {
|
|
31
31
|
to: 'body',
|
|
32
32
|
disabled: !transfer
|
package/es/table/src/cell.js
CHANGED
|
@@ -932,24 +932,28 @@ export const Cell = {
|
|
|
932
932
|
}
|
|
933
933
|
return renderCellBaseVNs(params, [
|
|
934
934
|
showIcon && (!visibleMethod || visibleMethod(params))
|
|
935
|
-
? h('
|
|
935
|
+
? h('div', {
|
|
936
936
|
class: ['vxe-table--expanded', {
|
|
937
937
|
'is--active': isActive
|
|
938
|
-
}]
|
|
939
|
-
onMousedown(evnt) {
|
|
940
|
-
evnt.stopPropagation();
|
|
941
|
-
},
|
|
942
|
-
onClick(evnt) {
|
|
943
|
-
$table.triggerRowExpandEvent(evnt, params);
|
|
944
|
-
}
|
|
938
|
+
}]
|
|
945
939
|
}, [
|
|
946
|
-
h('
|
|
947
|
-
class:
|
|
948
|
-
|
|
940
|
+
h('span', {
|
|
941
|
+
class: 'vxe-table--expand-btn',
|
|
942
|
+
onMousedown(evnt) {
|
|
943
|
+
evnt.stopPropagation();
|
|
944
|
+
},
|
|
945
|
+
onClick(evnt) {
|
|
946
|
+
$table.triggerRowExpandEvent(evnt, params);
|
|
947
|
+
}
|
|
948
|
+
}, [
|
|
949
|
+
h('i', {
|
|
950
|
+
class: isLazyLoading ? (iconLoaded || getIcon().TABLE_EXPAND_LOADED) : (isActive ? (iconOpen || getIcon().TABLE_EXPAND_OPEN) : (iconClose || getIcon().TABLE_EXPAND_CLOSE))
|
|
951
|
+
})
|
|
952
|
+
])
|
|
949
953
|
])
|
|
950
954
|
: renderEmptyElement($table),
|
|
951
955
|
defaultSlot || labelField
|
|
952
|
-
? h('
|
|
956
|
+
? h('div', {
|
|
953
957
|
class: 'vxe-table--expand-label'
|
|
954
958
|
}, defaultSlot ? $table.callSlot(defaultSlot, params) : XEUtils.get(row, labelField))
|
|
955
959
|
: renderEmptyElement($table)
|
|
@@ -2,33 +2,34 @@ import XEUtils from 'xe-utils';
|
|
|
2
2
|
import { VxeUI } from '../../ui';
|
|
3
3
|
import { toFilters } from './util';
|
|
4
4
|
import { isEnableConf, getFuncText } from '../../ui/src/utils';
|
|
5
|
+
import { isPx } from '../../ui/src/dom';
|
|
5
6
|
import { warnLog, errLog } from '../../ui/src/log';
|
|
6
7
|
const { getI18n, formats, renderer } = VxeUI;
|
|
7
8
|
export class ColumnInfo {
|
|
8
9
|
/* eslint-disable @typescript-eslint/no-use-before-define */
|
|
9
|
-
constructor($xeTable,
|
|
10
|
+
constructor($xeTable, colConfs, { renderHeader, renderCell, renderFooter, renderData } = {}) {
|
|
10
11
|
const tableProps = $xeTable.props;
|
|
11
12
|
const $xeGrid = $xeTable.xeGrid;
|
|
12
13
|
const $xeGantt = $xeTable.xeGantt;
|
|
13
14
|
const $xeGGWrapper = $xeGrid || $xeGantt;
|
|
14
|
-
const { field, editRender, filterRender } =
|
|
15
|
-
const colId =
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const flCompConf = isEnableConf(filterRender) ? renderer.get(filterRender.name) : null;
|
|
15
|
+
const { type, field, width, visible, aggFunc, formatter, filterMultiple, cellRender, editRender, filterRender } = colConfs;
|
|
16
|
+
const colId = colConfs.colId || XEUtils.uniqueId('col_');
|
|
17
|
+
const defaultVisible = XEUtils.isBoolean(visible) ? visible : true;
|
|
18
|
+
const defaultRenderWidth = width && isPx(width) && width !== 'auto' ? Math.max(0, XEUtils.toInteger(width)) : 0;
|
|
19
|
+
const flCompConf = filterRender && isEnableConf(filterRender) ? renderer.get(filterRender.name) : null;
|
|
19
20
|
const ctFilterOptions = flCompConf ? flCompConf.createTableFilterOptions : null;
|
|
20
|
-
const filters = toFilters(
|
|
21
|
+
const filters = toFilters(colConfs.filters, colId);
|
|
21
22
|
const types = ['seq', 'checkbox', 'radio', 'expand', 'html'];
|
|
22
|
-
if (
|
|
23
|
-
warnLog('vxe.error.errProp', [`type=${
|
|
23
|
+
if (type && types.indexOf(type) === -1) {
|
|
24
|
+
warnLog('vxe.error.errProp', [`type=${type}`, types.join(', ')]);
|
|
24
25
|
}
|
|
25
|
-
if (XEUtils.isBoolean(
|
|
26
|
-
warnLog('vxe.error.errProp', [`column.cell-render=${
|
|
26
|
+
if (XEUtils.isBoolean(cellRender) || (cellRender && !XEUtils.isObject(cellRender))) {
|
|
27
|
+
warnLog('vxe.error.errProp', [`column.cell-render=${cellRender}`, 'column.cell-render={}']);
|
|
27
28
|
}
|
|
28
|
-
if (XEUtils.isBoolean(
|
|
29
|
-
warnLog('vxe.error.errProp', [`column.edit-render=${
|
|
29
|
+
if (XEUtils.isBoolean(editRender) || (editRender && !XEUtils.isObject(editRender))) {
|
|
30
|
+
warnLog('vxe.error.errProp', [`column.edit-render=${editRender}`, 'column.edit-render={}']);
|
|
30
31
|
}
|
|
31
|
-
if (
|
|
32
|
+
if (type === 'expand') {
|
|
32
33
|
const { treeConfig } = tableProps;
|
|
33
34
|
const { computeTreeOpts } = $xeTable.getComputeMaps();
|
|
34
35
|
const treeOpts = computeTreeOpts.value;
|
|
@@ -50,9 +51,9 @@ export class ColumnInfo {
|
|
|
50
51
|
}
|
|
51
52
|
}
|
|
52
53
|
}
|
|
53
|
-
if (
|
|
54
|
-
if (!$xeTable.handlePivotTableAggData &&
|
|
55
|
-
errLog('vxe.error.errProp', [`column.agg-func=${
|
|
54
|
+
if (aggFunc) {
|
|
55
|
+
if (!$xeTable.handlePivotTableAggData && aggFunc !== true) {
|
|
56
|
+
errLog('vxe.error.errProp', [`column.agg-func=${aggFunc}`, 'column.agg-func=true']);
|
|
56
57
|
}
|
|
57
58
|
}
|
|
58
59
|
if (field && editRender) {
|
|
@@ -65,71 +66,70 @@ export class ColumnInfo {
|
|
|
65
66
|
}
|
|
66
67
|
Object.assign(this, {
|
|
67
68
|
// 基本属性
|
|
68
|
-
type:
|
|
69
|
-
property:
|
|
69
|
+
type: colConfs.type,
|
|
70
|
+
property: colConfs.field,
|
|
70
71
|
field: field,
|
|
71
|
-
title:
|
|
72
|
-
width:
|
|
73
|
-
minWidth:
|
|
74
|
-
maxWidth:
|
|
75
|
-
resizable:
|
|
76
|
-
fixed:
|
|
77
|
-
align:
|
|
78
|
-
headerAlign:
|
|
79
|
-
footerAlign:
|
|
80
|
-
showOverflow:
|
|
81
|
-
showHeaderOverflow:
|
|
82
|
-
showFooterOverflow:
|
|
83
|
-
className:
|
|
84
|
-
headerClassName:
|
|
85
|
-
footerClassName:
|
|
72
|
+
title: colConfs.title,
|
|
73
|
+
width: colConfs.width,
|
|
74
|
+
minWidth: colConfs.minWidth,
|
|
75
|
+
maxWidth: colConfs.maxWidth,
|
|
76
|
+
resizable: colConfs.resizable,
|
|
77
|
+
fixed: colConfs.fixed,
|
|
78
|
+
align: colConfs.align,
|
|
79
|
+
headerAlign: colConfs.headerAlign,
|
|
80
|
+
footerAlign: colConfs.footerAlign,
|
|
81
|
+
showOverflow: colConfs.showOverflow,
|
|
82
|
+
showHeaderOverflow: colConfs.showHeaderOverflow,
|
|
83
|
+
showFooterOverflow: colConfs.showFooterOverflow,
|
|
84
|
+
className: colConfs.className,
|
|
85
|
+
headerClassName: colConfs.headerClassName,
|
|
86
|
+
footerClassName: colConfs.footerClassName,
|
|
86
87
|
formatter: formatter,
|
|
87
|
-
headerFormatter:
|
|
88
|
-
footerFormatter:
|
|
89
|
-
padding:
|
|
90
|
-
verticalAlign:
|
|
91
|
-
sortable:
|
|
92
|
-
sortBy:
|
|
93
|
-
sortType:
|
|
88
|
+
headerFormatter: colConfs.headerFormatter,
|
|
89
|
+
footerFormatter: colConfs.footerFormatter,
|
|
90
|
+
padding: colConfs.padding,
|
|
91
|
+
verticalAlign: colConfs.verticalAlign,
|
|
92
|
+
sortable: colConfs.sortable,
|
|
93
|
+
sortBy: colConfs.sortBy,
|
|
94
|
+
sortType: colConfs.sortType,
|
|
94
95
|
filters: filters,
|
|
95
|
-
filterMultiple: XEUtils.isBoolean(
|
|
96
|
-
filterMethod:
|
|
97
|
-
filterResetMethod:
|
|
98
|
-
filterRecoverMethod:
|
|
96
|
+
filterMultiple: XEUtils.isBoolean(filterMultiple) ? filterMultiple : true,
|
|
97
|
+
filterMethod: colConfs.filterMethod,
|
|
98
|
+
filterResetMethod: colConfs.filterResetMethod,
|
|
99
|
+
filterRecoverMethod: colConfs.filterRecoverMethod,
|
|
99
100
|
filterRender: filterRender,
|
|
100
|
-
floatingFilters:
|
|
101
|
-
rules:
|
|
102
|
-
rowGroupNode:
|
|
103
|
-
treeNode:
|
|
104
|
-
dragSort:
|
|
105
|
-
rowResize:
|
|
106
|
-
cellType:
|
|
107
|
-
cellRender:
|
|
101
|
+
floatingFilters: colConfs.floatingFilters,
|
|
102
|
+
rules: colConfs.rules,
|
|
103
|
+
rowGroupNode: colConfs.rowGroupNode,
|
|
104
|
+
treeNode: colConfs.treeNode,
|
|
105
|
+
dragSort: colConfs.dragSort,
|
|
106
|
+
rowResize: colConfs.rowResize,
|
|
107
|
+
cellType: colConfs.cellType,
|
|
108
|
+
cellRender: cellRender,
|
|
108
109
|
editRender: editRender,
|
|
109
|
-
contentRender:
|
|
110
|
-
headerExportMethod:
|
|
111
|
-
exportMethod:
|
|
112
|
-
footerExportMethod:
|
|
113
|
-
titleHelp:
|
|
114
|
-
titlePrefix:
|
|
115
|
-
titleSuffix:
|
|
116
|
-
aggFunc:
|
|
117
|
-
copyMethod:
|
|
118
|
-
cutMethod:
|
|
119
|
-
pasteMethod:
|
|
110
|
+
contentRender: colConfs.contentRender,
|
|
111
|
+
headerExportMethod: colConfs.headerExportMethod,
|
|
112
|
+
exportMethod: colConfs.exportMethod,
|
|
113
|
+
footerExportMethod: colConfs.footerExportMethod,
|
|
114
|
+
titleHelp: colConfs.titleHelp,
|
|
115
|
+
titlePrefix: colConfs.titlePrefix,
|
|
116
|
+
titleSuffix: colConfs.titleSuffix,
|
|
117
|
+
aggFunc: colConfs.aggFunc,
|
|
118
|
+
copyMethod: colConfs.copyMethod,
|
|
119
|
+
cutMethod: colConfs.cutMethod,
|
|
120
|
+
pasteMethod: colConfs.pasteMethod,
|
|
120
121
|
// 自定义参数
|
|
121
|
-
params:
|
|
122
|
+
params: colConfs.params,
|
|
122
123
|
// 渲染属性
|
|
123
124
|
id: colId,
|
|
124
125
|
parentId: null,
|
|
125
|
-
visible,
|
|
126
|
+
visible: defaultVisible,
|
|
126
127
|
// 内部属性(一旦被使用,将导致不可升级版本)
|
|
127
128
|
defaultParentId: null,
|
|
128
129
|
halfVisible: false,
|
|
129
|
-
defaultVisible:
|
|
130
|
-
defaultFixed:
|
|
131
|
-
|
|
132
|
-
defaultAggFunc: _vm.aggFunc,
|
|
130
|
+
defaultVisible: defaultVisible,
|
|
131
|
+
defaultFixed: colConfs.fixed,
|
|
132
|
+
defaultAggFunc: colConfs.aggFunc,
|
|
133
133
|
checked: false,
|
|
134
134
|
halfChecked: false,
|
|
135
135
|
disabled: false,
|
|
@@ -150,7 +150,7 @@ export class ColumnInfo {
|
|
|
150
150
|
renderAggFormat: null,
|
|
151
151
|
renderFixed: '',
|
|
152
152
|
renderVisible: false,
|
|
153
|
-
renderWidth:
|
|
153
|
+
renderWidth: defaultRenderWidth,
|
|
154
154
|
renderHeight: 0,
|
|
155
155
|
renderResizeWidth: 0,
|
|
156
156
|
renderAutoWidth: 0,
|
|
@@ -158,12 +158,12 @@ export class ColumnInfo {
|
|
|
158
158
|
renderLeft: 0,
|
|
159
159
|
renderArgs: [],
|
|
160
160
|
model: {},
|
|
161
|
-
renderHeader: renderHeader ||
|
|
162
|
-
renderCell: renderCell ||
|
|
163
|
-
renderFooter: renderFooter ||
|
|
161
|
+
renderHeader: renderHeader || colConfs.renderHeader,
|
|
162
|
+
renderCell: renderCell || colConfs.renderCell,
|
|
163
|
+
renderFooter: renderFooter || colConfs.renderFooter,
|
|
164
164
|
renderData: renderData,
|
|
165
165
|
// 单元格插槽,只对 grid 有效
|
|
166
|
-
slots:
|
|
166
|
+
slots: colConfs.slots
|
|
167
167
|
});
|
|
168
168
|
if (ctFilterOptions && (!filters || !filters.length)) {
|
|
169
169
|
this.filters = toFilters(ctFilterOptions({ $table: $xeTable, column: this }), colId);
|
|
@@ -180,8 +180,8 @@ export class ColumnInfo {
|
|
|
180
180
|
return getFuncText(this.title || (this.type === 'seq' ? getI18n('vxe.table.seqTitle') : ''));
|
|
181
181
|
}
|
|
182
182
|
getKey() {
|
|
183
|
-
const { type } = this;
|
|
184
|
-
return
|
|
183
|
+
const { type, field } = this;
|
|
184
|
+
return field || (type ? `type=${type}` : null);
|
|
185
185
|
}
|
|
186
186
|
update(name, value) {
|
|
187
187
|
// 不支持直接修改的属性
|
package/es/table/src/table.js
CHANGED
|
@@ -1726,9 +1726,9 @@ export default defineVxeComponent({
|
|
|
1726
1726
|
if (expandOpts.mode !== 'inside' && (treeConfig && !treeOpts.transform)) {
|
|
1727
1727
|
errLog('vxe.error.notConflictProp', ['tree-config.transform=false', 'expand-config.mode=inside']);
|
|
1728
1728
|
}
|
|
1729
|
-
if (props.spanMethod) {
|
|
1730
|
-
|
|
1731
|
-
}
|
|
1729
|
+
// if (props.spanMethod) {
|
|
1730
|
+
// warnLog('vxe.error.notSupportProp', ['column.type=expand', 'span-method', 'span-method=null'])
|
|
1731
|
+
// }
|
|
1732
1732
|
}
|
|
1733
1733
|
if (htmlColumn) {
|
|
1734
1734
|
if (!columnOpts.useKey) {
|
package/es/table/style.css
CHANGED
|
@@ -3563,6 +3563,10 @@
|
|
|
3563
3563
|
.vxe-table--render-default {
|
|
3564
3564
|
/*展开行*/
|
|
3565
3565
|
}
|
|
3566
|
+
.vxe-table--render-default .vxe-body--column.col--expand > .vxe-cell .vxe-cell--wrapper {
|
|
3567
|
+
display: flex;
|
|
3568
|
+
flex-direction: row;
|
|
3569
|
+
}
|
|
3566
3570
|
.vxe-table--render-default .vxe-table--row-expanded-wrapper {
|
|
3567
3571
|
position: absolute;
|
|
3568
3572
|
top: 0;
|
|
@@ -3594,23 +3598,31 @@
|
|
|
3594
3598
|
border-right: var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color);
|
|
3595
3599
|
}
|
|
3596
3600
|
.vxe-table--render-default .vxe-table--expanded {
|
|
3597
|
-
|
|
3601
|
+
display: flex;
|
|
3602
|
+
flex-direction: row;
|
|
3603
|
+
align-items: center;
|
|
3604
|
+
justify-content: center;
|
|
3605
|
+
flex-shrink: 0;
|
|
3598
3606
|
}
|
|
3599
3607
|
.vxe-table--render-default .vxe-table--expanded .vxe-table--expand-btn {
|
|
3600
|
-
|
|
3601
|
-
width: 1em;
|
|
3602
|
-
height: 1em;
|
|
3603
|
-
text-align: center;
|
|
3608
|
+
cursor: pointer;
|
|
3604
3609
|
-webkit-user-select: none;
|
|
3605
3610
|
-moz-user-select: none;
|
|
3606
3611
|
user-select: none;
|
|
3607
3612
|
color: var(--vxe-ui-font-lighten-color);
|
|
3608
|
-
transition: transform 0.1s ease-in-out;
|
|
3609
3613
|
}
|
|
3610
3614
|
.vxe-table--render-default .vxe-table--expanded .vxe-table--expand-btn:hover {
|
|
3611
3615
|
color: var(--vxe-ui-font-color);
|
|
3612
3616
|
}
|
|
3617
|
+
.vxe-table--render-default .vxe-table--expanded .vxe-table--expand-btn i {
|
|
3618
|
+
display: inline-block;
|
|
3619
|
+
width: 1em;
|
|
3620
|
+
height: 1em;
|
|
3621
|
+
line-height: 1em;
|
|
3622
|
+
transition: transform 0.1s ease-in-out;
|
|
3623
|
+
}
|
|
3613
3624
|
.vxe-table--render-default .vxe-table--expanded + .vxe-table--expand-label {
|
|
3625
|
+
flex-grow: 1;
|
|
3614
3626
|
padding-left: 0.5em;
|
|
3615
3627
|
}
|
|
3616
3628
|
.vxe-table--render-default .vxe-body--expanded-row.is--padding > .vxe-body--expanded-column > .vxe-body--expanded-cell {
|