vxe-table 3.18.0 → 3.18.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/edit/mixin.js +58 -20
- package/es/table/module/filter/mixin.js +12 -10
- package/es/table/module/menu/mixin.js +16 -9
- package/es/table/module/validator/mixin.js +4 -2
- package/es/table/src/column.js +2 -0
- package/es/table/src/columnInfo.js +1 -0
- package/es/table/src/footer.js +7 -5
- package/es/table/src/header.js +67 -28
- package/es/table/src/methods.js +577 -85
- package/es/table/src/props.js +23 -6
- package/es/table/src/store.js +8 -0
- package/es/table/src/table.js +67 -26
- package/es/table/src/util.js +70 -2
- package/es/table/style.css +11 -17
- 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 +11 -17
- 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 +1002 -200
- 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/edit/mixin.js +55 -16
- package/lib/table/module/edit/mixin.min.js +1 -1
- package/lib/table/module/filter/mixin.js +12 -10
- package/lib/table/module/filter/mixin.min.js +1 -1
- package/lib/table/module/menu/mixin.js +20 -13
- package/lib/table/module/menu/mixin.min.js +1 -1
- package/lib/table/module/validator/mixin.js +4 -2
- package/lib/table/module/validator/mixin.min.js +1 -1
- package/lib/table/src/column.js +2 -0
- package/lib/table/src/column.min.js +1 -1
- package/lib/table/src/columnInfo.js +1 -0
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/footer.js +7 -5
- package/lib/table/src/header.js +82 -25
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/methods.js +647 -94
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/props.js +11 -3
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/store.js +15 -0
- package/lib/table/src/store.min.js +1 -0
- package/lib/table/src/table.js +74 -25
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +74 -2
- package/lib/table/src/util.min.js +1 -1
- package/lib/table/style/style.css +11 -17
- 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 +11 -17
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/table/module/edit/mixin.ts +59 -23
- package/packages/table/module/filter/mixin.ts +17 -13
- package/packages/table/module/menu/mixin.ts +16 -9
- package/packages/table/module/validator/mixin.ts +8 -4
- package/packages/table/src/column.ts +4 -2
- package/packages/table/src/columnInfo.ts +1 -0
- package/packages/table/src/footer.ts +11 -9
- package/packages/table/src/header.ts +76 -34
- package/packages/table/src/methods.ts +607 -90
- package/packages/table/src/props.ts +29 -12
- package/packages/table/src/store.ts +15 -0
- package/packages/table/src/table.ts +79 -24
- package/packages/table/src/util.ts +76 -2
- package/styles/components/table.scss +33 -55
- /package/es/{iconfont.1756083626568.ttf → iconfont.1756452257212.ttf} +0 -0
- /package/es/{iconfont.1756083626568.woff → iconfont.1756452257212.woff} +0 -0
- /package/es/{iconfont.1756083626568.woff2 → iconfont.1756452257212.woff2} +0 -0
- /package/lib/{iconfont.1756083626568.ttf → iconfont.1756452257212.ttf} +0 -0
- /package/lib/{iconfont.1756083626568.woff → iconfont.1756452257212.woff} +0 -0
- /package/lib/{iconfont.1756083626568.woff2 → iconfont.1756452257212.woff2} +0 -0
package/lib/table/src/header.js
CHANGED
|
@@ -14,7 +14,7 @@ const {
|
|
|
14
14
|
renderEmptyElement
|
|
15
15
|
} = _ui.VxeUI;
|
|
16
16
|
const cellType = 'header';
|
|
17
|
-
|
|
17
|
+
function renderRows(h, _vm, isGroup, isOptimizeMode, headerGroups, $rowIndex, cols) {
|
|
18
18
|
const props = _vm;
|
|
19
19
|
const $xeTable = _vm.$parent;
|
|
20
20
|
const $xeGrid = $xeTable.$xeGrid;
|
|
@@ -28,6 +28,7 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
|
|
|
28
28
|
const {
|
|
29
29
|
resizable: allResizable,
|
|
30
30
|
columnKey,
|
|
31
|
+
showCustomHeader,
|
|
31
32
|
headerCellClassName,
|
|
32
33
|
headerCellStyle,
|
|
33
34
|
showHeaderOverflow: allColumnHeaderOverflow,
|
|
@@ -41,11 +42,14 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
|
|
|
41
42
|
scrollXLoad,
|
|
42
43
|
scrollYLoad,
|
|
43
44
|
overflowX,
|
|
45
|
+
mergeHeadFlag,
|
|
44
46
|
tableColumn
|
|
45
47
|
} = tableReactData;
|
|
46
48
|
const {
|
|
47
49
|
fullColumnIdData,
|
|
48
|
-
scrollXStore
|
|
50
|
+
scrollXStore,
|
|
51
|
+
mergeHeaderList,
|
|
52
|
+
mergeHeaderCellMaps
|
|
49
53
|
} = tableInternalData;
|
|
50
54
|
const virtualXOpts = $xeTable.computeVirtualXOpts;
|
|
51
55
|
const columnOpts = $xeTable.computeColumnOpts;
|
|
@@ -59,6 +63,7 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
|
|
|
59
63
|
isCrossDrag,
|
|
60
64
|
isPeerDrag
|
|
61
65
|
} = columnDragOpts;
|
|
66
|
+
const isLastRow = $rowIndex === headerGroups.length - 1;
|
|
62
67
|
return cols.map((column, $columnIndex) => {
|
|
63
68
|
const {
|
|
64
69
|
type,
|
|
@@ -91,7 +96,7 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
|
|
|
91
96
|
hasFilter = filters.some(item => item.checked);
|
|
92
97
|
}
|
|
93
98
|
const columnIndex = colRest.index;
|
|
94
|
-
const _columnIndex = colRest._index;
|
|
99
|
+
const _columnIndex = showCustomHeader ? $columnIndex : colRest._index;
|
|
95
100
|
const cellParams = {
|
|
96
101
|
$table: $xeTable,
|
|
97
102
|
$grid: $xeGrid,
|
|
@@ -108,10 +113,34 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
|
|
|
108
113
|
hasFilter
|
|
109
114
|
};
|
|
110
115
|
const thAttrs = {
|
|
111
|
-
colid
|
|
112
|
-
colspan: column.colSpan > 1 ? column.colSpan : null,
|
|
113
|
-
rowspan: column.rowSpan > 1 ? column.rowSpan : null
|
|
116
|
+
colid
|
|
114
117
|
};
|
|
118
|
+
let isMergeCell = false;
|
|
119
|
+
// 合并行或列
|
|
120
|
+
if (!showCustomHeader) {
|
|
121
|
+
thAttrs.colspan = column.colSpan > 1 ? column.colSpan : null;
|
|
122
|
+
thAttrs.rowspan = column.rowSpan > 1 ? column.rowSpan : null;
|
|
123
|
+
}
|
|
124
|
+
if (mergeHeadFlag && mergeHeaderList.length && (showCustomHeader || isLastRow)) {
|
|
125
|
+
const spanRest = mergeHeaderCellMaps[`${$rowIndex}:${showCustomHeader ? $columnIndex : _columnIndex}`];
|
|
126
|
+
if (spanRest) {
|
|
127
|
+
const {
|
|
128
|
+
rowspan,
|
|
129
|
+
colspan
|
|
130
|
+
} = spanRest;
|
|
131
|
+
if (!rowspan || !colspan) {
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
if (rowspan > 1) {
|
|
135
|
+
isMergeCell = true;
|
|
136
|
+
thAttrs.rowspan = rowspan;
|
|
137
|
+
}
|
|
138
|
+
if (colspan > 1) {
|
|
139
|
+
isMergeCell = true;
|
|
140
|
+
thAttrs.colspan = colspan;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
115
144
|
const thOns = {
|
|
116
145
|
click: evnt => $xeTable.triggerHeaderCellClickEvent(evnt, cellParams),
|
|
117
146
|
dblclick: evnt => $xeTable.triggerHeaderCellDblclickEvent(evnt, cellParams)
|
|
@@ -138,7 +167,7 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
|
|
|
138
167
|
const showResizable = _xeUtils.default.isBoolean(column.resizable) ? column.resizable : columnOpts.resizable || allResizable;
|
|
139
168
|
const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
|
|
140
169
|
let isVNPreEmptyStatus = false;
|
|
141
|
-
if (isOptimizeMode && overflowX && !isGroup) {
|
|
170
|
+
if (isOptimizeMode && overflowX && !isGroup && !isMergeCell) {
|
|
142
171
|
if (!dragCol || dragCol.id !== colid) {
|
|
143
172
|
if (scrollXLoad && tableColumn.length > 10 && !column.fixed && !virtualXOpts.immediate && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
|
|
144
173
|
isVNPreEmptyStatus = true;
|
|
@@ -152,7 +181,7 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
|
|
|
152
181
|
tcStyle.minHeight = `${currCellHeight}px`;
|
|
153
182
|
}
|
|
154
183
|
return h('th', {
|
|
155
|
-
class: ['vxe-table--column vxe-header--column', colid, {
|
|
184
|
+
class: ['vxe-table--column vxe-header--column', colid, fixedHiddenColumn ? 'fixed--hidden' : 'fixed--visible', {
|
|
156
185
|
[`col--${headAlign}`]: headAlign,
|
|
157
186
|
[`col--${type}`]: type,
|
|
158
187
|
'col--last': isLastColumn,
|
|
@@ -160,7 +189,6 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
|
|
|
160
189
|
'col--group': isColGroup,
|
|
161
190
|
'col--ellipsis': hasEllipsis,
|
|
162
191
|
'fixed--width': !isAutoCellWidth,
|
|
163
|
-
'fixed--hidden': fixedHiddenColumn,
|
|
164
192
|
'is--padding': isPadding,
|
|
165
193
|
'is--sortable': column.sortable,
|
|
166
194
|
'col--filter': !!filters,
|
|
@@ -172,7 +200,7 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
|
|
|
172
200
|
attrs: thAttrs,
|
|
173
201
|
style: headerCellStyle ? _xeUtils.default.isFunction(headerCellStyle) ? headerCellStyle(cellParams) : headerCellStyle : undefined,
|
|
174
202
|
on: thOns,
|
|
175
|
-
key: columnKey || scrollXLoad || scrollYLoad || columnOpts.useKey || columnOpts.drag || isColGroup ? colid : $columnIndex
|
|
203
|
+
key: showCustomHeader ? `${colid}${$columnIndex}` : columnKey || scrollXLoad || scrollYLoad || columnOpts.useKey || columnOpts.drag || isColGroup ? colid : $columnIndex
|
|
176
204
|
}, [h('div', {
|
|
177
205
|
class: ['vxe-cell', {
|
|
178
206
|
'c--title': showTitle,
|
|
@@ -187,9 +215,9 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
|
|
|
187
215
|
class: 'vxe-cell--wrapper vxe-header-cell--wrapper'
|
|
188
216
|
}, column.renderHeader(h, cellParams))]),
|
|
189
217
|
/**
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
!fixedHiddenColumn && showResizable ? h('div', {
|
|
218
|
+
* 列宽拖动
|
|
219
|
+
*/
|
|
220
|
+
!fixedHiddenColumn && showResizable && (!showCustomHeader || isLastRow) ? h('div', {
|
|
193
221
|
class: 'vxe-cell--col-resizable',
|
|
194
222
|
on: {
|
|
195
223
|
mousedown: evnt => $xeTable.handleColResizeMousedownEvent(evnt, fixedType, cellParams),
|
|
@@ -197,7 +225,7 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
|
|
|
197
225
|
}
|
|
198
226
|
}) : renderEmptyElement($xeTable)]);
|
|
199
227
|
});
|
|
200
|
-
}
|
|
228
|
+
}
|
|
201
229
|
function renderHeads(h, _vm, isGroup, isOptimizeMode, headerGroups) {
|
|
202
230
|
const props = _vm;
|
|
203
231
|
const $xeTable = _vm.$parent;
|
|
@@ -220,7 +248,7 @@ function renderHeads(h, _vm, isGroup, isOptimizeMode, headerGroups) {
|
|
|
220
248
|
key: $rowIndex,
|
|
221
249
|
class: ['vxe-header--row', headerRowClassName ? _xeUtils.default.isFunction(headerRowClassName) ? headerRowClassName(params) : headerRowClassName : ''],
|
|
222
250
|
style: headerRowStyle ? _xeUtils.default.isFunction(headerRowStyle) ? headerRowStyle(params) : headerRowStyle : undefined
|
|
223
|
-
}, renderRows(h, _vm, isGroup, isOptimizeMode,
|
|
251
|
+
}, renderRows(h, _vm, isGroup, isOptimizeMode, headerGroups, $rowIndex, cols));
|
|
224
252
|
});
|
|
225
253
|
}
|
|
226
254
|
var _default = exports.default = {
|
|
@@ -242,11 +270,13 @@ var _default = exports.default = {
|
|
|
242
270
|
},
|
|
243
271
|
watch: {
|
|
244
272
|
tableColumn() {
|
|
245
|
-
this
|
|
273
|
+
const _vm = this;
|
|
274
|
+
_vm.uploadColumn();
|
|
246
275
|
}
|
|
247
276
|
},
|
|
248
277
|
created() {
|
|
249
|
-
this
|
|
278
|
+
const _vm = this;
|
|
279
|
+
_vm.uploadColumn();
|
|
250
280
|
},
|
|
251
281
|
mounted() {
|
|
252
282
|
const _vm = this;
|
|
@@ -269,8 +299,9 @@ var _default = exports.default = {
|
|
|
269
299
|
elemStore[`${prefix}repair`] = _vm.$refs.refHeaderBorderRepair;
|
|
270
300
|
},
|
|
271
301
|
destroyed() {
|
|
272
|
-
const
|
|
273
|
-
const
|
|
302
|
+
const _vm = this;
|
|
303
|
+
const props = _vm;
|
|
304
|
+
const $xeTable = _vm.$parent;
|
|
274
305
|
const internalData = $xeTable;
|
|
275
306
|
const {
|
|
276
307
|
fixedType
|
|
@@ -288,8 +319,9 @@ var _default = exports.default = {
|
|
|
288
319
|
elemStore[`${prefix}repair`] = null;
|
|
289
320
|
},
|
|
290
321
|
render(h) {
|
|
291
|
-
const
|
|
292
|
-
const
|
|
322
|
+
const _vm = this;
|
|
323
|
+
const props = _vm;
|
|
324
|
+
const $xeTable = _vm.$parent;
|
|
293
325
|
const tableProps = $xeTable;
|
|
294
326
|
const tableReactData = $xeTable;
|
|
295
327
|
const tableInternalData = $xeTable;
|
|
@@ -303,7 +335,7 @@ var _default = exports.default = {
|
|
|
303
335
|
} = props;
|
|
304
336
|
const {
|
|
305
337
|
headerColumn
|
|
306
|
-
} =
|
|
338
|
+
} = _vm;
|
|
307
339
|
const {
|
|
308
340
|
mouseConfig,
|
|
309
341
|
showHeaderOverflow: allColumnHeaderOverflow,
|
|
@@ -422,7 +454,7 @@ var _default = exports.default = {
|
|
|
422
454
|
*/
|
|
423
455
|
h('thead', {
|
|
424
456
|
ref: 'refHeaderTHead'
|
|
425
|
-
}, renderHeads(h,
|
|
457
|
+
}, renderHeads(h, _vm, isGroup, isOptimizeMode, renderHeaderList))]), mouseConfig && mouseOpts.area ? h('div', {
|
|
426
458
|
class: 'vxe-table--cell-area'
|
|
427
459
|
}, [h('span', {
|
|
428
460
|
class: 'vxe-table--cell-main-area'
|
|
@@ -440,12 +472,37 @@ var _default = exports.default = {
|
|
|
440
472
|
},
|
|
441
473
|
methods: {
|
|
442
474
|
uploadColumn() {
|
|
443
|
-
const
|
|
475
|
+
const _vm = this;
|
|
476
|
+
const $xeTable = _vm.$parent;
|
|
477
|
+
const tableProps = $xeTable;
|
|
444
478
|
const tableReactData = $xeTable;
|
|
479
|
+
const tableInternalData = $xeTable;
|
|
480
|
+
const props = _vm;
|
|
481
|
+
const {
|
|
482
|
+
showCustomHeader
|
|
483
|
+
} = tableProps;
|
|
484
|
+
const {
|
|
485
|
+
collectColumn,
|
|
486
|
+
visibleColumn
|
|
487
|
+
} = tableInternalData;
|
|
488
|
+
const {
|
|
489
|
+
tableGroupColumn
|
|
490
|
+
} = props;
|
|
445
491
|
const {
|
|
446
492
|
isGroup
|
|
447
493
|
} = tableReactData;
|
|
448
|
-
|
|
494
|
+
let spanColumns = isGroup ? (0, _util.convertHeaderColumnToRows)(tableGroupColumn) : [];
|
|
495
|
+
let visibleColgroups = [];
|
|
496
|
+
if (showCustomHeader && spanColumns.length > 1) {
|
|
497
|
+
visibleColgroups = (0, _util.convertHeaderToGridRows)(spanColumns);
|
|
498
|
+
spanColumns = visibleColgroups;
|
|
499
|
+
}
|
|
500
|
+
_vm.headerColumn = spanColumns;
|
|
501
|
+
$xeTable.dispatchEvent('columns-change', {
|
|
502
|
+
visibleColgroups,
|
|
503
|
+
collectColumn,
|
|
504
|
+
visibleColumn
|
|
505
|
+
}, null);
|
|
449
506
|
}
|
|
450
507
|
}
|
|
451
508
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,cellType="header"
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,cellType="header";function renderRows(E,e,S,D,l,T,R){let I=e.$parent,O=I.$xeGrid,k=I.$xeGantt;var r=I,a=I,t=I;let z=e.fixedType,{resizable:M,columnKey:U,showCustomHeader:A,headerCellClassName:X,headerCellStyle:G,showHeaderOverflow:q,headerAlign:F,align:L,mouseConfig:N}=r,{currentColumn:B,dragCol:V,scrollXLoad:W,scrollYLoad:K,overflowX:P,mergeHeadFlag:j,tableColumn:ae}=a,{fullColumnIdData:te,scrollXStore:Y,mergeHeaderList:ie,mergeHeaderCellMaps:de}=t,ne=I.computeVirtualXOpts,J=I.computeColumnOpts,Q=I.computeColumnDragOpts,oe=I.computeCellOpts;e=I.computeDefaultRowHeight;let Z=I.computeHeaderCellOpts,ee=(0,_util.getCalcHeight)(Z.height)||e,{disabledMethod:le,isCrossDrag:se,isPeerDrag:ue}=Q,re=T===l.length-1;return R.map((e,l)=>{var{type:r,showHeaderOverflow:a,headerAlign:t,align:i,filters:d,headerClassName:n,editRender:o,cellRender:s}=e,u=e.id,c=te[u]||{},o=o||s,s=o?renderer.get(o.name):null,o=e.children&&e.children.length,p=P&&!o&&(z?e.fixed!==z:!!e.fixed),f=(_xeUtils.default.isBoolean(Z.padding)?Z:oe).padding,a=_xeUtils.default.isUndefined(a)||_xeUtils.default.isNull(a)?q:a,t=t||(s?s.tableHeaderCellAlign:"")||F||i||(s?s.tableCellAlign:"")||L,i="ellipsis"===a,s="title"===a,a=!0===a||"tooltip"===a,m=s||a||i;let g=!1,h=null;d&&(h=d[0],g=d.some(e=>e.checked));var x=c.index,c=A?l:c._index;let v={$table:I,$grid:O,$gantt:k,$rowIndex:T,column:e,columnIndex:x,$columnIndex:l,_columnIndex:c,firstFilterOption:h,fixed:z,type:cellType,isHidden:p,hasFilter:g};x={colid:u};let C=!1;if(A||(x.colspan=1<e.colSpan?e.colSpan:null,x.rowspan=1<e.rowSpan?e.rowSpan:null),j&&ie.length&&(A||re)){var b=de[T+":"+(A?l:c)];if(b){var{rowspan:b,colspan:w}=b;if(!b||!w)return null;1<b&&(C=!0,x.rowspan=b),1<w&&(C=!0,x.colspan=w)}}b={click:e=>I.triggerHeaderCellClickEvent(e,v),dblclick:e=>I.triggerHeaderCellDblclickEvent(e,v)},w=J.drag&&"cell"===Q.trigger;let H=!1;w&&(H=!(!le||!le(v))),(N||w)&&(b.mousedown=e=>I.triggerHeaderCellMousedownEvent(e,v)),J.drag&&(b.dragstart=I.handleHeaderCellDragDragstartEvent,b.dragend=I.handleHeaderCellDragDragendEvent,b.dragover=I.handleHeaderCellDragDragoverEvent,w)&&(b.mouseup=I.handleHeaderCellDragMouseupEvent);var w=l===R.length-1,y=_xeUtils.default.isBoolean(e.resizable)?e.resizable:J.resizable||M,_=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width);let $=!1;!D||!P||S||C||V&&V.id===u||W&&10<ae.length&&!e.fixed&&!ne.immediate&&(c<Y.visibleStartIndex-Y.preloadSize||c>Y.visibleEndIndex+Y.preloadSize)&&($=!0);c={};return m?c.height=ee+"px":c.minHeight=ee+"px",E("th",{class:["vxe-table--column vxe-header--column",u,p?"fixed--hidden":"fixed--visible",{["col--"+t]:t,["col--"+r]:r,"col--last":w,"col--fixed":e.fixed,"col--group":o,"col--ellipsis":m,"fixed--width":!_,"is--padding":f,"is--sortable":e.sortable,"col--filter":!!d,"is--filter-active":g,"is--drag-active":J.drag&&!e.fixed&&!H&&(se||ue||!e.parentId),"is--drag-disabled":J.drag&&H,"col--current":B===e},(0,_utils.getClass)(n,v),(0,_utils.getClass)(X,v)],attrs:x,style:G?_xeUtils.default.isFunction(G)?G(v):G:void 0,on:b,key:A?""+u+l:U||W||K||J.useKey||J.drag||o?u:l},[E("div",{class:["vxe-cell",{"c--title":s,"c--tooltip":a,"c--ellipsis":i}],style:c},$||D&&p?[]:[E("div",{attrs:{colid:u},class:"vxe-cell--wrapper vxe-header-cell--wrapper"},e.renderHeader(E,v))]),p||!y||A&&!re?renderEmptyElement(I):E("div",{class:"vxe-cell--col-resizable",on:{mousedown:e=>I.handleColResizeMousedownEvent(e,z,v),dblclick:e=>I.handleColResizeDblclickEvent(e,v)}})])})}function renderHeads(a,t,i,d,n){let o=t.$parent;var e=o;let s=t.fixedType,{headerRowClassName:u,headerRowStyle:c}=e;return n.map((e,l)=>{var r={$table:o,$rowIndex:l,fixed:s,type:cellType};return a("tr",{key:l,class:["vxe-header--row",u?_xeUtils.default.isFunction(u)?u(r):u:""],style:c?_xeUtils.default.isFunction(c)?c(r):c:void 0},renderRows(a,t,i,d,n,l,e))})}var _default=exports.default={name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},data(){return{headerColumn:[]}},watch:{tableColumn(){this.uploadColumn()}},created(){this.uploadColumn()},mounted(){var e=this,l=e.fixedType,r=e.$parent.elemStore,l=`${l||"main"}-header-`;r[l+"wrapper"]=e.$refs.refElem,r[l+"scroll"]=e.$refs.refHeaderScroll,r[l+"table"]=e.$refs.refHeaderTable,r[l+"colgroup"]=e.$refs.refHeaderColgroup,r[l+"list"]=e.$refs.refHeaderTHead,r[l+"xSpace"]=e.$refs.refHeaderXSpace,r[l+"repair"]=e.$refs.refHeaderBorderRepair},destroyed(){var e=this.fixedType,l=this.$parent.elemStore,e=`${e||"main"}-header-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"repair"]=null},render(r){let l=this.$parent;var e=l,a=l,t=l,i=l.xID;let{fixedType:d,fixedColumn:n,tableColumn:o}=this;var s=this.headerColumn,{mouseConfig:e,showHeaderOverflow:u,spanMethod:c,footerSpanMethod:p}=e,{isGroup:a,isColLoading:f,overflowX:m,scrollXLoad:g,dragCol:h}=a,{visibleColumn:t,fullColumnIdData:x}=t,v=l.computeMouseOpts;let C=s,b=o,w=!1;return a?b=t:(g&&u&&(c||p||(w=!0)),w&&(f||!d&&m)||(b=t),d&&w&&(b=n||[]),C=[b]),d||a||g&&h&&2<b.length&&(s=x[h.id])&&(u=s._index,c=b[0],p=b[b.length-1],f=x[c.id],m=x[p.id],f)&&m&&(t=f._index,g=m._index,u<t?(b=[h].concat(b),C=[[h].concat(C[0])].concat(C.slice(1))):g<u&&(b=b.concat([h]),C=[C[0].concat([h])].concat(C.slice(1)))),r("div",{ref:"refElem",class:["vxe-table--header-wrapper",d?`fixed-${d}--wrapper`:"body--wrapper"],attrs:{xid:i}},[r("div",{ref:"refHeaderScroll",class:"vxe-table--header-inner-wrapper",on:{scroll(e){l.triggerHeaderScrollEvent(e,d)}}},[d?renderEmptyElement(l):r("div",{ref:"refHeaderXSpace",class:"vxe-body--x-space"}),r("table",{ref:"refHeaderTable",class:"vxe-table--header",attrs:{xid:i,cellspacing:0,cellpadding:0,border:0,xvm:w?"1":null}},[r("colgroup",{ref:"refHeaderColgroup"},b.map((e,l)=>r("col",{attrs:{name:e.id},key:l,style:{width:e.renderWidth+"px"}}))),r("thead",{ref:"refHeaderTHead"},renderHeads(r,this,a,w,C))]),e&&v.area?r("div",{class:"vxe-table--cell-area"},[r("span",{class:"vxe-table--cell-main-area"}),r("span",{class:"vxe-table--cell-clip-area"}),r("span",{class:"vxe-table--cell-extend-area"}),r("span",{class:"vxe-table--cell-multi-area"}),r("span",{class:"vxe-table--cell-active-area"}),r("span",{class:"vxe-table--cell-col-status-area"})]):renderEmptyElement(l)])])},methods:{uploadColumn(){var e=this.$parent,l=e.showCustomHeader,{collectColumn:r,visibleColumn:a}=e,t=this.tableGroupColumn,i=e.isGroup;let d=i?(0,_util.convertHeaderColumnToRows)(t):[],n=[];l&&1<d.length&&(n=(0,_util.convertHeaderToGridRows)(d),d=n),this.headerColumn=d,e.dispatchEvent("columns-change",{visibleColgroups:n,collectColumn:r,visibleColumn:a},null)}}};
|