vxe-table 4.12.0-beta.9 → 4.12.1
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 +45 -36
- package/es/locale/lang/ar-EG.js +7 -1
- package/es/locale/lang/de-DE.js +7 -1
- package/es/locale/lang/en-US.js +7 -1
- package/es/locale/lang/es-ES.js +7 -1
- package/es/locale/lang/fr-FR.js +7 -1
- package/es/locale/lang/hu-HU.js +7 -1
- package/es/locale/lang/hy-AM.js +7 -1
- package/es/locale/lang/id-ID.js +7 -1
- package/es/locale/lang/it-IT.js +7 -1
- package/es/locale/lang/ja-JP.js +7 -1
- package/es/locale/lang/ko-KR.js +7 -1
- package/es/locale/lang/nb-NO.js +7 -1
- package/es/locale/lang/pt-BR.js +7 -1
- package/es/locale/lang/ru-RU.js +7 -1
- package/es/locale/lang/th-TH.js +7 -1
- package/es/locale/lang/ug-CN.js +7 -1
- package/es/locale/lang/uk-UA.js +7 -1
- package/es/locale/lang/vi-VN.js +7 -1
- package/es/locale/lang/zh-CHT.js +7 -1
- package/es/locale/lang/zh-CN.js +7 -1
- package/es/style.css +1 -1
- package/es/table/module/custom/hook.js +1 -1
- package/es/table/module/custom/panel.js +4 -2
- package/es/table/module/edit/hook.js +29 -33
- package/es/table/module/export/export-panel.js +3 -2
- package/es/table/module/export/import-panel.js +3 -2
- package/es/table/module/filter/panel.js +12 -2
- package/es/table/module/keyboard/hook.js +105 -30
- package/es/table/module/menu/hook.js +2 -1
- package/es/table/module/validator/hook.js +4 -5
- package/es/table/render/index.js +3 -3
- package/es/table/src/body.js +45 -27
- package/es/table/src/cell.js +43 -24
- package/es/table/src/columnInfo.js +2 -2
- package/es/table/src/footer.js +12 -7
- package/es/table/src/header.js +12 -7
- package/es/table/src/props.js +4 -0
- package/es/table/src/table.js +501 -512
- package/es/table/src/util.js +34 -6
- package/es/ui/index.js +4 -3
- package/es/ui/src/log.js +1 -1
- package/helper/vetur/attributes.json +1 -1
- package/helper/vetur/tags.json +1 -1
- package/lib/grid/src/grid.js +42 -40
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +12594 -1185
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +7 -1
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/de-DE.js +7 -1
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/en-US.js +7 -1
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +7 -1
- package/lib/locale/lang/es-ES.js +7 -1
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +7 -1
- package/lib/locale/lang/fr-FR.js +7 -1
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/hu-HU.js +7 -1
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +7 -1
- package/lib/locale/lang/hy-AM.js +7 -1
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/id-ID.js +7 -1
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/it-IT.js +7 -1
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/ja-JP.js +7 -1
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +7 -1
- package/lib/locale/lang/ko-KR.js +7 -1
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +7 -1
- package/lib/locale/lang/nb-NO.js +7 -1
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/pt-BR.js +7 -1
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +7 -1
- package/lib/locale/lang/ru-RU.js +7 -1
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +7 -1
- package/lib/locale/lang/th-TH.js +7 -1
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/ug-CN.js +7 -1
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/uk-UA.js +7 -1
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +7 -1
- package/lib/locale/lang/vi-VN.js +7 -1
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/zh-CHT.js +7 -1
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CN.js +7 -1
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +7 -1
- package/lib/style.css +1 -1
- package/lib/table/module/custom/hook.js +1 -1
- package/lib/table/module/custom/hook.min.js +1 -1
- package/lib/table/module/custom/panel.js +4 -2
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/module/edit/hook.js +36 -45
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/module/export/export-panel.js +3 -2
- package/lib/table/module/export/export-panel.min.js +1 -1
- package/lib/table/module/export/import-panel.js +3 -2
- package/lib/table/module/export/import-panel.min.js +1 -1
- package/lib/table/module/filter/panel.js +8 -2
- package/lib/table/module/filter/panel.min.js +1 -1
- package/lib/table/module/keyboard/hook.js +113 -31
- package/lib/table/module/keyboard/hook.min.js +1 -1
- package/lib/table/module/menu/hook.js +2 -1
- package/lib/table/module/menu/hook.min.js +1 -1
- package/lib/table/module/validator/hook.js +6 -10
- package/lib/table/module/validator/hook.min.js +1 -1
- package/lib/table/render/index.js +4 -3
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/body.js +53 -26
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +49 -25
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/columnInfo.js +2 -4
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/footer.js +12 -5
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +12 -5
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/props.js +4 -0
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/table.js +594 -564
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +36 -6
- package/lib/table/src/util.min.js +1 -1
- package/lib/ui/index.js +4 -3
- 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/package.json +2 -2
- package/packages/grid/src/grid.ts +49 -42
- package/packages/locale/lang/ar-EG.ts +7 -1
- package/packages/locale/lang/de-DE.ts +7 -1
- package/packages/locale/lang/en-US.ts +7 -1
- package/packages/locale/lang/es-ES.ts +7 -1
- package/packages/locale/lang/fr-FR.ts +7 -1
- package/packages/locale/lang/hu-HU.ts +7 -1
- package/packages/locale/lang/hy-AM.ts +7 -1
- package/packages/locale/lang/id-ID.ts +7 -1
- package/packages/locale/lang/it-IT.ts +7 -1
- package/packages/locale/lang/ja-JP.ts +7 -1
- package/packages/locale/lang/ko-KR.ts +7 -1
- package/packages/locale/lang/nb-NO.ts +7 -1
- package/packages/locale/lang/pt-BR.ts +7 -1
- package/packages/locale/lang/ru-RU.ts +7 -1
- package/packages/locale/lang/th-TH.ts +7 -1
- package/packages/locale/lang/ug-CN.ts +7 -1
- package/packages/locale/lang/uk-UA.ts +7 -1
- package/packages/locale/lang/vi-VN.ts +7 -1
- package/packages/locale/lang/zh-CHT.ts +7 -1
- package/packages/locale/lang/zh-CN.ts +7 -1
- package/packages/table/module/custom/hook.ts +1 -1
- package/packages/table/module/custom/panel.ts +6 -2
- package/packages/table/module/edit/hook.ts +30 -33
- package/packages/table/module/export/export-panel.ts +4 -2
- package/packages/table/module/export/import-panel.ts +4 -2
- package/packages/table/module/filter/panel.ts +12 -2
- package/packages/table/module/keyboard/hook.ts +106 -32
- package/packages/table/module/menu/hook.ts +3 -1
- package/packages/table/module/validator/hook.ts +5 -5
- package/packages/table/render/index.ts +3 -4
- package/packages/table/src/body.ts +46 -27
- package/packages/table/src/cell.ts +43 -24
- package/packages/table/src/columnInfo.ts +3 -2
- package/packages/table/src/footer.ts +13 -7
- package/packages/table/src/header.ts +13 -7
- package/packages/table/src/props.ts +4 -0
- package/packages/table/src/table.ts +513 -518
- package/packages/table/src/util.ts +39 -6
- package/packages/ui/index.ts +3 -2
- /package/es/{iconfont.1741337003908.ttf → iconfont.1743045589885.ttf} +0 -0
- /package/es/{iconfont.1741337003908.woff → iconfont.1743045589885.woff} +0 -0
- /package/es/{iconfont.1741337003908.woff2 → iconfont.1743045589885.woff2} +0 -0
- /package/lib/{iconfont.1741337003908.ttf → iconfont.1743045589885.ttf} +0 -0
- /package/lib/{iconfont.1741337003908.woff → iconfont.1743045589885.woff} +0 -0
- /package/lib/{iconfont.1741337003908.woff2 → iconfont.1743045589885.woff2} +0 -0
package/lib/table/src/body.js
CHANGED
|
@@ -41,6 +41,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
41
41
|
const {
|
|
42
42
|
computeEditOpts,
|
|
43
43
|
computeMouseOpts,
|
|
44
|
+
computeCellOffsetWidth,
|
|
44
45
|
computeAreaOpts,
|
|
45
46
|
computeDefaultRowHeight,
|
|
46
47
|
computeEmptyOpts,
|
|
@@ -76,7 +77,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
76
77
|
} = tableReactData;
|
|
77
78
|
return !!(isDragResize || lastScrollTime && Date.now() < lastScrollTime + delayHover);
|
|
78
79
|
};
|
|
79
|
-
const renderLine = (params, cellHeight) => {
|
|
80
|
+
const renderLine = (rowid, params, cellHeight) => {
|
|
80
81
|
const {
|
|
81
82
|
row,
|
|
82
83
|
column
|
|
@@ -98,7 +99,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
98
99
|
if (slots && slots.line) {
|
|
99
100
|
return $xeTable.callSlot(slots.line, params);
|
|
100
101
|
}
|
|
101
|
-
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
102
102
|
const rest = fullAllDataRowIdData[rowid];
|
|
103
103
|
let rLevel = 0;
|
|
104
104
|
let prevRow = null;
|
|
@@ -126,8 +126,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
126
126
|
* 渲染列
|
|
127
127
|
*/
|
|
128
128
|
const renderTdColumn = (seq, rowid, fixedType, isOptimizeMode, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, columns, items) => {
|
|
129
|
+
const $xeGrid = $xeTable.xeGrid;
|
|
129
130
|
const {
|
|
130
|
-
fullAllDataRowIdData
|
|
131
|
+
fullAllDataRowIdData,
|
|
132
|
+
fullColumnIdData,
|
|
133
|
+
visibleColumn
|
|
131
134
|
} = tableInternalData;
|
|
132
135
|
const {
|
|
133
136
|
columnKey,
|
|
@@ -154,6 +157,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
154
157
|
scrollYLoad,
|
|
155
158
|
calcCellHeightFlag,
|
|
156
159
|
resizeHeightFlag,
|
|
160
|
+
resizeWidthFlag,
|
|
157
161
|
mergeList,
|
|
158
162
|
editStore,
|
|
159
163
|
isAllOverflow,
|
|
@@ -186,6 +190,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
186
190
|
const columnOpts = computeColumnOpts.value;
|
|
187
191
|
const mouseOpts = computeMouseOpts.value;
|
|
188
192
|
const areaOpts = computeAreaOpts.value;
|
|
193
|
+
const cellOffsetWidth = computeCellOffsetWidth.value;
|
|
189
194
|
const {
|
|
190
195
|
selectCellToRow
|
|
191
196
|
} = areaOpts;
|
|
@@ -208,15 +213,16 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
208
213
|
const {
|
|
209
214
|
actived
|
|
210
215
|
} = editStore;
|
|
211
|
-
const rowRest = fullAllDataRowIdData[rowid];
|
|
216
|
+
const rowRest = fullAllDataRowIdData[rowid] || {};
|
|
212
217
|
const colid = column.id;
|
|
218
|
+
const colRest = fullColumnIdData[colid] || {};
|
|
213
219
|
const renderOpts = editRender || cellRender;
|
|
214
220
|
const compConf = renderOpts ? renderer.get(renderOpts.name) : null;
|
|
215
221
|
const compCellClassName = compConf ? compConf.tableCellClassName || compConf.cellClassName : null;
|
|
216
222
|
const compCellStyle = compConf ? compConf.tableCellStyle || compConf.cellStyle : '';
|
|
217
223
|
const showAllTip = tooltipOpts.showAll;
|
|
218
|
-
const columnIndex =
|
|
219
|
-
const _columnIndex =
|
|
224
|
+
const columnIndex = colRest.index;
|
|
225
|
+
const _columnIndex = colRest._index;
|
|
220
226
|
const isEdit = (0, _utils.isEnableConf)(editRender);
|
|
221
227
|
const resizeHeight = resizeHeightFlag ? rowRest.resizeHeight : 0;
|
|
222
228
|
let fixedHiddenColumn = fixedType ? column.fixed !== fixedType : column.fixed && overflowX;
|
|
@@ -240,7 +246,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
240
246
|
};
|
|
241
247
|
const cellParams = {
|
|
242
248
|
$table: $xeTable,
|
|
243
|
-
$grid: $
|
|
249
|
+
$grid: $xeGrid,
|
|
244
250
|
isEdit: false,
|
|
245
251
|
seq,
|
|
246
252
|
rowid,
|
|
@@ -379,6 +385,18 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
379
385
|
}
|
|
380
386
|
}
|
|
381
387
|
const tcStyle = {};
|
|
388
|
+
if (hasEllipsis && resizeWidthFlag) {
|
|
389
|
+
let tsColspan = tdAttrs.colspan || 0;
|
|
390
|
+
if (tsColspan > 1) {
|
|
391
|
+
for (let index = 1; index < tsColspan; index++) {
|
|
392
|
+
const nextColumn = visibleColumn[columnIndex + index];
|
|
393
|
+
if (nextColumn) {
|
|
394
|
+
tsColspan += nextColumn.renderWidth;
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
tcStyle.width = `${column.renderWidth - cellOffsetWidth * tsColspan}px`;
|
|
399
|
+
}
|
|
382
400
|
if (scrollYLoad || hasEllipsis || isCsHeight || isRsHeight) {
|
|
383
401
|
tcStyle.height = `${cellHeight}px`;
|
|
384
402
|
} else {
|
|
@@ -397,7 +415,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
397
415
|
}));
|
|
398
416
|
} else {
|
|
399
417
|
// 渲染单元格
|
|
400
|
-
tdVNs.push(...renderLine(cellParams, cellHeight), (0, _vue.h)('div', {
|
|
418
|
+
tdVNs.push(...renderLine(rowid, cellParams, cellHeight), (0, _vue.h)('div', {
|
|
401
419
|
key: 'tc',
|
|
402
420
|
class: ['vxe-cell', {
|
|
403
421
|
'c--title': showTitle,
|
|
@@ -492,20 +510,23 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
492
510
|
} = tableProps;
|
|
493
511
|
const {
|
|
494
512
|
hasFixedColumn,
|
|
495
|
-
|
|
513
|
+
treeExpandedFlag,
|
|
496
514
|
isColLoading,
|
|
497
515
|
scrollXLoad,
|
|
498
516
|
scrollYLoad,
|
|
499
517
|
isAllOverflow,
|
|
500
|
-
|
|
518
|
+
rowExpandedFlag,
|
|
501
519
|
expandColumn,
|
|
502
520
|
selectRadioRow,
|
|
503
|
-
|
|
521
|
+
pendingRowFlag,
|
|
504
522
|
isDragColMove,
|
|
505
523
|
rowExpandHeightFlag
|
|
506
524
|
} = tableReactData;
|
|
507
525
|
const {
|
|
508
|
-
fullAllDataRowIdData
|
|
526
|
+
fullAllDataRowIdData,
|
|
527
|
+
treeExpandedMaps,
|
|
528
|
+
pendingRowMaps,
|
|
529
|
+
rowExpandedMaps
|
|
509
530
|
} = tableInternalData;
|
|
510
531
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
511
532
|
const radioOpts = computeRadioOpts.value;
|
|
@@ -520,11 +541,17 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
520
541
|
} = treeOpts;
|
|
521
542
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
522
543
|
const rows = [];
|
|
544
|
+
const {
|
|
545
|
+
handleGetRowId
|
|
546
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
523
547
|
tableData.forEach((row, $rowIndex) => {
|
|
524
|
-
const
|
|
548
|
+
const rowid = handleGetRowId(row);
|
|
549
|
+
const rowRest = fullAllDataRowIdData[rowid] || {};
|
|
525
550
|
let rowIndex = $rowIndex;
|
|
526
|
-
|
|
527
|
-
|
|
551
|
+
let rowLevel = 0;
|
|
552
|
+
let seq = -1;
|
|
553
|
+
let _rowIndex = -1;
|
|
554
|
+
const trOn = {};
|
|
528
555
|
// 当前行事件
|
|
529
556
|
if (rowOpts.isHover || highlightHoverRow) {
|
|
530
557
|
trOn.onMouseenter = evnt => {
|
|
@@ -543,11 +570,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
543
570
|
$xeTable.clearHoverRow();
|
|
544
571
|
};
|
|
545
572
|
}
|
|
546
|
-
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
547
|
-
const rowRest = fullAllDataRowIdData[rowid];
|
|
548
|
-
let rowLevel = 0;
|
|
549
|
-
let seq = -1;
|
|
550
|
-
let _rowIndex = 0;
|
|
551
573
|
if (rowRest) {
|
|
552
574
|
rowLevel = rowRest.level;
|
|
553
575
|
if (treeConfig && transform && seqMode === 'increasing') {
|
|
@@ -555,6 +577,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
555
577
|
} else {
|
|
556
578
|
seq = rowRest.seq;
|
|
557
579
|
}
|
|
580
|
+
rowIndex = rowRest.index;
|
|
558
581
|
_rowIndex = rowRest._index;
|
|
559
582
|
}
|
|
560
583
|
const params = {
|
|
@@ -570,7 +593,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
570
593
|
_rowIndex
|
|
571
594
|
};
|
|
572
595
|
// 行是否被展开
|
|
573
|
-
const isExpandRow = expandColumn && !!rowExpandedMaps[rowid];
|
|
596
|
+
const isExpandRow = expandColumn && !!rowExpandedFlag && !!rowExpandedMaps[rowid];
|
|
574
597
|
// 树节点是否被展开
|
|
575
598
|
let isExpandTree = false;
|
|
576
599
|
let rowChildren = [];
|
|
@@ -580,7 +603,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
580
603
|
}
|
|
581
604
|
if (treeConfig && !scrollYLoad && !transform) {
|
|
582
605
|
rowChildren = row[childrenField];
|
|
583
|
-
isExpandTree = rowChildren && rowChildren.length > 0 && !!treeExpandedMaps[rowid];
|
|
606
|
+
isExpandTree = !!treeExpandedFlag && rowChildren && rowChildren.length > 0 && !!treeExpandedMaps[rowid];
|
|
584
607
|
}
|
|
585
608
|
// 拖拽行事件
|
|
586
609
|
if (rowOpts.drag && (!treeConfig || transform)) {
|
|
@@ -596,7 +619,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
596
619
|
'row--new': isNewRow && (editOpts.showStatus || editOpts.showInsertStatus),
|
|
597
620
|
'row--radio': radioOpts.highlight && $xeTable.eqRow(selectRadioRow, row),
|
|
598
621
|
'row--checked': checkboxOpts.highlight && $xeTable.isCheckedByCheckboxRow(row),
|
|
599
|
-
'row--pending': !!pendingRowMaps[rowid]
|
|
622
|
+
'row--pending': !!pendingRowFlag && !!pendingRowMaps[rowid]
|
|
600
623
|
}, (0, _dom.getPropClass)(rowClassName, params)];
|
|
601
624
|
const tdVNs = tableColumn.map((column, $columnIndex) => {
|
|
602
625
|
return renderTdColumn(seq, rowid, fixedType, isOptimizeMode, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, tableColumn, tableData);
|
|
@@ -726,6 +749,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
726
749
|
const {
|
|
727
750
|
slots
|
|
728
751
|
} = tableContext;
|
|
752
|
+
const $xeGrid = $xeTable.xeGrid;
|
|
729
753
|
const {
|
|
730
754
|
fixedColumn,
|
|
731
755
|
fixedType,
|
|
@@ -771,7 +795,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
771
795
|
isOptimizeMode = true;
|
|
772
796
|
}
|
|
773
797
|
}
|
|
774
|
-
if (fixedType || !overflowX) {
|
|
798
|
+
if (!isColLoading && (fixedType || !overflowX)) {
|
|
775
799
|
renderColumnList = visibleColumn;
|
|
776
800
|
}
|
|
777
801
|
if (fixedType) {
|
|
@@ -830,7 +854,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
830
854
|
if (emptySlot) {
|
|
831
855
|
emptyContent = $xeTable.callSlot(emptySlot, {
|
|
832
856
|
$table: $xeTable,
|
|
833
|
-
$grid: $
|
|
857
|
+
$grid: $xeGrid
|
|
834
858
|
});
|
|
835
859
|
} else {
|
|
836
860
|
const compConf = emptyOpts.name ? renderer.get(emptyOpts.name) : null;
|
|
@@ -877,7 +901,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
877
901
|
}, renderColumnList.map((column, $columnIndex) => {
|
|
878
902
|
return (0, _vue.h)('col', {
|
|
879
903
|
name: column.id,
|
|
880
|
-
key: $columnIndex
|
|
904
|
+
key: $columnIndex,
|
|
905
|
+
style: {
|
|
906
|
+
width: `${column.renderWidth}px`
|
|
907
|
+
}
|
|
881
908
|
});
|
|
882
909
|
})),
|
|
883
910
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(T){let qe=(0,_vue.inject)("$xeTable",{}),{xID:k,props:Ae,context:z,reactData:$e,internalData:Ue}=qe,{computeEditOpts:Le,computeMouseOpts:je,computeAreaOpts:He,computeDefaultRowHeight:Ne,computeEmptyOpts:q,computeTooltipOpts:Fe,computeRadioOpts:e,computeExpandOpts:J,computeTreeOpts:c,computeCheckboxOpts:Be,computeCellOpts:Pe,computeValidOpts:Ke,computeRowOpts:Ve,computeColumnOpts:Xe,computeRowDragOpts:We,computeColumnDragOpts:l,computeResizableOpts:Ye}=qe.getComputeMaps(),A=(0,_vue.ref)(),$=(0,_vue.ref)(),U=(0,_vue.ref)(),L=(0,_vue.ref)(),j=(0,_vue.ref)(),H=(0,_vue.ref)(),N=(0,_vue.ref)(),F=(0,_vue.ref)(),Ge=()=>{var e=Ae.delayHover,{lastScrollTime:l,isDragResize:t}=$e;return!!(t||l&&Date.now()<l+e)},Je=(e,l)=>{var{row:t,column:a}=e,o=Ue.afterFullData,r=Ae.treeConfig,i=c.value,{slots:a,treeNode:s}=a,n=Ue.fullAllDataRowIdData;if(a&&a.line)return qe.callSlot(a.line,e);a=n[(0,_util.getRowid)(qe,t)];let d=0,u=null;a&&(d=a.level,u=a.items[a.treeIndex-1]);n=qe.eqRow(o[0],t);return r&&s&&(i.showLine||i.line)?[(0,_vue.h)("div",{key:"tl",class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${n?1:(0,_util.calcTreeLine)(e,u)}px`,bottom:`-${Math.floor(l/2)}px`,left:d*i.indent+(d?2-(0,_util.getOffsetSize)(qe):0)+16+"px"}})])]:[]},Q=(e,l,t,$,U,a,L,o,r,i,j,H,s)=>{var n=Ue.fullAllDataRowIdData,{columnKey:N,resizable:d,showOverflow:u,border:F,height:c,cellClassName:B,cellStyle:P,align:K,spanMethod:V,mouseConfig:X,editConfig:W,editRules:v,tooltipConfig:p,padding:g}=Ae,{tableData:x,dragRow:Y,overflowX:G,currentColumn:J,scrollXLoad:Q,scrollYLoad:h,calcCellHeightFlag:w,resizeHeightFlag:m,mergeList:Z,editStore:ee,isAllOverflow:le,validErrorMaps:_}=$e,{afterFullData:te,scrollXStore:b,scrollYStore:ae}=Ue,oe=Pe.value,f=Ke.value,re=Be.value,ie=Le.value,se=Fe.value,{isAllColumnDrag:ne,isAllRowDrag:de}=Ye.value,y=Ve.value,C=We.value,ue=Ne.value,w=w?oe.height||y.height:0,{disabledMethod:R,isCrossDrag:ce,isPeerDrag:ve}=C,pe=Xe.value,ge=je.value,xe=He.value.selectCellToRow,{type:he,cellRender:we,editRender:me,align:_e,showOverflow:be,className:fe,treeNode:ye,rowResize:Ce,padding:D,verticalAlign:E,slots:Re}=i,O=oe.verticalAlign,ee=ee.actived,n=n[l],M=i.id,S=me||we,S=S?renderer.get(S.name):null,De=S?S.tableCellClassName||S.cellClassName:null,Ee=S?S.tableCellStyle||S.cellStyle:"";let Oe=se.showAll;var se=qe.getColumnIndex(i),I=qe.getVTColumnIndex(i),Me=(0,_utils.isEnableConf)(me),m=m?n.resizeHeight:0;let T=t?i.fixed!==t:i.fixed&&G;G=_xeUtils.default.eqNull(D)?null===g?oe.padding:g:D,g=_xeUtils.default.eqNull(be)?u:be,D="ellipsis"===g;let k="title"===g,z=!0===g||"tooltip"===g;u=le||k||z||D,be=_xeUtils.default.isBoolean(i.resizable)?i.resizable:pe.resizable||d,g=!!w,d=0<m;let Se;w={},m=_e||(S?S.tableCellAlign:"")||K,_e=_xeUtils.default.eqNull(E)?O:E,S=_[l+":"+M],K=v&&f.showMessage&&("default"===f.message?c||1<x.length:"inline"===f.message),O={colid:M};let q={$table:qe,$grid:qe.xegrid,isEdit:!1,seq:e,rowid:l,row:a,rowIndex:L,$rowIndex:o,_rowIndex:r,column:i,columnIndex:se,$columnIndex:j,_columnIndex:I,fixed:t,type:renderType,isHidden:!!T,level:U,visibleData:te,data:x,items:s},A=!1,Ie=!1,Te=((A=y.drag?"row"===C.trigger||i.dragSort&&"cell"===C.trigger:A)&&(Ie=!(!R||!R(q))),(k||z||Oe||p)&&(w.onMouseenter=e=>{Ge()||(k?(0,_dom.updateCellTitle)(e.currentTarget,i):(z||Oe)&&qe.triggerBodyTooltipEvent(e,q),qe.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},q),e))}),(z||Oe||p)&&(w.onMouseleave=e=>{Ge()||((z||Oe)&&qe.handleTargetLeaveEvent(e),qe.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},q),e))}),(A||re.range||X)&&(w.onMousedown=e=>{qe.triggerCellMousedownEvent(e,q)}),A&&(w.onMouseup=qe.triggerCellMouseupEvent),w.onClick=e=>{qe.triggerCellClickEvent(e,q)},!(w.onDblclick=e=>{qe.triggerCellDblclickEvent(e,q)}));if(Z.length){E=(0,_util.mergeBodyMethod)(Z,r,I);if(E){var{rowspan:_,colspan:v}=E;if(!_||!v)return null;1<_&&(Te=!0,O.rowspan=_),1<v&&(Te=!0,O.colspan=v)}}else if(V){var{rowspan:c=1,colspan:e=1}=V(q)||{};if(!c||!e)return null;1<c&&(O.rowspan=c),1<e&&(O.colspan=e)}!(T=T&&Z&&(1<O.colspan||1<O.rowspan)?!1:T)&&W&&(me||we)&&(ie.showStatus||ie.showUpdateStatus)&&(Se=qe.isUpdateByRow(a,i.field));L=h&&!u,o=n.resizeHeight||oe.height||y.height||n.height||ue,se=j===H.length-1,te=!i.resizeWidth&&("auto"===i.minWidth||"auto"===i.width);let ke=!1;Te||Y&&(0,_util.getRowid)(qe,Y)===l||(h&&(r<ae.visibleStartIndex-ae.preloadSize||r>ae.visibleEndIndex+ae.preloadSize)||Q&&!i.fixed&&(I<b.visibleStartIndex-b.preloadSize||I>b.visibleEndIndex+b.preloadSize))&&(ke=!0);x={},h||u||g||d?x.height=o+"px":x.minHeight=o+"px",s=[];T&&le?s.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":z,"c--ellipsis":D}],style:x})):(s.push(...Je(q,o),(0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":z,"c--ellipsis":D}],style:x,title:k?qe.getCellLabel(a,i):null},ke?[]:[(0,_vue.h)("div",{colid:M,rowid:l,class:"vxe-cell--wrapper"},i.renderCell(q))])),K&&S&&(C=S.rule,R=Re?Re.valid:null,p=Object.assign(Object.assign(Object.assign({},q),S),{rule:S}),s.push((0,_vue.h)("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(f.className,p)],style:C&&C.maxWidth?{width:C.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(f.theme||"normal")},[R?qe.callSlot(R,p):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},S.content)]])]))));let ze=!1;return X&&ge.area&&xe&&((I||!0!==xe)&&xe!==i.field||(ze=!0)),!T&&be&&ne&&s.push((0,_vue.h)("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!F||"none"===F}],onMousedown:e=>qe.handleColResizeMousedownEvent(e,t,q),onDblclick:e=>qe.handleColResizeDblclickEvent(e,q)})),(Ce||de)&&y.resizable&&s.push((0,_vue.h)("div",{key:"tcr",class:"vxe-cell--row-resizable",onMousedown:e=>qe.handleRowResizeMousedownEvent(e,q),onDblclick:e=>qe.handleRowResizeDblclickEvent(e,q)})),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",M,_e?"col--vertical-"+_e:"",m?"col--"+m:"",he?"col--"+he:"",{"col--last":se,"col--tree-node":ye,"col--edit":Me,"col--ellipsis":u,"col--cs-height":g,"col--rs-height":d,"col--to-row":ze,"col--auto-height":L,"fixed--width":!te,"fixed--hidden":T,"is--padding":G,"is--progress":T&&le||ke,"is--drag-cell":A&&(ce||ve||!U),"is--drag-disabled":Ie,"col--dirty":Se,"col--active":W&&Me&&ee.row===a&&(ee.column===i||"row"===ie.mode),"col--valid-error":!!S,"col--current":J===i},(0,_dom.getPropClass)(De,q),(0,_dom.getPropClass)(fe,q),(0,_dom.getPropClass)(B,q)],key:N||Q||h||pe.useKey||y.useKey||pe.drag?M:j},O),{style:Object.assign({},_xeUtils.default.isFunction(Ee)?Ee(q):Ee,_xeUtils.default.isFunction(P)?P(q):P)}),w),$&&T?[]:s)},Z=(h,w,m,_)=>{let{stripe:b,rowKey:f,highlightHoverRow:y,rowClassName:C,rowStyle:R,editConfig:D,treeConfig:E}=Ae,{hasFixedColumn:O,treeExpandedMaps:M,isColLoading:S,scrollXLoad:I,scrollYLoad:T,isAllOverflow:k,rowExpandedMaps:z,expandColumn:q,selectRadioRow:A,pendingRowMaps:$,isDragColMove:U,rowExpandHeightFlag:L}=$e,j=Ue.fullAllDataRowIdData,H=Be.value,N=e.value,F=c.value,B=Le.value,P=Ve.value,K=Xe.value,V=l.value,{transform:X,seqMode:W}=F,Y=F.children||F.childrenField,G=[];return m.forEach((t,a)=>{var e={};let o,r=(o=qe.getRowIndex(t),(P.isHover||y)&&(e.onMouseenter=e=>{Ge()||qe.triggerHoverEvent(e,{row:t,rowIndex:o})},e.onMouseleave=()=>{Ge()||qe.clearHoverRow()}),(0,_util.getRowid)(qe,t));var l=j[r];let i=0,s=-1,n=0;l&&(i=l.level,s=E&&X&&"increasing"===W?l._index+1:l.seq,n=l._index);var d={$table:qe,seq:s,rowid:r,fixed:h,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:a,_rowIndex:n},u=q&&!!z[r];let c=!1,v=[],p=!1;D&&(p=qe.isInsertByRow(t)),!E||T||X||(v=t[Y],c=v&&0<v.length&&!!M[r]),!P.drag||E&&!X||(e.onDragstart=qe.handleRowDragDragstartEvent,e.onDragend=qe.handleRowDragDragendEvent,e.onDragover=qe.handleRowDragDragoverEvent);var g=["vxe-body--row",E?"row--level-"+i:"",{"row--stripe":b&&(n+1)%2==0,"is--new":p,"is--expand-row":u,"is--expand-tree":c,"row--new":p&&(B.showStatus||B.showInsertStatus),"row--radio":N.highlight&&qe.eqRow(A,t),"row--checked":H.highlight&&qe.isCheckedByCheckboxRow(t),"row--pending":!!$[r]},(0,_dom.getPropClass)(C,d)];let x=_.map((e,l)=>Q(s,r,h,w,i,t,o,a,n,e,l,_,m));G.push(!S&&K.drag&&V.animation?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(U?"":"-disabled"),tag:"tr",class:g,rowid:r,style:R?_xeUtils.default.isFunction(R)?R(d):R:null,key:f||I||T||P.useKey||P.drag||K.drag||E?r:a},e),{default:()=>x}):(0,_vue.h)("tr",Object.assign({class:g,rowid:r,style:R?_xeUtils.default.isFunction(R)?R(d):R:null,key:f||I||T||P.useKey||P.drag||K.drag||E?r:a},e),x)),u&&({height:g,padding:d,mode:e}=J.value,"fixed"===e?G.push((0,_vue.h)("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+r,rowid:r},[(0,_vue.h)("td",{class:"vxe-body--row-expanded-place-column",colspan:_.length,style:{height:`${L?l.expandHeight||g:0}px`}})])):(u={},e=(g&&(u.height=g+"px"),E&&(u.paddingLeft=i*F.indent+30+"px"),q).showOverflow,l=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?k:e,e={$table:qe,seq:s,column:q,fixed:h,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:a,_rowIndex:n},G.push((0,_vue.h)("tr",{class:["vxe-body--expanded-row",{"is--padding":d}],key:"expand_"+r},[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!O,"col--ellipsis":l}],colspan:_.length},[(0,_vue.h)("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":g}],style:u},[q.renderData(e)])])])))),c&&G.push(...Z(h,w,v,_))}),G};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=T.fixedType,l=Ue.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=A,l[e+"scroll"]=$,l[e+"table"]=U,l[e+"colgroup"]=L,l[e+"list"]=j,l[e+"xSpace"]=H,l[e+"ySpace"]=N,l[e+"emptyBlock"]=F})}),(0,_vue.onUnmounted)(()=>{var e=T.fixedType,l=Ue.elemStore,e=`${e||"main"}-body-`;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+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{var e=z.slots;let{fixedColumn:l,fixedType:t,tableColumn:a}=T;var{spanMethod:o,footerSpanMethod:r,mouseConfig:i}=Ae,{isGroup:s,tableData:n,isRowLoading:d,isColLoading:u,overflowX:c,scrollXLoad:v,scrollYLoad:p,isAllOverflow:g,isDragRowMove:x,expandColumn:h,dragRow:w,dragCol:m}=$e,{visibleColumn:_,fullAllDataRowIdData:b,fullColumnIdData:f}=Ue,y=Ve.value,C=q.value,R=je.value,D=We.value,E=J.value;let O=n,M=a,S=!1;!(v||p||g)||h&&"fixed"!==E.mode||o||r||(S=!0),!t&&c||(M=_),t&&S&&(M=l||[]),p&&w&&2<O.length&&(n=b[(0,_util.getRowid)(qe,w)])&&(g=n._index,h=O[0],E=O[O.length-1],o=b[(0,_util.getRowid)(qe,h)],r=b[(0,_util.getRowid)(qe,E)],o)&&r&&(c=o._index,_=r._index,g<c?O=[w].concat(O):_<g&&(O=O.concat([w]))),t||s||v&&m&&2<M.length&&(p=f[m.id])&&(n=p._index,h=M[0],b=M[M.length-1],E=f[h.id],o=f[b.id],E)&&o&&(r=E._index,c=o._index,n<r?M=[m].concat(M):c<n&&(M=M.concat([m])));let I;_=e?e.empty:null,I=_?qe.callSlot(_,{$table:qe,$grid:qe.xegrid}):(w=(g=C.name?renderer.get(C.name):null)?g.renderTableEmpty||g.renderTableEmptyView||g.renderEmpty:null)?(0,_vn.getSlotVNs)(w(C,{$table:qe})):Ae.emptyText||getI18n("vxe.table.emptyText"),s={onScroll(e){qe.triggerBodyScrollEvent(e,t)}};return(0,_vue.h)("div",{ref:A,class:["vxe-table--body-wrapper",t?`fixed-${t}--wrapper`:"body--wrapper"],xid:k},[(0,_vue.h)("div",Object.assign({ref:$,class:"vxe-table--body-inner-wrapper"},s),[t?renderEmptyElement(qe):(0,_vue.h)("div",{ref:H,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:N,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:U,class:"vxe-table--body",xid:k,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:L},M.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),!d&&!u&&y.drag&&D.animation?(0,_vue.h)(_vue.TransitionGroup,{ref:j,name:"vxe-body--row-list"+(x?"":"-disabled"),tag:"tbody"},{default:()=>Z(t,S,O,M)}):(0,_vue.h)("tbody",{ref:j},Z(t,S,O,M))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),i&&R.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},R.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){qe.triggerCellAreaExtendMousedownEvent&&qe.triggerCellAreaExtendMousedownEvent(e,{$table:qe,fixed:t,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(qe),t?renderEmptyElement(qe):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:F},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},I)])])])}}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(T){let He=(0,_vue.inject)("$xeTable",{}),{xID:z,props:Le,context:q,reactData:je,internalData:Ne}=He,{computeEditOpts:Be,computeMouseOpts:We,computeCellOffsetWidth:Ge,computeAreaOpts:Pe,computeDefaultRowHeight:Ke,computeEmptyOpts:A,computeTooltipOpts:Xe,computeRadioOpts:e,computeExpandOpts:le,computeTreeOpts:v,computeCheckboxOpts:Ve,computeCellOpts:Ye,computeValidOpts:Je,computeRowOpts:Qe,computeColumnOpts:Ze,computeRowDragOpts:el,computeColumnDragOpts:l,computeResizableOpts:ll}=He.getComputeMaps(),$=(0,_vue.ref)(),U=(0,_vue.ref)(),F=(0,_vue.ref)(),H=(0,_vue.ref)(),L=(0,_vue.ref)(),j=(0,_vue.ref)(),N=(0,_vue.ref)(),B=(0,_vue.ref)(),tl=()=>{var e=Le.delayHover,{lastScrollTime:l,isDragResize:t}=je;return!!(t||l&&Date.now()<l+e)},al=(e,l,t)=>{var{row:a,column:r}=l,o=Ne.afterFullData,i=Le.treeConfig,s=v.value,{slots:r,treeNode:n}=r,d=Ne.fullAllDataRowIdData;if(r&&r.line)return He.callSlot(r.line,l);r=d[e];let u=0,c=null;r&&(u=r.level,c=r.items[r.treeIndex-1]);d=He.eqRow(o[0],a);return i&&n&&(s.showLine||s.line)?[(0,_vue.h)("div",{key:"tl",class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${d?1:(0,_util.calcTreeLine)(l,c)}px`,bottom:`-${Math.floor(t/2)}px`,left:u*s.indent+(u?2-(0,_util.getOffsetSize)(He):0)+16+"px"}})])]:[]},ae=($,e,l,U,F,t,a,H,r,o,L,j,i)=>{var s=He.xeGrid,{fullAllDataRowIdData:n,fullColumnIdData:d,visibleColumn:N}=Ne,{columnKey:B,resizable:u,showOverflow:c,border:W,height:v,cellClassName:G,cellStyle:P,align:K,spanMethod:X,mouseConfig:V,editConfig:Y,editRules:p,tooltipConfig:g,padding:h}=Le,{tableData:x,dragRow:J,overflowX:Q,currentColumn:Z,scrollXLoad:ee,scrollYLoad:w,calcCellHeightFlag:m,resizeHeightFlag:_,resizeWidthFlag:le,mergeList:te,editStore:ae,isAllOverflow:re,validErrorMaps:f}=je,{afterFullData:oe,scrollXStore:ie,scrollYStore:se}=Ne,ne=Ye.value,b=Je.value,de=Ve.value,ue=Be.value,y=Xe.value,{isAllColumnDrag:ce,isAllRowDrag:ve}=ll.value,C=Qe.value,D=el.value,pe=Ke.value,m=m?ne.height||C.height:0,{disabledMethod:R,isCrossDrag:ge,isPeerDrag:he}=D,xe=Ze.value,we=We.value,me=Pe.value,_e=Ge.value,me=me.selectCellToRow,{type:fe,cellRender:be,editRender:ye,align:Ce,showOverflow:De,className:Re,treeNode:Ee,rowResize:Oe,padding:E,verticalAlign:O,slots:Me}=o,M=ne.verticalAlign,ae=ae.actived,n=n[e]||{},S=o.id,d=d[S]||{},I=ye||be,I=I?renderer.get(I.name):null,Se=I?I.tableCellClassName||I.cellClassName:null,Ie=I?I.tableCellStyle||I.cellStyle:"";let ke=y.showAll;var Te=d.index,y=d._index,d=(0,_utils.isEnableConf)(ye),_=_?n.resizeHeight:0;let k=l?o.fixed!==l:o.fixed&&Q;Q=_xeUtils.default.eqNull(E)?null===h?ne.padding:h:E,h=_xeUtils.default.eqNull(De)?c:De,E="ellipsis"===h;let T="title"===h,z=!0===h||"tooltip"===h;c=re||T||z||E,De=_xeUtils.default.isBoolean(o.resizable)?o.resizable:xe.resizable||u,h=!!m,u=0<_;let ze;m={},_=Ce||(I?I.tableCellAlign:"")||K,Ce=_xeUtils.default.eqNull(O)?M:O,I=f[e+":"+S],K=p&&b.showMessage&&("default"===b.message?v||1<x.length:"inline"===b.message),M={colid:S};let q={$table:He,$grid:s,isEdit:!1,seq:$,rowid:e,row:t,rowIndex:a,$rowIndex:H,_rowIndex:r,column:o,columnIndex:Te,$columnIndex:L,_columnIndex:y,fixed:l,type:renderType,isHidden:!!k,level:F,visibleData:oe,data:x,items:i},A=!1,qe=!1,Ae=((A=C.drag?"row"===D.trigger||o.dragSort&&"cell"===D.trigger:A)&&(qe=!(!R||!R(q))),(T||z||ke||g)&&(m.onMouseenter=e=>{tl()||(T?(0,_dom.updateCellTitle)(e.currentTarget,o):(z||ke)&&He.triggerBodyTooltipEvent(e,q),He.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},q),e))}),(z||ke||g)&&(m.onMouseleave=e=>{tl()||((z||ke)&&He.handleTargetLeaveEvent(e),He.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},q),e))}),(A||de.range||V)&&(m.onMousedown=e=>{He.triggerCellMousedownEvent(e,q)}),A&&(m.onMouseup=He.triggerCellMouseupEvent),m.onClick=e=>{He.triggerCellClickEvent(e,q)},!(m.onDblclick=e=>{He.triggerCellDblclickEvent(e,q)}));if(te.length){O=(0,_util.mergeBodyMethod)(te,r,y);if(O){var{rowspan:f,colspan:p}=O;if(!f||!p)return null;1<f&&(Ae=!0,M.rowspan=f),1<p&&(Ae=!0,M.colspan=p)}}else if(X){var{rowspan:v=1,colspan:s=1}=X(q)||{};if(!v||!s)return null;1<v&&(M.rowspan=v),1<s&&(M.colspan=s)}!(k=k&&te&&(1<M.colspan||1<M.rowspan)?!1:k)&&Y&&(ye||be)&&(ue.showStatus||ue.showUpdateStatus)&&(ze=He.isUpdateByRow(t,o.field));$=w&&!c,a=n.resizeHeight||ne.height||C.height||n.height||pe,H=L===j.length-1,oe=!o.resizeWidth&&("auto"===o.minWidth||"auto"===o.width);let $e=!1;Ae||J&&(0,_util.getRowid)(He,J)===e||(w&&(r<se.visibleStartIndex-se.preloadSize||r>se.visibleEndIndex+se.preloadSize)||ee&&!o.fixed&&(y<ie.visibleStartIndex-ie.preloadSize||y>ie.visibleEndIndex+ie.preloadSize))&&($e=!0);x={};if(c&&le){let l=M.colspan||0;if(1<l)for(let e=1;e<l;e++){var Ue=N[Te+e];Ue&&(l+=Ue.renderWidth)}x.width=o.renderWidth-_e*l+"px"}w||c||h||u?x.height=a+"px":x.minHeight=a+"px";i=[];k&&re?i.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":z,"c--ellipsis":E}],style:x})):(i.push(...al(e,q,a),(0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":z,"c--ellipsis":E}],style:x,title:T?He.getCellLabel(t,o):null},$e?[]:[(0,_vue.h)("div",{colid:S,rowid:e,class:"vxe-cell--wrapper"},o.renderCell(q))])),K&&I&&(D=I.rule,R=Me?Me.valid:null,g=Object.assign(Object.assign(Object.assign({},q),I),{rule:I}),i.push((0,_vue.h)("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(b.className,g)],style:D&&D.maxWidth?{width:D.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(b.theme||"normal")},[R?He.callSlot(R,g):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},I.content)]])]))));let Fe=!1;return V&&we.area&&me&&((y||!0!==me)&&me!==o.field||(Fe=!0)),!k&&De&&ce&&i.push((0,_vue.h)("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!W||"none"===W}],onMousedown:e=>He.handleColResizeMousedownEvent(e,l,q),onDblclick:e=>He.handleColResizeDblclickEvent(e,q)})),(Oe||ve)&&C.resizable&&i.push((0,_vue.h)("div",{key:"tcr",class:"vxe-cell--row-resizable",onMousedown:e=>He.handleRowResizeMousedownEvent(e,q),onDblclick:e=>He.handleRowResizeDblclickEvent(e,q)})),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",S,Ce?"col--vertical-"+Ce:"",_?"col--"+_:"",fe?"col--"+fe:"",{"col--last":H,"col--tree-node":Ee,"col--edit":d,"col--ellipsis":c,"col--cs-height":h,"col--rs-height":u,"col--to-row":Fe,"col--auto-height":$,"fixed--width":!oe,"fixed--hidden":k,"is--padding":Q,"is--progress":k&&re||$e,"is--drag-cell":A&&(ge||he||!F),"is--drag-disabled":qe,"col--dirty":ze,"col--active":Y&&d&&ae.row===t&&(ae.column===o||"row"===ue.mode),"col--valid-error":!!I,"col--current":Z===o},(0,_dom.getPropClass)(Se,q),(0,_dom.getPropClass)(Re,q),(0,_dom.getPropClass)(G,q)],key:B||ee||w||xe.useKey||C.useKey||xe.drag?S:L},M),{style:Object.assign({},_xeUtils.default.isFunction(Ie)?Ie(q):Ie,_xeUtils.default.isFunction(P)?P(q):P)}),m),U&&k?[]:i)},te=(x,w,m,_)=>{let{stripe:f,rowKey:b,highlightHoverRow:y,rowClassName:C,rowStyle:D,editConfig:R,treeConfig:E}=Le,{hasFixedColumn:O,treeExpandedFlag:M,isColLoading:S,scrollXLoad:I,scrollYLoad:k,isAllOverflow:T,rowExpandedFlag:z,expandColumn:q,selectRadioRow:A,pendingRowFlag:$,isDragColMove:U,rowExpandHeightFlag:F}=je,{fullAllDataRowIdData:H,treeExpandedMaps:L,pendingRowMaps:j,rowExpandedMaps:N}=Ne,B=Ve.value,W=e.value,G=v.value,P=Be.value,K=Qe.value,X=Ze.value,V=l.value,{transform:Y,seqMode:Q}=G,Z=G.children||G.childrenField,J=[],ee=(0,_util.createHandleGetRowId)(He).handleGetRowId;return m.forEach((t,a)=>{let r=ee(t);var e=H[r]||{};let o=a,i=0,s=-1,n=-1;var l={},d=((K.isHover||y)&&(l.onMouseenter=e=>{tl()||He.triggerHoverEvent(e,{row:t,rowIndex:o})},l.onMouseleave=()=>{tl()||He.clearHoverRow()}),e&&(i=e.level,s=E&&Y&&"increasing"===Q?e._index+1:e.seq,o=e.index,n=e._index),{$table:He,seq:s,rowid:r,fixed:x,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:a,_rowIndex:n}),u=q&&!!z&&!!N[r];let c=!1,v=[],p=!1;R&&(p=He.isInsertByRow(t)),!E||k||Y||(v=t[Z],c=!!M&&v&&0<v.length&&!!L[r]),!K.drag||E&&!Y||(l.onDragstart=He.handleRowDragDragstartEvent,l.onDragend=He.handleRowDragDragendEvent,l.onDragover=He.handleRowDragDragoverEvent);var g=["vxe-body--row",E?"row--level-"+i:"",{"row--stripe":f&&(n+1)%2==0,"is--new":p,"is--expand-row":u,"is--expand-tree":c,"row--new":p&&(P.showStatus||P.showInsertStatus),"row--radio":W.highlight&&He.eqRow(A,t),"row--checked":B.highlight&&He.isCheckedByCheckboxRow(t),"row--pending":!!$&&!!j[r]},(0,_dom.getPropClass)(C,d)];let h=_.map((e,l)=>ae(s,r,x,w,i,t,o,a,n,e,l,_,m));J.push(!S&&X.drag&&V.animation?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(U?"":"-disabled"),tag:"tr",class:g,rowid:r,style:D?_xeUtils.default.isFunction(D)?D(d):D:null,key:b||I||k||K.useKey||K.drag||X.drag||E?r:a},l),{default:()=>h}):(0,_vue.h)("tr",Object.assign({class:g,rowid:r,style:D?_xeUtils.default.isFunction(D)?D(d):D:null,key:b||I||k||K.useKey||K.drag||X.drag||E?r:a},l),h)),u&&({height:g,padding:d,mode:l}=le.value,"fixed"===l?J.push((0,_vue.h)("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+r,rowid:r},[(0,_vue.h)("td",{class:"vxe-body--row-expanded-place-column",colspan:_.length,style:{height:`${F?e.expandHeight||g:0}px`}})])):(u={},l=(g&&(u.height=g+"px"),E&&(u.paddingLeft=i*G.indent+30+"px"),q).showOverflow,e=_xeUtils.default.isUndefined(l)||_xeUtils.default.isNull(l)?T:l,l={$table:He,seq:s,column:q,fixed:x,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:a,_rowIndex:n},J.push((0,_vue.h)("tr",{class:["vxe-body--expanded-row",{"is--padding":d}],key:"expand_"+r},[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":x&&!O,"col--ellipsis":e}],colspan:_.length},[(0,_vue.h)("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":g}],style:u},[q.renderData(l)])])])))),c&&J.push(...te(x,w,v,_))}),J};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=T.fixedType,l=Ne.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=$,l[e+"scroll"]=U,l[e+"table"]=F,l[e+"colgroup"]=H,l[e+"list"]=L,l[e+"xSpace"]=j,l[e+"ySpace"]=N,l[e+"emptyBlock"]=B})}),(0,_vue.onUnmounted)(()=>{var e=T.fixedType,l=Ne.elemStore,e=`${e||"main"}-body-`;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+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{var e=q.slots,l=He.xeGrid;let{fixedColumn:t,fixedType:a,tableColumn:r}=T;var{spanMethod:o,footerSpanMethod:i,mouseConfig:s}=Le,{isGroup:n,tableData:d,isRowLoading:u,isColLoading:c,overflowX:v,scrollXLoad:p,scrollYLoad:g,isAllOverflow:h,isDragRowMove:x,expandColumn:w,dragRow:m,dragCol:_}=je,{visibleColumn:f,fullAllDataRowIdData:b,fullColumnIdData:y}=Ne,C=Qe.value,D=A.value,R=We.value,E=el.value,O=le.value;let M=d,S=r,I=!1;!(p||g||h)||w&&"fixed"!==O.mode||o||i||(I=!0),c||!a&&v||(S=f),a&&I&&(S=t||[]),g&&m&&2<M.length&&(d=b[(0,_util.getRowid)(He,m)])&&(h=d._index,w=M[0],O=M[M.length-1],o=b[(0,_util.getRowid)(He,w)],i=b[(0,_util.getRowid)(He,O)],o)&&i&&(v=o._index,f=i._index,h<v?M=[m].concat(M):f<h&&(M=M.concat([m]))),a||n||p&&_&&2<S.length&&(g=y[_.id])&&(d=g._index,w=S[0],b=S[S.length-1],O=y[w.id],o=y[b.id],O)&&o&&(i=O._index,v=o._index,d<i?S=[_].concat(S):v<d&&(S=S.concat([_])));let k;f=e?e.empty:null,k=f?He.callSlot(f,{$table:He,$grid:l}):(m=(h=D.name?renderer.get(D.name):null)?h.renderTableEmpty||h.renderTableEmptyView||h.renderEmpty:null)?(0,_vn.getSlotVNs)(m(D,{$table:He})):Le.emptyText||getI18n("vxe.table.emptyText"),n={onScroll(e){He.triggerBodyScrollEvent(e,a)}};return(0,_vue.h)("div",{ref:$,class:["vxe-table--body-wrapper",a?`fixed-${a}--wrapper`:"body--wrapper"],xid:z},[(0,_vue.h)("div",Object.assign({ref:U,class:"vxe-table--body-inner-wrapper"},n),[a?renderEmptyElement(He):(0,_vue.h)("div",{ref:j,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:N,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:F,class:"vxe-table--body",xid:z,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:H},S.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l,style:{width:e.renderWidth+"px"}}))),!u&&!c&&C.drag&&E.animation?(0,_vue.h)(_vue.TransitionGroup,{ref:L,name:"vxe-body--row-list"+(x?"":"-disabled"),tag:"tbody"},{default:()=>te(a,I,M,S)}):(0,_vue.h)("tbody",{ref:L},te(a,I,M,S))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&R.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},R.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){He.triggerCellAreaExtendMousedownEvent&&He.triggerCellAreaExtendMousedownEvent(e,{$table:He,fixed:a,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(He),a?renderEmptyElement(He):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:B},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},k)])])])}}});
|
package/lib/table/src/cell.js
CHANGED
|
@@ -283,15 +283,21 @@ function getFooterContent(params) {
|
|
|
283
283
|
});
|
|
284
284
|
if (footerFormatter) {
|
|
285
285
|
if (_xeUtils.default.isFunction(footerFormatter)) {
|
|
286
|
-
return
|
|
286
|
+
return [(0, _vue.h)('span', {
|
|
287
|
+
class: 'vxe-cell--label'
|
|
288
|
+
}, `${footerFormatter(footParams)}`)];
|
|
287
289
|
}
|
|
288
290
|
const isArr = _xeUtils.default.isArray(footerFormatter);
|
|
289
291
|
const gFormatOpts = isArr ? formats.get(footerFormatter[0]) : formats.get(footerFormatter);
|
|
290
292
|
const footerFormatMethod = gFormatOpts ? gFormatOpts.tableFooterCellFormatMethod : null;
|
|
291
293
|
if (footerFormatMethod) {
|
|
292
|
-
return
|
|
294
|
+
return [(0, _vue.h)('span', {
|
|
295
|
+
class: 'vxe-cell--label'
|
|
296
|
+
}, `${isArr ? footerFormatMethod(footParams, ...footerFormatter.slice(1)) : footerFormatMethod(footParams)}`)];
|
|
293
297
|
}
|
|
294
|
-
return ''
|
|
298
|
+
return [(0, _vue.h)('span', {
|
|
299
|
+
class: 'vxe-cell--label'
|
|
300
|
+
}, '')];
|
|
295
301
|
}
|
|
296
302
|
if (renderOpts) {
|
|
297
303
|
const compConf = renderer.get(renderOpts.name);
|
|
@@ -302,7 +308,9 @@ function getFooterContent(params) {
|
|
|
302
308
|
}
|
|
303
309
|
}
|
|
304
310
|
}
|
|
305
|
-
return [(0,
|
|
311
|
+
return [(0, _vue.h)('span', {
|
|
312
|
+
class: 'vxe-cell--label'
|
|
313
|
+
}, (0, _utils.formatText)(itemValue, 1))];
|
|
306
314
|
}
|
|
307
315
|
function getDefaultCellLabel(params) {
|
|
308
316
|
const {
|
|
@@ -501,11 +509,12 @@ const Cell = exports.Cell = {
|
|
|
501
509
|
computeTreeOpts
|
|
502
510
|
} = $table.getComputeMaps();
|
|
503
511
|
const {
|
|
504
|
-
|
|
505
|
-
treeExpandLazyLoadedMaps
|
|
512
|
+
treeExpandedFlag
|
|
506
513
|
} = tableReactData;
|
|
507
514
|
const {
|
|
508
|
-
fullAllDataRowIdData
|
|
515
|
+
fullAllDataRowIdData,
|
|
516
|
+
treeExpandedMaps,
|
|
517
|
+
treeExpandLazyLoadedMaps
|
|
509
518
|
} = tableInternalData;
|
|
510
519
|
const treeOpts = computeTreeOpts.value;
|
|
511
520
|
const {
|
|
@@ -540,7 +549,7 @@ const Cell = exports.Cell = {
|
|
|
540
549
|
}
|
|
541
550
|
if (!isHidden) {
|
|
542
551
|
const rowid = (0, _util.getRowid)($table, row);
|
|
543
|
-
isActive = !!treeExpandedMaps[rowid];
|
|
552
|
+
isActive = !!treeExpandedFlag && !!treeExpandedMaps[rowid];
|
|
544
553
|
if (lazy) {
|
|
545
554
|
const rest = fullAllDataRowIdData[rowid];
|
|
546
555
|
isLazyLoading = !!treeExpandLazyLoadedMaps[rowid];
|
|
@@ -729,7 +738,12 @@ const Cell = exports.Cell = {
|
|
|
729
738
|
const headerSlot = slots ? slots.header : null;
|
|
730
739
|
const titleSlot = slots ? slots.title : null;
|
|
731
740
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
732
|
-
const
|
|
741
|
+
const {
|
|
742
|
+
checkStrictly,
|
|
743
|
+
showHeader,
|
|
744
|
+
headerTitle
|
|
745
|
+
} = checkboxOpts;
|
|
746
|
+
const colTitle = column.getTitle();
|
|
733
747
|
const ons = {};
|
|
734
748
|
if (!isHidden) {
|
|
735
749
|
ons.onClick = evnt => {
|
|
@@ -746,10 +760,10 @@ const Cell = exports.Cell = {
|
|
|
746
760
|
if (headerSlot) {
|
|
747
761
|
return renderHeaderCellBaseVNs(params, renderTitleContent(checkboxParams, $table.callSlot(headerSlot, checkboxParams)));
|
|
748
762
|
}
|
|
749
|
-
if (
|
|
763
|
+
if (checkStrictly ? !showHeader : showHeader === false) {
|
|
750
764
|
return renderHeaderCellBaseVNs(params, renderTitleContent(checkboxParams, [(0, _vue.h)('span', {
|
|
751
765
|
class: 'vxe-checkbox--label'
|
|
752
|
-
}, titleSlot ? $table.callSlot(titleSlot, checkboxParams) :
|
|
766
|
+
}, titleSlot ? $table.callSlot(titleSlot, checkboxParams) : colTitle)]));
|
|
753
767
|
}
|
|
754
768
|
return renderHeaderCellBaseVNs(params, renderTitleContent(checkboxParams, [(0, _vue.h)('span', Object.assign({
|
|
755
769
|
class: ['vxe-cell--checkbox', {
|
|
@@ -757,12 +771,12 @@ const Cell = exports.Cell = {
|
|
|
757
771
|
'is--disabled': isAllCheckboxDisabled,
|
|
758
772
|
'is--indeterminate': isAllCheckboxIndeterminate
|
|
759
773
|
}],
|
|
760
|
-
title: getI18n('vxe.table.allTitle')
|
|
774
|
+
title: _xeUtils.default.eqNull(headerTitle) ? getI18n('vxe.table.allTitle') : `${headerTitle || ''}`
|
|
761
775
|
}, ons), [(0, _vue.h)('span', {
|
|
762
776
|
class: ['vxe-checkbox--icon', isAllCheckboxIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : isAllCheckboxSelected ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED]
|
|
763
|
-
})].concat(titleSlot ||
|
|
777
|
+
})].concat(titleSlot || colTitle ? [(0, _vue.h)('span', {
|
|
764
778
|
class: 'vxe-checkbox--label'
|
|
765
|
-
}, titleSlot ? $table.callSlot(titleSlot, checkboxParams) :
|
|
779
|
+
}, titleSlot ? $table.callSlot(titleSlot, checkboxParams) : colTitle)] : []))]));
|
|
766
780
|
},
|
|
767
781
|
renderCheckboxCell(params) {
|
|
768
782
|
const {
|
|
@@ -773,13 +787,17 @@ const Cell = exports.Cell = {
|
|
|
773
787
|
} = params;
|
|
774
788
|
const tableProps = $table.props;
|
|
775
789
|
const tableReactData = $table.reactData;
|
|
790
|
+
const tableInternalData = $table.internalData;
|
|
776
791
|
const {
|
|
777
792
|
treeConfig
|
|
778
793
|
} = tableProps;
|
|
779
794
|
const {
|
|
780
|
-
|
|
781
|
-
treeIndeterminateMaps
|
|
795
|
+
updateCheckboxFlag
|
|
782
796
|
} = tableReactData;
|
|
797
|
+
const {
|
|
798
|
+
selectCheckboxMaps,
|
|
799
|
+
treeIndeterminateRowMaps
|
|
800
|
+
} = tableInternalData;
|
|
783
801
|
const {
|
|
784
802
|
computeCheckboxOpts
|
|
785
803
|
} = $table.getComputeMaps();
|
|
@@ -803,7 +821,7 @@ const Cell = exports.Cell = {
|
|
|
803
821
|
const ons = {};
|
|
804
822
|
if (!isHidden) {
|
|
805
823
|
const rowid = (0, _util.getRowid)($table, row);
|
|
806
|
-
isChecked = !!selectCheckboxMaps[rowid];
|
|
824
|
+
isChecked = !!updateCheckboxFlag && !!selectCheckboxMaps[rowid];
|
|
807
825
|
ons.onClick = evnt => {
|
|
808
826
|
if (!isDisabled && isVisible) {
|
|
809
827
|
$table.triggerCheckRowEvent(evnt, params, !isChecked);
|
|
@@ -815,7 +833,7 @@ const Cell = exports.Cell = {
|
|
|
815
833
|
});
|
|
816
834
|
}
|
|
817
835
|
if (treeConfig) {
|
|
818
|
-
indeterminate = !!
|
|
836
|
+
indeterminate = !!treeIndeterminateRowMaps[rowid];
|
|
819
837
|
}
|
|
820
838
|
}
|
|
821
839
|
const checkboxParams = Object.assign(Object.assign({}, params), {
|
|
@@ -859,12 +877,16 @@ const Cell = exports.Cell = {
|
|
|
859
877
|
} = params;
|
|
860
878
|
const tableProps = $table.props;
|
|
861
879
|
const tableReactData = $table.reactData;
|
|
880
|
+
const tableInternalData = $table.internalData;
|
|
862
881
|
const {
|
|
863
882
|
treeConfig
|
|
864
883
|
} = tableProps;
|
|
865
884
|
const {
|
|
866
|
-
|
|
885
|
+
updateCheckboxFlag
|
|
867
886
|
} = tableReactData;
|
|
887
|
+
const {
|
|
888
|
+
treeIndeterminateRowMaps
|
|
889
|
+
} = tableInternalData;
|
|
868
890
|
const {
|
|
869
891
|
computeCheckboxOpts
|
|
870
892
|
} = $table.getComputeMaps();
|
|
@@ -890,7 +912,7 @@ const Cell = exports.Cell = {
|
|
|
890
912
|
const ons = {};
|
|
891
913
|
if (!isHidden) {
|
|
892
914
|
const rowid = (0, _util.getRowid)($table, row);
|
|
893
|
-
isChecked = _xeUtils.default.get(row, checkField);
|
|
915
|
+
isChecked = !!updateCheckboxFlag && _xeUtils.default.get(row, checkField);
|
|
894
916
|
ons.onClick = evnt => {
|
|
895
917
|
if (!isDisabled && isVisible) {
|
|
896
918
|
$table.triggerCheckRowEvent(evnt, params, !isChecked);
|
|
@@ -902,7 +924,7 @@ const Cell = exports.Cell = {
|
|
|
902
924
|
});
|
|
903
925
|
}
|
|
904
926
|
if (treeConfig) {
|
|
905
|
-
isIndeterminate = !!
|
|
927
|
+
isIndeterminate = !!treeIndeterminateRowMaps[rowid];
|
|
906
928
|
}
|
|
907
929
|
}
|
|
908
930
|
const checkboxParams = Object.assign(Object.assign({}, params), {
|
|
@@ -947,11 +969,11 @@ const Cell = exports.Cell = {
|
|
|
947
969
|
row,
|
|
948
970
|
column
|
|
949
971
|
} = params;
|
|
950
|
-
const
|
|
972
|
+
const tableInternalData = $table.internalData;
|
|
951
973
|
const {
|
|
952
974
|
rowExpandedMaps,
|
|
953
975
|
rowExpandLazyLoadedMaps
|
|
954
|
-
} =
|
|
976
|
+
} = tableInternalData;
|
|
955
977
|
const {
|
|
956
978
|
computeExpandOpts
|
|
957
979
|
} = $table.getComputeMaps();
|
|
@@ -1069,6 +1091,8 @@ const Cell = exports.Cell = {
|
|
|
1069
1091
|
const {
|
|
1070
1092
|
showIcon,
|
|
1071
1093
|
allowBtn,
|
|
1094
|
+
ascTitle,
|
|
1095
|
+
descTitle,
|
|
1072
1096
|
iconLayout,
|
|
1073
1097
|
iconAsc,
|
|
1074
1098
|
iconDesc,
|
|
@@ -1084,7 +1108,7 @@ const Cell = exports.Cell = {
|
|
|
1084
1108
|
class: ['vxe-sort--asc-btn', iconAsc || getIcon().TABLE_SORT_ASC, {
|
|
1085
1109
|
'sort--active': order === 'asc'
|
|
1086
1110
|
}],
|
|
1087
|
-
title: getI18n('vxe.table.sortAsc')
|
|
1111
|
+
title: _xeUtils.default.eqNull(ascTitle) ? getI18n('vxe.table.sortAsc') : `${ascTitle || ''}`,
|
|
1088
1112
|
onClick: allowBtn ? evnt => {
|
|
1089
1113
|
evnt.stopPropagation();
|
|
1090
1114
|
$table.triggerSortEvent(evnt, column, 'asc');
|
|
@@ -1093,7 +1117,7 @@ const Cell = exports.Cell = {
|
|
|
1093
1117
|
class: ['vxe-sort--desc-btn', iconDesc || getIcon().TABLE_SORT_DESC, {
|
|
1094
1118
|
'sort--active': order === 'desc'
|
|
1095
1119
|
}],
|
|
1096
|
-
title: getI18n('vxe.table.sortDesc')
|
|
1120
|
+
title: _xeUtils.default.eqNull(descTitle) ? getI18n('vxe.table.sortDesc') : `${descTitle || ''}`,
|
|
1097
1121
|
onClick: allowBtn ? evnt => {
|
|
1098
1122
|
evnt.stopPropagation();
|
|
1099
1123
|
$table.triggerSortEvent(evnt, column, 'desc');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderer,formats,renderEmptyElement}=_ui.VxeUI;function renderTitlePrefixIcon(l){let{$table:r,column:e}=l,t=e.titlePrefix||e.titleHelp;return t?(0,_vue.h)("i",{class:["vxe-cell-title-prefix-icon",t.icon||getIcon().TABLE_TITLE_PREFIX],onMouseenter(e){r.triggerHeaderTitleEvent(e,t,l)},onMouseleave(e){r.handleTargetLeaveEvent(e)}}):renderEmptyElement(r)}function renderTitleSuffixIcon(l){let{$table:r,column:e}=l,t=e.titleSuffix;return t?(0,_vue.h)("i",{class:["vxe-cell-title-suffix-icon",t.icon||getIcon().TABLE_TITLE_SUFFIX],onMouseenter(e){r.triggerHeaderTitleEvent(e,t,l)},onMouseleave(e){r.handleTargetLeaveEvent(e)}}):renderEmptyElement(r)}function renderCellDragIcon(l){let{$table:r,column:e}=l;var t=r.context,t=t.slots,n=e.slots,a=r.props.dragConfig,o=r.getComputeMaps().computeRowDragOpts,{icon:o,trigger:d,disabledMethod:s}=o.value,s=s||(a?a.rowDisabledMethod:null);let i=s&&s(l);s=(n?n.rowDragIcon||n["row-drag-icon"]:null)||t.rowDragIcon||t["row-drag-icon"],n={};return"cell"!==d&&(n.onMousedown=e=>{i||r.handleCellDragMousedownEvent(e,l)},n.onMouseup=r.handleCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":i}]},n),s?r.callSlot(s,l):[(0,_vue.h)("i",{class:o||(a?a.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l){var{$table:r,column:t,level:n}=e,t=t.dragSort,{treeConfig:a,dragConfig:o}=r.props,{computeRowOpts:r,computeRowDragOpts:d,computeTreeOpts:s}=r.getComputeMaps(),r=r.value,d=d.value,s=s.value,{showIcon:d,isPeerDrag:i,isCrossDrag:c,visibleMethod:u}=d,u=u||(o?o.rowVisibleMethod:null),l=_xeUtils.default.isArray(l)?l:[l];return t&&r.drag&&(d||o&&o.showRowIcon)&&(!u||u(e))&&(!a||s.transform&&(i||c||!n))&&l.unshift(renderCellDragIcon(e)),l}function renderHeaderCellDragIcon(r){let{$table:t,column:e}=r;var n=t.context,n=n.slots,a=e.slots,{computeColumnOpts:o,computeColumnDragOpts:d}=t.getComputeMaps(),o=o.value,{showIcon:d,icon:s,trigger:i,isPeerDrag:l,isCrossDrag:c,visibleMethod:u,disabledMethod:C}=d.value;if(!o.drag||!d||u&&!u(r)||e.fixed||!l&&!c&&e.parentId)return renderEmptyElement(t);{let l=C&&C(r);o=(a?a.columnDragIcon||a["column-drag-icon"]:null)||n.columnDragIcon||n["column-drag-icon"],d={};return"cell"!==i&&(d.onMousedown=e=>{l||t.handleHeaderCellDragMousedownEvent(e,r)},d.onMouseup=t.handleHeaderCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}]},d),o?t.callSlot(o,r):[(0,_vue.h)("i",{class:s||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l){return[renderTitlePrefixIcon(e),renderHeaderCellDragIcon(e),..._xeUtils.default.isArray(l)?l:[l],renderTitleSuffixIcon(e)]}function renderTitleContent(l,e){let{$table:r,column:t}=l;var n=r.props;let a=r.reactData;var o=r.getComputeMaps().computeTooltipOpts,n=n.showHeaderOverflow,{type:d,showHeaderOverflow:s}=t;let i=o.value.showAll;o=_xeUtils.default.isUndefined(s)||_xeUtils.default.isNull(s)?n:s;let c="title"===o,u=!0===o||"tooltip"===o;n={};return(c||u||i)&&(n.onMouseenter=e=>{a.isDragResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,t):(u||i)&&r.triggerHeaderTooltipEvent(e,l))}),(u||i)&&(n.onMouseleave=e=>{a.isDragResize||(u||i)&&r.handleTargetLeaveEvent(e)}),["html"===d&&_xeUtils.default.isString(e)?(0,_vue.h)("span",Object.assign({class:"vxe-cell--title",innerHTML:e},n)):(0,_vue.h)("span",Object.assign({class:"vxe-cell--title"},n),(0,_vn.getSlotVNs)(e))]}function getFooterContent(e){var{$table:l,column:r,_columnIndex:t,items:n,row:a}=e,{slots:o,editRender:d,cellRender:s,footerFormatter:i}=r,d=d||s,s=o?o.footer:null;if(s)return l.callSlot(s,e);let c="";c=_xeUtils.default.isArray(n)?n[t]:_xeUtils.default.get(a,r.field);o=Object.assign(e,{itemValue:c});if(i)return _xeUtils.default.isFunction(i)?""+i(o):(n=(s=(l=_xeUtils.default.isArray(i))?formats.get(i[0]):formats.get(i))?s.tableFooterCellFormatMethod:null)?""+(l?n(o,...i.slice(1)):n(o)):"";if(d){t=renderer.get(d.name);if(t){a=t.renderTableFooter||t.renderFooter;if(a)return(0,_vn.getSlotVNs)(a(d,o))}}return[(0,_utils.formatText)(c,1)]}function getDefaultCellLabel(e){var{$table:e,row:l,column:r}=e;return(0,_utils.formatText)(e.getCellLabel(l,r),1)}function renderCellHandle(e){var{column:l,$table:r}=e,t=r.props.editConfig,{type:l,treeNode:n,editRender:a}=l,{computeEditOpts:r,computeCheckboxOpts:o}=r.getComputeMaps(),d=o.value,o=r.value;switch(l){case"seq":return n?Cell.renderTreeIndexCell(e):Cell.renderSeqCell(e);case"radio":return n?Cell.renderTreeRadioCell(e):Cell.renderRadioCell(e);case"checkbox":return d.checkField?n?Cell.renderTreeSelectionCellByProp(e):Cell.renderCheckboxCellByProp(e):n?Cell.renderTreeSelectionCell(e):Cell.renderCheckboxCell(e);case"expand":return Cell.renderExpandCell(e);case"html":return n?Cell.renderTreeHTMLCell(e):Cell.renderHTMLCell(e)}return(0,_utils.isEnableConf)(t)&&a?"cell"===o.mode?n?Cell.renderTreeCellEdit(e):Cell.renderCellEdit(e):n?Cell.renderTreeRowEdit(e):Cell.renderRowEdit(e):n?Cell.renderTreeCell(e):Cell.renderDefaultCell(e)}function renderHeaderHandle(e){var{column:l,$table:r}=e,r=r.props.editConfig,{type:l,filters:t,sortable:n,editRender:a}=l;switch(l){case"seq":return Cell.renderSeqHeader(e);case"radio":return Cell.renderRadioHeader(e);case"checkbox":return Cell.renderCheckboxHeader(e);case"html":if(t&&n)return Cell.renderSortAndFilterHeader(e);if(n)return Cell.renderSortHeader(e);if(t)return Cell.renderFilterHeader(e)}return r&&a?Cell.renderEditHeader(e):t&&n?Cell.renderSortAndFilterHeader(e):n?Cell.renderSortHeader(e):t?Cell.renderFilterHeader(e):Cell.renderDefaultHeader(e)}function renderFooterHandle(e){return Cell.renderDefaultFooter(e)}let Cell=exports.Cell={createColumn(e,l){var r=l.type,t={renderHeader:renderHeaderHandle,renderCell:renderCellHandle,renderFooter:renderFooterHandle};return"expand"===r&&(t.renderData=Cell.renderExpandData),(0,_util.createColumn)(e,l,t)},renderHeaderTitle(e){var{$table:l,column:r}=e,{slots:t,editRender:n,cellRender:a}=r,n=n||a,a=t?t.header:null;if(a)return renderTitleContent(e,l.callSlot(a,e));if(n){t=renderer.get(n.name);if(t){l=t.renderTableHeader||t.renderHeader;if(l)return renderTitleContent(e,(0,_vn.getSlotVNs)(l(n,e)))}}return renderTitleContent(e,(0,_utils.formatText)(r.getTitle(),1))},renderDefaultHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e))},renderDefaultCell(e){var{$table:l,row:r,column:t}=e,{slots:n,editRender:a,cellRender:o}=t,o=a||o,n=n?n.default:null;if(n)return renderCellBaseVNs(e,l.callSlot(n,e));if(o){n=renderer.get(o.name);if(n){var d=n.renderTableCell||n.renderCell,n=n.renderTableDefault||n.renderDefault,d=a?d:n;if(d)return renderCellBaseVNs(e,(0,_vn.getSlotVNs)(d(o,Object.assign({$type:a?"edit":"cell"},e))))}}n=l.getCellLabel(r,t),d=a?a.placeholder:"";return renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},[a&&(0,_utils.eqEmptyValue)(n)?(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(d),1)):(0,_vue.h)("span",(0,_utils.formatText)(n,1))])])},renderTreeCell(e){return Cell.renderTreeIcon(e,Cell.renderDefaultCell(e))},renderDefaultFooter(e){return getFooterContent(e)},renderTreeIcon(l,e){let{$table:r,isHidden:t}=l;var n=r.reactData,a=r.internalData,o=r.getComputeMaps().computeTreeOpts,{treeExpandedMaps:n,treeExpandLazyLoadedMaps:d}=n,a=a.fullAllDataRowIdData,o=o.value,{row:s,column:i,level:c}=l,i=i.slots,{indent:u,lazy:C,trigger:v,iconLoaded:p,showIcon:g,iconOpen:h,iconClose:E}=o,_=o.children||o.childrenField,o=o.hasChild||o.hasChildField,_=s[_],_=_&&_.length,i=i?i.icon:null;let b=!1,x=!1,f=!1,m=!1;var T={};return i?r.callSlot(i,l):(t||(i=(0,_util.getRowid)(r,s),x=!!n[i],C&&(n=a[i],f=!!d[i],b=s[o],m=!!n.treeLoaded)),v&&"default"!==v||(T.onClick=e=>{r.triggerTreeExpandEvent(e,l)}),[(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":x}],style:{paddingLeft:c*u+"px"}},[g&&(!C||m?_:_||b)?[(0,_vue.h)("div",Object.assign({class:"vxe-tree--btn-wrapper"},T),[(0,_vue.h)("i",{class:["vxe-tree--node-btn",f?p||getIcon().TABLE_TREE_LOADED:x?h||getIcon().TABLE_TREE_OPEN:E||getIcon().TABLE_TREE_CLOSE]})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])])},renderSeqHeader(e){var{$table:l,column:r}=e,t=r.slots,t=t?t.header:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,t?l.callSlot(t,e):(0,_utils.formatText)(r.getTitle(),1)))},renderSeqCell(e){var{$table:l,column:r}=e,t=l.props.treeConfig,n=l.getComputeMaps().computeSeqOpts,n=n.value,r=r.slots,r=r?r.default:null;return r?renderCellBaseVNs(e,l.callSlot(r,e)):(l=e.seq,r=n.seqMethod,renderCellBaseVNs(e,[(0,_vue.h)("span",""+(0,_utils.formatText)(r?r(e):t?l:(n.startIndex||0)+l,1))]))},renderTreeIndexCell(e){return Cell.renderTreeIcon(e,Cell.renderSeqCell(e))},renderRadioHeader(e){var{$table:l,column:r}=e,t=r.slots,n=t?t.header:null,t=t?t.title:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,n?l.callSlot(n,e):[(0,_vue.h)("span",{class:"vxe-radio--label"},t?l.callSlot(t,e):(0,_utils.formatText)(r.getTitle(),1))]))},renderRadioCell(l){let{$table:r,column:e,isHidden:t}=l;var n=r.reactData,a=r.getComputeMaps().computeRadioOpts,n=n.selectRadioRow,o=e.slots,{labelField:a,checkMethod:d,visibleMethod:s}=a.value,i=l.row,c=o?o.default:null,o=o?o.radio:null,n=r.eqRow(i,n);let u=!s||s({row:i}),C=!!d,v;t||(v={onClick(e){!C&&u&&r.triggerRadioRowEvent(e,l)}},d&&(C=!d({row:i})));s=Object.assign(Object.assign({},l),{checked:n,disabled:C,visible:u});return o?renderCellBaseVNs(l,r.callSlot(o,s)):(d=[],u&&d.push((0,_vue.h)("span",{class:["vxe-radio--icon",n?getIcon().TABLE_RADIO_CHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(c||a)&&d.push((0,_vue.h)("span",{class:"vxe-radio--label"},c?r.callSlot(c,s):_xeUtils.default.get(i,a))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--radio",{"is--checked":n,"is--disabled":C}]},v),d)]))},renderTreeRadioCell(e){return Cell.renderTreeIcon(e,Cell.renderRadioCell(e))},renderCheckboxHeader(e){let{$table:l,column:r,isHidden:t}=e;var n=l.reactData,{computeIsAllCheckboxDisabled:a,computeCheckboxOpts:o}=l.getComputeMaps();let{isAllSelected:d,isIndeterminate:s}=n,i=a.value;var n=r.slots,a=n?n.header:null,n=n?n.title:null,o=o.value,c=r.getTitle(),u={},C=(t||(u.onClick=e=>{i||l.triggerCheckAllEvent(e,!d)}),Object.assign(Object.assign({},e),{checked:d,disabled:i,indeterminate:s}));return a?renderHeaderCellBaseVNs(e,renderTitleContent(C,l.callSlot(a,C))):(o.checkStrictly?o.showHeader:!1!==o.showHeader)?renderHeaderCellBaseVNs(e,renderTitleContent(C,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":d,"is--disabled":i,"is--indeterminate":s}],title:getI18n("vxe.table.allTitle")},u),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:d?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(n||c?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,C):c)]:[]))])):renderHeaderCellBaseVNs(e,renderTitleContent(C,[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,C):c)]))},renderCheckboxCell(l){let{$table:r,row:e,column:t,isHidden:n}=l;var a=r.props.treeConfig,{selectCheckboxMaps:o,treeIndeterminateMaps:d}=r.reactData,s=r.getComputeMaps().computeCheckboxOpts,{labelField:s,checkMethod:i,visibleMethod:c}=s.value,u=t.slots,C=u?u.default:null,u=u?u.checkbox:null;let v=!1,p=!1,g=!c||c({row:e}),h=!!i;var E,c={},o=(n||(E=(0,_util.getRowid)(r,e),p=!!o[E],c.onClick=e=>{!h&&g&&r.triggerCheckRowEvent(e,l,!p)},i&&(h=!i({row:e})),a&&(v=!!d[E])),Object.assign(Object.assign({},l),{checked:p,disabled:h,visible:g,indeterminate:v}));return u?renderCellBaseVNs(l,r.callSlot(u,o)):(i=[],g&&i.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",v?getIcon().TABLE_CHECKBOX_INDETERMINATE:p?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(C||s)&&i.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},C?r.callSlot(C,o):_xeUtils.default.get(e,s))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":p,"is--disabled":h,"is--indeterminate":v,"is--hidden":!g}]},c),i)]))},renderTreeSelectionCell(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp(l){let{$table:r,row:e,column:t,isHidden:n}=l;var a=r.props.treeConfig,o=r.reactData.treeIndeterminateMaps,d=r.getComputeMaps().computeCheckboxOpts,d=d.value,{labelField:s,checkField:i,checkMethod:c,visibleMethod:u}=d,d=d.indeterminateField||d.halfField,C=t.slots,v=C?C.default:null,C=C?C.checkbox:null;let p=!1,g=!1,h=!u||u({row:e}),E=!!c;var _,u={},i=(n||(_=(0,_util.getRowid)(r,e),g=_xeUtils.default.get(e,i),u.onClick=e=>{!E&&h&&r.triggerCheckRowEvent(e,l,!g)},c&&(E=!c({row:e})),a&&(p=!!o[_])),Object.assign(Object.assign({},l),{checked:g,disabled:E,visible:h,indeterminate:p}));return C?renderCellBaseVNs(l,r.callSlot(C,i)):(c=[],h&&(c.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",p?getIcon().TABLE_CHECKBOX_INDETERMINATE:g?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),v||s)&&c.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},v?r.callSlot(v,i):_xeUtils.default.get(e,s))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":g,"is--disabled":E,"is--indeterminate":d&&!g?e[d]:p,"is--hidden":!h}]},u),c)]))},renderTreeSelectionCellByProp(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell(l){let{$table:r,isHidden:e,row:t,column:n}=l;var{rowExpandedMaps:a,rowExpandLazyLoadedMaps:o}=r.reactData,d=r.getComputeMaps().computeExpandOpts,{lazy:d,labelField:s,iconLoaded:i,showIcon:c,iconOpen:u,iconClose:C,visibleMethod:v}=d.value,p=n.slots,g=p?p.default:null,p=p?p.icon:null;let h=!1,E=!1;return p?renderCellBaseVNs(l,r.callSlot(p,l)):(e||(p=(0,_util.getRowid)(r,t),h=!!a[p],d&&(E=!!o[p])),renderCellBaseVNs(l,[!c||v&&!v(l)?renderEmptyElement(r):(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":h}],onMousedown(e){e.stopPropagation()},onClick(e){r.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",E?i||getIcon().TABLE_EXPAND_LOADED:h?u||getIcon().TABLE_EXPAND_OPEN:C||getIcon().TABLE_EXPAND_CLOSE]})]),g||s?(0,_vue.h)("span",{class:"vxe-table--expand-label"},g?r.callSlot(g,l):_xeUtils.default.get(t,s)):renderEmptyElement(r)]))},renderExpandData(e){var{$table:l,column:r}=e,{slots:r,contentRender:t}=r,r=r?r.content:null;if(r)return l.callSlot(r,e);if(t){l=renderer.get(t.name);if(l){r=l.renderTableExpand||l.renderExpand;if(r)return(0,_vn.getSlotVNs)(r(t,e))}}return[]},renderHTMLCell(e){var{$table:l,column:r}=e,r=r.slots,r=r?r.default:null;return renderCellBaseVNs(e,r?l.callSlot(r,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})])},renderTreeHTMLCell(e){return Cell.renderTreeIcon(e,Cell.renderHTMLCell(e))},renderSortAndFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e).concat(Cell.renderFilterIcon(e))))},renderSortHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e)))},renderSortIcon(e){let{$table:l,column:r}=e;var t=l.getComputeMaps().computeSortOpts,{showIcon:t,allowBtn:n,iconLayout:a,iconAsc:o,iconDesc:d,iconVisibleMethod:s}=t.value,i=r.order;return!t||s&&!s(e)?[]:[(0,_vue.h)("span",{class:["vxe-cell--sort",`vxe-cell--sort-${a}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",o||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===i}],title:getI18n("vxe.table.sortAsc"),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,r,"asc")}:void 0}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",d||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===i}],title:getI18n("vxe.table.sortDesc"),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,r,"desc")}:void 0})])]},renderFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderFilterIcon(e)))},renderFilterIcon(l){let{$table:r,column:e,hasFilter:t}=l;var n=r.reactData.filterStore,a=r.getComputeMaps().computeFilterOpts,{showIcon:a,iconNone:o,iconMatch:d,iconVisibleMethod:s}=a.value;return!a||s&&!s(l)?[]:[(0,_vue.h)("span",{class:["vxe-cell--filter",{"is--active":n.visible&&n.column===e}]},[(0,_vue.h)("i",{class:["vxe-filter--btn",t?d||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],title:getI18n("vxe.table.filter"),onClick(e){r.triggerFilterEvent&&r.triggerFilterEvent(e,l.column,l)}})])]},renderEditHeader(e){var{$table:l,column:r}=e,t=l.props,n=l.getComputeMaps().computeEditOpts,{editConfig:t,editRules:a}=t,n=n.value,{sortable:o,filters:d,editRender:s}=r;let i=!1,c=(a&&(a=_xeUtils.default.get(a,r.field))&&(i=a.some(e=>e.required)),[]);return renderHeaderCellBaseVNs(e,(c=(0,_utils.isEnableConf)(t)?[i&&n.showAsterisk?(0,_vue.h)("i",{class:"vxe-cell--required-icon"}):renderEmptyElement(l),(0,_utils.isEnableConf)(s)&&n.showIcon?(0,_vue.h)("i",{class:["vxe-cell--edit-icon",n.icon||getIcon().TABLE_EDIT]}):renderEmptyElement(l)]:c).concat(Cell.renderHeaderTitle(e)).concat(o?Cell.renderSortIcon(e):[]).concat(d?Cell.renderFilterIcon(e):[]))},renderRowEdit(e){var{$table:l,column:r}=e,l=l.reactData.editStore,l=l.actived,r=r.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row)},renderTreeRowEdit(e){return Cell.renderTreeIcon(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:r}=e,l=l.reactData.editStore,l=l.actived,r=r.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row&&l.column===e.column)},renderTreeCellEdit(e){return Cell.renderTreeIcon(e,Cell.renderCellEdit(e))},runRenderer(e,l){var{$table:r,column:t}=e,{slots:t,editRender:n,formatter:a}=t,o=t?t.default:null,t=t?t.edit:null,d=renderer.get(n.name),d=d?d.renderTableEdit||d.renderEdit:null,s=Object.assign({$type:"",isEdit:l},e);return l?(s.$type="edit",t?r.callSlot(t,s):d?(0,_vn.getSlotVNs)(d(n,s)):[]):o?renderCellBaseVNs(e,r.callSlot(o,s)):a?renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(s))]):Cell.renderDefaultCell(s)}};var _default=exports.default=Cell;
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderer,formats,renderEmptyElement}=_ui.VxeUI;function renderTitlePrefixIcon(l){let{$table:r,column:e}=l,t=e.titlePrefix||e.titleHelp;return t?(0,_vue.h)("i",{class:["vxe-cell-title-prefix-icon",t.icon||getIcon().TABLE_TITLE_PREFIX],onMouseenter(e){r.triggerHeaderTitleEvent(e,t,l)},onMouseleave(e){r.handleTargetLeaveEvent(e)}}):renderEmptyElement(r)}function renderTitleSuffixIcon(l){let{$table:r,column:e}=l,t=e.titleSuffix;return t?(0,_vue.h)("i",{class:["vxe-cell-title-suffix-icon",t.icon||getIcon().TABLE_TITLE_SUFFIX],onMouseenter(e){r.triggerHeaderTitleEvent(e,t,l)},onMouseleave(e){r.handleTargetLeaveEvent(e)}}):renderEmptyElement(r)}function renderCellDragIcon(l){let{$table:r,column:e}=l;var t=r.context,t=t.slots,n=e.slots,a=r.props.dragConfig,o=r.getComputeMaps().computeRowDragOpts,{icon:o,trigger:s,disabledMethod:d}=o.value,d=d||(a?a.rowDisabledMethod:null);let i=d&&d(l);d=(n?n.rowDragIcon||n["row-drag-icon"]:null)||t.rowDragIcon||t["row-drag-icon"],n={};return"cell"!==s&&(n.onMousedown=e=>{i||r.handleCellDragMousedownEvent(e,l)},n.onMouseup=r.handleCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":i}]},n),d?r.callSlot(d,l):[(0,_vue.h)("i",{class:o||(a?a.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l){var{$table:r,column:t,level:n}=e,t=t.dragSort,{treeConfig:a,dragConfig:o}=r.props,{computeRowOpts:r,computeRowDragOpts:s,computeTreeOpts:d}=r.getComputeMaps(),r=r.value,s=s.value,d=d.value,{showIcon:s,isPeerDrag:i,isCrossDrag:c,visibleMethod:u}=s,u=u||(o?o.rowVisibleMethod:null),l=_xeUtils.default.isArray(l)?l:[l];return t&&r.drag&&(s||o&&o.showRowIcon)&&(!u||u(e))&&(!a||d.transform&&(i||c||!n))&&l.unshift(renderCellDragIcon(e)),l}function renderHeaderCellDragIcon(r){let{$table:t,column:e}=r;var n=t.context,n=n.slots,a=e.slots,{computeColumnOpts:o,computeColumnDragOpts:s}=t.getComputeMaps(),o=o.value,{showIcon:s,icon:d,trigger:i,isPeerDrag:l,isCrossDrag:c,visibleMethod:u,disabledMethod:C}=s.value;if(!o.drag||!s||u&&!u(r)||e.fixed||!l&&!c&&e.parentId)return renderEmptyElement(t);{let l=C&&C(r);o=(a?a.columnDragIcon||a["column-drag-icon"]:null)||n.columnDragIcon||n["column-drag-icon"],s={};return"cell"!==i&&(s.onMousedown=e=>{l||t.handleHeaderCellDragMousedownEvent(e,r)},s.onMouseup=t.handleHeaderCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}]},s),o?t.callSlot(o,r):[(0,_vue.h)("i",{class:d||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l){return[renderTitlePrefixIcon(e),renderHeaderCellDragIcon(e),..._xeUtils.default.isArray(l)?l:[l],renderTitleSuffixIcon(e)]}function renderTitleContent(l,e){let{$table:r,column:t}=l;var n=r.props;let a=r.reactData;var o=r.getComputeMaps().computeTooltipOpts,n=n.showHeaderOverflow,{type:s,showHeaderOverflow:d}=t;let i=o.value.showAll;o=_xeUtils.default.isUndefined(d)||_xeUtils.default.isNull(d)?n:d;let c="title"===o,u=!0===o||"tooltip"===o;n={};return(c||u||i)&&(n.onMouseenter=e=>{a.isDragResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,t):(u||i)&&r.triggerHeaderTooltipEvent(e,l))}),(u||i)&&(n.onMouseleave=e=>{a.isDragResize||(u||i)&&r.handleTargetLeaveEvent(e)}),["html"===s&&_xeUtils.default.isString(e)?(0,_vue.h)("span",Object.assign({class:"vxe-cell--title",innerHTML:e},n)):(0,_vue.h)("span",Object.assign({class:"vxe-cell--title"},n),(0,_vn.getSlotVNs)(e))]}function getFooterContent(e){var{$table:l,column:r,_columnIndex:t,items:n,row:a}=e,{slots:o,editRender:s,cellRender:d,footerFormatter:i}=r,s=s||d,d=o?o.footer:null;if(d)return l.callSlot(d,e);let c="";c=_xeUtils.default.isArray(n)?n[t]:_xeUtils.default.get(a,r.field);o=Object.assign(e,{itemValue:c});if(i)return _xeUtils.default.isFunction(i)?[(0,_vue.h)("span",{class:"vxe-cell--label"},""+i(o))]:(n=(d=(l=_xeUtils.default.isArray(i))?formats.get(i[0]):formats.get(i))?d.tableFooterCellFormatMethod:null)?[(0,_vue.h)("span",{class:"vxe-cell--label"},""+(l?n(o,...i.slice(1)):n(o)))]:[(0,_vue.h)("span",{class:"vxe-cell--label"},"")];if(s){t=renderer.get(s.name);if(t){a=t.renderTableFooter||t.renderFooter;if(a)return(0,_vn.getSlotVNs)(a(s,o))}}return[(0,_vue.h)("span",{class:"vxe-cell--label"},(0,_utils.formatText)(c,1))]}function getDefaultCellLabel(e){var{$table:e,row:l,column:r}=e;return(0,_utils.formatText)(e.getCellLabel(l,r),1)}function renderCellHandle(e){var{column:l,$table:r}=e,t=r.props.editConfig,{type:l,treeNode:n,editRender:a}=l,{computeEditOpts:r,computeCheckboxOpts:o}=r.getComputeMaps(),s=o.value,o=r.value;switch(l){case"seq":return n?Cell.renderTreeIndexCell(e):Cell.renderSeqCell(e);case"radio":return n?Cell.renderTreeRadioCell(e):Cell.renderRadioCell(e);case"checkbox":return s.checkField?n?Cell.renderTreeSelectionCellByProp(e):Cell.renderCheckboxCellByProp(e):n?Cell.renderTreeSelectionCell(e):Cell.renderCheckboxCell(e);case"expand":return Cell.renderExpandCell(e);case"html":return n?Cell.renderTreeHTMLCell(e):Cell.renderHTMLCell(e)}return(0,_utils.isEnableConf)(t)&&a?"cell"===o.mode?n?Cell.renderTreeCellEdit(e):Cell.renderCellEdit(e):n?Cell.renderTreeRowEdit(e):Cell.renderRowEdit(e):n?Cell.renderTreeCell(e):Cell.renderDefaultCell(e)}function renderHeaderHandle(e){var{column:l,$table:r}=e,r=r.props.editConfig,{type:l,filters:t,sortable:n,editRender:a}=l;switch(l){case"seq":return Cell.renderSeqHeader(e);case"radio":return Cell.renderRadioHeader(e);case"checkbox":return Cell.renderCheckboxHeader(e);case"html":if(t&&n)return Cell.renderSortAndFilterHeader(e);if(n)return Cell.renderSortHeader(e);if(t)return Cell.renderFilterHeader(e)}return r&&a?Cell.renderEditHeader(e):t&&n?Cell.renderSortAndFilterHeader(e):n?Cell.renderSortHeader(e):t?Cell.renderFilterHeader(e):Cell.renderDefaultHeader(e)}function renderFooterHandle(e){return Cell.renderDefaultFooter(e)}let Cell=exports.Cell={createColumn(e,l){var r=l.type,t={renderHeader:renderHeaderHandle,renderCell:renderCellHandle,renderFooter:renderFooterHandle};return"expand"===r&&(t.renderData=Cell.renderExpandData),(0,_util.createColumn)(e,l,t)},renderHeaderTitle(e){var{$table:l,column:r}=e,{slots:t,editRender:n,cellRender:a}=r,n=n||a,a=t?t.header:null;if(a)return renderTitleContent(e,l.callSlot(a,e));if(n){t=renderer.get(n.name);if(t){l=t.renderTableHeader||t.renderHeader;if(l)return renderTitleContent(e,(0,_vn.getSlotVNs)(l(n,e)))}}return renderTitleContent(e,(0,_utils.formatText)(r.getTitle(),1))},renderDefaultHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e))},renderDefaultCell(e){var{$table:l,row:r,column:t}=e,{slots:n,editRender:a,cellRender:o}=t,o=a||o,n=n?n.default:null;if(n)return renderCellBaseVNs(e,l.callSlot(n,e));if(o){n=renderer.get(o.name);if(n){var s=n.renderTableCell||n.renderCell,n=n.renderTableDefault||n.renderDefault,s=a?s:n;if(s)return renderCellBaseVNs(e,(0,_vn.getSlotVNs)(s(o,Object.assign({$type:a?"edit":"cell"},e))))}}n=l.getCellLabel(r,t),s=a?a.placeholder:"";return renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},[a&&(0,_utils.eqEmptyValue)(n)?(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(s),1)):(0,_vue.h)("span",(0,_utils.formatText)(n,1))])])},renderTreeCell(e){return Cell.renderTreeIcon(e,Cell.renderDefaultCell(e))},renderDefaultFooter(e){return getFooterContent(e)},renderTreeIcon(l,e){let{$table:r,isHidden:t}=l;var n=r.reactData,a=r.internalData,o=r.getComputeMaps().computeTreeOpts,n=n.treeExpandedFlag,{fullAllDataRowIdData:a,treeExpandedMaps:s,treeExpandLazyLoadedMaps:d}=a,o=o.value,{row:i,column:c,level:u}=l,c=c.slots,{indent:C,lazy:v,trigger:p,iconLoaded:g,showIcon:h,iconOpen:_,iconClose:b}=o,E=o.children||o.childrenField,o=o.hasChild||o.hasChildField,E=i[E],E=E&&E.length,c=c?c.icon:null;let x=!1,f=!1,m=!1,T=!1;var I={};return c?r.callSlot(c,l):(t||(c=(0,_util.getRowid)(r,i),f=!!n&&!!s[c],v&&(n=a[c],m=!!d[c],x=i[o],T=!!n.treeLoaded)),p&&"default"!==p||(I.onClick=e=>{r.triggerTreeExpandEvent(e,l)}),[(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":f}],style:{paddingLeft:u*C+"px"}},[h&&(!v||T?E:E||x)?[(0,_vue.h)("div",Object.assign({class:"vxe-tree--btn-wrapper"},I),[(0,_vue.h)("i",{class:["vxe-tree--node-btn",m?g||getIcon().TABLE_TREE_LOADED:f?_||getIcon().TABLE_TREE_OPEN:b||getIcon().TABLE_TREE_CLOSE]})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])])},renderSeqHeader(e){var{$table:l,column:r}=e,t=r.slots,t=t?t.header:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,t?l.callSlot(t,e):(0,_utils.formatText)(r.getTitle(),1)))},renderSeqCell(e){var{$table:l,column:r}=e,t=l.props.treeConfig,n=l.getComputeMaps().computeSeqOpts,n=n.value,r=r.slots,r=r?r.default:null;return r?renderCellBaseVNs(e,l.callSlot(r,e)):(l=e.seq,r=n.seqMethod,renderCellBaseVNs(e,[(0,_vue.h)("span",""+(0,_utils.formatText)(r?r(e):t?l:(n.startIndex||0)+l,1))]))},renderTreeIndexCell(e){return Cell.renderTreeIcon(e,Cell.renderSeqCell(e))},renderRadioHeader(e){var{$table:l,column:r}=e,t=r.slots,n=t?t.header:null,t=t?t.title:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,n?l.callSlot(n,e):[(0,_vue.h)("span",{class:"vxe-radio--label"},t?l.callSlot(t,e):(0,_utils.formatText)(r.getTitle(),1))]))},renderRadioCell(l){let{$table:r,column:e,isHidden:t}=l;var n=r.reactData,a=r.getComputeMaps().computeRadioOpts,n=n.selectRadioRow,o=e.slots,{labelField:a,checkMethod:s,visibleMethod:d}=a.value,i=l.row,c=o?o.default:null,o=o?o.radio:null,n=r.eqRow(i,n);let u=!d||d({row:i}),C=!!s,v;t||(v={onClick(e){!C&&u&&r.triggerRadioRowEvent(e,l)}},s&&(C=!s({row:i})));d=Object.assign(Object.assign({},l),{checked:n,disabled:C,visible:u});return o?renderCellBaseVNs(l,r.callSlot(o,d)):(s=[],u&&s.push((0,_vue.h)("span",{class:["vxe-radio--icon",n?getIcon().TABLE_RADIO_CHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(c||a)&&s.push((0,_vue.h)("span",{class:"vxe-radio--label"},c?r.callSlot(c,d):_xeUtils.default.get(i,a))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--radio",{"is--checked":n,"is--disabled":C}]},v),s)]))},renderTreeRadioCell(e){return Cell.renderTreeIcon(e,Cell.renderRadioCell(e))},renderCheckboxHeader(e){let{$table:l,column:r,isHidden:t}=e;var n=l.reactData,{computeIsAllCheckboxDisabled:a,computeCheckboxOpts:o}=l.getComputeMaps();let{isAllSelected:s,isIndeterminate:d}=n,i=a.value;var n=r.slots,a=n?n.header:null,n=n?n.title:null,{checkStrictly:o,showHeader:c,headerTitle:u}=o.value,C=r.getTitle(),v={},p=(t||(v.onClick=e=>{i||l.triggerCheckAllEvent(e,!s)}),Object.assign(Object.assign({},e),{checked:s,disabled:i,indeterminate:d}));return renderHeaderCellBaseVNs(e,renderTitleContent(p,a?l.callSlot(a,p):(o?c:!1!==c)?[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":s,"is--disabled":i,"is--indeterminate":d}],title:_xeUtils.default.eqNull(u)?getI18n("vxe.table.allTitle"):""+(u||"")},v),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",d?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(n||C?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,p):C)]:[]))]:[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,p):C)]))},renderCheckboxCell(l){let{$table:r,row:e,column:t,isHidden:n}=l;var a=r.props.treeConfig,o=r.reactData.updateCheckboxFlag,{selectCheckboxMaps:s,treeIndeterminateRowMaps:d}=r.internalData,i=r.getComputeMaps().computeCheckboxOpts,{labelField:i,checkMethod:c,visibleMethod:u}=i.value,C=t.slots,v=C?C.default:null,C=C?C.checkbox:null;let p=!1,g=!1,h=!u||u({row:e}),_=!!c;var b,u={},o=(n||(b=(0,_util.getRowid)(r,e),g=!!o&&!!s[b],u.onClick=e=>{!_&&h&&r.triggerCheckRowEvent(e,l,!g)},c&&(_=!c({row:e})),a&&(p=!!d[b])),Object.assign(Object.assign({},l),{checked:g,disabled:_,visible:h,indeterminate:p}));return C?renderCellBaseVNs(l,r.callSlot(C,o)):(s=[],h&&s.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",p?getIcon().TABLE_CHECKBOX_INDETERMINATE:g?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(v||i)&&s.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},v?r.callSlot(v,o):_xeUtils.default.get(e,i))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":g,"is--disabled":_,"is--indeterminate":p,"is--hidden":!h}]},u),s)]))},renderTreeSelectionCell(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp(l){let{$table:r,row:e,column:t,isHidden:n}=l;var a=r.props.treeConfig,o=r.reactData.updateCheckboxFlag,s=r.internalData.treeIndeterminateRowMaps,d=r.getComputeMaps().computeCheckboxOpts,d=d.value,{labelField:i,checkField:c,checkMethod:u,visibleMethod:C}=d,d=d.indeterminateField||d.halfField,v=t.slots,p=v?v.default:null,v=v?v.checkbox:null;let g=!1,h=!1,_=!C||C({row:e}),b=!!u;var E,C={},o=(n||(E=(0,_util.getRowid)(r,e),h=!!o&&_xeUtils.default.get(e,c),C.onClick=e=>{!b&&_&&r.triggerCheckRowEvent(e,l,!h)},u&&(b=!u({row:e})),a&&(g=!!s[E])),Object.assign(Object.assign({},l),{checked:h,disabled:b,visible:_,indeterminate:g}));return v?renderCellBaseVNs(l,r.callSlot(v,o)):(c=[],_&&(c.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",g?getIcon().TABLE_CHECKBOX_INDETERMINATE:h?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),p||i)&&c.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},p?r.callSlot(p,o):_xeUtils.default.get(e,i))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":h,"is--disabled":b,"is--indeterminate":d&&!h?e[d]:g,"is--hidden":!_}]},C),c)]))},renderTreeSelectionCellByProp(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell(l){let{$table:r,isHidden:e,row:t,column:n}=l;var{rowExpandedMaps:a,rowExpandLazyLoadedMaps:o}=r.internalData,s=r.getComputeMaps().computeExpandOpts,{lazy:s,labelField:d,iconLoaded:i,showIcon:c,iconOpen:u,iconClose:C,visibleMethod:v}=s.value,p=n.slots,g=p?p.default:null,p=p?p.icon:null;let h=!1,_=!1;return p?renderCellBaseVNs(l,r.callSlot(p,l)):(e||(p=(0,_util.getRowid)(r,t),h=!!a[p],s&&(_=!!o[p])),renderCellBaseVNs(l,[!c||v&&!v(l)?renderEmptyElement(r):(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":h}],onMousedown(e){e.stopPropagation()},onClick(e){r.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",_?i||getIcon().TABLE_EXPAND_LOADED:h?u||getIcon().TABLE_EXPAND_OPEN:C||getIcon().TABLE_EXPAND_CLOSE]})]),g||d?(0,_vue.h)("span",{class:"vxe-table--expand-label"},g?r.callSlot(g,l):_xeUtils.default.get(t,d)):renderEmptyElement(r)]))},renderExpandData(e){var{$table:l,column:r}=e,{slots:r,contentRender:t}=r,r=r?r.content:null;if(r)return l.callSlot(r,e);if(t){l=renderer.get(t.name);if(l){r=l.renderTableExpand||l.renderExpand;if(r)return(0,_vn.getSlotVNs)(r(t,e))}}return[]},renderHTMLCell(e){var{$table:l,column:r}=e,r=r.slots,r=r?r.default:null;return renderCellBaseVNs(e,r?l.callSlot(r,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})])},renderTreeHTMLCell(e){return Cell.renderTreeIcon(e,Cell.renderHTMLCell(e))},renderSortAndFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e).concat(Cell.renderFilterIcon(e))))},renderSortHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e)))},renderSortIcon(e){let{$table:l,column:r}=e;var t=l.getComputeMaps().computeSortOpts,{showIcon:t,allowBtn:n,ascTitle:a,descTitle:o,iconLayout:s,iconAsc:d,iconDesc:i,iconVisibleMethod:c}=t.value,u=r.order;return!t||c&&!c(e)?[]:[(0,_vue.h)("span",{class:["vxe-cell--sort",`vxe-cell--sort-${s}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",d||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===u}],title:_xeUtils.default.eqNull(a)?getI18n("vxe.table.sortAsc"):""+(a||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,r,"asc")}:void 0}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",i||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===u}],title:_xeUtils.default.eqNull(o)?getI18n("vxe.table.sortDesc"):""+(o||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,r,"desc")}:void 0})])]},renderFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderFilterIcon(e)))},renderFilterIcon(l){let{$table:r,column:e,hasFilter:t}=l;var n=r.reactData.filterStore,a=r.getComputeMaps().computeFilterOpts,{showIcon:a,iconNone:o,iconMatch:s,iconVisibleMethod:d}=a.value;return!a||d&&!d(l)?[]:[(0,_vue.h)("span",{class:["vxe-cell--filter",{"is--active":n.visible&&n.column===e}]},[(0,_vue.h)("i",{class:["vxe-filter--btn",t?s||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],title:getI18n("vxe.table.filter"),onClick(e){r.triggerFilterEvent&&r.triggerFilterEvent(e,l.column,l)}})])]},renderEditHeader(e){var{$table:l,column:r}=e,t=l.props,n=l.getComputeMaps().computeEditOpts,{editConfig:t,editRules:a}=t,n=n.value,{sortable:o,filters:s,editRender:d}=r;let i=!1,c=(a&&(a=_xeUtils.default.get(a,r.field))&&(i=a.some(e=>e.required)),[]);return renderHeaderCellBaseVNs(e,(c=(0,_utils.isEnableConf)(t)?[i&&n.showAsterisk?(0,_vue.h)("i",{class:"vxe-cell--required-icon"}):renderEmptyElement(l),(0,_utils.isEnableConf)(d)&&n.showIcon?(0,_vue.h)("i",{class:["vxe-cell--edit-icon",n.icon||getIcon().TABLE_EDIT]}):renderEmptyElement(l)]:c).concat(Cell.renderHeaderTitle(e)).concat(o?Cell.renderSortIcon(e):[]).concat(s?Cell.renderFilterIcon(e):[]))},renderRowEdit(e){var{$table:l,column:r}=e,l=l.reactData.editStore,l=l.actived,r=r.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row)},renderTreeRowEdit(e){return Cell.renderTreeIcon(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:r}=e,l=l.reactData.editStore,l=l.actived,r=r.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row&&l.column===e.column)},renderTreeCellEdit(e){return Cell.renderTreeIcon(e,Cell.renderCellEdit(e))},runRenderer(e,l){var{$table:r,column:t}=e,{slots:t,editRender:n,formatter:a}=t,o=t?t.default:null,t=t?t.edit:null,s=renderer.get(n.name),s=s?s.renderTableEdit||s.renderEdit:null,d=Object.assign({$type:"",isEdit:l},e);return l?(d.$type="edit",t?r.callSlot(t,d):s?(0,_vn.getSlotVNs)(s(n,d)):[]):o?renderCellBaseVNs(e,r.callSlot(o,d)):a?renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(d))]):Cell.renderDefaultCell(d)}};var _default=exports.default=Cell;
|
|
@@ -22,12 +22,10 @@ class ColumnInfo {
|
|
|
22
22
|
renderFooter,
|
|
23
23
|
renderData
|
|
24
24
|
} = {}) {
|
|
25
|
-
const
|
|
25
|
+
const tableProps = $xeTable.props;
|
|
26
|
+
const $xeGrid = $xeTable.xeGrid;
|
|
26
27
|
const formatter = _vm.formatter;
|
|
27
28
|
const visible = _xeUtils.default.isBoolean(_vm.visible) ? _vm.visible : true;
|
|
28
|
-
const {
|
|
29
|
-
props: tableProps
|
|
30
|
-
} = $xeTable;
|
|
31
29
|
const types = ['seq', 'checkbox', 'radio', 'expand', 'html'];
|
|
32
30
|
if (_vm.type && types.indexOf(_vm.type) === -1) {
|
|
33
31
|
(0, _log.warnLog)('vxe.error.errProp', [`type=${_vm.type}`, types.join(', ')]);
|