vxe-table 4.13.8 → 4.13.10
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/src/footer.js +13 -16
- package/es/table/src/header.js +22 -12
- package/es/table/src/table.js +12 -8
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +28 -36
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/src/footer.js +12 -16
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +7 -11
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/table.js +7 -7
- 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 +1 -1
- package/packages/table/src/footer.ts +13 -16
- package/packages/table/src/header.ts +23 -12
- package/packages/table/src/table.ts +14 -8
- /package/es/{iconfont.1745374145326.ttf → iconfont.1745546371612.ttf} +0 -0
- /package/es/{iconfont.1745374145326.woff → iconfont.1745546371612.woff} +0 -0
- /package/es/{iconfont.1745374145326.woff2 → iconfont.1745546371612.woff2} +0 -0
- /package/lib/{iconfont.1745374145326.ttf → iconfont.1745546371612.ttf} +0 -0
- /package/lib/{iconfont.1745374145326.woff → iconfont.1745546371612.woff} +0 -0
- /package/lib/{iconfont.1745374145326.woff2 → iconfont.1745546371612.woff2} +0 -0
package/lib/ui/index.js
CHANGED
|
@@ -13,7 +13,7 @@ Object.defineProperty(exports, "VxeUI", {
|
|
|
13
13
|
exports.version = exports.validators = exports.use = exports.t = exports.setup = exports.setTheme = exports.setLanguage = exports.setIcon = exports.setI18n = exports.setConfig = exports.saveFile = exports.renderer = exports.readFile = exports.print = exports.modal = exports.menus = exports.log = exports.interceptor = exports.hooks = exports.globalResize = exports.globalEvents = exports.getTheme = exports.getIcon = exports.getI18n = exports.getConfig = exports.formats = exports.default = exports.config = exports.commands = exports.clipboard = exports._t = void 0;
|
|
14
14
|
var _core = require("@vxe-ui/core");
|
|
15
15
|
var _utils = require("./src/utils");
|
|
16
|
-
const version = exports.version = "4.13.
|
|
16
|
+
const version = exports.version = "4.13.10";
|
|
17
17
|
_core.VxeUI.version = version;
|
|
18
18
|
_core.VxeUI.tableVersion = version;
|
|
19
19
|
_core.VxeUI.setConfig({
|
package/lib/ui/index.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.hooks=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");let version=exports.version="4.13.
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.hooks=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");let version=exports.version="4.13.10",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion=version,_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,minHeight:144,resizeConfig:{},resizableConfig:{dragMode:"auto",showDragTip:!0,isSyncAutoHeight:!0,isSyncAutoWidth:!0,minHeight:18},radioConfig:{strict:!0},rowDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},columnDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single",theme:"beautify"},columnConfig:{maxFixedSize:4},cellConfig:{padding:!0},headerCellConfig:{height:"unset"},footerCellConfig:{height:"unset"},customConfig:{allowVisible:!0,allowResizable:!0,allowFixed:!0,allowSort:!0,showFooter:!0,placement:"top-right",modalOptions:{showMaximize:!0,mask:!0,lockView:!0,resize:!0,escClosable:!0},drawerOptions:{mask:!0,lockView:!0,escClosable:!0,resize:!0}},sortConfig:{showIcon:!0,allowClear:!0,allowBtn:!0,iconLayout:"vertical"},filterConfig:{showIcon:!0},rowGroupConfig:{padding:!0,rowField:"id",parentField:"_X_ROW_PARENT_KEY",childrenField:"_X_ROW_CHILDREN",mapChildrenField:"_X_ROW_CHILD_LIST",indent:20,showIcon:!0},treeConfig:{padding:!0,rowField:"id",parentField:"parentId",childrenField:"children",hasChildField:"hasChild",mapChildrenField:"_X_ROW_CHILD",indent:20,showIcon:!0},expandConfig:{showIcon:!0,mode:"fixed"},editConfig:{showIcon:!0,showAsterisk:!0,autoFocus:!0},importConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},exportConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},printConfig:{},mouseConfig:{extension:!0},keyboardConfig:{isEsc:!0},areaConfig:{autoClear:!0,selectCellByHeader:!0,selectCellByBody:!0,extendDirection:{top:!0,left:!0,bottom:!0,right:!0}},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},virtualXConfig:{enabled:!0,gt:28,preSize:1,oSize:0},virtualYConfig:{enabled:!0,gt:100,preSize:1,oSize:0},scrollbarConfig:{width:14,height:14}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showResponseMsg:!0,showActiveMsg:!0,props:{list:null,result:"result",total:"page.total",message:"message"}}},toolbar:{}}),"vxe-table-icon-"),setTheme=(_core.VxeUI.setIcon({TABLE_SORT_ASC:iconPrefix+"caret-up",TABLE_SORT_DESC:iconPrefix+"caret-down",TABLE_FILTER_NONE:iconPrefix+"funnel",TABLE_FILTER_MATCH:iconPrefix+"funnel",TABLE_EDIT:iconPrefix+"edit",TABLE_TITLE_PREFIX:iconPrefix+"question-circle-fill",TABLE_TITLE_SUFFIX:iconPrefix+"question-circle-fill",TABLE_TREE_LOADED:iconPrefix+"spinner roll",TABLE_TREE_OPEN:iconPrefix+"caret-right rotate90",TABLE_TREE_CLOSE:iconPrefix+"caret-right",TABLE_EXPAND_LOADED:iconPrefix+"spinner roll",TABLE_EXPAND_OPEN:iconPrefix+"arrow-right rotate90",TABLE_EXPAND_CLOSE:iconPrefix+"arrow-right",TABLE_CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",TABLE_CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",TABLE_CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked-fill",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",TABLE_CUSTOM_SORT:iconPrefix+"drag-handle",TABLE_MENU_OPTIONS:iconPrefix+"arrow-right",TABLE_DRAG_ROW:iconPrefix+"drag-handle",TABLE_DRAG_COLUMN:iconPrefix+"drag-handle",TABLE_DRAG_STATUS_ROW:iconPrefix+"sort",TABLE_DRAG_STATUS_SUB_ROW:iconPrefix+"add-sub",TABLE_DRAG_STATUS_COLUMN:iconPrefix+"swap",TABLE_DRAG_DISABLED:iconPrefix+"no-drop",TABLE_ROW_GROUP_OPEN:iconPrefix+"arrow-right rotate90",TABLE_ROW_GROUP_CLOSE:iconPrefix+"arrow-right",TOOLBAR_TOOLS_REFRESH:iconPrefix+"repeat",TOOLBAR_TOOLS_REFRESH_LOADING:iconPrefix+"repeat roll",TOOLBAR_TOOLS_IMPORT:iconPrefix+"upload",TOOLBAR_TOOLS_EXPORT:iconPrefix+"download",TOOLBAR_TOOLS_PRINT:iconPrefix+"print",TOOLBAR_TOOLS_FULLSCREEN:iconPrefix+"fullscreen",TOOLBAR_TOOLS_MINIMIZE:iconPrefix+"minimize",TOOLBAR_TOOLS_CUSTOM:iconPrefix+"custom-column",TOOLBAR_TOOLS_FIXED_LEFT:iconPrefix+"fixed-left",TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:iconPrefix+"fixed-left-fill",TOOLBAR_TOOLS_FIXED_RIGHT:iconPrefix+"fixed-right",TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:iconPrefix+"fixed-right-fill"}),exports.setTheme=_core.VxeUI.setTheme),getTheme=exports.getTheme=_core.VxeUI.getTheme,setConfig=exports.setConfig=_core.VxeUI.setConfig,getConfig=exports.getConfig=_core.VxeUI.getConfig,setIcon=exports.setIcon=_core.VxeUI.setIcon,getIcon=exports.getIcon=_core.VxeUI.getIcon,setLanguage=exports.setLanguage=_core.VxeUI.setLanguage,setI18n=exports.setI18n=_core.VxeUI.setI18n,getI18n=exports.getI18n=_core.VxeUI.getI18n,globalEvents=exports.globalEvents=_core.VxeUI.globalEvents,globalResize=exports.globalResize=_core.VxeUI.globalResize,renderer=exports.renderer=_core.VxeUI.renderer,validators=exports.validators=_core.VxeUI.validators,menus=exports.menus=_core.VxeUI.menus,formats=exports.formats=_core.VxeUI.formats,commands=exports.commands=_core.VxeUI.commands,interceptor=exports.interceptor=_core.VxeUI.interceptor,clipboard=exports.clipboard=_core.VxeUI.clipboard,log=exports.log=_core.VxeUI.log,hooks=exports.hooks=_core.VxeUI.hooks,use=exports.use=_core.VxeUI.use,setup=e=>_core.VxeUI.setConfig(e),config=(exports.setup=setup,_core.VxeUI.setup=setup,e=>_core.VxeUI.setConfig(e)),t=(exports.config=config,_core.VxeUI.config=config,(e,o)=>_core.VxeUI.getI18n(e,o)),_t=(exports.t=t,_core.VxeUI.t=t,(e,o)=>(0,_utils.getFuncText)(e,o)),VXETable=(exports._t=_t,_core.VxeUI._t=_t,exports.VXETable=_core.VxeUI),saveFile=e=>_core.VxeUI.saveFile(e),readFile=(exports.saveFile=saveFile,e=>_core.VxeUI.readFile(e)),print=(exports.readFile=readFile,e=>_core.VxeUI.print(e)),modal=(exports.print=print,exports.modal={get(e){return _core.VxeUI.modal.get(e)},close(e){return _core.VxeUI.modal.close(e)},open(e){return _core.VxeUI.modal.open(e)},alert(e,o,r){return _core.VxeUI.modal.alert(e,o,r)},confirm(e,o,r){return _core.VxeUI.modal.confirm(e,o,r)},message(e,o){return _core.VxeUI.modal.message(e,o)},notification(e,o,r){return _core.VxeUI.modal.notification(e,o,r)}});var _default=exports.default=_core.VxeUI;
|
package/lib/ui/src/log.js
CHANGED
|
@@ -8,6 +8,6 @@ var _core = require("@vxe-ui/core");
|
|
|
8
8
|
const {
|
|
9
9
|
log
|
|
10
10
|
} = _core.VxeUI;
|
|
11
|
-
const version = `table v${"4.13.
|
|
11
|
+
const version = `table v${"4.13.10"}`;
|
|
12
12
|
const warnLog = exports.warnLog = log.create('warn', version);
|
|
13
13
|
const errLog = exports.errLog = log.create('error', version);
|
package/lib/ui/src/log.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");let log=_core.VxeUI.log,version="table v4.13.
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");let log=_core.VxeUI.log,version="table v4.13.10",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
|
package/package.json
CHANGED
|
@@ -43,7 +43,7 @@ export default defineComponent({
|
|
|
43
43
|
const refFooterTFoot = ref() as Ref<HTMLTableSectionElement>
|
|
44
44
|
const refFooterXSpace = ref() as Ref<HTMLDivElement>
|
|
45
45
|
|
|
46
|
-
const renderRows = (tableColumn: VxeTableDefines.ColumnInfo[], footerTableData: any[], row: any, $rowIndex: number, _rowIndex: number) => {
|
|
46
|
+
const renderRows = (isOptimizeMode: boolean, tableColumn: VxeTableDefines.ColumnInfo[], footerTableData: any[], row: any, $rowIndex: number, _rowIndex: number) => {
|
|
47
47
|
const $xeGrid = $xeTable.xeGrid
|
|
48
48
|
|
|
49
49
|
const { fixedType } = props
|
|
@@ -72,10 +72,10 @@ export default defineComponent({
|
|
|
72
72
|
const isPadding = XEUtils.isBoolean(footerCellOpts.padding) ? footerCellOpts.padding : cellOpts.padding
|
|
73
73
|
const footOverflow = XEUtils.eqNull(showFooterOverflow) ? allColumnFooterOverflow : showFooterOverflow
|
|
74
74
|
const footAlign = footerAlign || (compConf ? compConf.tableFooterCellAlign : '') || allFooterAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign
|
|
75
|
-
|
|
75
|
+
const showEllipsis = footOverflow === 'ellipsis'
|
|
76
76
|
const showTitle = footOverflow === 'title'
|
|
77
77
|
const showTooltip = footOverflow === true || footOverflow === 'tooltip'
|
|
78
|
-
|
|
78
|
+
const hasEllipsis = showTitle || showTooltip || showEllipsis
|
|
79
79
|
const showResizable = (XEUtils.isBoolean(column.resizable) ? column.resizable : (columnOpts.resizable || allResizable))
|
|
80
80
|
const attrs: any = { colid }
|
|
81
81
|
const tfOns: any = {}
|
|
@@ -101,10 +101,6 @@ export default defineComponent({
|
|
|
101
101
|
type: renderType,
|
|
102
102
|
data: footerTableData
|
|
103
103
|
}
|
|
104
|
-
// 纵向虚拟滚动不支持动态行高
|
|
105
|
-
if (scrollXLoad && !hasEllipsis) {
|
|
106
|
-
showEllipsis = hasEllipsis = true
|
|
107
|
-
}
|
|
108
104
|
if (showTitle || showTooltip || showAllTip) {
|
|
109
105
|
tfOns.onMouseenter = (evnt: MouseEvent) => {
|
|
110
106
|
if (showTitle) {
|
|
@@ -162,7 +158,7 @@ export default defineComponent({
|
|
|
162
158
|
const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto')
|
|
163
159
|
|
|
164
160
|
let isVNPreEmptyStatus = false
|
|
165
|
-
if (!isMergeCell) {
|
|
161
|
+
if (isOptimizeMode && !isMergeCell) {
|
|
166
162
|
if (scrollXLoad && !column.fixed && !virtualXOpts.immediate && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
|
|
167
163
|
isVNPreEmptyStatus = true
|
|
168
164
|
}
|
|
@@ -222,7 +218,7 @@ export default defineComponent({
|
|
|
222
218
|
})
|
|
223
219
|
}
|
|
224
220
|
|
|
225
|
-
const renderHeads = (renderColumnList: VxeTableDefines.ColumnInfo[]) => {
|
|
221
|
+
const renderHeads = (isOptimizeMode: boolean, renderColumnList: VxeTableDefines.ColumnInfo[]) => {
|
|
226
222
|
const { fixedType, footerTableData } = props
|
|
227
223
|
const { footerRowClassName, footerRowStyle } = tableProps
|
|
228
224
|
const { isColLoading, isDragColMove } = tableReactData
|
|
@@ -244,7 +240,7 @@ export default defineComponent({
|
|
|
244
240
|
],
|
|
245
241
|
style: footerRowStyle ? (XEUtils.isFunction(footerRowStyle) ? footerRowStyle(rowParams) : footerRowStyle) : null
|
|
246
242
|
}, {
|
|
247
|
-
default: () => renderRows(renderColumnList, footerTableData, row, $rowIndex, _rowIndex)
|
|
243
|
+
default: () => renderRows(isOptimizeMode, renderColumnList, footerTableData, row, $rowIndex, _rowIndex)
|
|
248
244
|
})
|
|
249
245
|
}
|
|
250
246
|
return h('tr', {
|
|
@@ -254,7 +250,7 @@ export default defineComponent({
|
|
|
254
250
|
footerRowClassName ? XEUtils.isFunction(footerRowClassName) ? footerRowClassName(rowParams) : footerRowClassName : ''
|
|
255
251
|
],
|
|
256
252
|
style: footerRowStyle ? (XEUtils.isFunction(footerRowStyle) ? footerRowStyle(rowParams) : footerRowStyle) : null
|
|
257
|
-
}, renderRows(renderColumnList, footerTableData, row, $rowIndex, _rowIndex))
|
|
253
|
+
}, renderRows(isOptimizeMode, renderColumnList, footerTableData, row, $rowIndex, _rowIndex))
|
|
258
254
|
})
|
|
259
255
|
}
|
|
260
256
|
|
|
@@ -262,12 +258,12 @@ export default defineComponent({
|
|
|
262
258
|
const { fixedType, fixedColumn, tableColumn } = props
|
|
263
259
|
const { spanMethod, footerSpanMethod, showFooterOverflow: allColumnFooterOverflow } = tableProps
|
|
264
260
|
const { visibleColumn, fullColumnIdData } = tableInternalData
|
|
265
|
-
const { isGroup, isColLoading, overflowX, scrollXLoad,
|
|
261
|
+
const { isGroup, isColLoading, overflowX, scrollXLoad, dragCol } = tableReactData
|
|
266
262
|
|
|
267
263
|
let renderColumnList = tableColumn
|
|
268
264
|
let isOptimizeMode = false
|
|
269
265
|
// 如果是使用优化模式
|
|
270
|
-
if (scrollXLoad
|
|
266
|
+
if (scrollXLoad && allColumnFooterOverflow) {
|
|
271
267
|
if (spanMethod || footerSpanMethod) {
|
|
272
268
|
// 如果不支持优化模式
|
|
273
269
|
} else {
|
|
@@ -275,7 +271,7 @@ export default defineComponent({
|
|
|
275
271
|
}
|
|
276
272
|
}
|
|
277
273
|
|
|
278
|
-
if (!isColLoading && (fixedType || !overflowX)) {
|
|
274
|
+
if (!isOptimizeMode || (!isColLoading && (fixedType || !overflowX))) {
|
|
279
275
|
renderColumnList = visibleColumn
|
|
280
276
|
}
|
|
281
277
|
|
|
@@ -334,7 +330,8 @@ export default defineComponent({
|
|
|
334
330
|
xid: xID,
|
|
335
331
|
cellspacing: 0,
|
|
336
332
|
cellpadding: 0,
|
|
337
|
-
border: 0
|
|
333
|
+
border: 0,
|
|
334
|
+
xvm: isOptimizeMode ? '1' : null
|
|
338
335
|
}, [
|
|
339
336
|
/**
|
|
340
337
|
* 列宽
|
|
@@ -355,7 +352,7 @@ export default defineComponent({
|
|
|
355
352
|
*/
|
|
356
353
|
h('tfoot', {
|
|
357
354
|
ref: refFooterTFoot
|
|
358
|
-
}, renderHeads(renderColumnList))
|
|
355
|
+
}, renderHeads(isOptimizeMode, renderColumnList))
|
|
359
356
|
])
|
|
360
357
|
])
|
|
361
358
|
])
|
|
@@ -57,6 +57,7 @@ export default defineComponent({
|
|
|
57
57
|
const headerCellOpts = computeHeaderCellOpts.value
|
|
58
58
|
const currCellHeight = getCellHeight(headerCellOpts.height || cellOpts.height) || defaultRowHeight
|
|
59
59
|
const { disabledMethod: dragDisabledMethod, isCrossDrag, isPeerDrag } = columnDragOpts
|
|
60
|
+
|
|
60
61
|
return cols.map((column, $columnIndex) => {
|
|
61
62
|
const { type, showHeaderOverflow, headerAlign, align, filters, headerClassName, editRender, cellRender } = column
|
|
62
63
|
const colid = column.id
|
|
@@ -68,10 +69,10 @@ export default defineComponent({
|
|
|
68
69
|
const isPadding = XEUtils.isBoolean(headerCellOpts.padding) ? headerCellOpts.padding : cellOpts.padding
|
|
69
70
|
const headOverflow = XEUtils.eqNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow
|
|
70
71
|
const headAlign = headerAlign || (compConf ? compConf.tableHeaderCellAlign : '') || allHeaderAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign
|
|
71
|
-
|
|
72
|
+
const showEllipsis = headOverflow === 'ellipsis'
|
|
72
73
|
const showTitle = headOverflow === 'title'
|
|
73
74
|
const showTooltip = headOverflow === true || headOverflow === 'tooltip'
|
|
74
|
-
|
|
75
|
+
const hasEllipsis = showTitle || showTooltip || showEllipsis
|
|
75
76
|
let hasFilter = false
|
|
76
77
|
let firstFilterOption: VxeColumnPropTypes.FilterItem | null = null
|
|
77
78
|
if (filters) {
|
|
@@ -82,7 +83,20 @@ export default defineComponent({
|
|
|
82
83
|
const _columnIndex = colRest._index
|
|
83
84
|
const cellParams: VxeTableDefines.CellRenderHeaderParams & {
|
|
84
85
|
$table: VxeTableConstructor & VxeTablePrivateMethods
|
|
85
|
-
} = {
|
|
86
|
+
} = {
|
|
87
|
+
$table: $xeTable,
|
|
88
|
+
$grid: $xeGrid,
|
|
89
|
+
$rowIndex,
|
|
90
|
+
column,
|
|
91
|
+
columnIndex,
|
|
92
|
+
$columnIndex,
|
|
93
|
+
_columnIndex,
|
|
94
|
+
firstFilterOption,
|
|
95
|
+
fixed: fixedType,
|
|
96
|
+
type: renderType,
|
|
97
|
+
isHidden: fixedHiddenColumn,
|
|
98
|
+
hasFilter
|
|
99
|
+
}
|
|
86
100
|
const thAttrs: Record<string, string | number | null> = {
|
|
87
101
|
colid,
|
|
88
102
|
colspan: column.colSpan > 1 ? column.colSpan : null,
|
|
@@ -92,10 +106,6 @@ export default defineComponent({
|
|
|
92
106
|
onClick: (evnt: MouseEvent) => $xeTable.triggerHeaderCellClickEvent(evnt, cellParams),
|
|
93
107
|
onDblclick: (evnt: MouseEvent) => $xeTable.triggerHeaderCellDblclickEvent(evnt, cellParams)
|
|
94
108
|
}
|
|
95
|
-
// 横向虚拟滚动不支持动态行高
|
|
96
|
-
if (scrollXLoad && !hasEllipsis) {
|
|
97
|
-
showEllipsis = hasEllipsis = true
|
|
98
|
-
}
|
|
99
109
|
const isColDragCell = columnOpts.drag && columnDragOpts.trigger === 'cell'
|
|
100
110
|
let isDisabledDrag = false
|
|
101
111
|
if (isColDragCell) {
|
|
@@ -119,7 +129,7 @@ export default defineComponent({
|
|
|
119
129
|
const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto')
|
|
120
130
|
|
|
121
131
|
let isVNPreEmptyStatus = false
|
|
122
|
-
if (!isGroup) {
|
|
132
|
+
if (isOptimizeMode && !isGroup) {
|
|
123
133
|
if (!dragCol || dragCol.id !== colid) {
|
|
124
134
|
if (scrollXLoad && !column.fixed && !virtualXOpts.immediate && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
|
|
125
135
|
isVNPreEmptyStatus = true
|
|
@@ -227,7 +237,7 @@ export default defineComponent({
|
|
|
227
237
|
const renderVN = () => {
|
|
228
238
|
const { fixedType, fixedColumn, tableColumn } = props
|
|
229
239
|
const { mouseConfig, showHeaderOverflow: allColumnHeaderOverflow, spanMethod, footerSpanMethod } = tableProps
|
|
230
|
-
const { isGroup, isColLoading, overflowX, scrollXLoad,
|
|
240
|
+
const { isGroup, isColLoading, overflowX, scrollXLoad, dragCol } = tableReactData
|
|
231
241
|
const { visibleColumn, fullColumnIdData } = tableInternalData
|
|
232
242
|
|
|
233
243
|
const mouseOpts = computeMouseOpts.value
|
|
@@ -239,7 +249,7 @@ export default defineComponent({
|
|
|
239
249
|
renderColumnList = visibleColumn
|
|
240
250
|
} else {
|
|
241
251
|
// 如果是使用优化模式
|
|
242
|
-
if (scrollXLoad
|
|
252
|
+
if (scrollXLoad && allColumnHeaderOverflow) {
|
|
243
253
|
if (spanMethod || footerSpanMethod) {
|
|
244
254
|
// 如果不支持优化模式
|
|
245
255
|
} else {
|
|
@@ -247,7 +257,7 @@ export default defineComponent({
|
|
|
247
257
|
}
|
|
248
258
|
}
|
|
249
259
|
|
|
250
|
-
if (!isColLoading && (fixedType || !overflowX)) {
|
|
260
|
+
if (!isOptimizeMode || (!isColLoading && (fixedType || !overflowX))) {
|
|
251
261
|
renderColumnList = visibleColumn
|
|
252
262
|
}
|
|
253
263
|
|
|
@@ -311,7 +321,8 @@ export default defineComponent({
|
|
|
311
321
|
xid: xID,
|
|
312
322
|
cellspacing: 0,
|
|
313
323
|
cellpadding: 0,
|
|
314
|
-
border: 0
|
|
324
|
+
border: 0,
|
|
325
|
+
xvm: isOptimizeMode ? '1' : null
|
|
315
326
|
}, [
|
|
316
327
|
/**
|
|
317
328
|
* 列宽
|
|
@@ -2075,7 +2075,7 @@ export default defineComponent({
|
|
|
2075
2075
|
|
|
2076
2076
|
const updateStyle = () => {
|
|
2077
2077
|
const { showHeaderOverflow: allColumnHeaderOverflow, showFooterOverflow: allColumnFooterOverflow, mouseConfig, spanMethod, footerSpanMethod } = props
|
|
2078
|
-
const { isGroup, currentRow, tableColumn, scrollXLoad, scrollYLoad, overflowX, scrollbarWidth, overflowY, scrollbarHeight, scrollXWidth, columnStore, editStore, isAllOverflow, expandColumn } = reactData
|
|
2078
|
+
const { isGroup, currentRow, tableColumn, scrollXLoad, scrollYLoad, overflowX, scrollbarWidth, overflowY, scrollbarHeight, scrollXWidth, columnStore, editStore, isAllOverflow, expandColumn, isColLoading } = reactData
|
|
2079
2079
|
const { visibleColumn, tableHeight, headerHeight, footerHeight, elemStore, customHeight, customMinHeight, customMaxHeight } = internalData
|
|
2080
2080
|
const el = refElem.value
|
|
2081
2081
|
if (!el) {
|
|
@@ -2191,7 +2191,7 @@ export default defineComponent({
|
|
|
2191
2191
|
renderColumnList = visibleColumn
|
|
2192
2192
|
} else {
|
|
2193
2193
|
// 如果是使用优化模式
|
|
2194
|
-
if (scrollXLoad
|
|
2194
|
+
if (scrollXLoad && allColumnHeaderOverflow) {
|
|
2195
2195
|
if (spanMethod || footerSpanMethod) {
|
|
2196
2196
|
// 如果不支持优化模式
|
|
2197
2197
|
} else {
|
|
@@ -2199,8 +2199,11 @@ export default defineComponent({
|
|
|
2199
2199
|
}
|
|
2200
2200
|
}
|
|
2201
2201
|
|
|
2202
|
-
if (fixedType) {
|
|
2202
|
+
if (!isOptimizeMode || (!isColLoading && (fixedType || !overflowX))) {
|
|
2203
2203
|
renderColumnList = visibleColumn
|
|
2204
|
+
}
|
|
2205
|
+
|
|
2206
|
+
if (fixedType) {
|
|
2204
2207
|
// 如果是使用优化模式
|
|
2205
2208
|
if (isOptimizeMode) {
|
|
2206
2209
|
renderColumnList = fixedColumn || []
|
|
@@ -2297,7 +2300,7 @@ export default defineComponent({
|
|
|
2297
2300
|
let renderColumnList = tableColumn
|
|
2298
2301
|
let isOptimizeMode = false
|
|
2299
2302
|
// 如果是使用优化模式
|
|
2300
|
-
if (scrollXLoad
|
|
2303
|
+
if (scrollXLoad && allColumnFooterOverflow) {
|
|
2301
2304
|
if (spanMethod || footerSpanMethod) {
|
|
2302
2305
|
// 如果不支持优化模式
|
|
2303
2306
|
} else {
|
|
@@ -2305,8 +2308,11 @@ export default defineComponent({
|
|
|
2305
2308
|
}
|
|
2306
2309
|
}
|
|
2307
2310
|
|
|
2308
|
-
if (fixedType) {
|
|
2311
|
+
if (!isOptimizeMode || (!isColLoading && (fixedType || !overflowX))) {
|
|
2309
2312
|
renderColumnList = visibleColumn
|
|
2313
|
+
}
|
|
2314
|
+
|
|
2315
|
+
if (fixedType) {
|
|
2310
2316
|
if (isOptimizeMode) {
|
|
2311
2317
|
renderColumnList = fixedColumn || []
|
|
2312
2318
|
}
|
|
@@ -9996,7 +10002,7 @@ export default defineComponent({
|
|
|
9996
10002
|
updateScrollYStatus,
|
|
9997
10003
|
// 更新横向 X 可视渲染上下剩余空间大小
|
|
9998
10004
|
updateScrollXSpace () {
|
|
9999
|
-
const {
|
|
10005
|
+
const { scrollXLoad, overflowX, scrollXWidth } = reactData
|
|
10000
10006
|
const { visibleColumn, scrollXStore, elemStore, fullColumnIdData } = internalData
|
|
10001
10007
|
const mouseOpts = computeMouseOpts.value
|
|
10002
10008
|
const tableBody = refTableBody.value
|
|
@@ -10037,13 +10043,13 @@ export default defineComponent({
|
|
|
10037
10043
|
marginLeft = `${xSpaceLeft}px`
|
|
10038
10044
|
}
|
|
10039
10045
|
if (headerTableElem) {
|
|
10040
|
-
headerTableElem.style.marginLeft =
|
|
10046
|
+
headerTableElem.style.marginLeft = headerTableElem.getAttribute('xvm') ? marginLeft : ''
|
|
10041
10047
|
}
|
|
10042
10048
|
if (bodyTableElem) {
|
|
10043
10049
|
bodyTableElem.style.marginLeft = marginLeft
|
|
10044
10050
|
}
|
|
10045
10051
|
if (footerTableElem) {
|
|
10046
|
-
footerTableElem.style.marginLeft = marginLeft
|
|
10052
|
+
footerTableElem.style.marginLeft = footerTableElem.getAttribute('xvm') ? marginLeft : ''
|
|
10047
10053
|
}
|
|
10048
10054
|
|
|
10049
10055
|
reactData.isScrollXBig = isScrollXBig
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|