vxe-table 3.12.10-beta.2 → 3.12.10-beta.21
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/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/locale/lang/ar-EG.js +2 -1
- package/es/locale/lang/de-DE.js +2 -1
- package/es/locale/lang/en-US.js +2 -1
- package/es/locale/lang/es-ES.js +2 -1
- package/es/locale/lang/fr-FR.js +2 -1
- package/es/locale/lang/hu-HU.js +2 -1
- package/es/locale/lang/hy-AM.js +2 -1
- package/es/locale/lang/it-IT.js +2 -1
- package/es/locale/lang/ja-JP.js +2 -1
- package/es/locale/lang/ko-KR.js +2 -1
- package/es/locale/lang/nb-NO.js +2 -1
- package/es/locale/lang/pt-BR.js +2 -1
- package/es/locale/lang/ru-RU.js +4 -3
- package/es/locale/lang/th-TH.js +2 -1
- package/es/locale/lang/ug-CN.js +2 -1
- package/es/locale/lang/uk-UA.js +518 -517
- package/es/locale/lang/vi-VN.js +2 -1
- package/es/locale/lang/zh-CHT.js +2 -1
- package/es/locale/lang/zh-CN.js +2 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/edit/mixin.js +7 -7
- package/es/table/module/export/mixin.js +55 -32
- package/es/table/module/keyboard/mixin.js +68 -25
- package/es/table/module/menu/mixin.js +3 -1
- package/es/table/src/body.js +96 -64
- package/es/table/src/cell.js +3 -7
- package/es/table/src/column.js +2 -0
- package/es/table/src/columnInfo.js +1 -0
- package/es/table/src/footer.js +31 -6
- package/es/table/src/header.js +45 -141
- package/es/table/src/methods.js +918 -456
- package/es/table/src/props.js +6 -2
- package/es/table/src/table.js +299 -149
- package/es/table/src/util.js +67 -57
- package/es/table/style.css +299 -191
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +20 -10
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +299 -191
- package/es/vxe-table/style.min.css +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +1735 -1025
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +2 -1
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/de-DE.js +2 -1
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/en-US.js +2 -1
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +2 -1
- package/lib/locale/lang/es-ES.js +2 -1
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +2 -1
- package/lib/locale/lang/fr-FR.js +2 -1
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/hu-HU.js +2 -1
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +2 -1
- package/lib/locale/lang/hy-AM.js +2 -1
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/it-IT.js +2 -1
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/ja-JP.js +2 -1
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +2 -1
- package/lib/locale/lang/ko-KR.js +2 -1
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +2 -1
- package/lib/locale/lang/nb-NO.js +2 -1
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/pt-BR.js +2 -1
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +2 -1
- package/lib/locale/lang/ru-RU.js +4 -3
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +4 -3
- package/lib/locale/lang/th-TH.js +2 -1
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/ug-CN.js +2 -1
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/uk-UA.js +518 -517
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +518 -517
- package/lib/locale/lang/vi-VN.js +2 -1
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/zh-CHT.js +2 -1
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +2 -1
- package/lib/locale/lang/zh-CN.js +2 -1
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +2 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/edit/mixin.js +12 -2
- package/lib/table/module/edit/mixin.min.js +1 -1
- package/lib/table/module/export/mixin.js +52 -27
- package/lib/table/module/export/mixin.min.js +1 -1
- package/lib/table/module/keyboard/mixin.js +73 -27
- package/lib/table/module/keyboard/mixin.min.js +1 -1
- package/lib/table/module/menu/mixin.js +3 -1
- package/lib/table/src/body.js +89 -60
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +3 -5
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/column.js +2 -0
- package/lib/table/src/column.min.js +1 -1
- package/lib/table/src/columnInfo.js +1 -0
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/footer.js +26 -6
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +38 -153
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/methods.js +1076 -551
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/props.js +6 -2
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/table.js +269 -129
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +80 -70
- package/lib/table/src/util.min.js +1 -1
- package/lib/table/style/style.css +299 -191
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +20 -10
- 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/lib/vxe-table/style/style.css +299 -191
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/locale/lang/ar-EG.ts +2 -1
- package/packages/locale/lang/de-DE.ts +2 -1
- package/packages/locale/lang/en-US.ts +2 -1
- package/packages/locale/lang/es-ES.ts +2 -1
- package/packages/locale/lang/fr-FR.ts +2 -1
- package/packages/locale/lang/hu-HU.ts +2 -1
- package/packages/locale/lang/hy-AM.ts +2 -1
- package/packages/locale/lang/it-IT.ts +2 -1
- package/packages/locale/lang/ja-JP.ts +2 -1
- package/packages/locale/lang/ko-KR.ts +2 -1
- package/packages/locale/lang/nb-NO.ts +2 -1
- package/packages/locale/lang/pt-BR.ts +2 -1
- package/packages/locale/lang/ru-RU.ts +4 -3
- package/packages/locale/lang/th-TH.ts +2 -1
- package/packages/locale/lang/ug-CN.ts +2 -1
- package/packages/locale/lang/uk-UA.ts +518 -517
- package/packages/locale/lang/vi-VN.ts +2 -1
- package/packages/locale/lang/zh-CHT.ts +2 -1
- package/packages/locale/lang/zh-CN.ts +2 -1
- package/packages/table/module/edit/mixin.ts +7 -7
- package/packages/table/module/export/mixin.ts +50 -27
- package/packages/table/module/keyboard/mixin.ts +65 -24
- package/packages/table/module/menu/mixin.ts +4 -1
- package/packages/table/src/body.ts +102 -61
- package/packages/table/src/cell.ts +3 -7
- package/packages/table/src/column.ts +7 -2
- package/packages/table/src/columnInfo.ts +1 -0
- package/packages/table/src/footer.ts +31 -6
- package/packages/table/src/header.ts +45 -141
- package/packages/table/src/methods.ts +957 -461
- package/packages/table/src/props.ts +6 -2
- package/packages/table/src/table.ts +325 -149
- package/packages/table/src/util.ts +75 -62
- package/packages/ui/index.ts +21 -9
- package/styles/components/table.scss +352 -260
- package/styles/theme/base.scss +4 -6
- package/styles/theme/dark.scss +1 -0
- package/styles/theme/light.scss +1 -0
- package/styles/variable.scss +1 -0
- /package/es/{iconfont.1736736807414.ttf → iconfont.1737182271148.ttf} +0 -0
- /package/es/{iconfont.1736736807414.woff → iconfont.1737182271148.woff} +0 -0
- /package/es/{iconfont.1736736807414.woff2 → iconfont.1737182271148.woff2} +0 -0
- /package/lib/{iconfont.1736736807414.ttf → iconfont.1737182271148.ttf} +0 -0
- /package/lib/{iconfont.1736736807414.woff → iconfont.1737182271148.woff} +0 -0
- /package/lib/{iconfont.1736736807414.woff2 → iconfont.1737182271148.woff2} +0 -0
package/lib/table/src/footer.js
CHANGED
|
@@ -68,6 +68,10 @@ function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIn
|
|
|
68
68
|
} = tableInternalData;
|
|
69
69
|
const tooltipOpts = $xeTable.computeTooltipOpts;
|
|
70
70
|
const columnOpts = $xeTable.computeColumnOpts;
|
|
71
|
+
const defaultRowHeight = $xeTable.computeDefaultRowHeight;
|
|
72
|
+
const cellOpts = $xeTable.computeCellOpts;
|
|
73
|
+
const footerCellOpts = $xeTable.computeFooterCellOpts;
|
|
74
|
+
const currCellHeight = footerCellOpts.height || cellOpts.height || defaultRowHeight;
|
|
71
75
|
return tableColumn.map((column, $columnIndex) => {
|
|
72
76
|
const {
|
|
73
77
|
type,
|
|
@@ -78,11 +82,13 @@ function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIn
|
|
|
78
82
|
editRender,
|
|
79
83
|
cellRender
|
|
80
84
|
} = column;
|
|
85
|
+
const colid = column.id;
|
|
81
86
|
const renderOpts = editRender || cellRender;
|
|
82
87
|
const compConf = renderOpts ? renderer.get(renderOpts.name) : null;
|
|
83
88
|
const showAllTip = tooltipOpts.showAll;
|
|
84
89
|
const isColGroup = column.children && column.children.length;
|
|
85
90
|
const fixedHiddenColumn = fixedType ? column.fixed !== fixedType && !isColGroup : column.fixed && overflowX;
|
|
91
|
+
const isPadding = _xeUtils.default.isBoolean(footerCellOpts.padding) ? footerCellOpts.padding : cellOpts.padding;
|
|
86
92
|
const footOverflow = _xeUtils.default.eqNull(showFooterOverflow) ? allColumnFooterOverflow : showFooterOverflow;
|
|
87
93
|
const footAlign = footerAlign || (compConf ? compConf.tableFooterCellAlign : '') || allFooterAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign;
|
|
88
94
|
let showEllipsis = footOverflow === 'ellipsis';
|
|
@@ -177,18 +183,26 @@ function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIn
|
|
|
177
183
|
attrs.colspan = colspan;
|
|
178
184
|
}
|
|
179
185
|
}
|
|
186
|
+
const isLastColumn = $columnIndex === tableColumn.length - 1;
|
|
180
187
|
const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
|
|
181
|
-
let
|
|
182
|
-
if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex || _columnIndex > scrollXStore.visibleEndIndex)) {
|
|
183
|
-
|
|
188
|
+
let isVNPreEmptyStatus = false;
|
|
189
|
+
if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
|
|
190
|
+
isVNPreEmptyStatus = true;
|
|
191
|
+
}
|
|
192
|
+
const tcStyle = {};
|
|
193
|
+
if (hasEllipsis) {
|
|
194
|
+
tcStyle.height = `${currCellHeight}px`;
|
|
195
|
+
} else {
|
|
196
|
+
tcStyle.minHeight = `${currCellHeight}px`;
|
|
184
197
|
}
|
|
185
198
|
return h('td', {
|
|
186
199
|
class: ['vxe-footer--column', column.id, {
|
|
187
200
|
[`col--${footAlign}`]: footAlign,
|
|
188
201
|
[`col--${type}`]: type,
|
|
189
|
-
'col--last':
|
|
202
|
+
'col--last': isLastColumn,
|
|
190
203
|
'fixed--width': !isAutoCellWidth,
|
|
191
204
|
'fixed--hidden': fixedHiddenColumn,
|
|
205
|
+
'is--padding': isPadding,
|
|
192
206
|
'col--ellipsis': hasEllipsis,
|
|
193
207
|
'col--current': currentColumn === column
|
|
194
208
|
}, (0, _utils.getClass)(footerClassName, cellParams), (0, _utils.getClass)(footerCellClassName, cellParams)],
|
|
@@ -201,8 +215,14 @@ function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIn
|
|
|
201
215
|
'c--title': showTitle,
|
|
202
216
|
'c--tooltip': showTooltip,
|
|
203
217
|
'c--ellipsis': showEllipsis
|
|
204
|
-
}]
|
|
205
|
-
|
|
218
|
+
}],
|
|
219
|
+
style: tcStyle
|
|
220
|
+
}, isVNPreEmptyStatus ? [] : [h('div', {
|
|
221
|
+
attrs: {
|
|
222
|
+
colid
|
|
223
|
+
},
|
|
224
|
+
class: 'vxe-cell--wrapper'
|
|
225
|
+
}, column.renderFooter(h, cellParams))])]);
|
|
206
226
|
});
|
|
207
227
|
}
|
|
208
228
|
function renderHeads(h, _vm, renderColumnList) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let renderType="footer",{renderer,renderEmptyElement}=_ui.VxeUI;function mergeFooterMethod(r,t,
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let renderType="footer",{renderer,renderEmptyElement}=_ui.VxeUI;function mergeFooterMethod(r,t,l){for(let e=0;e<r.length;e++){var{row:o,col:i,rowspan:a,colspan:n}=r[e];if(-1<i&&-1<o&&a&&n){if(o===t&&i===l)return{rowspan:a,colspan:n};if(o<=t&&t<o+a&&i<=l&&l<i+n)return{rowspan:0,colspan:0}}}}function renderRows(y,e,b,F,C,_,T){let $=e.$parent;var r=$,t=$,l=$;let S=e.fixedType,{footerCellClassName:I,footerCellStyle:E,footerAlign:O,footerSpanMethod:R,align:D,columnKey:U,showFooterOverflow:k}=r,{scrollXLoad:A,scrollYLoad:M,overflowX:q,currentColumn:L,mergeFooterList:X}=t,H=l.scrollXStore,N=$.computeTooltipOpts,j=$.computeColumnOpts;e=$.computeDefaultRowHeight;let z=$.computeCellOpts,V=$.computeFooterCellOpts,K=V.height||z.height||e;return b.map((r,e)=>{var{type:t,showFooterOverflow:l,footerAlign:o,align:i,footerClassName:a,editRender:n,cellRender:s}=r,d=r.id,n=n||s,s=n?renderer.get(n.name):null;let u=N.showAll;var n=r.children&&r.children.length,n=S?r.fixed!==S&&!n:r.fixed&&q,p=(_xeUtils.default.isBoolean(V.padding)?V:z).padding,l=_xeUtils.default.eqNull(l)?k:l,o=o||(s?s.tableFooterCellAlign:"")||O||i||(s?s.tableCellAlign:"")||D;let c="ellipsis"===l,f="title"===l,x=!0===l||"tooltip"===l,m=f||x||c;var i={colid:r.id},s={},l=$.getColumnIndex(r),g=$.getVTColumnIndex(r),v=g;let h={$table:$,$grid:$.xegrid,row:C,rowIndex:T,_rowIndex:T,$rowIndex:_,column:r,columnIndex:l,$columnIndex:e,_columnIndex:g,itemIndex:v,items:C,fixed:S,type:renderType,data:F};if(A&&!m&&(c=m=!0),(f||x||u)&&(s.mouseenter=e=>{f?(0,_dom.updateCellTitle)(e.currentTarget,r):(x||u)&&$.triggerFooterTooltipEvent(e,h)}),(x||u)&&(s.mouseleave=e=>{(x||u)&&$.handleTargetLeaveEvent(e)}),s.click=e=>{$.dispatchEvent("footer-cell-click",Object.assign({cell:e.currentTarget},h),e)},s.dblclick=e=>{$.dispatchEvent("footer-cell-dblclick",Object.assign({cell:e.currentTarget},h),e)},X.length){l=mergeFooterMethod(X,T,g);if(l){var{rowspan:v,colspan:l}=l;if(!v||!l)return null;1<v&&(i.rowspan=v),1<l&&(i.colspan=l)}}else if(R){var{rowspan:v=1,colspan:l=1}=R(h)||{};if(!v||!l)return null;1<v&&(i.rowspan=v),1<l&&(i.colspan=l)}v=e===b.length-1,l=!r.resizeWidth&&("auto"===r.minWidth||"auto"===r.width);let w=!1;A&&!r.fixed&&(g<H.visibleStartIndex-H.preloadSize||g>H.visibleEndIndex+H.preloadSize)&&(w=!0);g={};return m?g.height=K+"px":g.minHeight=K+"px",y("td",{class:["vxe-footer--column",r.id,{["col--"+o]:o,["col--"+t]:t,"col--last":v,"fixed--width":!l,"fixed--hidden":n,"is--padding":p,"col--ellipsis":m,"col--current":L===r},(0,_utils.getClass)(a,h),(0,_utils.getClass)(I,h)],attrs:i,style:E?_xeUtils.default.isFunction(E)?E(h):E:void 0,on:s,key:U||A||M||j.useKey||j.drag?r.id:e},[y("div",{class:["vxe-cell",{"c--title":f,"c--tooltip":x,"c--ellipsis":c}],style:g},w?[]:[y("div",{attrs:{colid:d},class:"vxe-cell--wrapper"},r.renderFooter(y,h))])])})}function renderHeads(o,i,a){let n=i.$parent;var e=n,r=n;let{fixedType:s,footerTableData:d}=i,{footerRowClassName:u,footerRowStyle:p}=e,c=r.isDragColMove,f=n.computeColumnOpts,x=n.computeColumnDragOpts;return d.map((e,r)=>{var t=r,l={$table:n,row:e,_rowIndex:t,$rowIndex:r,fixed:s,type:renderType};return f.drag&&x.animation?o("transition-group",{key:r,props:{tag:"tr",name:"vxe-header--col-list"+(c?"":"-disabled"),class:["vxe-footer--row",u?_xeUtils.default.isFunction(u)?u(l):u:""],style:p?_xeUtils.default.isFunction(p)?p(l):p:void 0}},renderRows(o,i,a,d,e,r,t)):o("tr",{key:r,class:["vxe-footer--row",u?_xeUtils.default.isFunction(u)?u(l):u:""],style:p?_xeUtils.default.isFunction(p)?p(l):p:void 0},renderRows(o,i,a,d,e,r,t))})}var _default=exports.default={name:"VxeTableFooter",props:{footerTableData:{type:Array,default:()=>[]},tableColumn:{type:Array,default:()=>[]},fixedColumn:{type:Array,default:()=>[]},fixedType:{type:String,default:null}},mounted(){var e=this,r=e.fixedType,t=e.$parent.elemStore,r=`${r||"main"}-footer-`;t[r+"wrapper"]=e.$refs.refElem,t[r+"scroll"]=e.$refs.refFooterScroll,t[r+"table"]=e.$refs.refFooterTable,t[r+"colgroup"]=e.$refs.refFooterColgroup,t[r+"list"]=e.$refs.refFooterTFoot,t[r+"xSpace"]=e.$refs.refFooterXSpace},destroyed(){var e=this.fixedType,r=this.$parent.elemStore,e=`${e||"main"}-footer-`;r[e+"wrapper"]=null,r[e+"scroll"]=null,r[e+"table"]=null,r[e+"colgroup"]=null,r[e+"list"]=null,r[e+"xSpace"]=null},render(t){let r=this.$parent;var e=r,l=r,o=r,i=r.xID;let{fixedType:a,fixedColumn:n,tableColumn:s}=this;var{spanMethod:e,footerSpanMethod:d,showFooterOverflow:u}=e,{visibleColumn:o,fullColumnIdData:p}=o,{isGroup:l,scrollXLoad:c,scrollYLoad:f,dragCol:x}=l;let m=s,g=!(c||f||u)||e||d?!1:!0;return a&&(m=o,g)&&(m=n||[]),a||l||c&&x&&2<m.length&&(f=p[x.id])&&(u=f._index,e=m[0],d=m[m.length-1],o=p[e.id],l=p[d.id],o)&&l&&(c=o._index,f=l._index,u<c?m=[x].concat(m):f<u&&(m=m.concat([x]))),t("div",{ref:"refElem",class:["vxe-table--footer-wrapper",a?`fixed-${a}--wrapper`:"body--wrapper"],attrs:{xid:i}},[t("div",{ref:"refFooterScroll",class:"vxe-table--footer-inner-wrapper",on:{scroll(e){r.triggerFooterScrollEvent(e,a)}}},[a?renderEmptyElement(r):t("div",{ref:"refFooterXSpace",class:"vxe-body--x-space"}),t("table",{ref:"refFooterTable",class:"vxe-table--footer",attrs:{xid:i,cellspacing:0,cellpadding:0,border:0}},[t("colgroup",{ref:"refFooterColgroup"},m.map((e,r)=>t("col",{attrs:{name:e.id},key:r}))),t("tfoot",{ref:"refFooterTFoot"},renderHeads(t,this,m))])])])}};
|
package/lib/table/src/header.js
CHANGED
|
@@ -7,11 +7,9 @@ exports.default = void 0;
|
|
|
7
7
|
var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
8
8
|
var _ui = require("../../ui");
|
|
9
9
|
var _utils = require("../../ui/src/utils");
|
|
10
|
-
var _dom = require("../../ui/src/dom");
|
|
11
10
|
var _util = require("./util");
|
|
12
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
12
|
const {
|
|
14
|
-
getI18n,
|
|
15
13
|
renderer,
|
|
16
14
|
renderEmptyElement
|
|
17
15
|
} = _ui.VxeUI;
|
|
@@ -48,6 +46,10 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
|
|
|
48
46
|
} = tableInternalData;
|
|
49
47
|
const columnOpts = $xeTable.computeColumnOpts;
|
|
50
48
|
const columnDragOpts = $xeTable.computeColumnDragOpts;
|
|
49
|
+
const cellOpts = $xeTable.computeCellOpts;
|
|
50
|
+
const defaultRowHeight = $xeTable.computeDefaultRowHeight;
|
|
51
|
+
const headerCellOpts = $xeTable.computeHeaderCellOpts;
|
|
52
|
+
const currCellHeight = headerCellOpts.height || cellOpts.height || defaultRowHeight;
|
|
51
53
|
const {
|
|
52
54
|
disabledMethod: dragDisabledMethod,
|
|
53
55
|
isCrossDrag,
|
|
@@ -70,6 +72,7 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
|
|
|
70
72
|
const compConf = renderOpts ? renderer.get(renderOpts.name) : null;
|
|
71
73
|
const isColGroup = column.children && column.children.length;
|
|
72
74
|
const fixedHiddenColumn = fixedType ? column.fixed !== fixedType && !isColGroup : column.fixed && overflowX;
|
|
75
|
+
const isPadding = _xeUtils.default.isBoolean(headerCellOpts.padding) ? headerCellOpts.padding : cellOpts.padding;
|
|
73
76
|
const headOverflow = _xeUtils.default.isUndefined(showHeaderOverflow) || _xeUtils.default.isNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow;
|
|
74
77
|
const headAlign = headerAlign || (compConf ? compConf.tableHeaderCellAlign : '') || allHeaderAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign;
|
|
75
78
|
let showEllipsis = headOverflow === 'ellipsis';
|
|
@@ -84,7 +87,7 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
|
|
|
84
87
|
}
|
|
85
88
|
const columnIndex = $xeTable.getColumnIndex(column);
|
|
86
89
|
const _columnIndex = $xeTable.getVTColumnIndex(column);
|
|
87
|
-
const
|
|
90
|
+
const cellParams = {
|
|
88
91
|
$table: $xeTable,
|
|
89
92
|
$grid: $xeGrid,
|
|
90
93
|
$rowIndex,
|
|
@@ -104,8 +107,8 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
|
|
|
104
107
|
rowspan: column.rowSpan > 1 ? column.rowSpan : null
|
|
105
108
|
};
|
|
106
109
|
const thOns = {
|
|
107
|
-
click: evnt => $xeTable.triggerHeaderCellClickEvent(evnt,
|
|
108
|
-
dblclick: evnt => $xeTable.triggerHeaderCellDblclickEvent(evnt,
|
|
110
|
+
click: evnt => $xeTable.triggerHeaderCellClickEvent(evnt, cellParams),
|
|
111
|
+
dblclick: evnt => $xeTable.triggerHeaderCellDblclickEvent(evnt, cellParams)
|
|
109
112
|
};
|
|
110
113
|
// 虚拟滚动不支持动态高度
|
|
111
114
|
if (scrollXLoad && !hasEllipsis) {
|
|
@@ -114,11 +117,11 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
|
|
|
114
117
|
const isColDragCell = columnOpts.drag && columnDragOpts.trigger === 'cell';
|
|
115
118
|
let isDisabledDrag = false;
|
|
116
119
|
if (isColDragCell) {
|
|
117
|
-
isDisabledDrag = !!(dragDisabledMethod && dragDisabledMethod(
|
|
120
|
+
isDisabledDrag = !!(dragDisabledMethod && dragDisabledMethod(cellParams));
|
|
118
121
|
}
|
|
119
122
|
// 按下事件处理
|
|
120
123
|
if (mouseConfig || isColDragCell) {
|
|
121
|
-
thOns.mousedown = evnt => $xeTable.triggerHeaderCellMousedownEvent(evnt,
|
|
124
|
+
thOns.mousedown = evnt => $xeTable.triggerHeaderCellMousedownEvent(evnt, cellParams);
|
|
122
125
|
}
|
|
123
126
|
// 拖拽列事件
|
|
124
127
|
if (columnOpts.drag) {
|
|
@@ -129,30 +132,39 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
|
|
|
129
132
|
thOns.mouseup = $xeTable.handleHeaderCellDragMouseupEvent;
|
|
130
133
|
}
|
|
131
134
|
}
|
|
135
|
+
const isLastColumn = $columnIndex === cols.length - 1;
|
|
136
|
+
const showResizable = _xeUtils.default.isBoolean(column.resizable) ? column.resizable : columnOpts.resizable || allResizable;
|
|
132
137
|
const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
|
|
133
|
-
let
|
|
134
|
-
if (scrollXLoad && !
|
|
135
|
-
|
|
138
|
+
let isVNPreEmptyStatus = false;
|
|
139
|
+
if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
|
|
140
|
+
isVNPreEmptyStatus = true;
|
|
141
|
+
}
|
|
142
|
+
const tcStyle = {};
|
|
143
|
+
if (hasEllipsis) {
|
|
144
|
+
tcStyle.height = `${currCellHeight}px`;
|
|
145
|
+
} else {
|
|
146
|
+
tcStyle.minHeight = `${currCellHeight}px`;
|
|
136
147
|
}
|
|
137
148
|
return h('th', {
|
|
138
149
|
class: ['vxe-header--column', colid, {
|
|
139
150
|
[`col--${headAlign}`]: headAlign,
|
|
140
151
|
[`col--${type}`]: type,
|
|
141
|
-
'col--last':
|
|
152
|
+
'col--last': isLastColumn,
|
|
142
153
|
'col--fixed': column.fixed,
|
|
143
154
|
'col--group': isColGroup,
|
|
144
155
|
'col--ellipsis': hasEllipsis,
|
|
145
156
|
'fixed--width': !isAutoCellWidth,
|
|
146
157
|
'fixed--hidden': fixedHiddenColumn,
|
|
158
|
+
'is--padding': isPadding,
|
|
147
159
|
'is--sortable': column.sortable,
|
|
148
160
|
'col--filter': !!filters,
|
|
149
161
|
'is--filter-active': hasFilter,
|
|
150
162
|
'is--drag-active': !column.fixed && !isDisabledDrag && (isCrossDrag || isPeerDrag || !column.parentId),
|
|
151
163
|
'is--drag-disabled': isDisabledDrag,
|
|
152
164
|
'col--current': currentColumn === column
|
|
153
|
-
}, (0, _utils.getClass)(headerClassName,
|
|
165
|
+
}, (0, _utils.getClass)(headerClassName, cellParams), (0, _utils.getClass)(headerCellClassName, cellParams)],
|
|
154
166
|
attrs: thAttrs,
|
|
155
|
-
style: headerCellStyle ? _xeUtils.default.isFunction(headerCellStyle) ? headerCellStyle(
|
|
167
|
+
style: headerCellStyle ? _xeUtils.default.isFunction(headerCellStyle) ? headerCellStyle(cellParams) : headerCellStyle : undefined,
|
|
156
168
|
on: thOns,
|
|
157
169
|
key: columnKey || scrollXLoad || scrollYLoad || columnOpts.useKey || columnOpts.drag || isColGroup ? colid : $columnIndex
|
|
158
170
|
}, [h('div', {
|
|
@@ -160,20 +172,26 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
|
|
|
160
172
|
'c--title': showTitle,
|
|
161
173
|
'c--tooltip': showTooltip,
|
|
162
174
|
'c--ellipsis': showEllipsis
|
|
163
|
-
}]
|
|
164
|
-
|
|
175
|
+
}],
|
|
176
|
+
style: tcStyle
|
|
177
|
+
}, isVNPreEmptyStatus || isOptimizeMode && fixedHiddenColumn ? [] : [h('div', {
|
|
178
|
+
attrs: {
|
|
179
|
+
colid
|
|
180
|
+
},
|
|
181
|
+
class: 'vxe-cell--wrapper'
|
|
182
|
+
}, column.renderHeader(h, cellParams))]),
|
|
165
183
|
/**
|
|
166
184
|
* 列宽拖动
|
|
167
185
|
*/
|
|
168
|
-
!fixedHiddenColumn &&
|
|
169
|
-
class: ['vxe-resizable', {
|
|
186
|
+
!fixedHiddenColumn && showResizable ? h('div', {
|
|
187
|
+
class: ['vxe-cell--col-resizable', {
|
|
170
188
|
'is--line': !border || border === 'none'
|
|
171
189
|
}],
|
|
172
190
|
on: {
|
|
173
|
-
mousedown: evnt =>
|
|
174
|
-
dblclick: evnt => $xeTable.
|
|
191
|
+
mousedown: evnt => $xeTable.handleColResizeMousedownEvent(evnt, fixedType, cellParams),
|
|
192
|
+
dblclick: evnt => $xeTable.handleColResizeDblclickEvent(evnt, cellParams)
|
|
175
193
|
}
|
|
176
|
-
}) :
|
|
194
|
+
}) : renderEmptyElement($xeTable)]);
|
|
177
195
|
});
|
|
178
196
|
};
|
|
179
197
|
function renderHeads(h, _vm, isGroup, isOptimizeMode, headerGroups) {
|
|
@@ -423,139 +441,6 @@ var _default = exports.default = {
|
|
|
423
441
|
$parent: $xetable
|
|
424
442
|
} = this;
|
|
425
443
|
this.headerColumn = $xetable.isGroup ? (0, _util.convertHeaderColumnToRows)(this.tableGroupColumn) : [];
|
|
426
|
-
},
|
|
427
|
-
resizeMousedownEvent(evnt, params) {
|
|
428
|
-
const $xeTable = this.$parent;
|
|
429
|
-
const tableInternalData = $xeTable;
|
|
430
|
-
const {
|
|
431
|
-
column
|
|
432
|
-
} = params;
|
|
433
|
-
const {
|
|
434
|
-
$parent: $xetable,
|
|
435
|
-
fixedType
|
|
436
|
-
} = this;
|
|
437
|
-
const {
|
|
438
|
-
visibleColumn
|
|
439
|
-
} = tableInternalData;
|
|
440
|
-
const {
|
|
441
|
-
refTableBody,
|
|
442
|
-
refLeftContainer,
|
|
443
|
-
refRightContainer
|
|
444
|
-
} = $xetable.$refs;
|
|
445
|
-
const tableEl = $xeTable.$el;
|
|
446
|
-
const resizeBarElem = $xetable.$refs.refCellResizeBar;
|
|
447
|
-
const resizeTipElem = $xetable.$refs.refCellResizeTip;
|
|
448
|
-
const wrapperElem = this.$el;
|
|
449
|
-
const {
|
|
450
|
-
clientX: dragClientX
|
|
451
|
-
} = evnt;
|
|
452
|
-
const dragBtnElem = evnt.target;
|
|
453
|
-
const cell = dragBtnElem.parentNode;
|
|
454
|
-
const cellParams = Object.assign(params, {
|
|
455
|
-
cell
|
|
456
|
-
});
|
|
457
|
-
const resizableOpts = $xeTable.computeResizableOpts;
|
|
458
|
-
let dragLeft = 0;
|
|
459
|
-
const tableBodyElem = refTableBody.$el;
|
|
460
|
-
const pos = (0, _dom.getOffsetPos)(dragBtnElem, tableEl);
|
|
461
|
-
const dragBtnWidth = dragBtnElem.clientWidth;
|
|
462
|
-
const dragBtnOffsetWidth = Math.floor(dragBtnWidth / 2);
|
|
463
|
-
const minInterval = (0, _util.getColReMinWidth)(cellParams) - dragBtnOffsetWidth; // 列之间的最小间距
|
|
464
|
-
let dragMinLeft = pos.left - cell.clientWidth + dragBtnWidth + minInterval;
|
|
465
|
-
let dragPosLeft = pos.left + dragBtnOffsetWidth;
|
|
466
|
-
const domMousemove = document.onmousemove;
|
|
467
|
-
const domMouseup = document.onmouseup;
|
|
468
|
-
const isLeftFixed = fixedType === 'left';
|
|
469
|
-
const isRightFixed = fixedType === 'right';
|
|
470
|
-
// 计算左右侧固定列偏移量
|
|
471
|
-
let fixedOffsetWidth = 0;
|
|
472
|
-
if (isLeftFixed || isRightFixed) {
|
|
473
|
-
const siblingProp = isLeftFixed ? 'nextElementSibling' : 'previousElementSibling';
|
|
474
|
-
let tempCellElem = cell[siblingProp];
|
|
475
|
-
while (tempCellElem) {
|
|
476
|
-
if ((0, _dom.hasClass)(tempCellElem, 'fixed--hidden')) {
|
|
477
|
-
break;
|
|
478
|
-
} else if (!(0, _dom.hasClass)(tempCellElem, 'col--group')) {
|
|
479
|
-
fixedOffsetWidth += tempCellElem.offsetWidth;
|
|
480
|
-
}
|
|
481
|
-
tempCellElem = tempCellElem[siblingProp];
|
|
482
|
-
}
|
|
483
|
-
if (isRightFixed && refRightContainer) {
|
|
484
|
-
dragPosLeft = refRightContainer.offsetLeft + fixedOffsetWidth;
|
|
485
|
-
}
|
|
486
|
-
}
|
|
487
|
-
// 处理拖动事件
|
|
488
|
-
const updateEvent = function (evnt) {
|
|
489
|
-
evnt.stopPropagation();
|
|
490
|
-
evnt.preventDefault();
|
|
491
|
-
const offsetX = evnt.clientX - dragClientX;
|
|
492
|
-
let left = dragPosLeft + offsetX;
|
|
493
|
-
const scrollLeft = fixedType ? 0 : tableBodyElem.scrollLeft;
|
|
494
|
-
if (isLeftFixed) {
|
|
495
|
-
// 左固定列(不允许超过右侧固定列、不允许超过右边距)
|
|
496
|
-
left = Math.min(left, (refRightContainer ? refRightContainer.offsetLeft : tableBodyElem.clientWidth) - fixedOffsetWidth - minInterval);
|
|
497
|
-
} else if (isRightFixed) {
|
|
498
|
-
// 右侧固定列(不允许超过左侧固定列、不允许超过左边距)
|
|
499
|
-
dragMinLeft = (refLeftContainer ? refLeftContainer.clientWidth : 0) + fixedOffsetWidth + minInterval;
|
|
500
|
-
left = Math.min(left, dragPosLeft + cell.clientWidth - minInterval);
|
|
501
|
-
} else {
|
|
502
|
-
dragMinLeft = Math.max(tableBodyElem.scrollLeft, dragMinLeft);
|
|
503
|
-
// left = Math.min(left, tableBodyElem.clientWidth + tableBodyElem.scrollLeft - 40)
|
|
504
|
-
}
|
|
505
|
-
dragLeft = Math.max(left, dragMinLeft);
|
|
506
|
-
const resizeBarLeft = dragLeft - scrollLeft;
|
|
507
|
-
resizeBarElem.style.left = `${resizeBarLeft}px`;
|
|
508
|
-
if (resizableOpts.showDragTip && resizeTipElem) {
|
|
509
|
-
const tableWidth = tableEl.clientWidth;
|
|
510
|
-
const wrapperRect = wrapperElem.getBoundingClientRect();
|
|
511
|
-
const resizeBarWidth = resizeBarElem.clientWidth;
|
|
512
|
-
const resizeTipWidth = resizeTipElem.clientWidth;
|
|
513
|
-
const resizeTipHeight = resizeTipElem.clientHeight;
|
|
514
|
-
let resizeTipLeft = -resizeTipWidth;
|
|
515
|
-
if (resizeBarLeft < resizeTipWidth + resizeBarWidth) {
|
|
516
|
-
resizeTipLeft = resizeTipWidth + resizeBarWidth - resizeBarLeft;
|
|
517
|
-
} else if (resizeBarLeft > tableWidth) {
|
|
518
|
-
resizeTipLeft += tableWidth - resizeBarLeft;
|
|
519
|
-
}
|
|
520
|
-
resizeTipElem.style.left = `${resizeTipLeft}px`;
|
|
521
|
-
resizeTipElem.style.top = `${Math.min(tableEl.clientHeight - resizeTipHeight, Math.max(0, evnt.clientY - wrapperRect.y - resizeTipHeight / 2))}px`;
|
|
522
|
-
resizeTipElem.textContent = getI18n('vxe.table.resizeColTip', [column.renderWidth + (isRightFixed ? dragPosLeft - dragLeft : dragLeft - dragPosLeft)]);
|
|
523
|
-
}
|
|
524
|
-
};
|
|
525
|
-
$xetable._isResize = true;
|
|
526
|
-
(0, _dom.addClass)($xetable.$el, 'drag--resize');
|
|
527
|
-
resizeBarElem.style.display = 'block';
|
|
528
|
-
document.onmousemove = updateEvent;
|
|
529
|
-
document.onmouseup = function (evnt) {
|
|
530
|
-
document.onmousemove = domMousemove;
|
|
531
|
-
document.onmouseup = domMouseup;
|
|
532
|
-
const resizeWidth = column.renderWidth + (isRightFixed ? dragPosLeft - dragLeft : dragLeft - dragPosLeft);
|
|
533
|
-
column.resizeWidth = resizeWidth;
|
|
534
|
-
if (resizableOpts.dragMode === 'fixed') {
|
|
535
|
-
visibleColumn.forEach(item => {
|
|
536
|
-
if (item.id !== column.id) {
|
|
537
|
-
if (!item.resizeWidth) {
|
|
538
|
-
item.resizeWidth = item.renderWidth;
|
|
539
|
-
}
|
|
540
|
-
}
|
|
541
|
-
});
|
|
542
|
-
}
|
|
543
|
-
resizeBarElem.style.display = 'none';
|
|
544
|
-
$xetable._isResize = false;
|
|
545
|
-
$xetable._lastResizeTime = Date.now();
|
|
546
|
-
$xetable.analyColumnWidth();
|
|
547
|
-
$xetable.recalculate(true).then(() => {
|
|
548
|
-
$xetable.saveCustomStore('update:visible');
|
|
549
|
-
$xetable.updateCellAreas();
|
|
550
|
-
$xetable.emitEvent('resizable-change', Object.assign(Object.assign({}, params), {
|
|
551
|
-
resizeWidth
|
|
552
|
-
}), evnt);
|
|
553
|
-
setTimeout(() => $xetable.recalculate(true), 300);
|
|
554
|
-
});
|
|
555
|
-
(0, _dom.removeClass)($xetable.$el, 'drag--resize');
|
|
556
|
-
};
|
|
557
|
-
updateEvent(evnt);
|
|
558
|
-
$xetable.closeMenu();
|
|
559
444
|
}
|
|
560
445
|
}
|
|
561
446
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,cellType="header",renderRows=($,e,l,S,D,E)=>{let T=e.$parent,R=T.xegrid;var r=T,a=T,t=T;let I=e.fixedType,{resizable:U,border:k,columnKey:O,headerCellClassName:z,headerCellStyle:M,showHeaderOverflow:A,headerAlign:F,align:q,mouseConfig:X}=r,{currentColumn:B,scrollXLoad:G,scrollYLoad:L,overflowX:N}=a,V=t.scrollXStore,K=T.computeColumnOpts,P=T.computeColumnDragOpts,W=T.computeCellOpts;e=T.computeDefaultRowHeight;let Y=T.computeHeaderCellOpts,j=Y.height||W.height||e,{disabledMethod:J,isCrossDrag:Q,isPeerDrag:Z}=P;return D.map((e,l)=>{var{type:r,showHeaderOverflow:a,headerAlign:t,align:d,filters:i,headerClassName:o,editRender:n,cellRender:s}=e,u=e.id,n=n||s,s=n?renderer.get(n.name):null,n=e.children&&e.children.length,c=I?e.fixed!==I&&!n:e.fixed&&N,p=(_xeUtils.default.isBoolean(Y.padding)?Y:W).padding,a=_xeUtils.default.isUndefined(a)||_xeUtils.default.isNull(a)?A:a,t=t||(s?s.tableHeaderCellAlign:"")||F||d||(s?s.tableCellAlign:"")||q;let f="ellipsis"===a;d="title"===a,s=!0===a||"tooltip"===a;let h=d||s||f,g=!1,m=null;i&&(m=i[0],g=i.some(e=>e.checked));var a=T.getColumnIndex(e),x=T.getVTColumnIndex(e);let v={$table:T,$grid:R,$rowIndex:E,column:e,columnIndex:a,$columnIndex:l,_columnIndex:x,firstFilterOption:m,fixed:I,type:cellType,isHidden:c,hasFilter:g};var a={colid:u,colspan:1<e.colSpan?e.colSpan:null,rowspan:1<e.rowSpan?e.rowSpan:null},C={click:e=>T.triggerHeaderCellClickEvent(e,v),dblclick:e=>T.triggerHeaderCellDblclickEvent(e,v)},b=(G&&!h&&(f=h=!0),K.drag&&"cell"===P.trigger);let y=!1;b&&(y=!(!J||!J(v))),(X||b)&&(C.mousedown=e=>T.triggerHeaderCellMousedownEvent(e,v)),K.drag&&(C.dragstart=T.handleHeaderCellDragDragstartEvent,C.dragend=T.handleHeaderCellDragDragendEvent,C.dragover=T.handleHeaderCellDragDragoverEvent,b)&&(C.mouseup=T.handleHeaderCellDragMouseupEvent);var b=l===D.length-1,w=_xeUtils.default.isBoolean(e.resizable)?e.resizable:K.resizable||U,H=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width);let _=!1;G&&!e.fixed&&(x<V.visibleStartIndex-V.preloadSize||x>V.visibleEndIndex+V.preloadSize)&&(_=!0);x={};return h?x.height=j+"px":x.minHeight=j+"px",$("th",{class:["vxe-header--column",u,{["col--"+t]:t,["col--"+r]:r,"col--last":b,"col--fixed":e.fixed,"col--group":n,"col--ellipsis":h,"fixed--width":!H,"fixed--hidden":c,"is--padding":p,"is--sortable":e.sortable,"col--filter":!!i,"is--filter-active":g,"is--drag-active":!e.fixed&&!y&&(Q||Z||!e.parentId),"is--drag-disabled":y,"col--current":B===e},(0,_utils.getClass)(o,v),(0,_utils.getClass)(z,v)],attrs:a,style:M?_xeUtils.default.isFunction(M)?M(v):M:void 0,on:C,key:O||G||L||K.useKey||K.drag||n?u:l},[$("div",{class:["vxe-cell",{"c--title":d,"c--tooltip":s,"c--ellipsis":f}],style:x},_||S&&c?[]:[$("div",{attrs:{colid:u},class:"vxe-cell--wrapper"},e.renderHeader($,v))]),!c&&w?$("div",{class:["vxe-cell--col-resizable",{"is--line":!k||"none"===k}],on:{mousedown:e=>T.handleColResizeMousedownEvent(e,I,v),dblclick:e=>T.handleColResizeDblclickEvent(e,v)}}):renderEmptyElement(T)])})};function renderHeads(a,t,d,i,e){let o=t.$parent;var l=o,r=o;let n=t.fixedType,s=o.computeColumnOpts,u=o.computeColumnDragOpts,{headerRowClassName:c,headerRowStyle:p}=l,f=r.isDragColMove;return e.map((e,l)=>{var r={$table:o,$rowIndex:l,fixed:n,type:cellType};return s.drag&&u.animation?a("transition-group",{key:l,props:{tag:"tr",name:"vxe-header--col-list"+(f?"":"-disabled"),class:["vxe-header--row",c?_xeUtils.default.isFunction(c)?c(r):c:""],style:p?_xeUtils.default.isFunction(p)?p(r):p:null}},renderRows(a,t,d,i,e,l)):a("tr",{key:l,class:["vxe-header--row",c?_xeUtils.default.isFunction(c)?c(r):c:""],style:p?_xeUtils.default.isFunction(p)?p(r):p:void 0},renderRows(a,t,d,i,e,l))})}var _default=exports.default={name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},data(){return{headerColumn:[]}},watch:{tableColumn(){this.uploadColumn()}},created(){this.uploadColumn()},mounted(){var e=this,l=e.fixedType,r=e.$parent.elemStore,l=`${l||"main"}-header-`;r[l+"wrapper"]=e.$refs.refElem,r[l+"scroll"]=e.$refs.refHeaderScroll,r[l+"table"]=e.$refs.refHeaderTable,r[l+"colgroup"]=e.$refs.refHeaderColgroup,r[l+"list"]=e.$refs.refHeaderTHead,r[l+"xSpace"]=e.$refs.refHeaderXSpace,r[l+"repair"]=e.$refs.refHeaderBorderRepair},destroyed(){var e=this.fixedType,l=this.$parent.elemStore,e=`${e||"main"}-header-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"repair"]=null},render(r){let l=this.$parent;var e=l,a=l,t=l,d=l.xID;let{fixedType:i,fixedColumn:o,tableColumn:n}=this;var s=this.headerColumn,{showHeaderOverflow:e,spanMethod:u,footerSpanMethod:c}=e,{isGroup:a,scrollXLoad:p,scrollYLoad:f,dragCol:h}=a,{visibleColumn:t,fullColumnIdData:g}=t;let m=s,x=n,v=!1;return a?x=t:(!(p||f||e)||u||c||(v=!0),i&&(x=t,v)&&(x=o||[]),m=[x]),i||a||p&&h&&2<x.length&&(s=g[h.id])&&(f=s._index,e=x[0],u=x[x.length-1],c=g[e.id],t=g[u.id],c)&&t&&(p=c._index,s=t._index,f<p?(x=[h].concat(x),m=[[h].concat(m[0])].concat(m.slice(1))):s<f&&(x=x.concat([h]),m=[m[0].concat([h])].concat(m.slice(1)))),r("div",{ref:"refElem",class:["vxe-table--header-wrapper",i?`fixed-${i}--wrapper`:"body--wrapper"],attrs:{xid:d}},[r("div",{ref:"refHeaderScroll",class:"vxe-table--header-inner-wrapper",on:{scroll(e){l.triggerHeaderScrollEvent(e,i)}}},[i?renderEmptyElement(l):r("div",{ref:"refHeaderXSpace",class:"vxe-body--x-space"}),r("table",{ref:"refHeaderTable",class:"vxe-table--header",attrs:{xid:d,cellspacing:0,cellpadding:0,border:0}},[r("colgroup",{ref:"refHeaderColgroup"},x.map((e,l)=>r("col",{attrs:{name:e.id},key:l}))),r("thead",{ref:"refHeaderTHead"},renderHeads(r,this,a,v,m))]),r("div",{ref:"refHeaderBorderRepair",class:"vxe-table--header-border-line"})])])},methods:{uploadColumn(){var e=this.$parent;this.headerColumn=e.isGroup?(0,_util.convertHeaderColumnToRows)(this.tableGroupColumn):[]}}};
|