vxe-table 3.21.4 → 3.21.5
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/style.css +1 -1
- package/es/table/module/export/mixin.js +3 -3
- package/es/table/src/cell.js +8 -7
- package/es/table/src/columnInfo.js +1 -4
- package/es/table/src/methods.js +84 -0
- package/es/table/src/util.js +1 -0
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +18 -21
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/export/mixin.js +3 -3
- package/lib/table/module/export/mixin.min.js +1 -1
- package/lib/table/src/cell.js +8 -8
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/columnInfo.js +1 -5
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/methods.js +3 -3
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/util.js +1 -0
- package/lib/table/src/util.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/table/module/export/mixin.ts +3 -3
- package/packages/table/src/cell.ts +8 -7
- package/packages/table/src/columnInfo.ts +1 -5
- package/packages/table/src/methods.ts +85 -0
- package/packages/table/src/util.ts +1 -0
- /package/es/{iconfont.1779936730544.ttf → iconfont.1780200130470.ttf} +0 -0
- /package/es/{iconfont.1779936730544.woff → iconfont.1780200130470.woff} +0 -0
- /package/es/{iconfont.1779936730544.woff2 → iconfont.1780200130470.woff2} +0 -0
- /package/lib/{iconfont.1779936730544.ttf → iconfont.1780200130470.ttf} +0 -0
- /package/lib/{iconfont.1779936730544.woff → iconfont.1780200130470.woff} +0 -0
- /package/lib/{iconfont.1779936730544.woff2 → iconfont.1780200130470.woff2} +0 -0
|
@@ -365,7 +365,7 @@ function getBooleanValue(cellValue) {
|
|
|
365
365
|
function getHeaderTitle($xeTable, opts, column) {
|
|
366
366
|
const columnOpts = $xeTable.computeColumnOpts;
|
|
367
367
|
const headExportMethod = column.headerExportMethod || columnOpts.headerExportMethod;
|
|
368
|
-
return headExportMethod ? headExportMethod({ column, options: opts, $table: $xeTable }) : ((opts.isTitle ?
|
|
368
|
+
return headExportMethod ? headExportMethod({ column, options: opts, $table: $xeTable }) : ((opts.isTitle ? $xeTable.getHeaderCellLabel(column) : column.field) || '');
|
|
369
369
|
}
|
|
370
370
|
function getFooterCellValue($xeTable, opts, row, column) {
|
|
371
371
|
const columnOpts = $xeTable.computeColumnOpts;
|
|
@@ -883,12 +883,12 @@ function handleImport($xeTable, content, opts) {
|
|
|
883
883
|
const tableTitleMaps = {};
|
|
884
884
|
tableFullColumn.forEach((column) => {
|
|
885
885
|
const field = column.field;
|
|
886
|
-
const title =
|
|
886
|
+
const title = $xeTable.getHeaderCellLabel(column);
|
|
887
887
|
if (field) {
|
|
888
888
|
tableFieldMaps[field] = column;
|
|
889
889
|
}
|
|
890
890
|
if (title) {
|
|
891
|
-
tableTitleMaps[
|
|
891
|
+
tableTitleMaps[title] = column;
|
|
892
892
|
}
|
|
893
893
|
});
|
|
894
894
|
const tableConf = {
|
package/es/table/src/cell.js
CHANGED
|
@@ -358,7 +358,7 @@ export const Cell = {
|
|
|
358
358
|
return getSlotVNs(renderTitleContent(h, params, rtHeader.call($table, h, renderOpts, params)));
|
|
359
359
|
}
|
|
360
360
|
}
|
|
361
|
-
return renderTitleContent(h, params,
|
|
361
|
+
return renderTitleContent(h, params, $table.getHeaderCellLabel(column));
|
|
362
362
|
},
|
|
363
363
|
renderDefaultHeader(h, params) {
|
|
364
364
|
return renderHeaderCellBaseVNs(h, params, Cell.renderHeaderTitle(h, params));
|
|
@@ -370,7 +370,7 @@ export const Cell = {
|
|
|
370
370
|
const tableInternalData = $table;
|
|
371
371
|
const { isRowGroupStatus } = tableReactData;
|
|
372
372
|
const { editConfig } = tableProps;
|
|
373
|
-
const { field, slots, editRender, cellRender, rowGroupNode, aggFunc
|
|
373
|
+
const { field, slots, editRender, cellRender, rowGroupNode, aggFunc } = column;
|
|
374
374
|
const isEnableEdit = editConfig && isEnableConf(editConfig);
|
|
375
375
|
const editRenderOpts = isEnableEdit && isEnableConf(editRender) ? editRender : null;
|
|
376
376
|
const cellRenderOpts = isEnableConf(cellRender) ? cellRender : null;
|
|
@@ -445,8 +445,9 @@ export const Cell = {
|
|
|
445
445
|
return renderCellBaseVNs(h, params, $table.callSlot(defaultSlot, params, h));
|
|
446
446
|
}
|
|
447
447
|
const renderOpts = editRenderOpts || cellRenderOpts;
|
|
448
|
-
//
|
|
449
|
-
|
|
448
|
+
// 如果是编辑表格:renderTableCell > formatter
|
|
449
|
+
// 如果是查看表格:renderTableDefault > formatter
|
|
450
|
+
if (renderOpts) {
|
|
450
451
|
const compConf = renderer.get(renderOpts.name);
|
|
451
452
|
if (compConf) {
|
|
452
453
|
const renderFn = editRenderOpts ? (compConf.renderTableCell || compConf.renderCell) : (compConf.renderTableDefault || compConf.renderDefault);
|
|
@@ -620,7 +621,7 @@ export const Cell = {
|
|
|
620
621
|
renderSeqHeader(h, params) {
|
|
621
622
|
const { $table, column } = params;
|
|
622
623
|
const { slots } = column;
|
|
623
|
-
return renderHeaderCellBaseVNs(h, params, renderTitleContent(h, params, slots && slots.header ? $table.callSlot(slots.header, params, h) :
|
|
624
|
+
return renderHeaderCellBaseVNs(h, params, renderTitleContent(h, params, slots && slots.header ? $table.callSlot(slots.header, params, h) : $table.getHeaderCellLabel(column)));
|
|
624
625
|
},
|
|
625
626
|
renderSeqCell(h, params) {
|
|
626
627
|
const { $table, column } = params;
|
|
@@ -653,7 +654,7 @@ export const Cell = {
|
|
|
653
654
|
: [
|
|
654
655
|
h('span', {
|
|
655
656
|
class: 'vxe-radio--label'
|
|
656
|
-
}, titleSlot ? $table.callSlot(titleSlot, params, h) :
|
|
657
|
+
}, titleSlot ? $table.callSlot(titleSlot, params, h) : $table.getHeaderCellLabel(column))
|
|
657
658
|
]));
|
|
658
659
|
},
|
|
659
660
|
renderRadioCell(h, params) {
|
|
@@ -723,7 +724,7 @@ export const Cell = {
|
|
|
723
724
|
const titleSlot = slots ? slots.title : null;
|
|
724
725
|
const checkboxOpts = $table.computeCheckboxOpts;
|
|
725
726
|
const { checkStrictly, showHeader, headerTitle } = checkboxOpts;
|
|
726
|
-
const colTitle =
|
|
727
|
+
const colTitle = $table.getHeaderCellLabel(column);
|
|
727
728
|
const ons = {};
|
|
728
729
|
if (!isHidden) {
|
|
729
730
|
ons.click = (evnt) => {
|
|
@@ -11,7 +11,7 @@ export class ColumnInfo {
|
|
|
11
11
|
const $xeGrid = $xeTable.$xeGrid;
|
|
12
12
|
const $xeGantt = $xeTable.$xeGantt;
|
|
13
13
|
const $xeGGWrapper = $xeGrid || $xeGantt;
|
|
14
|
-
const { field, editRender, filterRender
|
|
14
|
+
const { field, editRender, filterRender } = _vm;
|
|
15
15
|
const colId = _vm.colId || XEUtils.uniqueId('col_');
|
|
16
16
|
const proxyOpts = $xeGrid ? $xeGrid.computeProxyOpts : null;
|
|
17
17
|
const formatter = _vm.formatter;
|
|
@@ -19,9 +19,6 @@ export class ColumnInfo {
|
|
|
19
19
|
const flCompConf = isEnableConf(filterRender) ? renderer.get(filterRender.name) : null;
|
|
20
20
|
const ctFilterOptions = flCompConf ? flCompConf.createTableFilterOptions : null;
|
|
21
21
|
const filters = toFilters(_vm.filters, colId);
|
|
22
|
-
if (headerFormatter) {
|
|
23
|
-
errLog('vxe.error.notProp', ['header-formatter']);
|
|
24
|
-
}
|
|
25
22
|
const types = ['seq', 'checkbox', 'radio', 'expand', 'html'];
|
|
26
23
|
if (_vm.type && types.indexOf(_vm.type) === -1) {
|
|
27
24
|
warnLog('vxe.error.errProp', [`type=${_vm.type}`, types.join(', ')]);
|
package/es/table/src/methods.js
CHANGED
|
@@ -3786,6 +3786,7 @@ function handleInitColumn($xeTable, collectColumn) {
|
|
|
3786
3786
|
loadScrollXData($xeTable);
|
|
3787
3787
|
}
|
|
3788
3788
|
});
|
|
3789
|
+
$xeTable.clearHeaderFormatterCache();
|
|
3789
3790
|
$xeTable.clearMergeCells();
|
|
3790
3791
|
$xeTable.clearMergeFooterItems();
|
|
3791
3792
|
$xeTable.handleTableData(true);
|
|
@@ -5408,6 +5409,88 @@ const tableMethods = {
|
|
|
5408
5409
|
}
|
|
5409
5410
|
return $xeTable.$nextTick();
|
|
5410
5411
|
},
|
|
5412
|
+
getHeaderCellLabel(fieldOrColumn) {
|
|
5413
|
+
const $xeTable = this;
|
|
5414
|
+
const internalData = $xeTable;
|
|
5415
|
+
const column = handleFieldOrColumn($xeTable, fieldOrColumn);
|
|
5416
|
+
if (!column) {
|
|
5417
|
+
return null;
|
|
5418
|
+
}
|
|
5419
|
+
const { headerFormatter } = column;
|
|
5420
|
+
const _columnIndex = $xeTable.getVTColumnIndex(column);
|
|
5421
|
+
let cellLabel = column.getTitle();
|
|
5422
|
+
if (headerFormatter) {
|
|
5423
|
+
let formatData;
|
|
5424
|
+
const { headerFullDataColData } = internalData;
|
|
5425
|
+
const colid = column.id;
|
|
5426
|
+
let colRest = headerFullDataColData[colid];
|
|
5427
|
+
if (!colRest) {
|
|
5428
|
+
colRest = headerFullDataColData[colid] = {};
|
|
5429
|
+
}
|
|
5430
|
+
const formatObj = colRest.formatObj;
|
|
5431
|
+
if (formatObj && formatObj.value === cellLabel) {
|
|
5432
|
+
return formatObj.label;
|
|
5433
|
+
}
|
|
5434
|
+
const headFormatParams = {
|
|
5435
|
+
$table: $xeTable,
|
|
5436
|
+
cellTitle: cellLabel,
|
|
5437
|
+
cellValue: cellLabel,
|
|
5438
|
+
column,
|
|
5439
|
+
_columnIndex,
|
|
5440
|
+
columnIndex: $xeTable.getColumnIndex(column)
|
|
5441
|
+
};
|
|
5442
|
+
if (XEUtils.isString(headerFormatter)) {
|
|
5443
|
+
const gFormatOpts = formats.get(headerFormatter);
|
|
5444
|
+
const fcFormatMethod = gFormatOpts ? gFormatOpts.tableHeaderCellFormatMethod : null;
|
|
5445
|
+
cellLabel = XEUtils.toValueString(fcFormatMethod ? fcFormatMethod(headFormatParams) : '');
|
|
5446
|
+
}
|
|
5447
|
+
else if (XEUtils.isArray(headerFormatter)) {
|
|
5448
|
+
const gFormatOpts = formats.get(headerFormatter[0]);
|
|
5449
|
+
const fcFormatMethod = gFormatOpts ? gFormatOpts.tableHeaderCellFormatMethod : null;
|
|
5450
|
+
cellLabel = XEUtils.toValueString(fcFormatMethod ? fcFormatMethod(headFormatParams, ...headerFormatter.slice(1)) : '');
|
|
5451
|
+
}
|
|
5452
|
+
else {
|
|
5453
|
+
cellLabel = XEUtils.toValueString(headerFormatter(headFormatParams));
|
|
5454
|
+
}
|
|
5455
|
+
if (formatData) {
|
|
5456
|
+
colRest.formatObj = { value: cellLabel, label: cellLabel };
|
|
5457
|
+
}
|
|
5458
|
+
}
|
|
5459
|
+
return cellLabel;
|
|
5460
|
+
},
|
|
5461
|
+
updateHeaderCellLabel(fieldOrColumn) {
|
|
5462
|
+
const $xeTable = this;
|
|
5463
|
+
const internalData = $xeTable;
|
|
5464
|
+
const column = handleFieldOrColumn($xeTable, fieldOrColumn);
|
|
5465
|
+
if (!column) {
|
|
5466
|
+
return '';
|
|
5467
|
+
}
|
|
5468
|
+
const { headerFullDataColData } = internalData;
|
|
5469
|
+
const colid = column.id;
|
|
5470
|
+
const colRest = headerFullDataColData[colid];
|
|
5471
|
+
if (colRest) {
|
|
5472
|
+
colRest.formatObj = undefined;
|
|
5473
|
+
}
|
|
5474
|
+
return $xeTable.getHeaderCellLabel(column);
|
|
5475
|
+
},
|
|
5476
|
+
clearHeaderFormatterCache(isUpdate) {
|
|
5477
|
+
const $xeTable = this;
|
|
5478
|
+
const reactData = $xeTable;
|
|
5479
|
+
const internalData = $xeTable;
|
|
5480
|
+
const { tableColumn } = reactData;
|
|
5481
|
+
const { headerFullDataColData } = internalData;
|
|
5482
|
+
XEUtils.each(headerFullDataColData, (colRest) => {
|
|
5483
|
+
if (colRest.formatObj) {
|
|
5484
|
+
colRest.formatObj = undefined;
|
|
5485
|
+
}
|
|
5486
|
+
});
|
|
5487
|
+
if (isUpdate) {
|
|
5488
|
+
tableColumn.forEach(column => {
|
|
5489
|
+
$xeTable.getHeaderCellLabel(column);
|
|
5490
|
+
});
|
|
5491
|
+
}
|
|
5492
|
+
return $xeTable.$nextTick();
|
|
5493
|
+
},
|
|
5411
5494
|
getFooterCellLabel(row, fieldOrColumn) {
|
|
5412
5495
|
const $xeTable = this;
|
|
5413
5496
|
const reactData = $xeTable;
|
|
@@ -12458,6 +12541,7 @@ const tableMethods = {
|
|
|
12458
12541
|
footData = visibleColumn.length ? footerMethod({ columns: visibleColumn, data: afterFullData, $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt }) : [];
|
|
12459
12542
|
}
|
|
12460
12543
|
reactData.footerTableData = footData;
|
|
12544
|
+
$xeTable.clearFooterFormatterCache();
|
|
12461
12545
|
$xeTable.handleUpdateFooterMerge();
|
|
12462
12546
|
$xeTable.dispatchEvent('footer-data-change', {
|
|
12463
12547
|
visibleColumn: internalData.visibleColumn,
|
package/es/table/src/util.js
CHANGED
package/es/ui/index.js
CHANGED
package/es/ui/src/log.js
CHANGED
package/lib/index.umd.js
CHANGED
|
@@ -3311,7 +3311,7 @@ function getClass(property, params) {
|
|
|
3311
3311
|
/* unused harmony import specifier */ var VxeUI;
|
|
3312
3312
|
|
|
3313
3313
|
|
|
3314
|
-
const version = "3.21.
|
|
3314
|
+
const version = "3.21.5";
|
|
3315
3315
|
core_.VxeUI.version = version;
|
|
3316
3316
|
core_.VxeUI.tableVersion = version;
|
|
3317
3317
|
core_.VxeUI.setConfig({
|
|
@@ -3842,7 +3842,7 @@ var es_iterator_some = __webpack_require__(3579);
|
|
|
3842
3842
|
const {
|
|
3843
3843
|
log: log_log
|
|
3844
3844
|
} = core_.VxeUI;
|
|
3845
|
-
const log_version = `table v${"3.21.
|
|
3845
|
+
const log_version = `table v${"3.21.5"}`;
|
|
3846
3846
|
const warnLog = log_log.create('warn', log_version);
|
|
3847
3847
|
const errLog = log_log.create('error', log_version);
|
|
3848
3848
|
;// ./packages/table/src/columnInfo.ts
|
|
@@ -3871,8 +3871,7 @@ class ColumnInfo {
|
|
|
3871
3871
|
const {
|
|
3872
3872
|
field,
|
|
3873
3873
|
editRender,
|
|
3874
|
-
filterRender
|
|
3875
|
-
headerFormatter
|
|
3874
|
+
filterRender
|
|
3876
3875
|
} = _vm;
|
|
3877
3876
|
const colId = _vm.colId || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().uniqueId('col_');
|
|
3878
3877
|
const proxyOpts = $xeGrid ? $xeGrid.computeProxyOpts : null;
|
|
@@ -3881,9 +3880,6 @@ class ColumnInfo {
|
|
|
3881
3880
|
const flCompConf = isEnableConf(filterRender) ? columnInfo_renderer.get(filterRender.name) : null;
|
|
3882
3881
|
const ctFilterOptions = flCompConf ? flCompConf.createTableFilterOptions : null;
|
|
3883
3882
|
const filters = toFilters(_vm.filters, colId);
|
|
3884
|
-
if (headerFormatter) {
|
|
3885
|
-
errLog('vxe.error.notProp', ['header-formatter']);
|
|
3886
|
-
}
|
|
3887
3883
|
const types = ['seq', 'checkbox', 'radio', 'expand', 'html'];
|
|
3888
3884
|
if (_vm.type && types.indexOf(_vm.type) === -1) {
|
|
3889
3885
|
warnLog('vxe.error.errProp', [`type=${_vm.type}`, types.join(', ')]);
|
|
@@ -4393,6 +4389,7 @@ function createInternalData() {
|
|
|
4393
4389
|
// 数据集(仅可视)
|
|
4394
4390
|
visibleDataRowIdData: {},
|
|
4395
4391
|
keepUpdateFieldMaps: {},
|
|
4392
|
+
headerFullDataColData: {},
|
|
4396
4393
|
footerFullDataRowData: {},
|
|
4397
4394
|
// 渲染中缓存数据
|
|
4398
4395
|
sourceDataRowIdData: {},
|
|
@@ -5816,7 +5813,7 @@ const Cell = {
|
|
|
5816
5813
|
return getSlotVNs(renderTitleContent(h, params, rtHeader.call($table, h, renderOpts, params)));
|
|
5817
5814
|
}
|
|
5818
5815
|
}
|
|
5819
|
-
return renderTitleContent(h, params,
|
|
5816
|
+
return renderTitleContent(h, params, $table.getHeaderCellLabel(column));
|
|
5820
5817
|
},
|
|
5821
5818
|
renderDefaultHeader(h, params) {
|
|
5822
5819
|
return renderHeaderCellBaseVNs(h, params, Cell.renderHeaderTitle(h, params));
|
|
@@ -5842,8 +5839,7 @@ const Cell = {
|
|
|
5842
5839
|
editRender,
|
|
5843
5840
|
cellRender,
|
|
5844
5841
|
rowGroupNode,
|
|
5845
|
-
aggFunc
|
|
5846
|
-
formatter
|
|
5842
|
+
aggFunc
|
|
5847
5843
|
} = column;
|
|
5848
5844
|
const isEnableEdit = editConfig && isEnableConf(editConfig);
|
|
5849
5845
|
const editRenderOpts = isEnableEdit && isEnableConf(editRender) ? editRender : null;
|
|
@@ -5941,8 +5937,9 @@ const Cell = {
|
|
|
5941
5937
|
return renderCellBaseVNs(h, params, $table.callSlot(defaultSlot, params, h));
|
|
5942
5938
|
}
|
|
5943
5939
|
const renderOpts = editRenderOpts || cellRenderOpts;
|
|
5944
|
-
//
|
|
5945
|
-
|
|
5940
|
+
// 如果是编辑表格:renderTableCell > formatter
|
|
5941
|
+
// 如果是查看表格:renderTableDefault > formatter
|
|
5942
|
+
if (renderOpts) {
|
|
5946
5943
|
const compConf = cell_renderer.get(renderOpts.name);
|
|
5947
5944
|
if (compConf) {
|
|
5948
5945
|
const renderFn = editRenderOpts ? compConf.renderTableCell || compConf.renderCell : compConf.renderTableDefault || compConf.renderDefault;
|
|
@@ -6145,7 +6142,7 @@ const Cell = {
|
|
|
6145
6142
|
const {
|
|
6146
6143
|
slots
|
|
6147
6144
|
} = column;
|
|
6148
|
-
return renderHeaderCellBaseVNs(h, params, renderTitleContent(h, params, slots && slots.header ? $table.callSlot(slots.header, params, h) :
|
|
6145
|
+
return renderHeaderCellBaseVNs(h, params, renderTitleContent(h, params, slots && slots.header ? $table.callSlot(slots.header, params, h) : $table.getHeaderCellLabel(column)));
|
|
6149
6146
|
},
|
|
6150
6147
|
renderSeqCell(h, params) {
|
|
6151
6148
|
const {
|
|
@@ -6187,7 +6184,7 @@ const Cell = {
|
|
|
6187
6184
|
const titleSlot = slots ? slots.title : null;
|
|
6188
6185
|
return renderHeaderCellBaseVNs(h, params, renderTitleContent(h, params, headerSlot ? $table.callSlot(headerSlot, params, h) : [h('span', {
|
|
6189
6186
|
class: 'vxe-radio--label'
|
|
6190
|
-
}, titleSlot ? $table.callSlot(titleSlot, params, h) :
|
|
6187
|
+
}, titleSlot ? $table.callSlot(titleSlot, params, h) : $table.getHeaderCellLabel(column))]));
|
|
6191
6188
|
},
|
|
6192
6189
|
renderRadioCell(h, params) {
|
|
6193
6190
|
const {
|
|
@@ -6292,7 +6289,7 @@ const Cell = {
|
|
|
6292
6289
|
showHeader,
|
|
6293
6290
|
headerTitle
|
|
6294
6291
|
} = checkboxOpts;
|
|
6295
|
-
const colTitle =
|
|
6292
|
+
const colTitle = $table.getHeaderCellLabel(column);
|
|
6296
6293
|
const ons = {};
|
|
6297
6294
|
if (!isHidden) {
|
|
6298
6295
|
ons.click = evnt => {
|
|
@@ -7843,7 +7840,7 @@ tableFullColumn.forEach(column=>{if(column.visible){if(column.fixed==='left'){le
|
|
|
7843
7840
|
// }
|
|
7844
7841
|
if(props.spanMethod){warnLog('vxe.error.scrollErrProp',['span-method']);}if(props.footerSpanMethod){warnLog('vxe.error.scrollErrProp',['footer-span-method']);}if(isReset){const{visibleSize}=handleVirtualXVisible($xeTable);scrollXStore.startIndex=0;scrollXStore.endIndex=visibleSize;scrollXStore.visibleSize=visibleSize;scrollXStore.visibleStartIndex=0;scrollXStore.visibleEndIndex=visibleSize;}}// 如果列被显示/隐藏,则清除合并状态
|
|
7845
7842
|
// 如果列被设置为固定,则清除合并状态
|
|
7846
|
-
if(visibleColumn.length!==internalData.visibleColumn.length||!internalData.visibleColumn.every((column,index)=>column===visibleColumn[index])){$xeTable.clearMergeCells();$xeTable.clearMergeFooterItems();}visibleColumn.forEach((column,index)=>{const colid=column.id;const colRest=fullColumnIdData[colid];if(colRest){colRest._index=index;}});handleTableColumn($xeTable);handleUpdateAggValues($xeTable);if(isReset){return $xeTable.updateFooter().then(()=>{return $xeTable.recalculate();}).then(()=>{$xeTable.updateCellAreas();return $xeTable.recalculate();});}return $xeTable.updateFooter();}function initColumnHierarchy($xeTable){const internalData=$xeTable;const{collectColumn}=internalData;const fullColIdData={};const fullColFieldData={};let sortIndex=1;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn,(column,index,items,path,parentColumn)=>{const{id:colid,field}=column;const parentId=parentColumn?parentColumn.id:null;const rest={$index:-1,_index:-1,column,colid,index,items,parent:parentColumn||null,width:0,oLeft:0};column.parentId=parentId;column.defaultParentId=parentId;column.sortNumber=sortIndex;column.renderSortNumber=sortIndex;sortIndex++;if(field){if(fullColFieldData[field]){errLog('vxe.error.colRepet',['field',field]);}fullColFieldData[field]=rest;}fullColIdData[colid]=rest;});internalData.fullColumnIdData=fullColIdData;internalData.fullColumnFieldData=fullColFieldData;}function handleInitColumn($xeTable,collectColumn){const props=$xeTable;const $xeToolbar=$xeTable.$refs.$xeToolbar;const reactData=$xeTable;const internalData=$xeTable;const expandOpts=$xeTable.computeExpandOpts;internalData.collectColumn=collectColumn;const tFullColumn=getColumnList(collectColumn);internalData.tableFullColumn=tFullColumn;reactData.updateColFlag++;reactData.isColLoading=true;initColumnHierarchy($xeTable);return Promise.resolve(restoreCustomStorage($xeTable)).then(()=>{const{scrollXLoad,scrollYLoad,expandColumn}=reactData;cacheColumnMap($xeTable);parseColumns($xeTable,true).then(()=>{if(reactData.scrollXLoad){loadScrollXData($xeTable);}});$xeTable.clearMergeCells();$xeTable.clearMergeFooterItems();$xeTable.handleTableData(true);$xeTable.handleAggregateSummaryData();if((scrollXLoad||scrollYLoad)&&expandColumn&&expandOpts.mode!=='fixed'){warnLog('vxe.error.scrollErrProp',['column.type=expand']);}return $xeTable.$nextTick().then(()=>{if($xeToolbar){$xeToolbar.syncUpdate({collectColumn:internalData.collectColumn,$table:$xeTable});}if($xeTable.handleUpdateCustomColumn){$xeTable.handleUpdateCustomColumn();}const columnOpts=$xeTable.computeColumnOpts;if(props.showCustomHeader&&reactData.isGroup&&(columnOpts.resizable||props.resizable)){warnLog('vxe.error.notConflictProp',['show-custom-header & colgroup','column-config.resizable=false']);}reactData.isColLoading=false;return handleLazyRecalculate($xeTable,false,true,true);});});}/**
|
|
7843
|
+
if(visibleColumn.length!==internalData.visibleColumn.length||!internalData.visibleColumn.every((column,index)=>column===visibleColumn[index])){$xeTable.clearMergeCells();$xeTable.clearMergeFooterItems();}visibleColumn.forEach((column,index)=>{const colid=column.id;const colRest=fullColumnIdData[colid];if(colRest){colRest._index=index;}});handleTableColumn($xeTable);handleUpdateAggValues($xeTable);if(isReset){return $xeTable.updateFooter().then(()=>{return $xeTable.recalculate();}).then(()=>{$xeTable.updateCellAreas();return $xeTable.recalculate();});}return $xeTable.updateFooter();}function initColumnHierarchy($xeTable){const internalData=$xeTable;const{collectColumn}=internalData;const fullColIdData={};const fullColFieldData={};let sortIndex=1;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn,(column,index,items,path,parentColumn)=>{const{id:colid,field}=column;const parentId=parentColumn?parentColumn.id:null;const rest={$index:-1,_index:-1,column,colid,index,items,parent:parentColumn||null,width:0,oLeft:0};column.parentId=parentId;column.defaultParentId=parentId;column.sortNumber=sortIndex;column.renderSortNumber=sortIndex;sortIndex++;if(field){if(fullColFieldData[field]){errLog('vxe.error.colRepet',['field',field]);}fullColFieldData[field]=rest;}fullColIdData[colid]=rest;});internalData.fullColumnIdData=fullColIdData;internalData.fullColumnFieldData=fullColFieldData;}function handleInitColumn($xeTable,collectColumn){const props=$xeTable;const $xeToolbar=$xeTable.$refs.$xeToolbar;const reactData=$xeTable;const internalData=$xeTable;const expandOpts=$xeTable.computeExpandOpts;internalData.collectColumn=collectColumn;const tFullColumn=getColumnList(collectColumn);internalData.tableFullColumn=tFullColumn;reactData.updateColFlag++;reactData.isColLoading=true;initColumnHierarchy($xeTable);return Promise.resolve(restoreCustomStorage($xeTable)).then(()=>{const{scrollXLoad,scrollYLoad,expandColumn}=reactData;cacheColumnMap($xeTable);parseColumns($xeTable,true).then(()=>{if(reactData.scrollXLoad){loadScrollXData($xeTable);}});$xeTable.clearHeaderFormatterCache();$xeTable.clearMergeCells();$xeTable.clearMergeFooterItems();$xeTable.handleTableData(true);$xeTable.handleAggregateSummaryData();if((scrollXLoad||scrollYLoad)&&expandColumn&&expandOpts.mode!=='fixed'){warnLog('vxe.error.scrollErrProp',['column.type=expand']);}return $xeTable.$nextTick().then(()=>{if($xeToolbar){$xeToolbar.syncUpdate({collectColumn:internalData.collectColumn,$table:$xeTable});}if($xeTable.handleUpdateCustomColumn){$xeTable.handleUpdateCustomColumn();}const columnOpts=$xeTable.computeColumnOpts;if(props.showCustomHeader&&reactData.isGroup&&(columnOpts.resizable||props.resizable)){warnLog('vxe.error.notConflictProp',['show-custom-header & colgroup','column-config.resizable=false']);}reactData.isColLoading=false;return handleLazyRecalculate($xeTable,false,true,true);});});}/**
|
|
7847
7844
|
* 纵向 Y 可视渲染处理
|
|
7848
7845
|
*/function loadScrollYData($xeTable){const reactData=$xeTable;const internalData=$xeTable;const{isAllOverflow,isScrollYBig}=reactData;const{mergeBodyList,mergeBodyRowMaps,scrollYStore}=internalData;const{preloadSize,startIndex,endIndex,offsetSize}=scrollYStore;const autoOffsetYSize=isAllOverflow?offsetSize:offsetSize+1;const{toVisibleIndex,visibleSize}=handleVirtualYVisible($xeTable);const offsetItem={startIndex:Math.max(0,isScrollYBig?toVisibleIndex-1:toVisibleIndex-1-offsetSize-preloadSize),endIndex:isScrollYBig?toVisibleIndex+visibleSize:toVisibleIndex+visibleSize+autoOffsetYSize+preloadSize};scrollYStore.visibleStartIndex=toVisibleIndex-1;scrollYStore.visibleEndIndex=toVisibleIndex+visibleSize+1;calculateMergerOffsetIndex(mergeBodyList,mergeBodyRowMaps,offsetItem,'row');const{startIndex:offsetStartIndex,endIndex:offsetEndIndex}=offsetItem;if(toVisibleIndex<=startIndex||toVisibleIndex>=endIndex-visibleSize-1){if(startIndex!==offsetStartIndex||endIndex!==offsetEndIndex){scrollYStore.startIndex=offsetStartIndex;scrollYStore.endIndex=offsetEndIndex;$xeTable.updateScrollYData();}}}const createGetRowCacheProp=prop=>{return function(row){const $xeTable=this;const internalData=$xeTable;const{fullAllDataRowIdData}=internalData;if(row){const rowid=getRowid($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){return rowRest[prop];}}return-1;};};const createGetColumnCacheProp=prop=>{return function(column){const $xeTable=this;const internalData=$xeTable;const{fullColumnIdData}=internalData;if(column){const colRest=fullColumnIdData[column.id];if(colRest){return colRest[prop];}}return-1;};};function lazyScrollXData($xeTable){const internalData=$xeTable;const{lxTimeout,lxRunTime,scrollXStore}=internalData;const{visibleSize}=scrollXStore;const fpsTime=visibleSize>26?26:visibleSize>16?14:6;if(lxTimeout){clearTimeout(lxTimeout);}if(!lxRunTime||lxRunTime+fpsTime<Date.now()){internalData.lxRunTime=Date.now();loadScrollXData($xeTable);}internalData.lxTimeout=setTimeout(()=>{internalData.lxTimeout=undefined;internalData.lxRunTime=undefined;loadScrollXData($xeTable);},fpsTime);}function lazyScrollYData($xeTable){const internalData=$xeTable;const{lyTimeout,lyRunTime,scrollYStore}=internalData;const{visibleSize}=scrollYStore;const fpsTime=visibleSize>30?32:visibleSize>20?18:8;if(lyTimeout){clearTimeout(lyTimeout);}if(!lyRunTime||lyRunTime+fpsTime<Date.now()){internalData.lyRunTime=Date.now();loadScrollYData($xeTable);}internalData.lyTimeout=setTimeout(()=>{internalData.lyTimeout=undefined;internalData.lyRunTime=undefined;loadScrollYData($xeTable);},fpsTime);}function handleSyncScroll($xeTable,isRollX,isRollY){const reactData=$xeTable;const internalData=$xeTable;const{scrollXLoad,scrollYLoad,isAllOverflow}=reactData;internalData.lcsRunTime=Date.now();internalData.lcsTimeout=undefined;internalData.intoRunScroll=false;internalData.inVirtualScroll=false;internalData.inWheelScroll=false;internalData.inHeaderScroll=false;internalData.inBodyScroll=false;internalData.inFooterScroll=false;reactData.lazScrollLoading=false;internalData.scrollRenderType='';let xRest=null;let yRest=null;if(!isAllOverflow){calcCellHeight($xeTable);updateRowOffsetTop($xeTable);}if(isRollX&&scrollXLoad){xRest=$xeTable.updateScrollXData();}if(isRollY&&scrollYLoad){yRest=$xeTable.updateScrollYData().then(()=>{if(!isAllOverflow){calcCellHeight($xeTable);updateRowOffsetTop($xeTable);}return $xeTable.updateScrollYSpace();});}updateRowExpandStyle($xeTable);return Promise.all([xRest,yRest,scrollXLoad||scrollYLoad?$xeTable.updateCellAreas():null]);}function checkLastSyncScroll($xeTable,isRollX,isRollY){const reactData=$xeTable;const internalData=$xeTable;const{lcsTimeout}=internalData;reactData.lazScrollLoading=true;if(lcsTimeout){clearTimeout(lcsTimeout);}internalData.lcsTimeout=setTimeout(()=>{handleSyncScroll($xeTable,isRollX,isRollY).then(()=>{if(reactData.scrollXLoad||reactData.scrollYLoad){$xeTable.$nextTick(()=>{updateRowExpandStyle($xeTable);if(!internalData.lcsTimeout){handleSyncScroll($xeTable,isRollX,isRollY);}});}});},240);}const getWheelSpeed=lastScrollTime=>{let multiple=1;const currTime=Date.now();if(lastScrollTime+25>currTime){multiple=1.18;}else if(lastScrollTime+30>currTime){multiple=1.15;}else if(lastScrollTime+40>currTime){multiple=1.12;}else if(lastScrollTime+55>currTime){multiple=1.09;}else if(lastScrollTime+75>currTime){multiple=1.06;}else if(lastScrollTime+100>currTime){multiple=1.03;}return multiple;};const syncGanttScrollTop=($xeTable,scrollTop)=>{const internalData=$xeTable;const $xeGanttView=internalData.xeGanttView;if($xeGanttView){const ganttInternalData=$xeGanttView.internalData;const{elemStore:ganttElemStore}=ganttInternalData;const ganttBodyScrollElem=getRefElem(ganttElemStore['main-body-scroll']);if(ganttBodyScrollElem){ganttBodyScrollElem.scrollTop=scrollTop;}}};function updateHeight($xeTable){const reactData=$xeTable;const internalData=$xeTable;internalData.customHeight=calcTableHeight($xeTable,'height');internalData.customMinHeight=calcTableHeight($xeTable,'minHeight');internalData.customMaxHeight=calcTableHeight($xeTable,'maxHeight');// 如果启用虚拟滚动,纠正高度
|
|
7849
7846
|
if(reactData.scrollYLoad&&!(internalData.customHeight||internalData.customMinHeight||internalData.customMaxHeight)){internalData.customHeight=300;}}/**
|
|
@@ -7978,7 +7975,7 @@ if(eqEmptyValue(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_x
|
|
|
7978
7975
|
* @param {Array/Row} rows 行数据
|
|
7979
7976
|
* @param {String} field 字段名
|
|
7980
7977
|
*/clearData(rows,field){const $xeTable=this;const internalData=$xeTable;const{tableFullData,visibleColumn}=internalData;if(!arguments.length){rows=tableFullData;}else if(rows&&!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)){rows=[rows];}if(field){rows.forEach(row=>external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row,field,null));}else{rows.forEach(row=>{visibleColumn.forEach(column=>{if(column.field){setCellValue(row,column,null);}});});}return $xeTable.$nextTick();},getCellElement(row,fieldOrColumn){const $xeTable=this;const internalData=$xeTable;const{elemStore}=internalData;const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(!column){return null;}const rowid=getRowid($xeTable,row);const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const leftScrollElem=getRefElem(elemStore['left-body-scroll']);const rightScrollElem=getRefElem(elemStore['right-body-scroll']);let bodyElem;if(column){if(column.fixed){if(column.fixed==='left'){if(leftScrollElem){bodyElem=leftScrollElem;}}else{if(rightScrollElem){bodyElem=rightScrollElem;}}}if(!bodyElem){bodyElem=bodyScrollElem;}if(bodyElem){return bodyElem.querySelector(`.vxe-body--row[rowid="${rowid}"] .${column.id}`);}}return null;},getCellLabel(row,fieldOrColumn){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(!column){return null;}const{editConfig}=props;const{formatter,editRender,cellRender}=column;// formatter > tableCellFormatter
|
|
7981
|
-
const renderOpts=formatter?null:editConfig&&isEnableConf(editRender)?editRender:isEnableConf(cellRender)?cellRender:null;const compConf=renderOpts?methods_renderer.get(renderOpts.name):null;const tcFormatter=compConf?compConf.tableCellFormatter:null;const cellValue=getCellValue(row,column);let cellLabel=cellValue;if(formatter||tcFormatter){let formatData;const{fullAllDataRowIdData}=internalData;const rowid=getRowid($xeTable,row);const colid=column.id;const rowRest=fullAllDataRowIdData[rowid];if(rowRest){formatData=rowRest.formatData;if(!formatData){formatData=fullAllDataRowIdData[rowid].formatData={};}if(rowRest&&formatData[colid]){if(formatData[colid].value===cellValue){return formatData[colid].label;}}}const formatParams={$table:$xeTable,cellValue,row,rowIndex:$xeTable.getRowIndex(row),column,columnIndex:$xeTable.getColumnIndex(column)};if(formatter){if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(formatter)){const gFormatOpts=methods_formats.get(formatter);const tcFormatMethod=gFormatOpts?gFormatOpts.tableCellFormatMethod||gFormatOpts.cellFormatMethod:null;cellLabel=tcFormatMethod?tcFormatMethod(formatParams):'';}else if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(formatter)){const gFormatOpts=methods_formats.get(formatter[0]);const tcFormatMethod=gFormatOpts?gFormatOpts.tableCellFormatMethod||gFormatOpts.cellFormatMethod:null;cellLabel=tcFormatMethod?tcFormatMethod(formatParams,...formatter.slice(1)):'';}else{cellLabel=formatter(formatParams);}}else if(renderOpts&&tcFormatter){cellLabel=tcFormatter(renderOpts,formatParams);}if(formatData){formatData[colid]={value:cellValue,label:cellLabel};}}return cellLabel;},updateCellLabel(row,fieldOrColumn){const $xeTable=this;const internalData=$xeTable;const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(!column){return null;}const{fullAllDataRowIdData}=internalData;const rowid=getRowid($xeTable,row);if(rowid){const colid=column.id;const rowid=getRowid($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const formatData=rowRest.formatData;if(formatData){delete formatData[colid];}}}return $xeTable.getFooterCellLabel(row,column);},clearFormatterCache(isUpdate){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{tableData,tableColumn}=reactData;const{fullAllDataRowIdData}=internalData;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(fullAllDataRowIdData,rowRest=>{if(rowRest.formatData){rowRest.formatData=undefined;}});if(isUpdate){tableData.forEach(row=>{tableColumn.forEach(column=>{$xeTable.getCellLabel(row,column);});});}return $xeTable.$nextTick();},getFooterCellLabel(row,fieldOrColumn){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(!column){return null;}const{footerFormatter}=column;const _columnIndex=$xeTable.getVTColumnIndex(column);let itemValue='';// 兼容老模式
|
|
7978
|
+
const renderOpts=formatter?null:editConfig&&isEnableConf(editRender)?editRender:isEnableConf(cellRender)?cellRender:null;const compConf=renderOpts?methods_renderer.get(renderOpts.name):null;const tcFormatter=compConf?compConf.tableCellFormatter:null;const cellValue=getCellValue(row,column);let cellLabel=cellValue;if(formatter||tcFormatter){let formatData;const{fullAllDataRowIdData}=internalData;const rowid=getRowid($xeTable,row);const colid=column.id;const rowRest=fullAllDataRowIdData[rowid];if(rowRest){formatData=rowRest.formatData;if(!formatData){formatData=fullAllDataRowIdData[rowid].formatData={};}if(rowRest&&formatData[colid]){if(formatData[colid].value===cellValue){return formatData[colid].label;}}}const formatParams={$table:$xeTable,cellValue,row,rowIndex:$xeTable.getRowIndex(row),column,columnIndex:$xeTable.getColumnIndex(column)};if(formatter){if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(formatter)){const gFormatOpts=methods_formats.get(formatter);const tcFormatMethod=gFormatOpts?gFormatOpts.tableCellFormatMethod||gFormatOpts.cellFormatMethod:null;cellLabel=tcFormatMethod?tcFormatMethod(formatParams):'';}else if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(formatter)){const gFormatOpts=methods_formats.get(formatter[0]);const tcFormatMethod=gFormatOpts?gFormatOpts.tableCellFormatMethod||gFormatOpts.cellFormatMethod:null;cellLabel=tcFormatMethod?tcFormatMethod(formatParams,...formatter.slice(1)):'';}else{cellLabel=formatter(formatParams);}}else if(renderOpts&&tcFormatter){cellLabel=tcFormatter(renderOpts,formatParams);}if(formatData){formatData[colid]={value:cellValue,label:cellLabel};}}return cellLabel;},updateCellLabel(row,fieldOrColumn){const $xeTable=this;const internalData=$xeTable;const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(!column){return null;}const{fullAllDataRowIdData}=internalData;const rowid=getRowid($xeTable,row);if(rowid){const colid=column.id;const rowid=getRowid($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const formatData=rowRest.formatData;if(formatData){delete formatData[colid];}}}return $xeTable.getFooterCellLabel(row,column);},clearFormatterCache(isUpdate){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{tableData,tableColumn}=reactData;const{fullAllDataRowIdData}=internalData;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(fullAllDataRowIdData,rowRest=>{if(rowRest.formatData){rowRest.formatData=undefined;}});if(isUpdate){tableData.forEach(row=>{tableColumn.forEach(column=>{$xeTable.getCellLabel(row,column);});});}return $xeTable.$nextTick();},getHeaderCellLabel(fieldOrColumn){const $xeTable=this;const internalData=$xeTable;const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(!column){return null;}const{headerFormatter}=column;const _columnIndex=$xeTable.getVTColumnIndex(column);let cellLabel=column.getTitle();if(headerFormatter){let formatData;const{headerFullDataColData}=internalData;const colid=column.id;let colRest=headerFullDataColData[colid];if(!colRest){colRest=headerFullDataColData[colid]={};}const formatObj=colRest.formatObj;if(formatObj&&formatObj.value===cellLabel){return formatObj.label;}const headFormatParams={$table:$xeTable,cellTitle:cellLabel,cellValue:cellLabel,column,_columnIndex,columnIndex:$xeTable.getColumnIndex(column)};if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(headerFormatter)){const gFormatOpts=methods_formats.get(headerFormatter);const fcFormatMethod=gFormatOpts?gFormatOpts.tableHeaderCellFormatMethod:null;cellLabel=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toValueString(fcFormatMethod?fcFormatMethod(headFormatParams):'');}else if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(headerFormatter)){const gFormatOpts=methods_formats.get(headerFormatter[0]);const fcFormatMethod=gFormatOpts?gFormatOpts.tableHeaderCellFormatMethod:null;cellLabel=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toValueString(fcFormatMethod?fcFormatMethod(headFormatParams,...headerFormatter.slice(1)):'');}else{cellLabel=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toValueString(headerFormatter(headFormatParams));}if(formatData){colRest.formatObj={value:cellLabel,label:cellLabel};}}return cellLabel;},updateHeaderCellLabel(fieldOrColumn){const $xeTable=this;const internalData=$xeTable;const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(!column){return'';}const{headerFullDataColData}=internalData;const colid=column.id;const colRest=headerFullDataColData[colid];if(colRest){colRest.formatObj=undefined;}return $xeTable.getHeaderCellLabel(column);},clearHeaderFormatterCache(isUpdate){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{tableColumn}=reactData;const{headerFullDataColData}=internalData;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(headerFullDataColData,colRest=>{if(colRest.formatObj){colRest.formatObj=undefined;}});if(isUpdate){tableColumn.forEach(column=>{$xeTable.getHeaderCellLabel(column);});}return $xeTable.$nextTick();},getFooterCellLabel(row,fieldOrColumn){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(!column){return null;}const{footerFormatter}=column;const _columnIndex=$xeTable.getVTColumnIndex(column);let itemValue='';// 兼容老模式
|
|
7982
7979
|
if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(row)){itemValue=row[_columnIndex];}else{itemValue=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,column.field);}let cellLabel=itemValue;if(footerFormatter){let formatData;const{footerTableData}=reactData;const{footerFullDataRowData}=internalData;const colid=column.id;const $rowIndex=footerTableData.indexOf(row);let rowRest=null;if($rowIndex>-1){rowRest=footerFullDataRowData[$rowIndex];if(!rowRest){rowRest=footerFullDataRowData[$rowIndex]={};}formatData=rowRest.formatData;if(!formatData){formatData=footerFullDataRowData[$rowIndex].formatData={};}if(rowRest&&formatData[colid]){if(formatData[colid].value===itemValue){return formatData[colid].label;}}}const footerFormatParams={$table:$xeTable,cellValue:itemValue,itemValue,row,items:row,$rowIndex,column,_columnIndex,columnIndex:$xeTable.getColumnIndex(column)};if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(footerFormatter)){const gFormatOpts=methods_formats.get(footerFormatter);const fcFormatMethod=gFormatOpts?gFormatOpts.tableFooterCellFormatMethod:null;cellLabel=fcFormatMethod?fcFormatMethod(footerFormatParams):'';}else if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(footerFormatter)){const gFormatOpts=methods_formats.get(footerFormatter[0]);const fcFormatMethod=gFormatOpts?gFormatOpts.tableFooterCellFormatMethod:null;cellLabel=fcFormatMethod?fcFormatMethod(footerFormatParams,...footerFormatter.slice(1)):'';}else{cellLabel=footerFormatter(footerFormatParams);}if(formatData){formatData[colid]={value:itemValue,label:cellLabel};}}return cellLabel;},updateFooterCellLabel(row,fieldOrColumn){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(!column){return null;}const{footerTableData}=reactData;const{footerFullDataRowData}=internalData;const colid=column.id;const $rowIndex=footerTableData.indexOf(row);const rowRest=footerFullDataRowData[$rowIndex];if(rowRest){const formatData=rowRest.formatData;if(formatData){delete formatData[colid];}}return $xeTable.getFooterCellLabel(row,column);},clearFooterFormatterCache(isUpdate){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{tableData,tableColumn}=reactData;const{footerFullDataRowData}=internalData;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(footerFullDataRowData,rowRest=>{if(rowRest.formatData){rowRest.formatData=undefined;}});if(isUpdate){tableData.forEach(row=>{tableColumn.forEach(column=>{$xeTable.getFooterCellLabel(row,column);});});}return $xeTable.$nextTick();},/**
|
|
7983
7980
|
* 检查是否为临时行数据
|
|
7984
7981
|
*/isInsertByRow(row){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const rowid=getRowid($xeTable,row);return!!reactData.insertRowFlag&&!!internalData.insertRowMaps[rowid];},isRemoveByRow(row){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const rowid=getRowid($xeTable,row);return!!reactData.removeRowFlag&&!!internalData.removeRowMaps[rowid];},/**
|
|
@@ -8432,7 +8429,7 @@ internalData._sToTime=setTimeout(()=>{internalData._sToTime=undefined;if(scrollY
|
|
|
8432
8429
|
* 手动清除滚动相关信息,还原到初始状态
|
|
8433
8430
|
*/clearScroll(){const $xeTable=this;const internalData=$xeTable;const{elemStore,scrollXStore,scrollYStore}=internalData;const headerScrollElem=getRefElem(elemStore['main-header-scroll']);const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const footerScrollElem=getRefElem(elemStore['main-footer-scroll']);const leftScrollElem=getRefElem(elemStore['left-body-scroll']);const rightScrollElem=getRefElem(elemStore['right-body-scroll']);const xHandleEl=$xeTable.$refs.refScrollXHandleElem;const yHandleEl=$xeTable.$refs.refScrollYHandleElem;internalData.intoRunScroll=true;setScrollLeft(xHandleEl,0);setScrollLeft(bodyScrollElem,0);setScrollLeft(headerScrollElem,0);setScrollLeft(footerScrollElem,0);setScrollTop(yHandleEl,0);setScrollTop(bodyScrollElem,0);setScrollTop(leftScrollElem,0);setScrollTop(rightScrollElem,0);scrollXStore.startIndex=0;scrollXStore.visibleStartIndex=0;scrollXStore.endIndex=scrollXStore.visibleSize;scrollXStore.visibleEndIndex=scrollXStore.visibleSize;scrollYStore.startIndex=0;scrollYStore.visibleStartIndex=0;scrollYStore.endIndex=scrollYStore.visibleSize;scrollYStore.visibleEndIndex=scrollYStore.visibleSize;return $xeTable.$nextTick().then(()=>{internalData.lastScrollLeft=0;internalData.lastScrollTop=0;internalData.intoRunScroll=false;});},/**
|
|
8434
8431
|
* 更新表尾合计
|
|
8435
|
-
*/updateFooter(){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const $xeGrid=$xeTable.$xeGrid;const $xeGantt=$xeTable.$xeGantt;const{showFooter,footerData,footerMethod}=props;const{visibleColumn,afterFullData}=internalData;let footData=[];if(showFooter&&footerData&&footerData.length){footData=footerData.slice(0);}else if(showFooter&&footerMethod){footData=visibleColumn.length?footerMethod({columns:visibleColumn,data:afterFullData,$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt}):[];}reactData.footerTableData=footData;$xeTable.handleUpdateFooterMerge();$xeTable.dispatchEvent('footer-data-change',{visibleColumn:internalData.visibleColumn,footData},null);return $xeTable.$nextTick();},/**
|
|
8432
|
+
*/updateFooter(){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const $xeGrid=$xeTable.$xeGrid;const $xeGantt=$xeTable.$xeGantt;const{showFooter,footerData,footerMethod}=props;const{visibleColumn,afterFullData}=internalData;let footData=[];if(showFooter&&footerData&&footerData.length){footData=footerData.slice(0);}else if(showFooter&&footerMethod){footData=visibleColumn.length?footerMethod({columns:visibleColumn,data:afterFullData,$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt}):[];}reactData.footerTableData=footData;$xeTable.clearFooterFormatterCache();$xeTable.handleUpdateFooterMerge();$xeTable.dispatchEvent('footer-data-change',{visibleColumn:internalData.visibleColumn,footData},null);return $xeTable.$nextTick();},/**
|
|
8436
8433
|
* 更新列状态 updateStatus({ row, column }, cellValue)
|
|
8437
8434
|
* 如果组件值 v-model 发生 change 时,调用改函数用于更新某一列编辑状态
|
|
8438
8435
|
* 如果单元格配置了校验规则,则会进行校验
|
|
@@ -16408,7 +16405,7 @@ function getHeaderTitle($xeTable, opts, column) {
|
|
|
16408
16405
|
column,
|
|
16409
16406
|
options: opts,
|
|
16410
16407
|
$table: $xeTable
|
|
16411
|
-
}) : (opts.isTitle ?
|
|
16408
|
+
}) : (opts.isTitle ? $xeTable.getHeaderCellLabel(column) : column.field) || '';
|
|
16412
16409
|
}
|
|
16413
16410
|
function getFooterCellValue($xeTable, opts, row, column) {
|
|
16414
16411
|
const columnOpts = $xeTable.computeColumnOpts;
|
|
@@ -17015,12 +17012,12 @@ function handleImport($xeTable, content, opts) {
|
|
|
17015
17012
|
const tableTitleMaps = {};
|
|
17016
17013
|
tableFullColumn.forEach(column => {
|
|
17017
17014
|
const field = column.field;
|
|
17018
|
-
const title =
|
|
17015
|
+
const title = $xeTable.getHeaderCellLabel(column);
|
|
17019
17016
|
if (field) {
|
|
17020
17017
|
tableFieldMaps[field] = column;
|
|
17021
17018
|
}
|
|
17022
17019
|
if (title) {
|
|
17023
|
-
tableTitleMaps[
|
|
17020
|
+
tableTitleMaps[title] = column;
|
|
17024
17021
|
}
|
|
17025
17022
|
});
|
|
17026
17023
|
const tableConf = {
|