vxe-table 3.21.3 → 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/locale/lang/ar-EG.js +2 -2
- package/es/locale/lang/de-DE.js +1 -1
- package/es/locale/lang/en-US.js +1 -1
- package/es/locale/lang/fr-FR.js +2 -2
- package/es/locale/lang/hu-HU.js +1 -1
- package/es/locale/lang/hy-AM.js +1 -1
- package/es/locale/lang/id-ID.js +2 -2
- package/es/locale/lang/it-IT.js +1 -1
- package/es/locale/lang/ko-KR.js +1 -1
- package/es/locale/lang/ms-MY.js +2 -2
- package/es/locale/lang/nb-NO.js +2 -2
- package/es/locale/lang/pt-BR.js +2 -2
- package/es/locale/lang/th-TH.js +1 -1
- package/es/locale/lang/ug-CN.js +1 -1
- package/es/locale/lang/uk-UA.js +1 -1
- package/es/locale/lang/uz-UZ.js +1 -1
- package/es/style.css +1 -1
- package/es/table/module/export/mixin.js +74 -14
- package/es/table/src/cell.js +15 -8
- 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 +128 -52
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +2 -2
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/ar-EG.umd.js +2 -2
- package/lib/locale/lang/de-DE.js +1 -1
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/de-DE.umd.js +1 -1
- package/lib/locale/lang/en-US.js +1 -1
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +1 -1
- package/lib/locale/lang/fr-FR.js +2 -2
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/fr-FR.umd.js +2 -2
- package/lib/locale/lang/hu-HU.js +1 -1
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +1 -1
- package/lib/locale/lang/hy-AM.js +1 -1
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/hy-AM.umd.js +1 -1
- package/lib/locale/lang/id-ID.js +2 -2
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/id-ID.umd.js +2 -2
- package/lib/locale/lang/it-IT.js +1 -1
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/it-IT.umd.js +1 -1
- package/lib/locale/lang/ko-KR.js +1 -1
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +1 -1
- package/lib/locale/lang/ms-MY.js +2 -2
- package/lib/locale/lang/ms-MY.min.js +1 -1
- package/lib/locale/lang/ms-MY.umd.js +2 -2
- package/lib/locale/lang/nb-NO.js +2 -2
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/nb-NO.umd.js +2 -2
- package/lib/locale/lang/pt-BR.js +2 -2
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +2 -2
- package/lib/locale/lang/th-TH.js +1 -1
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/th-TH.umd.js +1 -1
- package/lib/locale/lang/ug-CN.js +1 -1
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/ug-CN.umd.js +1 -1
- package/lib/locale/lang/uk-UA.js +1 -1
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +1 -1
- package/lib/locale/lang/uz-UZ.js +1 -1
- package/lib/locale/lang/uz-UZ.min.js +1 -1
- package/lib/locale/lang/uz-UZ.umd.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/export/mixin.js +107 -33
- package/lib/table/module/export/mixin.min.js +1 -1
- package/lib/table/src/cell.js +14 -9
- 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/locale/lang/ar-EG.ts +850 -850
- package/packages/locale/lang/de-DE.ts +850 -850
- package/packages/locale/lang/en-US.ts +850 -850
- package/packages/locale/lang/es-ES.ts +850 -850
- package/packages/locale/lang/fr-FR.ts +850 -850
- package/packages/locale/lang/hu-HU.ts +850 -850
- package/packages/locale/lang/hy-AM.ts +850 -850
- package/packages/locale/lang/id-ID.ts +850 -850
- package/packages/locale/lang/it-IT.ts +850 -850
- package/packages/locale/lang/ja-JP.ts +850 -850
- package/packages/locale/lang/ko-KR.ts +850 -850
- package/packages/locale/lang/ms-MY.ts +850 -850
- package/packages/locale/lang/nb-NO.ts +850 -850
- package/packages/locale/lang/pt-BR.ts +850 -850
- package/packages/locale/lang/ru-RU.ts +850 -850
- package/packages/locale/lang/th-TH.ts +850 -850
- package/packages/locale/lang/ug-CN.ts +850 -850
- package/packages/locale/lang/uk-UA.ts +850 -850
- package/packages/locale/lang/uz-UZ.ts +850 -850
- package/packages/locale/lang/vi-VN.ts +850 -850
- package/packages/locale/lang/zh-CHT.ts +850 -850
- package/packages/table/module/export/mixin.ts +73 -15
- package/packages/table/src/cell.ts +14 -8
- 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.1779843521280.ttf → iconfont.1780200130470.ttf} +0 -0
- /package/es/{iconfont.1779843521280.woff → iconfont.1780200130470.woff} +0 -0
- /package/es/{iconfont.1779843521280.woff2 → iconfont.1780200130470.woff2} +0 -0
- /package/lib/{iconfont.1779843521280.ttf → iconfont.1780200130470.ttf} +0 -0
- /package/lib/{iconfont.1779843521280.woff → iconfont.1780200130470.woff} +0 -0
- /package/lib/{iconfont.1779843521280.woff2 → iconfont.1780200130470.woff2} +0 -0
|
@@ -48,9 +48,11 @@ const toStringValue = (cellValue) => {
|
|
|
48
48
|
function getBodyLabelData($xeTable, opts, columns, datas) {
|
|
49
49
|
const props = $xeTable;
|
|
50
50
|
const reactData = $xeTable;
|
|
51
|
-
const
|
|
51
|
+
const internalData = $xeTable;
|
|
52
|
+
const { isTreeAllExpanded, isRowGroupAllExpanded, mode: expMode } = opts;
|
|
52
53
|
const { treeConfig } = props;
|
|
53
54
|
const { isRowGroupStatus } = reactData;
|
|
55
|
+
const { fullColumnFieldData } = internalData;
|
|
54
56
|
const radioOpts = $xeTable.computeRadioOpts;
|
|
55
57
|
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
56
58
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
@@ -62,8 +64,7 @@ function getBodyLabelData($xeTable, opts, columns, datas) {
|
|
|
62
64
|
const { handleGetRowId } = createHandleGetRowId($xeTable);
|
|
63
65
|
if (isRowGroupStatus) {
|
|
64
66
|
// 如果是数据分组
|
|
65
|
-
|
|
66
|
-
const { mapChildrenField } = aggregateOpts;
|
|
67
|
+
const { mode: aggMode, showTotal, totalMethod, countFields, contentMethod, formatValuesMethod, mapChildrenField } = aggregateOpts;
|
|
67
68
|
const rest = [];
|
|
68
69
|
const expandMaps = {};
|
|
69
70
|
const useMaps = {};
|
|
@@ -84,8 +85,9 @@ function getBodyLabelData($xeTable, opts, columns, datas) {
|
|
|
84
85
|
_expand: hasRowChild && $xeTable.isRowExpandByRow(row)
|
|
85
86
|
};
|
|
86
87
|
columns.forEach((column, $columnIndex) => {
|
|
88
|
+
const { field, editRender, cellRender, aggFunc, rowGroupNode } = column;
|
|
87
89
|
let cellValue = '';
|
|
88
|
-
const renderOpts =
|
|
90
|
+
const renderOpts = editRender || cellRender;
|
|
89
91
|
let bodyExportMethod = column.exportMethod || columnOpts.exportMethod;
|
|
90
92
|
if (!bodyExportMethod && renderOpts && renderOpts.name) {
|
|
91
93
|
const compConf = renderer.get(renderOpts.name);
|
|
@@ -103,21 +105,77 @@ function getBodyLabelData($xeTable, opts, columns, datas) {
|
|
|
103
105
|
switch (column.type) {
|
|
104
106
|
case 'seq': {
|
|
105
107
|
const seqVal = path.map((num, i) => i % 2 === 0 ? (Number(num) + 1) : '.').join('');
|
|
106
|
-
cellValue =
|
|
108
|
+
cellValue = expMode === 'all' ? seqVal : getSeq($xeTable, seqVal, row, $rowIndex, column, $columnIndex);
|
|
107
109
|
break;
|
|
108
110
|
}
|
|
109
|
-
case 'checkbox':
|
|
111
|
+
case 'checkbox': {
|
|
110
112
|
cellValue = toBooleanValue($xeTable.isCheckedByCheckboxRow(row));
|
|
111
113
|
item._checkboxLabel = checkboxOpts.labelField ? XEUtils.get(row, checkboxOpts.labelField) : '';
|
|
112
114
|
item._checkboxDisabled = checkboxOpts.checkMethod && !checkboxOpts.checkMethod({ $table: $xeTable, row });
|
|
113
115
|
break;
|
|
114
|
-
|
|
116
|
+
}
|
|
117
|
+
case 'radio': {
|
|
115
118
|
cellValue = toBooleanValue($xeTable.isCheckedByRadioRow(row));
|
|
116
119
|
item._radioLabel = radioOpts.labelField ? XEUtils.get(row, radioOpts.labelField) : '';
|
|
117
120
|
item._radioDisabled = radioOpts.checkMethod && !radioOpts.checkMethod({ $table: $xeTable, row });
|
|
118
121
|
break;
|
|
119
|
-
|
|
120
|
-
|
|
122
|
+
}
|
|
123
|
+
default: {
|
|
124
|
+
if (field && row.isAggregate) {
|
|
125
|
+
const aggRow = row;
|
|
126
|
+
const aggData = aggRow.aggData;
|
|
127
|
+
const currAggData = aggData ? aggData[field] : null;
|
|
128
|
+
const groupField = aggRow.groupField;
|
|
129
|
+
const groupContent = aggRow.groupContent;
|
|
130
|
+
const childList = mapChildrenField ? (aggRow[mapChildrenField] || []) : [];
|
|
131
|
+
const childCount = aggRow.childCount;
|
|
132
|
+
const colRest = fullColumnFieldData[groupField] || {};
|
|
133
|
+
const ctParams = {
|
|
134
|
+
$table: $xeTable,
|
|
135
|
+
groupField,
|
|
136
|
+
groupColumn: (colRest ? colRest.column : null),
|
|
137
|
+
column,
|
|
138
|
+
groupValue: groupContent,
|
|
139
|
+
childList,
|
|
140
|
+
childCount,
|
|
141
|
+
aggValue: null,
|
|
142
|
+
/**
|
|
143
|
+
* 已废弃
|
|
144
|
+
* @deprecated
|
|
145
|
+
*/
|
|
146
|
+
children: childList,
|
|
147
|
+
/**
|
|
148
|
+
* 已废弃
|
|
149
|
+
* @deprecated
|
|
150
|
+
*/
|
|
151
|
+
totalValue: childCount
|
|
152
|
+
};
|
|
153
|
+
if (aggMode === 'column' ? field === aggRow.groupField : rowGroupNode) {
|
|
154
|
+
cellValue = groupContent;
|
|
155
|
+
if (contentMethod) {
|
|
156
|
+
cellValue = `${contentMethod(ctParams)}`;
|
|
157
|
+
}
|
|
158
|
+
if (showTotal) {
|
|
159
|
+
cellValue = getI18n('vxe.table.rowGroupContentTotal', [cellValue, totalMethod ? totalMethod(ctParams) : childCount, childCount]);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
else if ($xeTable.getPivotTableAggregateCellAggValue) {
|
|
163
|
+
const aggParams = {
|
|
164
|
+
$table: $xeTable,
|
|
165
|
+
row,
|
|
166
|
+
column
|
|
167
|
+
};
|
|
168
|
+
cellValue = $xeTable.getPivotTableAggregateCellAggValue(aggParams);
|
|
169
|
+
}
|
|
170
|
+
else if (aggFunc === true || (countFields && countFields.includes(field))) {
|
|
171
|
+
cellValue = currAggData ? currAggData.value : childCount;
|
|
172
|
+
ctParams.aggValue = cellValue;
|
|
173
|
+
if (formatValuesMethod) {
|
|
174
|
+
cellValue = formatValuesMethod(ctParams);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
else if (opts.original) {
|
|
121
179
|
cellValue = getCellValue(row, column);
|
|
122
180
|
}
|
|
123
181
|
else {
|
|
@@ -133,6 +191,8 @@ function getBodyLabelData($xeTable, opts, columns, datas) {
|
|
|
133
191
|
}
|
|
134
192
|
}
|
|
135
193
|
}
|
|
194
|
+
break;
|
|
195
|
+
}
|
|
136
196
|
}
|
|
137
197
|
}
|
|
138
198
|
item[column.id] = toStringValue(cellValue);
|
|
@@ -188,7 +248,7 @@ function getBodyLabelData($xeTable, opts, columns, datas) {
|
|
|
188
248
|
switch (column.type) {
|
|
189
249
|
case 'seq': {
|
|
190
250
|
const seqVal = path.map((num, i) => i % 2 === 0 ? (Number(num) + 1) : '.').join('');
|
|
191
|
-
cellValue =
|
|
251
|
+
cellValue = expMode === 'all' ? seqVal : getSeq($xeTable, seqVal, row, $rowIndex, column, $columnIndex);
|
|
192
252
|
break;
|
|
193
253
|
}
|
|
194
254
|
case 'checkbox':
|
|
@@ -252,7 +312,7 @@ function getBodyLabelData($xeTable, opts, columns, datas) {
|
|
|
252
312
|
switch (column.type) {
|
|
253
313
|
case 'seq': {
|
|
254
314
|
const seqValue = $rowIndex + 1;
|
|
255
|
-
cellValue =
|
|
315
|
+
cellValue = expMode === 'all' ? seqValue : getSeq($xeTable, seqValue, row, $rowIndex, column, $columnIndex);
|
|
256
316
|
break;
|
|
257
317
|
}
|
|
258
318
|
case 'checkbox':
|
|
@@ -305,7 +365,7 @@ function getBooleanValue(cellValue) {
|
|
|
305
365
|
function getHeaderTitle($xeTable, opts, column) {
|
|
306
366
|
const columnOpts = $xeTable.computeColumnOpts;
|
|
307
367
|
const headExportMethod = column.headerExportMethod || columnOpts.headerExportMethod;
|
|
308
|
-
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) || '');
|
|
309
369
|
}
|
|
310
370
|
function getFooterCellValue($xeTable, opts, row, column) {
|
|
311
371
|
const columnOpts = $xeTable.computeColumnOpts;
|
|
@@ -823,12 +883,12 @@ function handleImport($xeTable, content, opts) {
|
|
|
823
883
|
const tableTitleMaps = {};
|
|
824
884
|
tableFullColumn.forEach((column) => {
|
|
825
885
|
const field = column.field;
|
|
826
|
-
const title =
|
|
886
|
+
const title = $xeTable.getHeaderCellLabel(column);
|
|
827
887
|
if (field) {
|
|
828
888
|
tableFieldMaps[field] = column;
|
|
829
889
|
}
|
|
830
890
|
if (title) {
|
|
831
|
-
tableTitleMaps[
|
|
891
|
+
tableTitleMaps[title] = column;
|
|
832
892
|
}
|
|
833
893
|
});
|
|
834
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);
|
|
@@ -602,7 +603,13 @@ export const Cell = {
|
|
|
602
603
|
if (rowGroupList.length) {
|
|
603
604
|
const aggregateOpts = $table.computeAggregateOpts;
|
|
604
605
|
const { mode } = aggregateOpts;
|
|
605
|
-
if (mode === 'column'
|
|
606
|
+
if (mode === 'column') {
|
|
607
|
+
if (row.groupField && column.field === row.groupField) {
|
|
608
|
+
return [Cell.renderRowGroupBtn(h, params, cellVNodes)];
|
|
609
|
+
}
|
|
610
|
+
return cellVNodes;
|
|
611
|
+
}
|
|
612
|
+
else if (rowGroupNode) {
|
|
606
613
|
return [Cell.renderRowGroupBtn(h, params, cellVNodes)];
|
|
607
614
|
}
|
|
608
615
|
}
|
|
@@ -614,7 +621,7 @@ export const Cell = {
|
|
|
614
621
|
renderSeqHeader(h, params) {
|
|
615
622
|
const { $table, column } = params;
|
|
616
623
|
const { slots } = column;
|
|
617
|
-
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)));
|
|
618
625
|
},
|
|
619
626
|
renderSeqCell(h, params) {
|
|
620
627
|
const { $table, column } = params;
|
|
@@ -647,7 +654,7 @@ export const Cell = {
|
|
|
647
654
|
: [
|
|
648
655
|
h('span', {
|
|
649
656
|
class: 'vxe-radio--label'
|
|
650
|
-
}, titleSlot ? $table.callSlot(titleSlot, params, h) :
|
|
657
|
+
}, titleSlot ? $table.callSlot(titleSlot, params, h) : $table.getHeaderCellLabel(column))
|
|
651
658
|
]));
|
|
652
659
|
},
|
|
653
660
|
renderRadioCell(h, params) {
|
|
@@ -717,7 +724,7 @@ export const Cell = {
|
|
|
717
724
|
const titleSlot = slots ? slots.title : null;
|
|
718
725
|
const checkboxOpts = $table.computeCheckboxOpts;
|
|
719
726
|
const { checkStrictly, showHeader, headerTitle } = checkboxOpts;
|
|
720
|
-
const colTitle =
|
|
727
|
+
const colTitle = $table.getHeaderCellLabel(column);
|
|
721
728
|
const ons = {};
|
|
722
729
|
if (!isHidden) {
|
|
723
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