vxe-table 4.10.6-beta.25 → 4.10.6-beta.27
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/en-US.js +2 -2
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/src/body.js +21 -19
- package/es/table/src/cell.js +25 -39
- package/es/table/src/column.js +10 -0
- package/es/table/src/columnInfo.js +2 -0
- package/es/table/src/footer.js +2 -1
- package/es/table/src/header.js +2 -2
- package/es/table/src/table.js +111 -81
- package/es/table/src/util.js +9 -3
- package/es/table/style.css +51 -26
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +51 -26
- 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 +189 -150
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/en-US.js +2 -2
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +2 -2
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/src/body.js +17 -18
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +24 -33
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/column.js +10 -0
- package/lib/table/src/column.min.js +1 -1
- package/lib/table/src/columnInfo.js +2 -0
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/footer.js +2 -1
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +1 -1
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/table.js +122 -92
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +10 -3
- package/lib/table/src/util.min.js +1 -1
- package/lib/table/style/style.css +51 -26
- package/lib/table/style/style.min.css +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/lib/vxe-table/style/style.css +51 -26
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/locale/lang/en-US.ts +2 -2
- package/packages/table/src/body.ts +21 -19
- package/packages/table/src/cell.ts +25 -47
- package/packages/table/src/column.ts +10 -0
- package/packages/table/src/columnInfo.ts +2 -0
- package/packages/table/src/footer.ts +2 -1
- package/packages/table/src/header.ts +2 -2
- package/packages/table/src/table.ts +116 -83
- package/packages/table/src/util.ts +10 -3
- package/styles/components/table.scss +63 -31
- /package/es/{iconfont.1737356819937.ttf → iconfont.1737446773545.ttf} +0 -0
- /package/es/{iconfont.1737356819937.woff → iconfont.1737446773545.woff} +0 -0
- /package/es/{iconfont.1737356819937.woff2 → iconfont.1737446773545.woff2} +0 -0
- /package/lib/{iconfont.1737356819937.ttf → iconfont.1737446773545.ttf} +0 -0
- /package/lib/{iconfont.1737356819937.woff → iconfont.1737446773545.woff} +0 -0
- /package/lib/{iconfont.1737356819937.woff2 → iconfont.1737446773545.woff2} +0 -0
package/lib/table/src/body.js
CHANGED
|
@@ -133,7 +133,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
133
133
|
const {
|
|
134
134
|
columnKey,
|
|
135
135
|
height,
|
|
136
|
-
showOverflow: allColumnOverflow,
|
|
137
136
|
cellClassName: allCellClassName,
|
|
138
137
|
cellStyle,
|
|
139
138
|
align: allAlign,
|
|
@@ -191,10 +190,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
191
190
|
className,
|
|
192
191
|
treeNode,
|
|
193
192
|
rowResize,
|
|
193
|
+
padding,
|
|
194
|
+
verticalAlign,
|
|
194
195
|
slots
|
|
195
196
|
} = column;
|
|
196
197
|
const {
|
|
197
|
-
verticalAlign
|
|
198
|
+
verticalAlign: allVerticalAlign
|
|
198
199
|
} = cellOpts;
|
|
199
200
|
const {
|
|
200
201
|
actived
|
|
@@ -211,16 +212,17 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
211
212
|
const isEdit = (0, _utils.isEnableConf)(editRender);
|
|
212
213
|
const resizeHeight = resizeHeightFlag ? rowRest.resizeHeight : 0;
|
|
213
214
|
let fixedHiddenColumn = fixedType ? column.fixed !== fixedType : column.fixed && overflowX;
|
|
214
|
-
const
|
|
215
|
-
const cellOverflow = _xeUtils.default.
|
|
215
|
+
const isCellPadding = _xeUtils.default.eqNull(padding) ? allPadding === null ? cellOpts.padding : allPadding : padding;
|
|
216
|
+
const cellOverflow = _xeUtils.default.eqNull(showOverflow) ? isAllOverflow : showOverflow;
|
|
216
217
|
const showEllipsis = cellOverflow === 'ellipsis';
|
|
217
218
|
const showTitle = cellOverflow === 'title';
|
|
218
219
|
const showTooltip = cellOverflow === true || cellOverflow === 'tooltip';
|
|
219
|
-
|
|
220
|
-
const
|
|
220
|
+
const hasEllipsis = isAllOverflow || showTitle || showTooltip || showEllipsis;
|
|
221
|
+
const isRsHeight = resizeHeight > 0;
|
|
221
222
|
let isDirty;
|
|
222
223
|
const tdOns = {};
|
|
223
224
|
const cellAlign = align || (compConf ? compConf.tableCellAlign : '') || allAlign;
|
|
225
|
+
const cellVerticalAlign = _xeUtils.default.eqNull(verticalAlign) ? allVerticalAlign : verticalAlign;
|
|
224
226
|
const errorValidItem = validErrorMaps[`${rowid}:${colid}`];
|
|
225
227
|
const showValidTip = editRules && validOpts.showMessage && (validOpts.message === 'default' ? height || tableData.length > 1 : validOpts.message === 'inline');
|
|
226
228
|
const tdAttrs = {
|
|
@@ -370,13 +372,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
370
372
|
isVNPreEmptyStatus = true;
|
|
371
373
|
}
|
|
372
374
|
const tcStyle = {};
|
|
373
|
-
if (hasEllipsis) {
|
|
375
|
+
if (scrollYLoad || hasEllipsis || isRsHeight) {
|
|
374
376
|
tcStyle.height = `${cellHeight}px`;
|
|
375
377
|
} else {
|
|
376
378
|
tcStyle.minHeight = `${cellHeight}px`;
|
|
377
379
|
}
|
|
378
380
|
const tdVNs = [];
|
|
379
|
-
if (fixedHiddenColumn &&
|
|
381
|
+
if (fixedHiddenColumn && isAllOverflow) {
|
|
380
382
|
tdVNs.push((0, _vue.h)('div', {
|
|
381
383
|
key: 'tc',
|
|
382
384
|
class: ['vxe-cell', {
|
|
@@ -436,19 +438,17 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
436
438
|
}));
|
|
437
439
|
}
|
|
438
440
|
return (0, _vue.h)('td', Object.assign(Object.assign(Object.assign({
|
|
439
|
-
class: ['vxe-body--column', colid, {
|
|
440
|
-
[`col--${cellAlign}`]: cellAlign,
|
|
441
|
-
[`col--vertical-${verticalAlign}`]: verticalAlign,
|
|
442
|
-
[`col--${type}`]: type,
|
|
441
|
+
class: ['vxe-body--column', colid, cellVerticalAlign ? `col--vertical-${cellVerticalAlign}` : '', cellAlign ? `col--${cellAlign}` : '', type ? `col--${type}` : '', {
|
|
443
442
|
'col--last': isLastColumn,
|
|
444
443
|
'col--tree-node': treeNode,
|
|
445
444
|
'col--edit': isEdit,
|
|
446
445
|
'col--ellipsis': hasEllipsis,
|
|
446
|
+
'col--rs-height': isRsHeight,
|
|
447
447
|
'col--to-row': showAreaRowStatus,
|
|
448
448
|
'col--auto-height': isVNAutoHeight,
|
|
449
449
|
'fixed--width': !isAutoCellWidth,
|
|
450
450
|
'fixed--hidden': fixedHiddenColumn,
|
|
451
|
-
'is--padding':
|
|
451
|
+
'is--padding': isCellPadding,
|
|
452
452
|
'is--drag-cell': isRowDragCell && (isCrossDrag || isPeerDrag || !rowLevel),
|
|
453
453
|
'is--drag-disabled': isDisabledDrag,
|
|
454
454
|
'col--dirty': isDirty,
|
|
@@ -468,7 +468,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
468
468
|
highlightHoverRow,
|
|
469
469
|
rowClassName,
|
|
470
470
|
rowStyle,
|
|
471
|
-
showOverflow: allColumnOverflow,
|
|
472
471
|
editConfig,
|
|
473
472
|
treeConfig
|
|
474
473
|
} = tableProps;
|
|
@@ -477,6 +476,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
477
476
|
treeExpandedMaps,
|
|
478
477
|
scrollXLoad,
|
|
479
478
|
scrollYLoad,
|
|
479
|
+
isAllOverflow,
|
|
480
480
|
rowExpandedMaps,
|
|
481
481
|
expandColumn,
|
|
482
482
|
selectRadioRow,
|
|
@@ -612,7 +612,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
612
612
|
const {
|
|
613
613
|
showOverflow
|
|
614
614
|
} = expandColumn;
|
|
615
|
-
const hasEllipsis = _xeUtils.default.isUndefined(showOverflow) || _xeUtils.default.isNull(showOverflow) ?
|
|
615
|
+
const hasEllipsis = _xeUtils.default.isUndefined(showOverflow) || _xeUtils.default.isNull(showOverflow) ? isAllOverflow : showOverflow;
|
|
616
616
|
const expandParams = {
|
|
617
617
|
$table: $xeTable,
|
|
618
618
|
seq,
|
|
@@ -699,7 +699,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
699
699
|
tableColumn
|
|
700
700
|
} = props;
|
|
701
701
|
const {
|
|
702
|
-
showOverflow: allColumnOverflow,
|
|
703
702
|
spanMethod,
|
|
704
703
|
footerSpanMethod,
|
|
705
704
|
mouseConfig
|
|
@@ -730,7 +729,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
730
729
|
let renderColumnList = tableColumn;
|
|
731
730
|
let isOptimizeMode = false;
|
|
732
731
|
// 如果是使用优化模式
|
|
733
|
-
if (scrollXLoad || scrollYLoad ||
|
|
732
|
+
if (scrollXLoad || scrollYLoad || isAllOverflow) {
|
|
734
733
|
if (expandColumn || spanMethod || footerSpanMethod) {
|
|
735
734
|
// 如果不支持优化模式
|
|
736
735
|
} else {
|
|
@@ -812,7 +811,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
812
811
|
$xeTable.triggerBodyScrollEvent(evnt, fixedType);
|
|
813
812
|
}
|
|
814
813
|
};
|
|
815
|
-
if (leftFixedWidth || rightFixedWidth) {
|
|
814
|
+
if (scrollYLoad || leftFixedWidth || rightFixedWidth) {
|
|
816
815
|
ons.onWheel = $xeTable.triggerBodyWheelEvent;
|
|
817
816
|
}
|
|
818
817
|
return (0, _vue.h)('div', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(M){let Oe=(0,_vue.inject)("$xeTable",{}),{xID:T,props:Se,context:k,reactData:Ie,internalData:Me}=Oe,{computeEditOpts:Te,computeMouseOpts:ke,computeAreaOpts:$e,computeDefaultRowHeight:qe,computeEmptyOpts:$,computeTooltipOpts:Ue,computeRadioOpts:e,computeExpandOpts:G,computeTreeOpts:c,computeCheckboxOpts:je,computeCellOpts:Ae,computeValidOpts:ze,computeRowOpts:Fe,computeColumnOpts:Le,computeRowDragOpts:He,computeColumnDragOpts:l,computeLeftFixedWidth:q,computeRightFixedWidth:U}=Oe.getComputeMaps(),j=(0,_vue.ref)(),A=(0,_vue.ref)(),z=(0,_vue.ref)(),F=(0,_vue.ref)(),L=(0,_vue.ref)(),H=(0,_vue.ref)(),N=(0,_vue.ref)(),B=(0,_vue.ref)(),Ne=()=>{var e=Se.delayHover,{lastScrollTime:l,isDragResize:t}=Ie;return!!(t||l&&Date.now()<l+e)},Be=(e,l)=>{var{row:t,column:a}=e,r=Me.afterFullData,o=Se.treeConfig,i=c.value,{slots:a,treeNode:s}=a,n=Me.fullAllDataRowIdData;if(a&&a.line)return Oe.callSlot(a.line,e);a=n[(0,_util.getRowid)(Oe,t)];let d=0,u=null;a&&(d=a.level,u=a.items[a.treeIndex-1]);n=Oe.eqRow(r[0],t);return o&&s&&(i.showLine||i.line)?[(0,_vue.h)("div",{key:"tl",class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${n?1:(0,_util.calcTreeLine)(e,u)}px`,bottom:`-${Math.floor(l/2)}px`,left:d*i.indent+(d?2-(0,_util.getOffsetSize)(Oe):0)+16+"px"}})])]:[]},Q=(e,l,t,j,A,a,r,o,i,s,z,F,n)=>{var L=Me.fullAllDataRowIdData,{columnKey:H,height:d,showOverflow:N,cellClassName:B,cellStyle:W,align:P,spanMethod:K,mouseConfig:V,editConfig:X,editRules:u,tooltipConfig:c,padding:v}=Se,{tableData:p,overflowX:Y,currentColumn:G,scrollXLoad:J,scrollYLoad:g,calcCellHeightFlag:Q,resizeHeightFlag:x,mergeList:Z,editStore:ee,isAllOverflow:le,validErrorMaps:h}=Ie,{afterFullData:te,scrollXStore:w,scrollYStore:m}=Me,_=Ae.value,f=ze.value,y=je.value,ae=Te.value,b=Ue.value,C=Fe.value,D=He.value,re=qe.value,re=_.height||C.height||re,{disabledMethod:E,isCrossDrag:oe,isPeerDrag:ie}=D,se=Le.value,ne=ke.value,de=$e.value.selectCellToRow,{type:ue,cellRender:ce,editRender:ve,align:pe,showOverflow:R,className:ge,treeNode:xe,rowResize:he,slots:we}=s,me=_.verticalAlign,ee=ee.actived,L=L[l],O=s.id,S=ve||ce,S=S?renderer.get(S.name):null,_e=S?S.tableCellClassName||S.cellClassName:null,fe=S?S.tableCellStyle||S.cellStyle:"";let ye=b.showAll;var b=Oe.getColumnIndex(s),I=Oe.getVTColumnIndex(s),be=(0,_utils.isEnableConf)(ve),x=x?L.resizeHeight:0;let M=t?s.fixed!==t:s.fixed&&Y;Y=null===v?_.padding:v,_=_xeUtils.default.isUndefined(R)||_xeUtils.default.isNull(R)?N:R,v="ellipsis"===_;let T="title"===_,k=!0===_||"tooltip"===_;R=N||T||k||v||0<x;let Ce;_={},pe=pe||(S?S.tableCellAlign:"")||P,S=h[l+":"+O],P=u&&f.showMessage&&("default"===f.message?d||1<p.length:"inline"===f.message),h={colid:O};let $={$table:Oe,$grid:Oe.xegrid,isEdit:!1,seq:e,rowid:l,row:a,rowIndex:r,$rowIndex:o,_rowIndex:i,column:s,columnIndex:b,$columnIndex:z,_columnIndex:I,fixed:t,type:renderType,isHidden:!!M,level:A,visibleData:te,data:p,items:n},q=!1,De=!1;if((q=C.drag?"row"===D.trigger||s.dragSort&&"cell"===D.trigger:q)&&(De=!(!E||!E($))),(T||k||ye||c)&&(_.onMouseenter=e=>{Ne()||(T?(0,_dom.updateCellTitle)(e.currentTarget,s):(k||ye)&&Oe.triggerBodyTooltipEvent(e,$),Oe.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},$),e))}),(k||ye||c)&&(_.onMouseleave=e=>{Ne()||((k||ye)&&Oe.handleTargetLeaveEvent(e),Oe.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},$),e))}),(q||y.range||V)&&(_.onMousedown=e=>{Oe.triggerCellMousedownEvent(e,$)}),q&&(_.onMouseup=Oe.triggerCellMouseupEvent),_.onClick=e=>{Oe.triggerCellClickEvent(e,$)},_.onDblclick=e=>{Oe.triggerCellDblclickEvent(e,$)},Z.length){u=(0,_util.mergeBodyMethod)(Z,i,I);if(u){var{rowspan:d,colspan:e}=u;if(!d||!e)return null;1<d&&(h.rowspan=d),1<e&&(h.colspan=e)}}else if(K){var{rowspan:r=1,colspan:o=1}=K($)||{};if(!r||!o)return null;1<r&&(h.rowspan=r),1<o&&(h.colspan=o)}!(M=M&&Z&&(1<h.colspan||1<h.rowspan)?!1:M)&&X&&(ve||ce)&&(ae.showStatus||ae.showUpdateStatus)&&(Ce=Oe.isUpdateByRow(a,s.field));b=g&&!R;let U=re;t=Q?L.height:0,x?U=x:g&&!R&&(U=t||re),te=z===F.length-1,p=!s.resizeWidth&&("auto"===s.minWidth||"auto"===s.width);let Ee=!1;(g&&(i<m.visibleStartIndex-m.preloadSize||i>m.visibleEndIndex+m.preloadSize)||J&&!s.fixed&&(I<w.visibleStartIndex-w.preloadSize||I>w.visibleEndIndex+w.preloadSize))&&(Ee=!0);n={},R?n.height=U+"px":n.minHeight=U+"px",D=[];M&&N&&le?D.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":v}],style:n})):(D.push(...Be($,U),(0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":v}],style:n,title:T?Oe.getCellLabel(a,s):null},Ee?[]:[(0,_vue.h)("div",{colid:O,rowid:l,class:"vxe-cell--wrapper"},s.renderCell($))])),P&&S&&(E=S.rule,c=we?we.valid:null,y=Object.assign(Object.assign(Object.assign({},$),S),{rule:S}),D.push((0,_vue.h)("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(f.className,y)],style:E&&E.maxWidth?{width:E.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(f.theme||"normal")},[c?Oe.callSlot(c,y):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},S.content)]])]))));let Re=!1;return V&&ne.area&&de&&((I||!0!==de)&&de!==s.field||(Re=!0)),he&&C.resizable&&D.push((0,_vue.h)("div",{key:"tcr",class:"vxe-cell--row-resizable",onMousedown:e=>Oe.handleRowResizeMousedownEvent(e,$),onDblclick:e=>Oe.handleRowResizeDblclickEvent(e,$)})),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",O,{["col--"+pe]:pe,["col--vertical-"+me]:me,["col--"+ue]:ue,"col--last":te,"col--tree-node":xe,"col--edit":be,"col--ellipsis":R,"col--to-row":Re,"col--auto-height":b,"fixed--width":!p,"fixed--hidden":M,"is--padding":Y,"is--drag-cell":q&&(oe||ie||!A),"is--drag-disabled":De,"col--dirty":Ce,"col--active":X&&be&&ee.row===a&&(ee.column===s||"row"===ae.mode),"col--valid-error":!!S,"col--current":G===s},(0,_dom.getPropClass)(_e,$),(0,_dom.getPropClass)(ge,$),(0,_dom.getPropClass)(B,$)],key:H||J||g||se.useKey||C.useKey||se.drag?O:z},h),{style:Object.assign({},_xeUtils.default.isFunction(fe)?fe($):fe,_xeUtils.default.isFunction(W)?W($):W)}),_),j&&M?[]:D)},J=(w,m,_,f)=>{let{stripe:y,rowKey:b,highlightHoverRow:C,rowClassName:D,rowStyle:E,showOverflow:R,editConfig:O,treeConfig:S}=Se,{hasFixedColumn:I,treeExpandedMaps:M,scrollXLoad:T,scrollYLoad:k,rowExpandedMaps:$,expandColumn:q,selectRadioRow:U,pendingRowMaps:j,isDragColMove:A}=Ie,z=Me.fullAllDataRowIdData,F=je.value,L=e.value,H=c.value,N=Te.value,B=Fe.value,W=Le.value,P=l.value,{transform:K,seqMode:V}=H,X=H.children||H.childrenField,Y=[];return _.forEach((t,a)=>{var e={};let r,o=(r=Oe.getRowIndex(t),(B.isHover||C)&&(e.onMouseenter=e=>{Ne()||Oe.triggerHoverEvent(e,{row:t,rowIndex:r})},e.onMouseleave=()=>{Ne()||Oe.clearHoverRow()}),(0,_util.getRowid)(Oe,t));var l=z[o];let i=0,s=-1,n=0;l&&(i=l.level,s=S&&K&&"increasing"===V?l._index+1:l.seq,n=l._index);var l={$table:Oe,seq:s,rowid:o,fixed:w,type:renderType,level:i,row:t,rowIndex:r,$rowIndex:a,_rowIndex:n},d=q&&!!$[o];let u=!1,c=[],v=!1;O&&(v=Oe.isInsertByRow(t)),!S||k||K||(c=t[X],u=c&&0<c.length&&!!M[o]),!B.drag||S&&!K||(e.onDragstart=Oe.handleRowDragDragstartEvent,e.onDragend=Oe.handleRowDragDragendEvent,e.onDragover=Oe.handleRowDragDragoverEvent);var p,g,x=["vxe-body--row",S?"row--level-"+i:"",{"row--stripe":y&&(n+1)%2==0,"is--new":v,"is--expand-row":d,"is--expand-tree":u,"row--new":v&&(N.showStatus||N.showInsertStatus),"row--radio":L.highlight&&Oe.eqRow(U,t),"row--checked":F.highlight&&Oe.isCheckedByCheckboxRow(t),"row--pending":!!j[o]},(0,_dom.getPropClass)(D,l)];let h=f.map((e,l)=>Q(s,o,w,m,i,t,r,a,n,e,l,f,_));Y.push(W.drag&&P.animation?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(A?"":"-disabled"),tag:"tr",class:x,rowid:o,style:E?_xeUtils.default.isFunction(E)?E(l):E:null,key:b||T||k||B.useKey||B.drag||W.drag||S?o:a},e),{default:()=>h}):(0,_vue.h)("tr",Object.assign({class:x,rowid:o,style:E?_xeUtils.default.isFunction(E)?E(l):E:null,key:b||T||k||B.useKey||B.drag||W.drag||S?o:a},e),h)),d&&({height:x,padding:l}=G.value,d={},p=(x&&(d.height=x+"px"),S&&(d.paddingLeft=i*H.indent+30+"px"),q).showOverflow,p=_xeUtils.default.isUndefined(p)||_xeUtils.default.isNull(p)?R:p,g={$table:Oe,seq:s,column:q,fixed:w,type:renderType,level:i,row:t,rowIndex:r,$rowIndex:a,_rowIndex:n},Y.push((0,_vue.h)("tr",Object.assign({class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+o,style:E?_xeUtils.default.isFunction(E)?E(g):E:null},e),[(0,_vue.h)("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":w&&!I,"col--ellipsis":p},colspan:f.length},[(0,_vue.h)("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":x},style:d},[q.renderData(g)])])]))),u&&Y.push(...J(w,m,c,f))}),Y};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=M.fixedType,l=Me.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=j,l[e+"scroll"]=A,l[e+"table"]=z,l[e+"colgroup"]=F,l[e+"list"]=L,l[e+"xSpace"]=H,l[e+"ySpace"]=N,l[e+"emptyBlock"]=B})}),(0,_vue.onUnmounted)(()=>{var e=M.fixedType,l=Me.elemStore,e=`${e||"main"}-body-`;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+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{var e=k.slots;let{fixedColumn:l,fixedType:t,tableColumn:a}=M;var{showOverflow:r,spanMethod:o,footerSpanMethod:i,mouseConfig:s}=Se,{isGroup:n,tableData:d,scrollXLoad:u,scrollYLoad:c,isAllOverflow:v,isDragRowMove:p,expandColumn:g,dragRow:x,dragCol:h}=Ie,{visibleColumn:w,fullAllDataRowIdData:m,fullColumnIdData:_}=Me,f=Fe.value,y=$.value,b=ke.value,C=He.value,D=q.value,E=U.value;let R=d,O=a,S=!(u||c||r&&v)||g||o||i?!1:!0;t&&(O=w,S)&&(O=l||[]),c&&x&&2<R.length&&(d=m[(0,_util.getRowid)(Oe,x)])&&(r=d._index,v=R[0],g=R[R.length-1],o=m[(0,_util.getRowid)(Oe,v)],i=m[(0,_util.getRowid)(Oe,g)],o)&&i&&(w=o._index,c=i._index,r<w?R=[x].concat(R):c<r&&(R=R.concat([x]))),t||n||u&&h&&2<O.length&&(d=_[h.id])&&(v=d._index,m=O[0],g=O[O.length-1],o=_[m.id],i=_[g.id],o)&&i&&(w=o._index,c=i._index,v<w?O=[h].concat(O):c<v&&(O=O.concat([h])));let I;r=e?e.empty:null,I=r?Oe.callSlot(r,{$table:Oe,$grid:Oe.xegrid}):(n=(x=y.name?renderer.get(y.name):null)?x.renderTableEmpty||x.renderTableEmptyView||x.renderEmpty:null)?(0,_vn.getSlotVNs)(n(y,{$table:Oe})):Se.emptyText||getI18n("vxe.table.emptyText"),u={onScroll(e){Oe.triggerBodyScrollEvent(e,t)}};return(D||E)&&(u.onWheel=Oe.triggerBodyWheelEvent),(0,_vue.h)("div",{ref:j,class:["vxe-table--body-wrapper",t?`fixed-${t}--wrapper`:"body--wrapper"],xid:T},[(0,_vue.h)("div",Object.assign({ref:A,class:"vxe-table--body-inner-wrapper"},u),[t?renderEmptyElement(Oe):(0,_vue.h)("div",{ref:H,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:N,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:z,class:"vxe-table--body",xid:T,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:F},O.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),f.drag&&C.animation?(0,_vue.h)(_vue.TransitionGroup,{ref:L,name:"vxe-body--row-list"+(p?"":"-disabled"),tag:"tbody"},{default:()=>J(t,S,R,O)}):(0,_vue.h)("tbody",{ref:L},J(t,S,R,O))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&b.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},b.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){Oe.triggerCellAreaExtendMousedownEvent&&Oe.triggerCellAreaExtendMousedownEvent(e,{$table:Oe,fixed:t,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(Oe),t?renderEmptyElement(Oe):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:B},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},I)])])])}}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(I){let Se=(0,_vue.inject)("$xeTable",{}),{xID:M,props:Ie,context:T,reactData:Me,internalData:Te}=Se,{computeEditOpts:ke,computeMouseOpts:qe,computeAreaOpts:$e,computeDefaultRowHeight:Ae,computeEmptyOpts:k,computeTooltipOpts:Ue,computeRadioOpts:e,computeExpandOpts:G,computeTreeOpts:c,computeCheckboxOpts:je,computeCellOpts:ze,computeValidOpts:Fe,computeRowOpts:Le,computeColumnOpts:Ne,computeRowDragOpts:He,computeColumnDragOpts:l,computeLeftFixedWidth:q,computeRightFixedWidth:$}=Se.getComputeMaps(),A=(0,_vue.ref)(),U=(0,_vue.ref)(),j=(0,_vue.ref)(),z=(0,_vue.ref)(),F=(0,_vue.ref)(),L=(0,_vue.ref)(),N=(0,_vue.ref)(),H=(0,_vue.ref)(),Be=()=>{var e=Ie.delayHover,{lastScrollTime:l,isDragResize:t}=Me;return!!(t||l&&Date.now()<l+e)},We=(e,l)=>{var{row:t,column:a}=e,r=Te.afterFullData,o=Ie.treeConfig,i=c.value,{slots:a,treeNode:s}=a,n=Te.fullAllDataRowIdData;if(a&&a.line)return Se.callSlot(a.line,e);a=n[(0,_util.getRowid)(Se,t)];let d=0,u=null;a&&(d=a.level,u=a.items[a.treeIndex-1]);n=Se.eqRow(r[0],t);return o&&s&&(i.showLine||i.line)?[(0,_vue.h)("div",{key:"tl",class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${n?1:(0,_util.calcTreeLine)(e,u)}px`,bottom:`-${Math.floor(l/2)}px`,left:d*i.indent+(d?2-(0,_util.getOffsetSize)(Se):0)+16+"px"}})])]:[]},Q=(e,l,t,U,j,a,r,z,o,i,F,L,s)=>{var N=Te.fullAllDataRowIdData,{columnKey:H,height:n,cellClassName:B,cellStyle:W,align:d,spanMethod:P,mouseConfig:K,editConfig:V,editRules:u,tooltipConfig:c,padding:v}=Ie,{tableData:p,overflowX:X,currentColumn:Y,scrollXLoad:G,scrollYLoad:g,calcCellHeightFlag:J,resizeHeightFlag:x,mergeList:Q,editStore:Z,isAllOverflow:ee,validErrorMaps:h}=Me,{afterFullData:le,scrollXStore:m,scrollYStore:w}=Te,_=ze.value,f=Fe.value,te=je.value,ae=ke.value,y=Ue.value,re=Le.value,b=He.value,oe=Ae.value,oe=_.height||re.height||oe,{disabledMethod:C,isCrossDrag:ie,isPeerDrag:se}=b,ne=Ne.value,de=qe.value,ue=$e.value.selectCellToRow,{type:ce,cellRender:ve,editRender:pe,align:ge,showOverflow:D,className:xe,treeNode:he,rowResize:me,padding:E,verticalAlign:R,slots:we}=i,_e=_.verticalAlign,Z=Z.actived,N=N[l],O=i.id,S=pe||ve,S=S?renderer.get(S.name):null,fe=S?S.tableCellClassName||S.cellClassName:null,ye=S?S.tableCellStyle||S.cellStyle:"";let be=y.showAll;var y=Se.getColumnIndex(i),I=Se.getVTColumnIndex(i),Ce=(0,_utils.isEnableConf)(pe),x=x?N.resizeHeight:0;let M=t?i.fixed!==t:i.fixed&&X;X=_xeUtils.default.eqNull(E)?null===v?_.padding:v:E,_=_xeUtils.default.eqNull(D)?ee:D,v="ellipsis"===_;let T="title"===_,k=!0===_||"tooltip"===_;E=ee||T||k||v,D=0<x;let De;_={},ge=ge||(S?S.tableCellAlign:"")||d,S=_xeUtils.default.eqNull(R)?_e:R,d=h[l+":"+O],_e=u&&f.showMessage&&("default"===f.message?n||1<p.length:"inline"===f.message),R={colid:O};let q={$table:Se,$grid:Se.xegrid,isEdit:!1,seq:e,rowid:l,row:a,rowIndex:r,$rowIndex:z,_rowIndex:o,column:i,columnIndex:y,$columnIndex:F,_columnIndex:I,fixed:t,type:renderType,isHidden:!!M,level:j,visibleData:le,data:p,items:s},$=!1,Ee=!1;if(($=re.drag?"row"===b.trigger||i.dragSort&&"cell"===b.trigger:$)&&(Ee=!(!C||!C(q))),(T||k||be||c)&&(_.onMouseenter=e=>{Be()||(T?(0,_dom.updateCellTitle)(e.currentTarget,i):(k||be)&&Se.triggerBodyTooltipEvent(e,q),Se.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},q),e))}),(k||be||c)&&(_.onMouseleave=e=>{Be()||((k||be)&&Se.handleTargetLeaveEvent(e),Se.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},q),e))}),($||te.range||K)&&(_.onMousedown=e=>{Se.triggerCellMousedownEvent(e,q)}),$&&(_.onMouseup=Se.triggerCellMouseupEvent),_.onClick=e=>{Se.triggerCellClickEvent(e,q)},_.onDblclick=e=>{Se.triggerCellDblclickEvent(e,q)},Q.length){h=(0,_util.mergeBodyMethod)(Q,o,I);if(h){var{rowspan:u,colspan:n}=h;if(!u||!n)return null;1<u&&(R.rowspan=u),1<n&&(R.colspan=n)}}else if(P){var{rowspan:e=1,colspan:r=1}=P(q)||{};if(!e||!r)return null;1<e&&(R.rowspan=e),1<r&&(R.colspan=r)}!(M=M&&Q&&(1<R.colspan||1<R.rowspan)?!1:M)&&V&&(pe||ve)&&(ae.showStatus||ae.showUpdateStatus)&&(De=Se.isUpdateByRow(a,i.field));z=g&&!E;let A=oe;y=J?N.height:0,x?A=x:g&&!E&&(A=y||oe),t=F===L.length-1,le=!i.resizeWidth&&("auto"===i.minWidth||"auto"===i.width);let Re=!1;(g&&(o<w.visibleStartIndex-w.preloadSize||o>w.visibleEndIndex+w.preloadSize)||G&&!i.fixed&&(I<m.visibleStartIndex-m.preloadSize||I>m.visibleEndIndex+m.preloadSize))&&(Re=!0);p={},g||E||D?p.height=A+"px":p.minHeight=A+"px",s=[];M&&ee?s.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":v}],style:p})):(s.push(...We(q,A),(0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":v}],style:p,title:T?Se.getCellLabel(a,i):null},Re?[]:[(0,_vue.h)("div",{colid:O,rowid:l,class:"vxe-cell--wrapper"},i.renderCell(q))])),_e&&d&&(b=d.rule,C=we?we.valid:null,c=Object.assign(Object.assign(Object.assign({},q),d),{rule:d}),s.push((0,_vue.h)("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(f.className,c)],style:b&&b.maxWidth?{width:b.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(f.theme||"normal")},[C?Se.callSlot(C,c):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},d.content)]])]))));let Oe=!1;return K&&de.area&&ue&&((I||!0!==ue)&&ue!==i.field||(Oe=!0)),me&&re.resizable&&s.push((0,_vue.h)("div",{key:"tcr",class:"vxe-cell--row-resizable",onMousedown:e=>Se.handleRowResizeMousedownEvent(e,q),onDblclick:e=>Se.handleRowResizeDblclickEvent(e,q)})),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",O,S?"col--vertical-"+S:"",ge?"col--"+ge:"",ce?"col--"+ce:"",{"col--last":t,"col--tree-node":he,"col--edit":Ce,"col--ellipsis":E,"col--rs-height":D,"col--to-row":Oe,"col--auto-height":z,"fixed--width":!le,"fixed--hidden":M,"is--padding":X,"is--drag-cell":$&&(ie||se||!j),"is--drag-disabled":Ee,"col--dirty":De,"col--active":V&&Ce&&Z.row===a&&(Z.column===i||"row"===ae.mode),"col--valid-error":!!d,"col--current":Y===i},(0,_dom.getPropClass)(fe,q),(0,_dom.getPropClass)(xe,q),(0,_dom.getPropClass)(B,q)],key:H||G||g||ne.useKey||re.useKey||ne.drag?O:F},R),{style:Object.assign({},_xeUtils.default.isFunction(ye)?ye(q):ye,_xeUtils.default.isFunction(W)?W(q):W)}),_),U&&M?[]:s)},J=(m,w,_,f)=>{let{stripe:y,rowKey:b,highlightHoverRow:C,rowClassName:D,rowStyle:E,editConfig:R,treeConfig:O}=Ie,{hasFixedColumn:S,treeExpandedMaps:I,scrollXLoad:M,scrollYLoad:T,isAllOverflow:k,rowExpandedMaps:q,expandColumn:$,selectRadioRow:A,pendingRowMaps:U,isDragColMove:j}=Me,z=Te.fullAllDataRowIdData,F=je.value,L=e.value,N=c.value,H=ke.value,B=Le.value,W=Ne.value,P=l.value,{transform:K,seqMode:V}=N,X=N.children||N.childrenField,Y=[];return _.forEach((t,a)=>{var e={};let r,o=(r=Se.getRowIndex(t),(B.isHover||C)&&(e.onMouseenter=e=>{Be()||Se.triggerHoverEvent(e,{row:t,rowIndex:r})},e.onMouseleave=()=>{Be()||Se.clearHoverRow()}),(0,_util.getRowid)(Se,t));var l=z[o];let i=0,s=-1,n=0;l&&(i=l.level,s=O&&K&&"increasing"===V?l._index+1:l.seq,n=l._index);var l={$table:Se,seq:s,rowid:o,fixed:m,type:renderType,level:i,row:t,rowIndex:r,$rowIndex:a,_rowIndex:n},d=$&&!!q[o];let u=!1,c=[],v=!1;R&&(v=Se.isInsertByRow(t)),!O||T||K||(c=t[X],u=c&&0<c.length&&!!I[o]),!B.drag||O&&!K||(e.onDragstart=Se.handleRowDragDragstartEvent,e.onDragend=Se.handleRowDragDragendEvent,e.onDragover=Se.handleRowDragDragoverEvent);var p,g,x=["vxe-body--row",O?"row--level-"+i:"",{"row--stripe":y&&(n+1)%2==0,"is--new":v,"is--expand-row":d,"is--expand-tree":u,"row--new":v&&(H.showStatus||H.showInsertStatus),"row--radio":L.highlight&&Se.eqRow(A,t),"row--checked":F.highlight&&Se.isCheckedByCheckboxRow(t),"row--pending":!!U[o]},(0,_dom.getPropClass)(D,l)];let h=f.map((e,l)=>Q(s,o,m,w,i,t,r,a,n,e,l,f,_));Y.push(W.drag&&P.animation?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(j?"":"-disabled"),tag:"tr",class:x,rowid:o,style:E?_xeUtils.default.isFunction(E)?E(l):E:null,key:b||M||T||B.useKey||B.drag||W.drag||O?o:a},e),{default:()=>h}):(0,_vue.h)("tr",Object.assign({class:x,rowid:o,style:E?_xeUtils.default.isFunction(E)?E(l):E:null,key:b||M||T||B.useKey||B.drag||W.drag||O?o:a},e),h)),d&&({height:x,padding:l}=G.value,d={},p=(x&&(d.height=x+"px"),O&&(d.paddingLeft=i*N.indent+30+"px"),$).showOverflow,p=_xeUtils.default.isUndefined(p)||_xeUtils.default.isNull(p)?k:p,g={$table:Se,seq:s,column:$,fixed:m,type:renderType,level:i,row:t,rowIndex:r,$rowIndex:a,_rowIndex:n},Y.push((0,_vue.h)("tr",Object.assign({class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+o,style:E?_xeUtils.default.isFunction(E)?E(g):E:null},e),[(0,_vue.h)("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":m&&!S,"col--ellipsis":p},colspan:f.length},[(0,_vue.h)("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":x},style:d},[$.renderData(g)])])]))),u&&Y.push(...J(m,w,c,f))}),Y};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=I.fixedType,l=Te.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=A,l[e+"scroll"]=U,l[e+"table"]=j,l[e+"colgroup"]=z,l[e+"list"]=F,l[e+"xSpace"]=L,l[e+"ySpace"]=N,l[e+"emptyBlock"]=H})}),(0,_vue.onUnmounted)(()=>{var e=I.fixedType,l=Te.elemStore,e=`${e||"main"}-body-`;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+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{var e=T.slots;let{fixedColumn:l,fixedType:t,tableColumn:a}=I;var{spanMethod:r,footerSpanMethod:o,mouseConfig:i}=Ie,{isGroup:s,tableData:n,scrollXLoad:d,scrollYLoad:u,isAllOverflow:c,isDragRowMove:v,expandColumn:p,dragRow:g,dragCol:x}=Me,{visibleColumn:h,fullAllDataRowIdData:m,fullColumnIdData:w}=Te,_=Le.value,f=k.value,y=qe.value,b=He.value,C=q.value,D=$.value;let E=n,R=a,O=!(d||u||c)||p||r||o?!1:!0;t&&(R=h,O)&&(R=l||[]),u&&g&&2<E.length&&(n=m[(0,_util.getRowid)(Se,g)])&&(c=n._index,p=E[0],r=E[E.length-1],o=m[(0,_util.getRowid)(Se,p)],h=m[(0,_util.getRowid)(Se,r)],o)&&h&&(n=o._index,p=h._index,c<n?E=[g].concat(E):p<c&&(E=E.concat([g]))),t||s||d&&x&&2<R.length&&(m=w[x.id])&&(r=m._index,o=R[0],h=R[R.length-1],n=w[o.id],p=w[h.id],n)&&p&&(c=n._index,g=p._index,r<c?R=[x].concat(R):g<r&&(R=R.concat([x])));let S;s=e?e.empty:null,S=s?Se.callSlot(s,{$table:Se,$grid:Se.xegrid}):(m=(d=f.name?renderer.get(f.name):null)?d.renderTableEmpty||d.renderTableEmptyView||d.renderEmpty:null)?(0,_vn.getSlotVNs)(m(f,{$table:Se})):Ie.emptyText||getI18n("vxe.table.emptyText"),o={onScroll(e){Se.triggerBodyScrollEvent(e,t)}};return(u||C||D)&&(o.onWheel=Se.triggerBodyWheelEvent),(0,_vue.h)("div",{ref:A,class:["vxe-table--body-wrapper",t?`fixed-${t}--wrapper`:"body--wrapper"],xid:M},[(0,_vue.h)("div",Object.assign({ref:U,class:"vxe-table--body-inner-wrapper"},o),[t?renderEmptyElement(Se):(0,_vue.h)("div",{ref:L,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:N,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:j,class:"vxe-table--body",xid:M,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:z},R.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),_.drag&&b.animation?(0,_vue.h)(_vue.TransitionGroup,{ref:F,name:"vxe-body--row-list"+(v?"":"-disabled"),tag:"tbody"},{default:()=>J(t,O,E,R)}):(0,_vue.h)("tbody",{ref:F},J(t,O,E,R))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),i&&y.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},y.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){Se.triggerCellAreaExtendMousedownEvent&&Se.triggerCellAreaExtendMousedownEvent(e,{$table:Se,fixed:t,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(Se),t?renderEmptyElement(Se):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:H},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},S)])])])}}});
|
package/lib/table/src/cell.js
CHANGED
|
@@ -250,18 +250,6 @@ function renderTitleContent(params, content) {
|
|
|
250
250
|
class: 'vxe-cell--title'
|
|
251
251
|
}, ons), (0, _vn.getSlotVNs)(content))];
|
|
252
252
|
}
|
|
253
|
-
function formatFooterLabel(footerFormatter, params) {
|
|
254
|
-
if (_xeUtils.default.isFunction(footerFormatter)) {
|
|
255
|
-
return `${footerFormatter(params)}`;
|
|
256
|
-
}
|
|
257
|
-
const isArr = _xeUtils.default.isArray(footerFormatter);
|
|
258
|
-
const gFormatOpts = isArr ? formats.get(footerFormatter[0]) : formats.get(footerFormatter);
|
|
259
|
-
const footerFormatMethod = gFormatOpts ? gFormatOpts.tableFooterCellFormatMethod : null;
|
|
260
|
-
if (footerFormatMethod) {
|
|
261
|
-
return `${isArr ? footerFormatMethod(params, ...footerFormatter.slice(1)) : footerFormatMethod(params)}`;
|
|
262
|
-
}
|
|
263
|
-
return '';
|
|
264
|
-
}
|
|
265
253
|
function getFooterContent(params) {
|
|
266
254
|
const {
|
|
267
255
|
$table,
|
|
@@ -281,35 +269,38 @@ function getFooterContent(params) {
|
|
|
281
269
|
if (footerSlot) {
|
|
282
270
|
return $table.callSlot(footerSlot, params);
|
|
283
271
|
}
|
|
272
|
+
let itemValue = '';
|
|
273
|
+
// 兼容老模式
|
|
274
|
+
if (_xeUtils.default.isArray(items)) {
|
|
275
|
+
itemValue = items[_columnIndex];
|
|
276
|
+
} else {
|
|
277
|
+
itemValue = _xeUtils.default.get(row, column.field);
|
|
278
|
+
}
|
|
279
|
+
const footParams = Object.assign(params, {
|
|
280
|
+
itemValue
|
|
281
|
+
});
|
|
282
|
+
if (footerFormatter) {
|
|
283
|
+
if (_xeUtils.default.isFunction(footerFormatter)) {
|
|
284
|
+
return `${footerFormatter(footParams)}`;
|
|
285
|
+
}
|
|
286
|
+
const isArr = _xeUtils.default.isArray(footerFormatter);
|
|
287
|
+
const gFormatOpts = isArr ? formats.get(footerFormatter[0]) : formats.get(footerFormatter);
|
|
288
|
+
const footerFormatMethod = gFormatOpts ? gFormatOpts.tableFooterCellFormatMethod : null;
|
|
289
|
+
if (footerFormatMethod) {
|
|
290
|
+
return `${isArr ? footerFormatMethod(footParams, ...footerFormatter.slice(1)) : footerFormatMethod(footParams)}`;
|
|
291
|
+
}
|
|
292
|
+
return '';
|
|
293
|
+
}
|
|
284
294
|
if (renderOpts) {
|
|
285
295
|
const compConf = renderer.get(renderOpts.name);
|
|
286
296
|
if (compConf) {
|
|
287
297
|
const rtFooter = compConf.renderTableFooter || compConf.renderFooter;
|
|
288
298
|
if (rtFooter) {
|
|
289
|
-
return (0, _vn.getSlotVNs)(rtFooter(renderOpts,
|
|
299
|
+
return (0, _vn.getSlotVNs)(rtFooter(renderOpts, footParams));
|
|
290
300
|
}
|
|
291
301
|
}
|
|
292
302
|
}
|
|
293
|
-
|
|
294
|
-
// 兼容老模式
|
|
295
|
-
if (_xeUtils.default.isArray(items)) {
|
|
296
|
-
itemValue = items[_columnIndex];
|
|
297
|
-
return [footerFormatter ? formatFooterLabel(footerFormatter, {
|
|
298
|
-
itemValue,
|
|
299
|
-
column,
|
|
300
|
-
row,
|
|
301
|
-
items,
|
|
302
|
-
_columnIndex
|
|
303
|
-
}) : (0, _utils.formatText)(itemValue, 1)];
|
|
304
|
-
}
|
|
305
|
-
itemValue = _xeUtils.default.get(row, column.field);
|
|
306
|
-
return [footerFormatter ? formatFooterLabel(footerFormatter, {
|
|
307
|
-
itemValue,
|
|
308
|
-
column,
|
|
309
|
-
row,
|
|
310
|
-
items,
|
|
311
|
-
_columnIndex
|
|
312
|
-
}) : (0, _utils.formatText)(itemValue, 1)];
|
|
303
|
+
return [(0, _utils.formatText)(itemValue, 1)];
|
|
313
304
|
}
|
|
314
305
|
function getDefaultCellLabel(params) {
|
|
315
306
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderer,formats,renderEmptyElement}=_ui.VxeUI;function renderTitlePrefixIcon(l){let{$table:r,column:e}=l,t=e.titlePrefix||e.titleHelp;return t?(0,_vue.h)("i",{class:["vxe-cell-title-prefix-icon",t.icon||getIcon().TABLE_TITLE_PREFIX],onMouseenter(e){r.triggerHeaderTitleEvent(e,t,l)},onMouseleave(e){r.handleTargetLeaveEvent(e)}}):renderEmptyElement(r)}function renderTitleSuffixIcon(l){let{$table:r,column:e}=l,t=e.titleSuffix;return t?(0,_vue.h)("i",{class:["vxe-cell-title-suffix-icon",t.icon||getIcon().TABLE_TITLE_SUFFIX],onMouseenter(e){r.triggerHeaderTitleEvent(e,t,l)},onMouseleave(e){r.handleTargetLeaveEvent(e)}}):renderEmptyElement(r)}function renderCellDragIcon(l){let{$table:r,column:e}=l;var t=r.context,t=t.slots,n=e.slots,a=r.props.dragConfig,o=r.getComputeMaps().computeRowDragOpts,{icon:o,trigger:d,disabledMethod:s}=o.value,s=s||(a?a.rowDisabledMethod:null);let i=s&&s(l);s=(n?n.rowDragIcon||n["row-drag-icon"]:null)||t.rowDragIcon||t["row-drag-icon"],n={};return"cell"!==d&&(n.onMousedown=e=>{i||r.handleCellDragMousedownEvent(e,l)},n.onMouseup=r.handleCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":i}]},n),s?r.callSlot(s,l):[(0,_vue.h)("i",{class:o||(a?a.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l){var{$table:r,column:t,level:n}=e,t=t.dragSort,{treeConfig:a,dragConfig:o}=r.props,{computeRowOpts:r,computeRowDragOpts:d}=r.getComputeMaps(),r=r.value,{showIcon:d,isPeerDrag:s,isCrossDrag:i,visibleMethod:c}=d.value,c=c||(o?o.rowVisibleMethod:null),l=_xeUtils.default.isArray(l)?l:[l];return!(t&&r.drag&&(d||o&&o.showRowIcon))||c&&!c(e)||a&&!s&&!i&&n||l.unshift(renderCellDragIcon(e)),l}function renderHeaderCellDragIcon(r){let{$table:t,column:e}=r;var n=t.context,n=n.slots,a=e.slots,{computeColumnOpts:o,computeColumnDragOpts:d}=t.getComputeMaps(),o=o.value,{showIcon:d,icon:s,trigger:i,isPeerDrag:l,isCrossDrag:c,visibleMethod:u,disabledMethod:C}=d.value;if(!o.drag||!d||u&&!u(r)||e.fixed||!l&&!c&&e.parentId)return renderEmptyElement(t);{let l=C&&C(r);o=(a?a.columnDragIcon||a["column-drag-icon"]:null)||n.columnDragIcon||n["column-drag-icon"],d={};return"cell"!==i&&(d.onMousedown=e=>{l||t.handleHeaderCellDragMousedownEvent(e,r)},d.onMouseup=t.handleHeaderCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}]},d),o?t.callSlot(o,r):[(0,_vue.h)("i",{class:s||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l){return[renderTitlePrefixIcon(e),renderHeaderCellDragIcon(e),..._xeUtils.default.isArray(l)?l:[l],renderTitleSuffixIcon(e)]}function renderTitleContent(l,e){let{$table:r,column:t}=l;var n=r.props;let a=r.reactData;var o=r.getComputeMaps().computeTooltipOpts,n=n.showHeaderOverflow,{type:d,showHeaderOverflow:s}=t;let i=o.value.showAll;o=_xeUtils.default.isUndefined(s)||_xeUtils.default.isNull(s)?n:s;let c="title"===o,u=!0===o||"tooltip"===o;n={};return(c||u||i)&&(n.onMouseenter=e=>{a.isDragResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,t):(u||i)&&r.triggerHeaderTooltipEvent(e,l))}),(u||i)&&(n.onMouseleave=e=>{a.isDragResize||(u||i)&&r.handleTargetLeaveEvent(e)}),["html"===d&&_xeUtils.default.isString(e)?(0,_vue.h)("span",Object.assign({class:"vxe-cell--title",innerHTML:e},n)):(0,_vue.h)("span",Object.assign({class:"vxe-cell--title"},n),(0,_vn.getSlotVNs)(e))]}function formatFooterLabel(e,l){var r,t;return _xeUtils.default.isFunction(e)?""+e(l):(t=(t=(r=_xeUtils.default.isArray(e))?formats.get(e[0]):formats.get(e))?t.tableFooterCellFormatMethod:null)?""+(r?t(l,...e.slice(1)):t(l)):""}function getFooterContent(e){var{$table:l,column:r,_columnIndex:t,items:n,row:a}=e,{slots:o,editRender:d,cellRender:s,footerFormatter:i}=r,d=d||s,s=o?o.footer:null;if(s)return l.callSlot(s,e);if(d){o=renderer.get(d.name);if(o){l=o.renderTableFooter||o.renderFooter;if(l)return(0,_vn.getSlotVNs)(l(d,e))}}let c="";return _xeUtils.default.isArray(n)?c=n[t]:c=_xeUtils.default.get(a,r.field),[i?formatFooterLabel(i,{itemValue:c,column:r,row:a,items:n,_columnIndex:t}):(0,_utils.formatText)(c,1)]}function getDefaultCellLabel(e){var{$table:e,row:l,column:r}=e;return(0,_utils.formatText)(e.getCellLabel(l,r),1)}function renderCellHandle(e){var{column:l,$table:r}=e,t=r.props.editConfig,{type:l,treeNode:n,editRender:a}=l,{computeEditOpts:r,computeCheckboxOpts:o}=r.getComputeMaps(),d=o.value,o=r.value;switch(l){case"seq":return n?Cell.renderTreeIndexCell(e):Cell.renderSeqCell(e);case"radio":return n?Cell.renderTreeRadioCell(e):Cell.renderRadioCell(e);case"checkbox":return d.checkField?n?Cell.renderTreeSelectionCellByProp(e):Cell.renderCheckboxCellByProp(e):n?Cell.renderTreeSelectionCell(e):Cell.renderCheckboxCell(e);case"expand":return Cell.renderExpandCell(e);case"html":return n?Cell.renderTreeHTMLCell(e):Cell.renderHTMLCell(e)}return t&&a?"cell"===o.mode?n?Cell.renderTreeCellEdit(e):Cell.renderCellEdit(e):n?Cell.renderTreeRowEdit(e):Cell.renderRowEdit(e):n?Cell.renderTreeCell(e):Cell.renderDefaultCell(e)}function renderHeaderHandle(e){var{column:l,$table:r}=e,r=r.props.editConfig,{type:l,filters:t,sortable:n,editRender:a}=l;switch(l){case"seq":return Cell.renderSeqHeader(e);case"radio":return Cell.renderRadioHeader(e);case"checkbox":return Cell.renderCheckboxHeader(e);case"html":if(t&&n)return Cell.renderSortAndFilterHeader(e);if(n)return Cell.renderSortHeader(e);if(t)return Cell.renderFilterHeader(e)}return r&&a?Cell.renderEditHeader(e):t&&n?Cell.renderSortAndFilterHeader(e):n?Cell.renderSortHeader(e):t?Cell.renderFilterHeader(e):Cell.renderDefaultHeader(e)}function renderFooterHandle(e){return Cell.renderDefaultFooter(e)}let Cell=exports.Cell={createColumn(e,l){var r=l.type,t={renderHeader:renderHeaderHandle,renderCell:renderCellHandle,renderFooter:renderFooterHandle};return"expand"===r&&(t.renderData=Cell.renderExpandData),(0,_util.createColumn)(e,l,t)},renderHeaderTitle(e){var{$table:l,column:r}=e,{slots:t,editRender:n,cellRender:a}=r,n=n||a,a=t?t.header:null;if(a)return renderTitleContent(e,l.callSlot(a,e));if(n){t=renderer.get(n.name);if(t){l=t.renderTableHeader||t.renderHeader;if(l)return renderTitleContent(e,(0,_vn.getSlotVNs)(l(n,e)))}}return renderTitleContent(e,(0,_utils.formatText)(r.getTitle(),1))},renderDefaultHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e))},renderDefaultCell(e){var{$table:l,row:r,column:t}=e,{slots:n,editRender:a,cellRender:o}=t,o=a||o,n=n?n.default:null;if(n)return renderCellBaseVNs(e,l.callSlot(n,e));if(o){n=renderer.get(o.name);if(n){var d=n.renderTableCell||n.renderCell,n=n.renderTableDefault||n.renderDefault,d=a?d:n;if(d)return renderCellBaseVNs(e,(0,_vn.getSlotVNs)(d(o,Object.assign({$type:a?"edit":"cell"},e))))}}n=l.getCellLabel(r,t),d=a?a.placeholder:"";return renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},[a&&(0,_utils.eqEmptyValue)(n)?(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(d),1)):(0,_vue.h)("span",(0,_utils.formatText)(n,1))])])},renderTreeCell(e){return Cell.renderTreeIcon(e,Cell.renderDefaultCell(e))},renderDefaultFooter(e){return getFooterContent(e)},renderTreeIcon(l,e){let{$table:r,isHidden:t}=l;var n=r.reactData,a=r.internalData,o=r.getComputeMaps().computeTreeOpts,{treeExpandedMaps:n,treeExpandLazyLoadedMaps:d}=n,a=a.fullAllDataRowIdData,o=o.value,{row:s,column:i,level:c}=l,i=i.slots,{indent:u,lazy:C,trigger:v,iconLoaded:p,showIcon:g,iconOpen:h,iconClose:E}=o,_=o.children||o.childrenField,o=o.hasChild||o.hasChildField,_=s[_],_=_&&_.length,i=i?i.icon:null;let b=!1,m=!1,x=!1,f=!1;var T={};return i?r.callSlot(i,l):(t||(i=(0,_util.getRowid)(r,s),m=!!n[i],C&&(n=a[i],x=!!d[i],b=s[o],f=!!n.treeLoaded)),v&&"default"!==v||(T.onClick=e=>{r.triggerTreeExpandEvent(e,l)}),[(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":m}],style:{paddingLeft:c*u+"px"}},[g&&(!C||f?_:_||b)?[(0,_vue.h)("div",Object.assign({class:"vxe-tree--btn-wrapper"},T),[(0,_vue.h)("i",{class:["vxe-tree--node-btn",x?p||getIcon().TABLE_TREE_LOADED:m?h||getIcon().TABLE_TREE_OPEN:E||getIcon().TABLE_TREE_CLOSE]})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])])},renderSeqHeader(e){var{$table:l,column:r}=e,t=r.slots,t=t?t.header:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,t?l.callSlot(t,e):(0,_utils.formatText)(r.getTitle(),1)))},renderSeqCell(e){var{$table:l,column:r}=e,t=l.props.treeConfig,n=l.getComputeMaps().computeSeqOpts,n=n.value,r=r.slots,r=r?r.default:null;return r?renderCellBaseVNs(e,l.callSlot(r,e)):(l=e.seq,r=n.seqMethod,renderCellBaseVNs(e,[(0,_vue.h)("span",""+(0,_utils.formatText)(r?r(e):t?l:(n.startIndex||0)+l,1))]))},renderTreeIndexCell(e){return Cell.renderTreeIcon(e,Cell.renderSeqCell(e))},renderRadioHeader(e){var{$table:l,column:r}=e,t=r.slots,n=t?t.header:null,t=t?t.title:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,n?l.callSlot(n,e):[(0,_vue.h)("span",{class:"vxe-radio--label"},t?l.callSlot(t,e):(0,_utils.formatText)(r.getTitle(),1))]))},renderRadioCell(l){let{$table:r,column:e,isHidden:t}=l;var n=r.reactData,a=r.getComputeMaps().computeRadioOpts,n=n.selectRadioRow,o=e.slots,{labelField:a,checkMethod:d,visibleMethod:s}=a.value,i=l.row,c=o?o.default:null,o=o?o.radio:null,n=r.eqRow(i,n);let u=!s||s({row:i}),C=!!d,v;t||(v={onClick(e){!C&&u&&r.triggerRadioRowEvent(e,l)}},d&&(C=!d({row:i})));s=Object.assign(Object.assign({},l),{checked:n,disabled:C,visible:u});return o?renderCellBaseVNs(l,r.callSlot(o,s)):(d=[],u&&d.push((0,_vue.h)("span",{class:["vxe-radio--icon",n?getIcon().TABLE_RADIO_CHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(c||a)&&d.push((0,_vue.h)("span",{class:"vxe-radio--label"},c?r.callSlot(c,s):_xeUtils.default.get(i,a))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--radio",{"is--checked":n,"is--disabled":C}]},v),d)]))},renderTreeRadioCell(e){return Cell.renderTreeIcon(e,Cell.renderRadioCell(e))},renderCheckboxHeader(e){let{$table:l,column:r,isHidden:t}=e;var n=l.reactData,{computeIsAllCheckboxDisabled:a,computeCheckboxOpts:o}=l.getComputeMaps();let{isAllSelected:d,isIndeterminate:s}=n,i=a.value;var n=r.slots,a=n?n.header:null,n=n?n.title:null,o=o.value,c=r.getTitle(),u={},C=(t||(u.onClick=e=>{i||l.triggerCheckAllEvent(e,!d)}),Object.assign(Object.assign({},e),{checked:d,disabled:i,indeterminate:s}));return a?renderHeaderCellBaseVNs(e,renderTitleContent(C,l.callSlot(a,C))):(o.checkStrictly?o.showHeader:!1!==o.showHeader)?renderHeaderCellBaseVNs(e,renderTitleContent(C,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":d,"is--disabled":i,"is--indeterminate":s}],title:getI18n("vxe.table.allTitle")},u),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:d?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(n||c?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,C):c)]:[]))])):renderHeaderCellBaseVNs(e,renderTitleContent(C,[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,C):c)]))},renderCheckboxCell(l){let{$table:r,row:e,column:t,isHidden:n}=l;var a=r.props.treeConfig,{selectCheckboxMaps:o,treeIndeterminateMaps:d}=r.reactData,s=r.getComputeMaps().computeCheckboxOpts,{labelField:s,checkMethod:i,visibleMethod:c}=s.value,u=t.slots,C=u?u.default:null,u=u?u.checkbox:null;let v=!1,p=!1,g=!c||c({row:e}),h=!!i;var E,c={},o=(n||(E=(0,_util.getRowid)(r,e),p=!!o[E],c.onClick=e=>{!h&&g&&r.triggerCheckRowEvent(e,l,!p)},i&&(h=!i({row:e})),a&&(v=!!d[E])),Object.assign(Object.assign({},l),{checked:p,disabled:h,visible:g,indeterminate:v}));return u?renderCellBaseVNs(l,r.callSlot(u,o)):(i=[],g&&i.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",v?getIcon().TABLE_CHECKBOX_INDETERMINATE:p?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(C||s)&&i.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},C?r.callSlot(C,o):_xeUtils.default.get(e,s))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":p,"is--disabled":h,"is--indeterminate":v,"is--hidden":!g}]},c),i)]))},renderTreeSelectionCell(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp(l){let{$table:r,row:e,column:t,isHidden:n}=l;var a=r.props.treeConfig,o=r.reactData.treeIndeterminateMaps,d=r.getComputeMaps().computeCheckboxOpts,d=d.value,{labelField:s,checkField:i,checkMethod:c,visibleMethod:u}=d,d=d.indeterminateField||d.halfField,C=t.slots,v=C?C.default:null,C=C?C.checkbox:null;let p=!1,g=!1,h=!u||u({row:e}),E=!!c;var _,u={},i=(n||(_=(0,_util.getRowid)(r,e),g=_xeUtils.default.get(e,i),u.onClick=e=>{!E&&h&&r.triggerCheckRowEvent(e,l,!g)},c&&(E=!c({row:e})),a&&(p=!!o[_])),Object.assign(Object.assign({},l),{checked:g,disabled:E,visible:h,indeterminate:p}));return C?renderCellBaseVNs(l,r.callSlot(C,i)):(c=[],h&&(c.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",p?getIcon().TABLE_CHECKBOX_INDETERMINATE:g?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),v||s)&&c.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},v?r.callSlot(v,i):_xeUtils.default.get(e,s))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":g,"is--disabled":E,"is--indeterminate":d&&!g?e[d]:p,"is--hidden":!h}]},u),c)]))},renderTreeSelectionCellByProp(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell(l){let{$table:r,isHidden:e,row:t,column:n}=l;var{rowExpandedMaps:a,rowExpandLazyLoadedMaps:o}=r.reactData,d=r.getComputeMaps().computeExpandOpts,{lazy:d,labelField:s,iconLoaded:i,showIcon:c,iconOpen:u,iconClose:C,visibleMethod:v}=d.value,p=n.slots,g=p?p.default:null,p=p?p.icon:null;let h=!1,E=!1;return p?renderCellBaseVNs(l,r.callSlot(p,l)):(e||(p=(0,_util.getRowid)(r,t),h=!!a[p],d&&(E=!!o[p])),renderCellBaseVNs(l,[!c||v&&!v(l)?renderEmptyElement(r):(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":h}],onClick(e){r.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",E?i||getIcon().TABLE_EXPAND_LOADED:h?u||getIcon().TABLE_EXPAND_OPEN:C||getIcon().TABLE_EXPAND_CLOSE]})]),g||s?(0,_vue.h)("span",{class:"vxe-table--expand-label"},g?r.callSlot(g,l):_xeUtils.default.get(t,s)):renderEmptyElement(r)]))},renderExpandData(e){var{$table:l,column:r}=e,{slots:r,contentRender:t}=r,r=r?r.content:null;if(r)return l.callSlot(r,e);if(t){l=renderer.get(t.name);if(l){r=l.renderTableExpand||l.renderExpand;if(r)return(0,_vn.getSlotVNs)(r(t,e))}}return[]},renderHTMLCell(e){var{$table:l,column:r}=e,r=r.slots,r=r?r.default:null;return renderCellBaseVNs(e,r?l.callSlot(r,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})])},renderTreeHTMLCell(e){return Cell.renderTreeIcon(e,Cell.renderHTMLCell(e))},renderSortAndFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e).concat(Cell.renderFilterIcon(e))))},renderSortHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e)))},renderSortIcon(e){let{$table:l,column:r}=e;var t=l.getComputeMaps().computeSortOpts,{showIcon:t,iconLayout:n,iconAsc:a,iconDesc:o,iconVisibleMethod:d}=t.value,s=r.order;return!t||d&&!d(e)?[]:[(0,_vue.h)("span",{class:["vxe-cell--sort",`vxe-cell--sort-${n}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",a||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===s}],title:getI18n("vxe.table.sortAsc"),onClick(e){e.stopPropagation(),l.triggerSortEvent(e,r,"asc")}}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",o||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===s}],title:getI18n("vxe.table.sortDesc"),onClick(e){e.stopPropagation(),l.triggerSortEvent(e,r,"desc")}})])]},renderFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderFilterIcon(e)))},renderFilterIcon(l){let{$table:r,column:e,hasFilter:t}=l;var n=r.reactData.filterStore,a=r.getComputeMaps().computeFilterOpts,{showIcon:a,iconNone:o,iconMatch:d,iconVisibleMethod:s}=a.value;return!a||s&&!s(l)?[]:[(0,_vue.h)("span",{class:["vxe-cell--filter",{"is--active":n.visible&&n.column===e}]},[(0,_vue.h)("i",{class:["vxe-filter--btn",t?d||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],title:getI18n("vxe.table.filter"),onClick(e){r.triggerFilterEvent&&r.triggerFilterEvent(e,l.column,l)}})])]},renderEditHeader(e){var{$table:l,column:r}=e,t=l.props,n=l.getComputeMaps().computeEditOpts,{editConfig:t,editRules:a}=t,n=n.value,{sortable:o,filters:d,editRender:s}=r;let i=!1,c=(a&&(a=_xeUtils.default.get(a,r.field))&&(i=a.some(e=>e.required)),[]);return renderHeaderCellBaseVNs(e,(c=(0,_utils.isEnableConf)(t)?[i&&n.showAsterisk?(0,_vue.h)("i",{class:"vxe-cell--required-icon"}):renderEmptyElement(l),(0,_utils.isEnableConf)(s)&&n.showIcon?(0,_vue.h)("i",{class:["vxe-cell--edit-icon",n.icon||getIcon().TABLE_EDIT]}):renderEmptyElement(l)]:c).concat(Cell.renderHeaderTitle(e)).concat(o?Cell.renderSortIcon(e):[]).concat(d?Cell.renderFilterIcon(e):[]))},renderRowEdit(e){var{$table:l,column:r}=e,l=l.reactData.editStore,l=l.actived,r=r.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row)},renderTreeRowEdit(e){return Cell.renderTreeIcon(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:r}=e,l=l.reactData.editStore,l=l.actived,r=r.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row&&l.column===e.column)},renderTreeCellEdit(e){return Cell.renderTreeIcon(e,Cell.renderCellEdit(e))},runRenderer(e,l){var{$table:r,column:t}=e,{slots:t,editRender:n,formatter:a}=t,o=t?t.default:null,t=t?t.edit:null,d=renderer.get(n.name),d=d?d.renderTableEdit||d.renderEdit:null,s=Object.assign({$type:"",isEdit:l},e);return l?(s.$type="edit",t?r.callSlot(t,s):d?(0,_vn.getSlotVNs)(d(n,s)):[]):o?renderCellBaseVNs(e,r.callSlot(o,s)):a?renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(s))]):Cell.renderDefaultCell(s)}};var _default=exports.default=Cell;
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderer,formats,renderEmptyElement}=_ui.VxeUI;function renderTitlePrefixIcon(l){let{$table:r,column:e}=l,t=e.titlePrefix||e.titleHelp;return t?(0,_vue.h)("i",{class:["vxe-cell-title-prefix-icon",t.icon||getIcon().TABLE_TITLE_PREFIX],onMouseenter(e){r.triggerHeaderTitleEvent(e,t,l)},onMouseleave(e){r.handleTargetLeaveEvent(e)}}):renderEmptyElement(r)}function renderTitleSuffixIcon(l){let{$table:r,column:e}=l,t=e.titleSuffix;return t?(0,_vue.h)("i",{class:["vxe-cell-title-suffix-icon",t.icon||getIcon().TABLE_TITLE_SUFFIX],onMouseenter(e){r.triggerHeaderTitleEvent(e,t,l)},onMouseleave(e){r.handleTargetLeaveEvent(e)}}):renderEmptyElement(r)}function renderCellDragIcon(l){let{$table:r,column:e}=l;var t=r.context,t=t.slots,n=e.slots,a=r.props.dragConfig,o=r.getComputeMaps().computeRowDragOpts,{icon:o,trigger:d,disabledMethod:s}=o.value,s=s||(a?a.rowDisabledMethod:null);let i=s&&s(l);s=(n?n.rowDragIcon||n["row-drag-icon"]:null)||t.rowDragIcon||t["row-drag-icon"],n={};return"cell"!==d&&(n.onMousedown=e=>{i||r.handleCellDragMousedownEvent(e,l)},n.onMouseup=r.handleCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":i}]},n),s?r.callSlot(s,l):[(0,_vue.h)("i",{class:o||(a?a.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l){var{$table:r,column:t,level:n}=e,t=t.dragSort,{treeConfig:a,dragConfig:o}=r.props,{computeRowOpts:r,computeRowDragOpts:d}=r.getComputeMaps(),r=r.value,{showIcon:d,isPeerDrag:s,isCrossDrag:i,visibleMethod:c}=d.value,c=c||(o?o.rowVisibleMethod:null),l=_xeUtils.default.isArray(l)?l:[l];return!(t&&r.drag&&(d||o&&o.showRowIcon))||c&&!c(e)||a&&!s&&!i&&n||l.unshift(renderCellDragIcon(e)),l}function renderHeaderCellDragIcon(r){let{$table:t,column:e}=r;var n=t.context,n=n.slots,a=e.slots,{computeColumnOpts:o,computeColumnDragOpts:d}=t.getComputeMaps(),o=o.value,{showIcon:d,icon:s,trigger:i,isPeerDrag:l,isCrossDrag:c,visibleMethod:u,disabledMethod:C}=d.value;if(!o.drag||!d||u&&!u(r)||e.fixed||!l&&!c&&e.parentId)return renderEmptyElement(t);{let l=C&&C(r);o=(a?a.columnDragIcon||a["column-drag-icon"]:null)||n.columnDragIcon||n["column-drag-icon"],d={};return"cell"!==i&&(d.onMousedown=e=>{l||t.handleHeaderCellDragMousedownEvent(e,r)},d.onMouseup=t.handleHeaderCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}]},d),o?t.callSlot(o,r):[(0,_vue.h)("i",{class:s||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l){return[renderTitlePrefixIcon(e),renderHeaderCellDragIcon(e),..._xeUtils.default.isArray(l)?l:[l],renderTitleSuffixIcon(e)]}function renderTitleContent(l,e){let{$table:r,column:t}=l;var n=r.props;let a=r.reactData;var o=r.getComputeMaps().computeTooltipOpts,n=n.showHeaderOverflow,{type:d,showHeaderOverflow:s}=t;let i=o.value.showAll;o=_xeUtils.default.isUndefined(s)||_xeUtils.default.isNull(s)?n:s;let c="title"===o,u=!0===o||"tooltip"===o;n={};return(c||u||i)&&(n.onMouseenter=e=>{a.isDragResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,t):(u||i)&&r.triggerHeaderTooltipEvent(e,l))}),(u||i)&&(n.onMouseleave=e=>{a.isDragResize||(u||i)&&r.handleTargetLeaveEvent(e)}),["html"===d&&_xeUtils.default.isString(e)?(0,_vue.h)("span",Object.assign({class:"vxe-cell--title",innerHTML:e},n)):(0,_vue.h)("span",Object.assign({class:"vxe-cell--title"},n),(0,_vn.getSlotVNs)(e))]}function getFooterContent(e){var{$table:l,column:r,_columnIndex:t,items:n,row:a}=e,{slots:o,editRender:d,cellRender:s,footerFormatter:i}=r,d=d||s,s=o?o.footer:null;if(s)return l.callSlot(s,e);let c="";c=_xeUtils.default.isArray(n)?n[t]:_xeUtils.default.get(a,r.field);o=Object.assign(e,{itemValue:c});if(i)return _xeUtils.default.isFunction(i)?""+i(o):(n=(s=(l=_xeUtils.default.isArray(i))?formats.get(i[0]):formats.get(i))?s.tableFooterCellFormatMethod:null)?""+(l?n(o,...i.slice(1)):n(o)):"";if(d){t=renderer.get(d.name);if(t){a=t.renderTableFooter||t.renderFooter;if(a)return(0,_vn.getSlotVNs)(a(d,o))}}return[(0,_utils.formatText)(c,1)]}function getDefaultCellLabel(e){var{$table:e,row:l,column:r}=e;return(0,_utils.formatText)(e.getCellLabel(l,r),1)}function renderCellHandle(e){var{column:l,$table:r}=e,t=r.props.editConfig,{type:l,treeNode:n,editRender:a}=l,{computeEditOpts:r,computeCheckboxOpts:o}=r.getComputeMaps(),d=o.value,o=r.value;switch(l){case"seq":return n?Cell.renderTreeIndexCell(e):Cell.renderSeqCell(e);case"radio":return n?Cell.renderTreeRadioCell(e):Cell.renderRadioCell(e);case"checkbox":return d.checkField?n?Cell.renderTreeSelectionCellByProp(e):Cell.renderCheckboxCellByProp(e):n?Cell.renderTreeSelectionCell(e):Cell.renderCheckboxCell(e);case"expand":return Cell.renderExpandCell(e);case"html":return n?Cell.renderTreeHTMLCell(e):Cell.renderHTMLCell(e)}return t&&a?"cell"===o.mode?n?Cell.renderTreeCellEdit(e):Cell.renderCellEdit(e):n?Cell.renderTreeRowEdit(e):Cell.renderRowEdit(e):n?Cell.renderTreeCell(e):Cell.renderDefaultCell(e)}function renderHeaderHandle(e){var{column:l,$table:r}=e,r=r.props.editConfig,{type:l,filters:t,sortable:n,editRender:a}=l;switch(l){case"seq":return Cell.renderSeqHeader(e);case"radio":return Cell.renderRadioHeader(e);case"checkbox":return Cell.renderCheckboxHeader(e);case"html":if(t&&n)return Cell.renderSortAndFilterHeader(e);if(n)return Cell.renderSortHeader(e);if(t)return Cell.renderFilterHeader(e)}return r&&a?Cell.renderEditHeader(e):t&&n?Cell.renderSortAndFilterHeader(e):n?Cell.renderSortHeader(e):t?Cell.renderFilterHeader(e):Cell.renderDefaultHeader(e)}function renderFooterHandle(e){return Cell.renderDefaultFooter(e)}let Cell=exports.Cell={createColumn(e,l){var r=l.type,t={renderHeader:renderHeaderHandle,renderCell:renderCellHandle,renderFooter:renderFooterHandle};return"expand"===r&&(t.renderData=Cell.renderExpandData),(0,_util.createColumn)(e,l,t)},renderHeaderTitle(e){var{$table:l,column:r}=e,{slots:t,editRender:n,cellRender:a}=r,n=n||a,a=t?t.header:null;if(a)return renderTitleContent(e,l.callSlot(a,e));if(n){t=renderer.get(n.name);if(t){l=t.renderTableHeader||t.renderHeader;if(l)return renderTitleContent(e,(0,_vn.getSlotVNs)(l(n,e)))}}return renderTitleContent(e,(0,_utils.formatText)(r.getTitle(),1))},renderDefaultHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e))},renderDefaultCell(e){var{$table:l,row:r,column:t}=e,{slots:n,editRender:a,cellRender:o}=t,o=a||o,n=n?n.default:null;if(n)return renderCellBaseVNs(e,l.callSlot(n,e));if(o){n=renderer.get(o.name);if(n){var d=n.renderTableCell||n.renderCell,n=n.renderTableDefault||n.renderDefault,d=a?d:n;if(d)return renderCellBaseVNs(e,(0,_vn.getSlotVNs)(d(o,Object.assign({$type:a?"edit":"cell"},e))))}}n=l.getCellLabel(r,t),d=a?a.placeholder:"";return renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},[a&&(0,_utils.eqEmptyValue)(n)?(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(d),1)):(0,_vue.h)("span",(0,_utils.formatText)(n,1))])])},renderTreeCell(e){return Cell.renderTreeIcon(e,Cell.renderDefaultCell(e))},renderDefaultFooter(e){return getFooterContent(e)},renderTreeIcon(l,e){let{$table:r,isHidden:t}=l;var n=r.reactData,a=r.internalData,o=r.getComputeMaps().computeTreeOpts,{treeExpandedMaps:n,treeExpandLazyLoadedMaps:d}=n,a=a.fullAllDataRowIdData,o=o.value,{row:s,column:i,level:c}=l,i=i.slots,{indent:u,lazy:C,trigger:v,iconLoaded:p,showIcon:g,iconOpen:h,iconClose:E}=o,_=o.children||o.childrenField,o=o.hasChild||o.hasChildField,_=s[_],_=_&&_.length,i=i?i.icon:null;let b=!1,x=!1,f=!1,m=!1;var T={};return i?r.callSlot(i,l):(t||(i=(0,_util.getRowid)(r,s),x=!!n[i],C&&(n=a[i],f=!!d[i],b=s[o],m=!!n.treeLoaded)),v&&"default"!==v||(T.onClick=e=>{r.triggerTreeExpandEvent(e,l)}),[(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":x}],style:{paddingLeft:c*u+"px"}},[g&&(!C||m?_:_||b)?[(0,_vue.h)("div",Object.assign({class:"vxe-tree--btn-wrapper"},T),[(0,_vue.h)("i",{class:["vxe-tree--node-btn",f?p||getIcon().TABLE_TREE_LOADED:x?h||getIcon().TABLE_TREE_OPEN:E||getIcon().TABLE_TREE_CLOSE]})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])])},renderSeqHeader(e){var{$table:l,column:r}=e,t=r.slots,t=t?t.header:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,t?l.callSlot(t,e):(0,_utils.formatText)(r.getTitle(),1)))},renderSeqCell(e){var{$table:l,column:r}=e,t=l.props.treeConfig,n=l.getComputeMaps().computeSeqOpts,n=n.value,r=r.slots,r=r?r.default:null;return r?renderCellBaseVNs(e,l.callSlot(r,e)):(l=e.seq,r=n.seqMethod,renderCellBaseVNs(e,[(0,_vue.h)("span",""+(0,_utils.formatText)(r?r(e):t?l:(n.startIndex||0)+l,1))]))},renderTreeIndexCell(e){return Cell.renderTreeIcon(e,Cell.renderSeqCell(e))},renderRadioHeader(e){var{$table:l,column:r}=e,t=r.slots,n=t?t.header:null,t=t?t.title:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,n?l.callSlot(n,e):[(0,_vue.h)("span",{class:"vxe-radio--label"},t?l.callSlot(t,e):(0,_utils.formatText)(r.getTitle(),1))]))},renderRadioCell(l){let{$table:r,column:e,isHidden:t}=l;var n=r.reactData,a=r.getComputeMaps().computeRadioOpts,n=n.selectRadioRow,o=e.slots,{labelField:a,checkMethod:d,visibleMethod:s}=a.value,i=l.row,c=o?o.default:null,o=o?o.radio:null,n=r.eqRow(i,n);let u=!s||s({row:i}),C=!!d,v;t||(v={onClick(e){!C&&u&&r.triggerRadioRowEvent(e,l)}},d&&(C=!d({row:i})));s=Object.assign(Object.assign({},l),{checked:n,disabled:C,visible:u});return o?renderCellBaseVNs(l,r.callSlot(o,s)):(d=[],u&&d.push((0,_vue.h)("span",{class:["vxe-radio--icon",n?getIcon().TABLE_RADIO_CHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(c||a)&&d.push((0,_vue.h)("span",{class:"vxe-radio--label"},c?r.callSlot(c,s):_xeUtils.default.get(i,a))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--radio",{"is--checked":n,"is--disabled":C}]},v),d)]))},renderTreeRadioCell(e){return Cell.renderTreeIcon(e,Cell.renderRadioCell(e))},renderCheckboxHeader(e){let{$table:l,column:r,isHidden:t}=e;var n=l.reactData,{computeIsAllCheckboxDisabled:a,computeCheckboxOpts:o}=l.getComputeMaps();let{isAllSelected:d,isIndeterminate:s}=n,i=a.value;var n=r.slots,a=n?n.header:null,n=n?n.title:null,o=o.value,c=r.getTitle(),u={},C=(t||(u.onClick=e=>{i||l.triggerCheckAllEvent(e,!d)}),Object.assign(Object.assign({},e),{checked:d,disabled:i,indeterminate:s}));return a?renderHeaderCellBaseVNs(e,renderTitleContent(C,l.callSlot(a,C))):(o.checkStrictly?o.showHeader:!1!==o.showHeader)?renderHeaderCellBaseVNs(e,renderTitleContent(C,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":d,"is--disabled":i,"is--indeterminate":s}],title:getI18n("vxe.table.allTitle")},u),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:d?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(n||c?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,C):c)]:[]))])):renderHeaderCellBaseVNs(e,renderTitleContent(C,[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,C):c)]))},renderCheckboxCell(l){let{$table:r,row:e,column:t,isHidden:n}=l;var a=r.props.treeConfig,{selectCheckboxMaps:o,treeIndeterminateMaps:d}=r.reactData,s=r.getComputeMaps().computeCheckboxOpts,{labelField:s,checkMethod:i,visibleMethod:c}=s.value,u=t.slots,C=u?u.default:null,u=u?u.checkbox:null;let v=!1,p=!1,g=!c||c({row:e}),h=!!i;var E,c={},o=(n||(E=(0,_util.getRowid)(r,e),p=!!o[E],c.onClick=e=>{!h&&g&&r.triggerCheckRowEvent(e,l,!p)},i&&(h=!i({row:e})),a&&(v=!!d[E])),Object.assign(Object.assign({},l),{checked:p,disabled:h,visible:g,indeterminate:v}));return u?renderCellBaseVNs(l,r.callSlot(u,o)):(i=[],g&&i.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",v?getIcon().TABLE_CHECKBOX_INDETERMINATE:p?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(C||s)&&i.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},C?r.callSlot(C,o):_xeUtils.default.get(e,s))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":p,"is--disabled":h,"is--indeterminate":v,"is--hidden":!g}]},c),i)]))},renderTreeSelectionCell(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp(l){let{$table:r,row:e,column:t,isHidden:n}=l;var a=r.props.treeConfig,o=r.reactData.treeIndeterminateMaps,d=r.getComputeMaps().computeCheckboxOpts,d=d.value,{labelField:s,checkField:i,checkMethod:c,visibleMethod:u}=d,d=d.indeterminateField||d.halfField,C=t.slots,v=C?C.default:null,C=C?C.checkbox:null;let p=!1,g=!1,h=!u||u({row:e}),E=!!c;var _,u={},i=(n||(_=(0,_util.getRowid)(r,e),g=_xeUtils.default.get(e,i),u.onClick=e=>{!E&&h&&r.triggerCheckRowEvent(e,l,!g)},c&&(E=!c({row:e})),a&&(p=!!o[_])),Object.assign(Object.assign({},l),{checked:g,disabled:E,visible:h,indeterminate:p}));return C?renderCellBaseVNs(l,r.callSlot(C,i)):(c=[],h&&(c.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",p?getIcon().TABLE_CHECKBOX_INDETERMINATE:g?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),v||s)&&c.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},v?r.callSlot(v,i):_xeUtils.default.get(e,s))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":g,"is--disabled":E,"is--indeterminate":d&&!g?e[d]:p,"is--hidden":!h}]},u),c)]))},renderTreeSelectionCellByProp(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell(l){let{$table:r,isHidden:e,row:t,column:n}=l;var{rowExpandedMaps:a,rowExpandLazyLoadedMaps:o}=r.reactData,d=r.getComputeMaps().computeExpandOpts,{lazy:d,labelField:s,iconLoaded:i,showIcon:c,iconOpen:u,iconClose:C,visibleMethod:v}=d.value,p=n.slots,g=p?p.default:null,p=p?p.icon:null;let h=!1,E=!1;return p?renderCellBaseVNs(l,r.callSlot(p,l)):(e||(p=(0,_util.getRowid)(r,t),h=!!a[p],d&&(E=!!o[p])),renderCellBaseVNs(l,[!c||v&&!v(l)?renderEmptyElement(r):(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":h}],onClick(e){r.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",E?i||getIcon().TABLE_EXPAND_LOADED:h?u||getIcon().TABLE_EXPAND_OPEN:C||getIcon().TABLE_EXPAND_CLOSE]})]),g||s?(0,_vue.h)("span",{class:"vxe-table--expand-label"},g?r.callSlot(g,l):_xeUtils.default.get(t,s)):renderEmptyElement(r)]))},renderExpandData(e){var{$table:l,column:r}=e,{slots:r,contentRender:t}=r,r=r?r.content:null;if(r)return l.callSlot(r,e);if(t){l=renderer.get(t.name);if(l){r=l.renderTableExpand||l.renderExpand;if(r)return(0,_vn.getSlotVNs)(r(t,e))}}return[]},renderHTMLCell(e){var{$table:l,column:r}=e,r=r.slots,r=r?r.default:null;return renderCellBaseVNs(e,r?l.callSlot(r,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})])},renderTreeHTMLCell(e){return Cell.renderTreeIcon(e,Cell.renderHTMLCell(e))},renderSortAndFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e).concat(Cell.renderFilterIcon(e))))},renderSortHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e)))},renderSortIcon(e){let{$table:l,column:r}=e;var t=l.getComputeMaps().computeSortOpts,{showIcon:t,iconLayout:n,iconAsc:a,iconDesc:o,iconVisibleMethod:d}=t.value,s=r.order;return!t||d&&!d(e)?[]:[(0,_vue.h)("span",{class:["vxe-cell--sort",`vxe-cell--sort-${n}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",a||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===s}],title:getI18n("vxe.table.sortAsc"),onClick(e){e.stopPropagation(),l.triggerSortEvent(e,r,"asc")}}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",o||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===s}],title:getI18n("vxe.table.sortDesc"),onClick(e){e.stopPropagation(),l.triggerSortEvent(e,r,"desc")}})])]},renderFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderFilterIcon(e)))},renderFilterIcon(l){let{$table:r,column:e,hasFilter:t}=l;var n=r.reactData.filterStore,a=r.getComputeMaps().computeFilterOpts,{showIcon:a,iconNone:o,iconMatch:d,iconVisibleMethod:s}=a.value;return!a||s&&!s(l)?[]:[(0,_vue.h)("span",{class:["vxe-cell--filter",{"is--active":n.visible&&n.column===e}]},[(0,_vue.h)("i",{class:["vxe-filter--btn",t?d||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],title:getI18n("vxe.table.filter"),onClick(e){r.triggerFilterEvent&&r.triggerFilterEvent(e,l.column,l)}})])]},renderEditHeader(e){var{$table:l,column:r}=e,t=l.props,n=l.getComputeMaps().computeEditOpts,{editConfig:t,editRules:a}=t,n=n.value,{sortable:o,filters:d,editRender:s}=r;let i=!1,c=(a&&(a=_xeUtils.default.get(a,r.field))&&(i=a.some(e=>e.required)),[]);return renderHeaderCellBaseVNs(e,(c=(0,_utils.isEnableConf)(t)?[i&&n.showAsterisk?(0,_vue.h)("i",{class:"vxe-cell--required-icon"}):renderEmptyElement(l),(0,_utils.isEnableConf)(s)&&n.showIcon?(0,_vue.h)("i",{class:["vxe-cell--edit-icon",n.icon||getIcon().TABLE_EDIT]}):renderEmptyElement(l)]:c).concat(Cell.renderHeaderTitle(e)).concat(o?Cell.renderSortIcon(e):[]).concat(d?Cell.renderFilterIcon(e):[]))},renderRowEdit(e){var{$table:l,column:r}=e,l=l.reactData.editStore,l=l.actived,r=r.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row)},renderTreeRowEdit(e){return Cell.renderTreeIcon(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:r}=e,l=l.reactData.editStore,l=l.actived,r=r.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row&&l.column===e.column)},renderTreeCellEdit(e){return Cell.renderTreeIcon(e,Cell.renderCellEdit(e))},runRenderer(e,l){var{$table:r,column:t}=e,{slots:t,editRender:n,formatter:a}=t,o=t?t.default:null,t=t?t.edit:null,d=renderer.get(n.name),d=d?d.renderTableEdit||d.renderEdit:null,s=Object.assign({$type:"",isEdit:l},e);return l?(s.$type="edit",t?r.callSlot(t,s):d?(0,_vn.getSlotVNs)(d(n,s)):[]):o?renderCellBaseVNs(e,r.callSlot(o,s)):a?renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(s))]):Cell.renderDefaultCell(s)}};var _default=exports.default=Cell;
|
package/lib/table/src/column.js
CHANGED
|
@@ -61,6 +61,16 @@ const columnProps = exports.columnProps = {
|
|
|
61
61
|
formatter: [Function, Array, String],
|
|
62
62
|
// 格式化表尾显示内容
|
|
63
63
|
footerFormatter: [Function, Array, String],
|
|
64
|
+
// 是否显示间距
|
|
65
|
+
padding: {
|
|
66
|
+
type: Boolean,
|
|
67
|
+
default: null
|
|
68
|
+
},
|
|
69
|
+
// 垂直对齐方式
|
|
70
|
+
verticalAlign: {
|
|
71
|
+
type: String,
|
|
72
|
+
default: null
|
|
73
|
+
},
|
|
64
74
|
// 是否允许排序
|
|
65
75
|
sortable: Boolean,
|
|
66
76
|
// 自定义排序的属性
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.columnProps=void 0;var _vue=require("vue"),_util=require("./util"),_cell=_interopRequireDefault(require("./cell"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let columnProps=exports.columnProps={colId:[String,Number],type:String,field:String,title:String,width:[Number,String],minWidth:[Number,String],maxWidth:[Number,String],resizable:{type:Boolean,default:null},fixed:String,align:String,headerAlign:String,footerAlign:String,showOverflow:{type:[Boolean,String],default:null},showHeaderOverflow:{type:[Boolean,String],default:null},showFooterOverflow:{type:[Boolean,String],default:null},className:[String,Function],headerClassName:[String,Function],footerClassName:[String,Function],formatter:[Function,Array,String],footerFormatter:[Function,Array,String],sortable:Boolean,sortBy:[String,Function],sortType:String,filters:{type:Array,default:null},filterMultiple:{type:Boolean,default:!0},filterMethod:Function,filterResetMethod:Function,filterRecoverMethod:Function,filterRender:Object,treeNode:Boolean,dragSort:Boolean,rowResize:Boolean,visible:{type:Boolean,default:null},headerExportMethod:Function,exportMethod:Function,footerExportMethod:Function,titleHelp:Object,titlePrefix:Object,titleSuffix:Object,cellType:String,cellRender:Object,editRender:Object,contentRender:Object,params:Object};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeColumn",props:columnProps,setup(e,{slots:t}){let r=(0,_vue.ref)(),
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.columnProps=void 0;var _vue=require("vue"),_util=require("./util"),_cell=_interopRequireDefault(require("./cell"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let columnProps=exports.columnProps={colId:[String,Number],type:String,field:String,title:String,width:[Number,String],minWidth:[Number,String],maxWidth:[Number,String],resizable:{type:Boolean,default:null},fixed:String,align:String,headerAlign:String,footerAlign:String,showOverflow:{type:[Boolean,String],default:null},showHeaderOverflow:{type:[Boolean,String],default:null},showFooterOverflow:{type:[Boolean,String],default:null},className:[String,Function],headerClassName:[String,Function],footerClassName:[String,Function],formatter:[Function,Array,String],footerFormatter:[Function,Array,String],padding:{type:Boolean,default:null},verticalAlign:{type:String,default:null},sortable:Boolean,sortBy:[String,Function],sortType:String,filters:{type:Array,default:null},filterMultiple:{type:Boolean,default:!0},filterMethod:Function,filterResetMethod:Function,filterRecoverMethod:Function,filterRender:Object,treeNode:Boolean,dragSort:Boolean,rowResize:Boolean,visible:{type:Boolean,default:null},headerExportMethod:Function,exportMethod:Function,footerExportMethod:Function,titleHelp:Object,titlePrefix:Object,titleSuffix:Object,cellType:String,cellRender:Object,editRender:Object,contentRender:Object,params:Object};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeColumn",props:columnProps,setup(e,{slots:t}){let r=(0,_vue.ref)(),l=(0,_vue.inject)("$xeTable",null),n=(0,_vue.inject)("$xeColgroup",null);if(!l)return()=>(0,_vue.createCommentVNode)();let o=_cell.default.createColumn(l,e);o.slots=t;var t=()=>(0,_vue.h)("div",{ref:r}),u={columnConfig:o,renderVN:t};return(0,_util.watchColumn)(l,e,o),(0,_vue.onMounted)(()=>{var e=r.value;e&&(0,_util.assembleColumn)(l,e,o,n)}),(0,_vue.onUnmounted)(()=>{(0,_util.destroyColumn)(l,o)}),(0,_vue.provide)("$xeColumn",u),(0,_vue.provide)("$xeGrid",null),t}});
|
|
@@ -90,6 +90,8 @@ class ColumnInfo {
|
|
|
90
90
|
footerClassName: _vm.footerClassName,
|
|
91
91
|
formatter: formatter,
|
|
92
92
|
footerFormatter: _vm.footerFormatter,
|
|
93
|
+
padding: _vm.padding,
|
|
94
|
+
verticalAlign: _vm.verticalAlign,
|
|
93
95
|
sortable: _vm.sortable,
|
|
94
96
|
sortBy: _vm.sortBy,
|
|
95
97
|
sortType: _vm.sortType,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.ColumnInfo=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,formats}=_ui.VxeUI;class ColumnInfo{constructor(e,r,{renderHeader:t,renderCell:l,renderFooter:o,renderData:i}={}){var d,n=e.xegrid,s=r.formatter,a=!_xeUtils.default.isBoolean(r.visible)||r.visible,u=e.props;"development"===process.env.NODE_ENV&&(d=["seq","checkbox","radio","expand","html"],r.type&&-1===d.indexOf(r.type)&&(0,_log.warnLog)("vxe.error.errProp",["type="+r.type,d.join(", ")]),(_xeUtils.default.isBoolean(r.cellRender)||r.cellRender&&!_xeUtils.default.isObject(r.cellRender))&&(0,_log.warnLog)("vxe.error.errProp",["column.cell-render="+r.cellRender,"column.cell-render={}"]),(_xeUtils.default.isBoolean(r.editRender)||r.editRender&&!_xeUtils.default.isObject(r.editRender))&&(0,_log.warnLog)("vxe.error.errProp",["column.edit-render="+r.editRender,"column.edit-render={}"]),r.cellRender&&r.editRender&&(0,_log.warnLog)("vxe.error.errConflicts",["column.cell-render","column.edit-render"]),"expand"===r.type&&(d=u.treeConfig,u=e.getComputeMaps().computeTreeOpts,e=u.value,d)&&(e.showLine||e.line)&&(0,_log.errLog)("vxe.error.errConflicts",["tree-config.showLine","column.type=expand"]),s)&&(_xeUtils.default.isString(s)?(u=formats.get(s)||_xeUtils.default[s])&&_xeUtils.default.isFunction(u.tableCellFormatMethod||u.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[s]):!_xeUtils.default.isArray(s)||(d=formats.get(s[0])||_xeUtils.default[s[0]])&&_xeUtils.default.isFunction(d.tableCellFormatMethod||d.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[s[0]])),Object.assign(this,{type:r.type,property:r.field,field:r.field,title:r.title,width:r.width,minWidth:r.minWidth,maxWidth:r.maxWidth,resizable:r.resizable,fixed:r.fixed,align:r.align,headerAlign:r.headerAlign,footerAlign:r.footerAlign,showOverflow:r.showOverflow,showHeaderOverflow:r.showHeaderOverflow,showFooterOverflow:r.showFooterOverflow,className:r.className,headerClassName:r.headerClassName,footerClassName:r.footerClassName,formatter:s,footerFormatter:r.footerFormatter,sortable:r.sortable,sortBy:r.sortBy,sortType:r.sortType,filters:(0,_util.toFilters)(r.filters),filterMultiple:!_xeUtils.default.isBoolean(r.filterMultiple)||r.filterMultiple,filterMethod:r.filterMethod,filterResetMethod:r.filterResetMethod,filterRecoverMethod:r.filterRecoverMethod,filterRender:r.filterRender,treeNode:r.treeNode,dragSort:r.dragSort,rowResize:r.rowResize,cellType:r.cellType,cellRender:r.cellRender,editRender:r.editRender,contentRender:r.contentRender,headerExportMethod:r.headerExportMethod,exportMethod:r.exportMethod,footerExportMethod:r.footerExportMethod,titleHelp:r.titleHelp,titlePrefix:r.titlePrefix,titleSuffix:r.titleSuffix,params:r.params,id:r.colId||_xeUtils.default.uniqueId("col_"),parentId:null,visible:a,halfVisible:!1,defaultVisible:a,defaultFixed:r.fixed,checked:!1,halfChecked:!1,disabled:!1,level:1,rowSpan:1,colSpan:1,order:null,sortTime:0,sortNumber:0,renderSortNumber:0,renderFixed:"",renderVisible:!1,renderWidth:0,renderHeight:0,renderResizeWidth:0,renderAutoWidth:0,resizeWidth:0,renderLeft:0,renderArgs:[],model:{},renderHeader:t||r.renderHeader,renderCell:l||r.renderCell,renderFooter:o||r.renderFooter,renderData:i,slots:r.slots}),n&&(e=n.getComputeMaps().computeProxyOpts,(u=e.value).beforeColumn)&&u.beforeColumn({$grid:n,column:this})}getTitle(){return(0,_utils.getFuncText)(this.title||("seq"===this.type?getI18n("vxe.table.seqTitle"):""))}getKey(){var e=this.type;return this.field||(e?"type="+e:null)}update(e,r){"filters"!==e&&("field"===e&&(this.property=r),this[e]=r)}}exports.ColumnInfo=ColumnInfo;
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.ColumnInfo=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,formats}=_ui.VxeUI;class ColumnInfo{constructor(e,r,{renderHeader:t,renderCell:l,renderFooter:o,renderData:i}={}){var d,n=e.xegrid,s=r.formatter,a=!_xeUtils.default.isBoolean(r.visible)||r.visible,u=e.props;"development"===process.env.NODE_ENV&&(d=["seq","checkbox","radio","expand","html"],r.type&&-1===d.indexOf(r.type)&&(0,_log.warnLog)("vxe.error.errProp",["type="+r.type,d.join(", ")]),(_xeUtils.default.isBoolean(r.cellRender)||r.cellRender&&!_xeUtils.default.isObject(r.cellRender))&&(0,_log.warnLog)("vxe.error.errProp",["column.cell-render="+r.cellRender,"column.cell-render={}"]),(_xeUtils.default.isBoolean(r.editRender)||r.editRender&&!_xeUtils.default.isObject(r.editRender))&&(0,_log.warnLog)("vxe.error.errProp",["column.edit-render="+r.editRender,"column.edit-render={}"]),r.cellRender&&r.editRender&&(0,_log.warnLog)("vxe.error.errConflicts",["column.cell-render","column.edit-render"]),"expand"===r.type&&(d=u.treeConfig,u=e.getComputeMaps().computeTreeOpts,e=u.value,d)&&(e.showLine||e.line)&&(0,_log.errLog)("vxe.error.errConflicts",["tree-config.showLine","column.type=expand"]),s)&&(_xeUtils.default.isString(s)?(u=formats.get(s)||_xeUtils.default[s])&&_xeUtils.default.isFunction(u.tableCellFormatMethod||u.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[s]):!_xeUtils.default.isArray(s)||(d=formats.get(s[0])||_xeUtils.default[s[0]])&&_xeUtils.default.isFunction(d.tableCellFormatMethod||d.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[s[0]])),Object.assign(this,{type:r.type,property:r.field,field:r.field,title:r.title,width:r.width,minWidth:r.minWidth,maxWidth:r.maxWidth,resizable:r.resizable,fixed:r.fixed,align:r.align,headerAlign:r.headerAlign,footerAlign:r.footerAlign,showOverflow:r.showOverflow,showHeaderOverflow:r.showHeaderOverflow,showFooterOverflow:r.showFooterOverflow,className:r.className,headerClassName:r.headerClassName,footerClassName:r.footerClassName,formatter:s,footerFormatter:r.footerFormatter,padding:r.padding,verticalAlign:r.verticalAlign,sortable:r.sortable,sortBy:r.sortBy,sortType:r.sortType,filters:(0,_util.toFilters)(r.filters),filterMultiple:!_xeUtils.default.isBoolean(r.filterMultiple)||r.filterMultiple,filterMethod:r.filterMethod,filterResetMethod:r.filterResetMethod,filterRecoverMethod:r.filterRecoverMethod,filterRender:r.filterRender,treeNode:r.treeNode,dragSort:r.dragSort,rowResize:r.rowResize,cellType:r.cellType,cellRender:r.cellRender,editRender:r.editRender,contentRender:r.contentRender,headerExportMethod:r.headerExportMethod,exportMethod:r.exportMethod,footerExportMethod:r.footerExportMethod,titleHelp:r.titleHelp,titlePrefix:r.titlePrefix,titleSuffix:r.titleSuffix,params:r.params,id:r.colId||_xeUtils.default.uniqueId("col_"),parentId:null,visible:a,halfVisible:!1,defaultVisible:a,defaultFixed:r.fixed,checked:!1,halfChecked:!1,disabled:!1,level:1,rowSpan:1,colSpan:1,order:null,sortTime:0,sortNumber:0,renderSortNumber:0,renderFixed:"",renderVisible:!1,renderWidth:0,renderHeight:0,renderResizeWidth:0,renderAutoWidth:0,resizeWidth:0,renderLeft:0,renderArgs:[],model:{},renderHeader:t||r.renderHeader,renderCell:l||r.renderCell,renderFooter:o||r.renderFooter,renderData:i,slots:r.slots}),n&&(e=n.getComputeMaps().computeProxyOpts,(u=e.value).beforeColumn)&&u.beforeColumn({$grid:n,column:this})}getTitle(){return(0,_utils.getFuncText)(this.title||("seq"===this.type?getI18n("vxe.table.seqTitle"):""))}getKey(){var e=this.type;return this.field||(e?"type="+e:null)}update(e,r){"filters"!==e&&("field"===e&&(this.property=r),this[e]=r)}}exports.ColumnInfo=ColumnInfo;
|
package/lib/table/src/footer.js
CHANGED
|
@@ -8,6 +8,7 @@ var _vue = require("vue");
|
|
|
8
8
|
var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
9
9
|
var _ui = require("../../ui");
|
|
10
10
|
var _dom = require("../../ui/src/dom");
|
|
11
|
+
var _util = require("./util");
|
|
11
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
13
|
const {
|
|
13
14
|
renderer,
|
|
@@ -108,7 +109,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
108
109
|
const defaultRowHeight = computeDefaultRowHeight.value;
|
|
109
110
|
const cellOpts = computeCellOpts.value;
|
|
110
111
|
const footerCellOpts = computeFooterCellOpts.value;
|
|
111
|
-
const currCellHeight = footerCellOpts.height || cellOpts.height || defaultRowHeight;
|
|
112
|
+
const currCellHeight = (0, _util.getCellHeight)(footerCellOpts.height || cellOpts.height) || defaultRowHeight;
|
|
112
113
|
return tableColumn.map((column, $columnIndex) => {
|
|
113
114
|
const {
|
|
114
115
|
type,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,renderType="footer";function mergeFooterMethod(l,t,o){for(let e=0;e<l.length;e++){var{row:r,col:n,rowspan:a,colspan:i}=l[e];if(-1<n&&-1<r&&a&&i){if(r===t&&n===o)return{rowspan:a,colspan:i};if(r<=t&&t<r+a&&n<=o&&o<n+i)return{rowspan:0,colspan:0}}}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableFooter",props:{footerTableData:{type:Array,default:()=>[]},tableColumn:{type:Array,default:()=>[]},fixedColumn:{type:Array,default:()=>[]},fixedType:{type:String,default:null}},setup(v){let
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,renderType="footer";function mergeFooterMethod(l,t,o){for(let e=0;e<l.length;e++){var{row:r,col:n,rowspan:a,colspan:i}=l[e];if(-1<n&&-1<r&&a&&i){if(r===t&&n===o)return{rowspan:a,colspan:i};if(r<=t&&t<r+a&&n<=o&&o<n+i)return{rowspan:0,colspan:0}}}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableFooter",props:{footerTableData:{type:Array,default:()=>[]},tableColumn:{type:Array,default:()=>[]},fixedColumn:{type:Array,default:()=>[]},fixedType:{type:String,default:null}},setup(v){let P=(0,_vue.inject)("$xeTable",{}),{xID:x,props:g,reactData:m,internalData:_}=P,{computeTooltipOpts:l,computeColumnOpts:h,computeColumnDragOpts:w,computeCellOpts:t,computeFooterCellOpts:o,computeDefaultRowHeight:r}=P.getComputeMaps(),y=(0,_vue.ref)(),b=(0,_vue.ref)(),C=(0,_vue.ref)(),T=(0,_vue.ref)(),F=(0,_vue.ref)(),I=(0,_vue.ref)(),O=(w,y,b,C,T)=>{let F=v.fixedType,{footerCellClassName:I,footerCellStyle:O,footerAlign:S,footerSpanMethod:D,align:M,columnKey:E,showFooterOverflow:U}=g,{scrollXLoad:$,scrollYLoad:k,overflowX:j,currentColumn:q,mergeFooterList:A}=m,R=_.scrollXStore,L=l.value,N=h.value;var e=r.value;let X=t.value,z=o.value,H=(0,_util.getCellHeight)(z.height||X.height)||e;return w.map((l,e)=>{var{type:t,showFooterOverflow:o,footerAlign:r,align:n,footerClassName:a,editRender:i,cellRender:u}=l,d=l.id,i=i||u,u=i?renderer.get(i.name):null;let s=L.showAll;var i=l.children&&l.children.length,i=F?l.fixed!==F&&!i:l.fixed&&j,p=(_xeUtils.default.isBoolean(z.padding)?z:X).padding,o=_xeUtils.default.eqNull(o)?U:o,r=r||(u?u.tableFooterCellAlign:"")||S||n||(u?u.tableCellAlign:"")||M;let c="ellipsis"===o,f="title"===o,v=!0===o||"tooltip"===o,x=f||v||c;var n={colid:d},u={},o=P.getColumnIndex(l),g=P.getVTColumnIndex(l),m=g;let _={$table:P,$grid:P.xegrid,row:b,rowIndex:T,_rowIndex:T,$rowIndex:C,column:l,columnIndex:o,$columnIndex:e,_columnIndex:g,itemIndex:m,items:b,fixed:F,type:renderType,data:y};if($&&!x&&(c=x=!0),(f||v||s)&&(u.onMouseenter=e=>{f?(0,_dom.updateCellTitle)(e.currentTarget,l):(v||s)&&P.triggerFooterTooltipEvent(e,_)}),(v||s)&&(u.onMouseleave=e=>{(v||s)&&P.handleTargetLeaveEvent(e)}),u.onClick=e=>{P.dispatchEvent("footer-cell-click",Object.assign({cell:e.currentTarget},_),e)},u.onDblclick=e=>{P.dispatchEvent("footer-cell-dblclick",Object.assign({cell:e.currentTarget},_),e)},A.length){o=mergeFooterMethod(A,T,g);if(o){var{rowspan:m,colspan:o}=o;if(!m||!o)return null;1<m&&(n.rowspan=m),1<o&&(n.colspan=o)}}else if(D){var{rowspan:m=1,colspan:o=1}=D(_)||{};if(!m||!o)return null;1<m&&(n.rowspan=m),1<o&&(n.colspan=o)}m=e===w.length-1,o=!l.resizeWidth&&("auto"===l.minWidth||"auto"===l.width);let h=!1;$&&!l.fixed&&(g<R.visibleStartIndex-R.preloadSize||g>R.visibleEndIndex+R.preloadSize)&&(h=!0);g={};return x?g.height=H+"px":g.minHeight=H+"px",(0,_vue.h)("td",Object.assign(Object.assign(Object.assign(Object.assign({class:["vxe-footer--column",l.id,{["col--"+r]:r,["col--"+t]:t,"col--last":m,"fixed--width":!o,"fixed--hidden":i,"is--padding":p,"col--ellipsis":x,"col--current":q===l},(0,_dom.getPropClass)(a,_),(0,_dom.getPropClass)(I,_)]},n),{style:O?_xeUtils.default.isFunction(O)?O(_):O:null}),u),{key:E||$||k||N.useKey||N.drag?l.id:e}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":f,"c--tooltip":v,"c--ellipsis":c}],style:g},h?[]:[(0,_vue.h)("div",{colid:d,class:"vxe-cell--wrapper"},l.renderFooter(_))])])})};return(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=v.fixedType,l=_.elemStore,e=`${e||"main"}-footer-`;l[e+"wrapper"]=y,l[e+"scroll"]=b,l[e+"table"]=C,l[e+"colgroup"]=T,l[e+"list"]=F,l[e+"xSpace"]=I})}),(0,_vue.onUnmounted)(()=>{var e=v.fixedType,l=_.elemStore,e=`${e||"main"}-footer-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null}),()=>{let{fixedType:l,fixedColumn:e,tableColumn:t}=v;var{spanMethod:o,footerSpanMethod:r,showFooterOverflow:n}=g,{visibleColumn:a,fullColumnIdData:i}=_,{isGroup:u,scrollXLoad:d,scrollYLoad:s,dragCol:p}=m;let c=t,f=!(d||s||n)||o||r?!1:!0;return l&&(c=a,f)&&(c=e||[]),l||u||d&&p&&2<c.length&&(s=i[p.id])&&(n=s._index,o=c[0],r=c[c.length-1],a=i[o.id],u=i[r.id],a)&&u&&(d=a._index,s=u._index,n<d?c=[p].concat(c):s<n&&(c=c.concat([p]))),(0,_vue.h)("div",{ref:y,class:["vxe-table--footer-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:x},[(0,_vue.h)("div",{ref:b,class:"vxe-table--footer-inner-wrapper",onScroll(e){P.triggerFooterScrollEvent(e,l)}},[l?renderEmptyElement(P):(0,_vue.h)("div",{ref:I,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:C,class:"vxe-table--footer",xid:x,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:T},c.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),(0,_vue.h)("tfoot",{ref:F},(r=>{let{fixedType:n,footerTableData:a}=v,{footerRowClassName:i,footerRowStyle:u}=g,d=m.isDragColMove,s=h.value,p=w.value;return a.map((e,l)=>{let t=l;var o={$table:P,row:e,_rowIndex:t,$rowIndex:l,fixed:n,type:renderType};return s.drag&&p.animation?(0,_vue.h)(_vue.TransitionGroup,{key:l,name:"vxe-header--col-list"+(d?"":"-disabled"),tag:"tr",class:["vxe-footer--row",i?_xeUtils.default.isFunction(i)?i(o):i:""],style:u?_xeUtils.default.isFunction(u)?u(o):u:null},{default:()=>O(r,a,e,l,t)}):(0,_vue.h)("tr",{key:l,class:["vxe-footer--row",i?_xeUtils.default.isFunction(i)?i(o):i:""],style:u?_xeUtils.default.isFunction(u)?u(o):u:null},O(r,a,e,l,t))})})(c))])])])}}});
|
package/lib/table/src/header.js
CHANGED
|
@@ -85,7 +85,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
85
85
|
const cellOpts = computeCellOpts.value;
|
|
86
86
|
const defaultRowHeight = computeDefaultRowHeight.value;
|
|
87
87
|
const headerCellOpts = computeHeaderCellOpts.value;
|
|
88
|
-
const currCellHeight = headerCellOpts.height || cellOpts.height || defaultRowHeight;
|
|
88
|
+
const currCellHeight = (0, _util.getCellHeight)(headerCellOpts.height || cellOpts.height) || defaultRowHeight;
|
|
89
89
|
const {
|
|
90
90
|
disabledMethod: dragDisabledMethod,
|
|
91
91
|
isCrossDrag,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,renderType="header";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup(f){let J=(0,_vue.inject)("$xeTable",{}),{xID:_,props:m,reactData:b,internalData:C}=J,{computeColumnOpts:y,computeColumnDragOpts:w,computeCellOpts:a,computeMouseOpts:D,computeHeaderCellOpts:r,computeDefaultRowHeight:t}=J.getComputeMaps(),
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,renderType="header";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup(f){let J=(0,_vue.inject)("$xeTable",{}),{xID:_,props:m,reactData:b,internalData:C}=J,{computeColumnOpts:y,computeColumnDragOpts:w,computeCellOpts:a,computeMouseOpts:D,computeHeaderCellOpts:r,computeDefaultRowHeight:t}=J.getComputeMaps(),H=(0,_vue.ref)([]),E=(0,_vue.ref)(),S=(0,_vue.ref)(),M=(0,_vue.ref)(),T=(0,_vue.ref)(),I=(0,_vue.ref)(),O=(0,_vue.ref)(),n=(0,_vue.ref)(),i=()=>{var e=b.isGroup;H.value=e?(0,_util.convertHeaderColumnToRows)(f.tableGroupColumn):[]},U=(e,H,E,S)=>{let M=f.fixedType,{resizable:T,border:I,columnKey:O,headerCellClassName:U,headerCellStyle:k,showHeaderOverflow:z,headerAlign:R,align:$,mouseConfig:F}=m,{currentColumn:A,scrollXLoad:q,scrollYLoad:j,overflowX:G}=b,L=C.scrollXStore,N=y.value,X=w.value,V=a.value;var l=t.value;let B=r.value,K=(0,_util.getCellHeight)(B.height||V.height)||l,{disabledMethod:P,isCrossDrag:W,isPeerDrag:Y}=X;return E.map((e,l)=>{var{type:a,showHeaderOverflow:r,headerAlign:t,align:n,filters:i,headerClassName:o,editRender:d,cellRender:u}=e,s=e.id,d=d||u,u=d?renderer.get(d.name):null,d=e.children&&e.children.length,c=M?e.fixed!==M&&!d:!!e.fixed&&G,v=(_xeUtils.default.isBoolean(B.padding)?B:V).padding,r=_xeUtils.default.eqNull(r)?z:r,t=t||(u?u.tableHeaderCellAlign:"")||R||n||(u?u.tableCellAlign:"")||$;let p="ellipsis"===r;n="title"===r,u=!0===r||"tooltip"===r;let x=n||u||p,h=!1,g=null;i&&(g=i[0],h=i.some(e=>e.checked));var r=J.getColumnIndex(e),f=J.getVTColumnIndex(e);let _={$table:J,$grid:J.xegrid,$rowIndex:S,column:e,columnIndex:r,$columnIndex:l,_columnIndex:f,firstFilterOption:g,fixed:M,type:renderType,isHidden:c,hasFilter:h};var r={colid:s,colspan:1<e.colSpan?e.colSpan:null,rowspan:1<e.rowSpan?e.rowSpan:null},m={onClick:e=>J.triggerHeaderCellClickEvent(e,_),onDblclick:e=>J.triggerHeaderCellDblclickEvent(e,_)},b=(q&&!x&&(p=x=!0),N.drag&&"cell"===X.trigger);let C=!1;b&&(C=!(!P||!P(_))),(F||b)&&(m.onMousedown=e=>J.triggerHeaderCellMousedownEvent(e,_)),N.drag&&(m.onDragstart=J.handleHeaderCellDragDragstartEvent,m.onDragend=J.handleHeaderCellDragDragendEvent,m.onDragover=J.handleHeaderCellDragDragoverEvent,b)&&(m.onMouseup=J.handleHeaderCellDragMouseupEvent);var b=l===E.length-1,y=_xeUtils.default.isBoolean(e.resizable)?e.resizable:N.resizable||T,w=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width);let D=!1;q&&!e.fixed&&(f<L.visibleStartIndex-L.preloadSize||f>L.visibleEndIndex+L.preloadSize)&&(D=!0);f={};return x?f.height=K+"px":f.minHeight=K+"px",(0,_vue.h)("th",Object.assign(Object.assign(Object.assign({class:["vxe-header--column",s,{["col--"+t]:t,["col--"+a]:a,"col--last":b,"col--fixed":e.fixed,"col--group":d,"col--ellipsis":x,"fixed--width":!w,"fixed--hidden":c,"is--padding":v,"is--sortable":e.sortable,"col--filter":!!i,"is--filter-active":h,"is--drag-active":!e.fixed&&!C&&(W||Y||!e.parentId),"is--drag-disabled":C,"col--current":A===e},o?_xeUtils.default.isFunction(o)?o(_):o:"",U?_xeUtils.default.isFunction(U)?U(_):U:""],style:k?_xeUtils.default.isFunction(k)?k(_):k:null},r),m),{key:O||q||j||N.useKey||N.drag||d?s:l}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":n,"c--tooltip":u,"c--ellipsis":p}],style:f},D||H&&c?[]:[(0,_vue.h)("div",{colid:s,class:"vxe-cell--wrapper"},e.renderHeader(_))]),!c&&y?(0,_vue.h)("div",{class:["vxe-cell--col-resizable",{"is--line":!I||"none"===I}],onMousedown:e=>J.handleColResizeMousedownEvent(e,M,_),onDblclick:e=>J.handleColResizeDblclickEvent(e,_)}):renderEmptyElement(J)])})};return(0,_vue.watch)(()=>f.tableColumn,i),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=f.fixedType,l=J.internalData,l=l.elemStore,e=`${e||"main"}-header-`;l[e+"wrapper"]=E,l[e+"scroll"]=S,l[e+"table"]=M,l[e+"colgroup"]=T,l[e+"list"]=I,l[e+"xSpace"]=O,l[e+"repair"]=n,i()})}),(0,_vue.onUnmounted)(()=>{var e=f.fixedType,l=J.internalData,l=l.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}),()=>{let{fixedType:l,fixedColumn:e,tableColumn:a}=f;var{mouseConfig:r,showHeaderOverflow:t,spanMethod:n,footerSpanMethod:i}=m,{isGroup:o,scrollXLoad:d,scrollYLoad:u,dragCol:s}=b,{visibleColumn:c,fullColumnIdData:v}=C,p=D.value;let x=H.value,h=a,g=!1;return o?h=c:(!(d||u||t)||n||i||(g=!0),l&&(h=c,g)&&(h=e||[]),x=[h]),l||o||d&&s&&2<h.length&&(u=v[s.id])&&(t=u._index,n=h[0],i=h[h.length-1],c=v[n.id],d=v[i.id],c)&&d&&(u=c._index,n=d._index,t<u?(h=[s].concat(h),x=[[s].concat(x[0])].concat(x.slice(1))):n<t&&(h=h.concat([s]),x=[x[0].concat([s])].concat(x.slice(1)))),(0,_vue.h)("div",{ref:E,class:["vxe-table--header-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:_},[(0,_vue.h)("div",{ref:S,class:"vxe-table--header-inner-wrapper",onScroll(e){J.triggerHeaderScrollEvent(e,l)}},[l?renderEmptyElement(J):(0,_vue.h)("div",{ref:O,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:M,class:"vxe-table--header",xid:_,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:T},h.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),(0,_vue.h)("thead",{ref:I},((r,t,e)=>{let n=f.fixedType,{headerRowClassName:i,headerRowStyle:o}=m,d=b.isDragColMove,u=y.value,s=w.value;return e.map((e,l)=>{var a={$table:J,$rowIndex:l,fixed:n,type:renderType};return u.drag&&s.animation?(0,_vue.h)(_vue.TransitionGroup,{key:l,name:"vxe-header--col-list"+(d?"":"-disabled"),tag:"tr",class:["vxe-header--row",i?_xeUtils.default.isFunction(i)?i(a):i:""],style:o?_xeUtils.default.isFunction(o)?o(a):o:null},{default:()=>U(r,t,e,l)}):(0,_vue.h)("tr",{key:l,class:["vxe-header--row",i?_xeUtils.default.isFunction(i)?i(a):i:""],style:o?_xeUtils.default.isFunction(o)?o(a):o:null},U(r,t,e,l))})})(o,g,x))]),r&&p.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-col-status-area"})]):renderEmptyElement(J)])])}}});
|