vxe-table 4.19.15 → 4.19.16
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/dist/all.esm.js +86 -17
- package/dist/style.css +1 -1
- package/es/style.css +1 -1
- package/es/table/module/export/hook.js +22 -3
- package/es/table/src/header.js +6 -3
- package/es/table/src/table.js +56 -9
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +44 -12
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/export/hook.js +26 -3
- package/lib/table/module/export/hook.min.js +1 -1
- package/lib/table/src/header.js +7 -3
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/table.js +9 -4
- package/lib/table/src/table.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/hook.ts +23 -4
- package/packages/table/src/header.ts +6 -3
- package/packages/table/src/table.ts +57 -10
- /package/es/{iconfont.1781675408206.ttf → iconfont.1781753820219.ttf} +0 -0
- /package/es/{iconfont.1781675408206.woff → iconfont.1781753820219.woff} +0 -0
- /package/es/{iconfont.1781675408206.woff2 → iconfont.1781753820219.woff2} +0 -0
- /package/lib/{iconfont.1781675408206.ttf → iconfont.1781753820219.ttf} +0 -0
- /package/lib/{iconfont.1781675408206.woff → iconfont.1781753820219.woff} +0 -0
- /package/lib/{iconfont.1781675408206.woff2 → iconfont.1781753820219.woff2} +0 -0
package/dist/all.esm.js
CHANGED
|
@@ -44,7 +44,7 @@ function eqEmptyValue(cellValue) {
|
|
|
44
44
|
return cellValue === '' || XEUtils.eqNull(cellValue);
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
const version$1 = "4.19.
|
|
47
|
+
const version$1 = "4.19.16";
|
|
48
48
|
VxeUI.version = version$1;
|
|
49
49
|
VxeUI.tableVersion = version$1;
|
|
50
50
|
VxeUI.setConfig({
|
|
@@ -743,7 +743,7 @@ function wheelScrollTopTo(diffNum, cb) {
|
|
|
743
743
|
}
|
|
744
744
|
|
|
745
745
|
const { log } = VxeUI;
|
|
746
|
-
const version = `table v${"4.19.
|
|
746
|
+
const version = `table v${"4.19.16"}`;
|
|
747
747
|
const warnLog = log.create('warn', version);
|
|
748
748
|
const errLog = log.create('error', version);
|
|
749
749
|
|
|
@@ -5061,6 +5061,8 @@ var TableHeaderComponent = defineVxeComponent({
|
|
|
5061
5061
|
const cellOpts = computeCellOpts.value;
|
|
5062
5062
|
const defaultRowHeight = computeDefaultRowHeight.value;
|
|
5063
5063
|
const headerCellOpts = computeHeaderCellOpts.value;
|
|
5064
|
+
const floatingFilterOpts = computeFloatingFilterOpts.value;
|
|
5065
|
+
const { cellClassName } = floatingFilterOpts;
|
|
5064
5066
|
const currCellHeight = getCalcHeight(headerCellOpts.height) || defaultRowHeight;
|
|
5065
5067
|
return cols.map((column, $columnIndex) => {
|
|
5066
5068
|
const { type, showHeaderOverflow, headerAlign, align, filters, editRender, cellRender, floatingFilters, filterRender, slots } = column;
|
|
@@ -5114,7 +5116,7 @@ var TableHeaderComponent = defineVxeComponent({
|
|
|
5114
5116
|
else {
|
|
5115
5117
|
tcStyle.minHeight = `${currCellHeight}px`;
|
|
5116
5118
|
}
|
|
5117
|
-
return h('th', Object.assign({ class: ['vxe-table--column vxe-header--column', colid, fixedHiddenColumn ? 'fixed--hidden' : 'fixed--visible', {
|
|
5119
|
+
return h('th', Object.assign({ class: ['vxe-table--column vxe-header--column is--floating-filters', colid, fixedHiddenColumn ? 'fixed--hidden' : 'fixed--visible', {
|
|
5118
5120
|
[`col--${headAlign}`]: headAlign,
|
|
5119
5121
|
[`col--${type}`]: type,
|
|
5120
5122
|
'col--last': isLastColumn,
|
|
@@ -5127,7 +5129,7 @@ var TableHeaderComponent = defineVxeComponent({
|
|
|
5127
5129
|
}
|
|
5128
5130
|
], key: colid }, thAttrs), [
|
|
5129
5131
|
h('div', {
|
|
5130
|
-
class: ['vxe-cell', {
|
|
5132
|
+
class: ['vxe-cell', '' + (cellClassName || ''), {
|
|
5131
5133
|
'c--title': showTitle,
|
|
5132
5134
|
'c--tooltip': showTooltip,
|
|
5133
5135
|
'c--ellipsis': showEllipsis
|
|
@@ -5167,7 +5169,8 @@ var TableHeaderComponent = defineVxeComponent({
|
|
|
5167
5169
|
rowVNs.push(h('tr', {
|
|
5168
5170
|
key: 'ff',
|
|
5169
5171
|
class: [
|
|
5170
|
-
'vxe-header--row'
|
|
5172
|
+
'vxe-header--row is--floating-filters',
|
|
5173
|
+
'' + (floatingFilterOpts.rowClassName || '')
|
|
5171
5174
|
]
|
|
5172
5175
|
}, renderFilterRows(isOptimizeMode, renderColumnList)));
|
|
5173
5176
|
}
|
|
@@ -10867,7 +10870,7 @@ hooks$4.add('tableExportModule', {
|
|
|
10867
10870
|
const toHtml = (opts, columns, datas) => {
|
|
10868
10871
|
const { id, border, treeConfig, headerAlign: allHeaderAlign, align: allAlign, footerAlign: allFooterAlign, showOverflow: allColumnOverflow, showHeaderOverflow: allColumnHeaderOverflow } = props;
|
|
10869
10872
|
const { isAllSelected, isIndeterminate } = reactData;
|
|
10870
|
-
const { mergeBodyCellMaps } = internalData;
|
|
10873
|
+
const { mergeBodyCellMaps, mergeFooterCellMaps } = internalData;
|
|
10871
10874
|
const treeOpts = computeTreeOpts.value;
|
|
10872
10875
|
const { print: isPrint, isHeader, isFooter, isColgroup, isMerge, colgroups, original } = opts;
|
|
10873
10876
|
const allCls = 'check-all';
|
|
@@ -11005,15 +11008,34 @@ hooks$4.add('tableExportModule', {
|
|
|
11005
11008
|
const footers = getFooterData($xeTable, opts, footerTableData);
|
|
11006
11009
|
if (footers.length) {
|
|
11007
11010
|
tables.push('<tfoot>');
|
|
11008
|
-
footers.forEach((row) => {
|
|
11011
|
+
footers.forEach((row, rIndex) => {
|
|
11009
11012
|
tables.push(`<tr>${columns.map((column) => {
|
|
11010
11013
|
const footAlign = column.footerAlign || column.align || allFooterAlign || allAlign;
|
|
11011
11014
|
const classNames = hasEllipsis(column, 'showOverflow', allColumnOverflow) ? ['col--ellipsis'] : [];
|
|
11012
11015
|
const cellValue = getFooterCellValue(opts, row, column);
|
|
11016
|
+
let rowSpan = 1;
|
|
11017
|
+
let colSpan = 1;
|
|
11018
|
+
if (isMerge) {
|
|
11019
|
+
const _rowIndex = rIndex;
|
|
11020
|
+
const _columnIndex = $xeTable.getVTColumnIndex(column);
|
|
11021
|
+
const spanRest = mergeFooterCellMaps[`${_rowIndex}:${_columnIndex}`];
|
|
11022
|
+
if (spanRest) {
|
|
11023
|
+
const { rowspan, colspan } = spanRest;
|
|
11024
|
+
if (!rowspan || !colspan) {
|
|
11025
|
+
return '';
|
|
11026
|
+
}
|
|
11027
|
+
if (rowspan > 1) {
|
|
11028
|
+
rowSpan = rowspan;
|
|
11029
|
+
}
|
|
11030
|
+
if (colspan > 1) {
|
|
11031
|
+
colSpan = colspan;
|
|
11032
|
+
}
|
|
11033
|
+
}
|
|
11034
|
+
}
|
|
11013
11035
|
if (footAlign) {
|
|
11014
11036
|
classNames.push(`col--${footAlign}`);
|
|
11015
11037
|
}
|
|
11016
|
-
return `<td class="${classNames.join(' ')}" title="${cellValue}"><div ${isPrint ? '' : `style="width: ${column.renderWidth}px"`}>${formatText(cellValue, true)}</div></td>`;
|
|
11038
|
+
return `<td class="${classNames.join(' ')}" rowspan="${rowSpan}" colspan="${colSpan}" title="${cellValue}"><div ${isPrint ? '' : `style="width: ${column.renderWidth}px"`}>${formatText(cellValue, true)}</div></td>`;
|
|
11017
11039
|
}).join('')}</tr>`);
|
|
11018
11040
|
});
|
|
11019
11041
|
tables.push('</tfoot>');
|
|
@@ -14911,8 +14933,10 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
14911
14933
|
// 使用已安装的组件,如果未安装则不渲染
|
|
14912
14934
|
const VxeUILoadingComponent = VxeUI.getComponent('VxeLoading');
|
|
14913
14935
|
const VxeUITooltipComponent = VxeUI.getComponent('VxeTooltip');
|
|
14936
|
+
const $xeModal = inject('$xeModal', null);
|
|
14914
14937
|
const $xeTabs = inject('$xeTabs', null);
|
|
14915
14938
|
const $xeParentTable = inject('$xeTable', null);
|
|
14939
|
+
const $xeSplitter = inject('$xeSplitter', null);
|
|
14916
14940
|
const $xeGrid = inject('$xeGrid', null);
|
|
14917
14941
|
const $xeGantt = inject('$xeGantt', null);
|
|
14918
14942
|
const $xeGGWrapper = $xeGrid || $xeGantt;
|
|
@@ -15531,6 +15555,15 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
15531
15555
|
}
|
|
15532
15556
|
return [];
|
|
15533
15557
|
});
|
|
15558
|
+
const combineTabsResizeFlag = computed(() => {
|
|
15559
|
+
return $xeTabs ? $xeTabs.reactData.resizeFlag : null;
|
|
15560
|
+
});
|
|
15561
|
+
const combineModalResizeFlag = computed(() => {
|
|
15562
|
+
return $xeModal ? $xeModal.reactData.resizeFlag : null;
|
|
15563
|
+
});
|
|
15564
|
+
const combineSplitterResizeFlag = computed(() => {
|
|
15565
|
+
return $xeSplitter ? $xeSplitter.reactData.resizeFlag : null;
|
|
15566
|
+
});
|
|
15534
15567
|
const refMaps = {
|
|
15535
15568
|
refElem,
|
|
15536
15569
|
refTooltip,
|
|
@@ -23922,11 +23955,39 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
23922
23955
|
const { tooltipStore } = reactData;
|
|
23923
23956
|
const { column, row } = params;
|
|
23924
23957
|
const { showAll, contentMethod } = tipOpts;
|
|
23925
|
-
const
|
|
23926
|
-
const useCustom = contentMethod && !XEUtils.eqNull(customContent);
|
|
23927
|
-
const content = useCustom ? customContent : XEUtils.toString(column.type === 'html' ? tipOverEl.innerText : tipOverEl.textContent).trim();
|
|
23958
|
+
const cellText = XEUtils.toString(column.type === 'html' ? tipOverEl.innerText : tipOverEl.textContent).trim();
|
|
23928
23959
|
const isOver = tipOverEl.scrollWidth > tipOverEl.clientWidth;
|
|
23929
|
-
|
|
23960
|
+
let isShow = false;
|
|
23961
|
+
let customContent = null;
|
|
23962
|
+
let content = '';
|
|
23963
|
+
if (contentMethod) {
|
|
23964
|
+
customContent = contentMethod(params);
|
|
23965
|
+
}
|
|
23966
|
+
// 是否全部展示
|
|
23967
|
+
if (showAll) {
|
|
23968
|
+
// 如果为 null 默认显示
|
|
23969
|
+
if (XEUtils.eqNull(customContent)) {
|
|
23970
|
+
isShow = true;
|
|
23971
|
+
content = cellText;
|
|
23972
|
+
}
|
|
23973
|
+
else if (customContent !== '' && customContent !== false) {
|
|
23974
|
+
// 如果为 '' | false 则不显示
|
|
23975
|
+
isShow = true;
|
|
23976
|
+
content = '' + customContent;
|
|
23977
|
+
}
|
|
23978
|
+
}
|
|
23979
|
+
else {
|
|
23980
|
+
// 如果为 null 使用默认逻辑
|
|
23981
|
+
if (XEUtils.eqNull(customContent)) {
|
|
23982
|
+
isShow = isOver;
|
|
23983
|
+
}
|
|
23984
|
+
else if (customContent !== '' && customContent !== false) {
|
|
23985
|
+
// 如果为 '' | false 则不显示
|
|
23986
|
+
isShow = true;
|
|
23987
|
+
}
|
|
23988
|
+
content = cellText;
|
|
23989
|
+
}
|
|
23990
|
+
if (isShow && content) {
|
|
23930
23991
|
const tipContent = formatText(content);
|
|
23931
23992
|
Object.assign(tooltipStore, {
|
|
23932
23993
|
row,
|
|
@@ -28990,11 +29051,19 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
28990
29051
|
loadTableData(internalData.tableSynchData, false, true);
|
|
28991
29052
|
}
|
|
28992
29053
|
});
|
|
28993
|
-
|
|
28994
|
-
|
|
28995
|
-
|
|
28996
|
-
|
|
28997
|
-
|
|
29054
|
+
const layoutReFlag = ref(0);
|
|
29055
|
+
watch(combineTabsResizeFlag, () => {
|
|
29056
|
+
layoutReFlag.value++;
|
|
29057
|
+
});
|
|
29058
|
+
watch(combineModalResizeFlag, () => {
|
|
29059
|
+
layoutReFlag.value++;
|
|
29060
|
+
});
|
|
29061
|
+
watch(combineSplitterResizeFlag, () => {
|
|
29062
|
+
layoutReFlag.value++;
|
|
29063
|
+
});
|
|
29064
|
+
watch(layoutReFlag, () => {
|
|
29065
|
+
handleGlobalResizeEvent();
|
|
29066
|
+
});
|
|
28998
29067
|
handleKeyField();
|
|
28999
29068
|
hooks$1.forEach((options) => {
|
|
29000
29069
|
const { setupTable } = options;
|