vxe-table 3.18.1 → 3.18.3
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/grid/src/grid.js +5 -1
- 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/mixin.js +67 -43
- package/es/table/module/menu/panel.js +10 -8
- package/es/table/src/body.js +12 -14
- 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 +233 -39
- package/es/table/src/props.js +23 -6
- package/es/table/src/table.js +43 -19
- package/es/table/src/util.js +70 -2
- package/es/table/style.css +11 -21
- 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/ui/src/vn.js +16 -11
- package/es/vxe-table/style.css +11 -21
- package/es/vxe-table/style.min.css +1 -1
- package/lib/grid/src/grid.js +6 -0
- 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 +610 -185
- 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/mixin.js +84 -58
- package/lib/table/module/menu/mixin.min.js +1 -1
- package/lib/table/module/menu/panel.js +11 -10
- package/lib/table/module/menu/panel.min.js +1 -1
- package/lib/table/src/body.js +11 -13
- package/lib/table/src/body.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 +259 -42
- 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/table.js +46 -16
- 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 -21
- 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/ui/src/vn.js +16 -10
- package/lib/ui/src/vn.min.js +1 -1
- package/lib/vxe-table/style/style.css +11 -21
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/grid/src/grid.ts +5 -1
- package/packages/table/module/menu/mixin.ts +79 -50
- package/packages/table/module/menu/panel.ts +11 -9
- package/packages/table/src/body.ts +11 -13
- 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 +245 -40
- package/packages/table/src/props.ts +29 -12
- package/packages/table/src/table.ts +53 -16
- package/packages/table/src/util.ts +76 -2
- package/packages/ui/src/vn.ts +16 -11
- package/styles/components/table.scss +33 -56
- /package/es/{iconfont.1756272539382.ttf → iconfont.1756629700380.ttf} +0 -0
- /package/es/{iconfont.1756272539382.woff → iconfont.1756629700380.woff} +0 -0
- /package/es/{iconfont.1756272539382.woff2 → iconfont.1756629700380.woff2} +0 -0
- /package/lib/{iconfont.1756272539382.ttf → iconfont.1756629700380.ttf} +0 -0
- /package/lib/{iconfont.1756272539382.woff → iconfont.1756629700380.woff} +0 -0
- /package/lib/{iconfont.1756272539382.woff2 → iconfont.1756629700380.woff2} +0 -0
package/lib/table/src/footer.js
CHANGED
|
@@ -298,8 +298,9 @@ var _default = exports.default = {
|
|
|
298
298
|
elemStore[`${prefix}xSpace`] = _vm.$refs.refFooterXSpace;
|
|
299
299
|
},
|
|
300
300
|
destroyed() {
|
|
301
|
-
const
|
|
302
|
-
const
|
|
301
|
+
const _vm = this;
|
|
302
|
+
const props = _vm;
|
|
303
|
+
const $xeTable = _vm.$parent;
|
|
303
304
|
const tableInternalData = $xeTable;
|
|
304
305
|
const {
|
|
305
306
|
fixedType
|
|
@@ -316,8 +317,9 @@ var _default = exports.default = {
|
|
|
316
317
|
elemStore[`${prefix}xSpace`] = null;
|
|
317
318
|
},
|
|
318
319
|
render(h) {
|
|
319
|
-
const
|
|
320
|
-
const
|
|
320
|
+
const _vm = this;
|
|
321
|
+
const props = _vm;
|
|
322
|
+
const $xeTable = _vm.$parent;
|
|
321
323
|
const tableProps = $xeTable;
|
|
322
324
|
const tableReactData = $xeTable;
|
|
323
325
|
const tableInternalData = $xeTable;
|
|
@@ -436,6 +438,6 @@ var _default = exports.default = {
|
|
|
436
438
|
*/
|
|
437
439
|
h('tfoot', {
|
|
438
440
|
ref: 'refFooterTFoot'
|
|
439
|
-
}, renderHeads(h,
|
|
441
|
+
}, renderHeads(h, _vm, isOptimizeMode, renderColumnList))])])]);
|
|
440
442
|
}
|
|
441
443
|
};
|
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)}}};
|