vxe-table 3.14.4 → 3.15.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/locale/lang/ar-EG.js +3 -1
- package/es/locale/lang/de-DE.js +3 -1
- package/es/locale/lang/en-US.js +7 -5
- package/es/locale/lang/es-ES.js +3 -1
- package/es/locale/lang/fr-FR.js +3 -1
- package/es/locale/lang/hu-HU.js +3 -1
- package/es/locale/lang/hy-AM.js +3 -1
- package/es/locale/lang/id-ID.js +3 -1
- package/es/locale/lang/it-IT.js +3 -1
- package/es/locale/lang/ja-JP.js +3 -1
- package/es/locale/lang/ko-KR.js +3 -1
- package/es/locale/lang/nb-NO.js +3 -1
- package/es/locale/lang/pt-BR.js +3 -1
- package/es/locale/lang/ru-RU.js +3 -1
- package/es/locale/lang/th-TH.js +3 -1
- package/es/locale/lang/ug-CN.js +3 -1
- package/es/locale/lang/uk-UA.js +3 -1
- package/es/locale/lang/vi-VN.js +3 -1
- package/es/locale/lang/zh-CHT.js +3 -1
- package/es/locale/lang/zh-CN.js +3 -1
- package/es/style.css +1 -1
- package/es/table/module/edit/mixin.js +10 -9
- package/es/table/module/export/export-panel.js +32 -17
- package/es/table/module/export/mixin.js +17 -12
- package/es/table/src/body.js +11 -13
- package/es/table/src/footer.js +3 -16
- package/es/table/src/methods.js +246 -109
- package/es/table/src/table.js +50 -25
- package/es/table/src/util.js +0 -13
- package/es/ui/index.js +2 -2
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +410 -247
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +3 -1
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/de-DE.js +3 -1
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/en-US.js +7 -5
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +7 -5
- package/lib/locale/lang/es-ES.js +3 -1
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +3 -1
- package/lib/locale/lang/fr-FR.js +3 -1
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/hu-HU.js +3 -1
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +3 -1
- package/lib/locale/lang/hy-AM.js +3 -1
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/id-ID.js +3 -1
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/it-IT.js +3 -1
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/ja-JP.js +3 -1
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +3 -1
- package/lib/locale/lang/ko-KR.js +3 -1
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +3 -1
- package/lib/locale/lang/nb-NO.js +3 -1
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/pt-BR.js +3 -1
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +3 -1
- package/lib/locale/lang/ru-RU.js +3 -1
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +3 -1
- package/lib/locale/lang/th-TH.js +3 -1
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/ug-CN.js +3 -1
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/uk-UA.js +3 -1
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +3 -1
- package/lib/locale/lang/vi-VN.js +3 -1
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/zh-CHT.js +3 -1
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +3 -1
- package/lib/locale/lang/zh-CN.js +3 -1
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +3 -1
- package/lib/style.css +1 -1
- package/lib/table/module/edit/mixin.js +9 -9
- package/lib/table/module/edit/mixin.min.js +1 -1
- package/lib/table/module/export/export-panel.js +29 -17
- package/lib/table/module/export/export-panel.min.js +1 -1
- package/lib/table/module/export/mixin.js +18 -12
- package/lib/table/module/export/mixin.min.js +1 -1
- package/lib/table/src/body.js +14 -15
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/footer.js +4 -27
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/methods.js +278 -114
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +52 -25
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +0 -25
- package/lib/table/src/util.min.js +1 -1
- package/lib/ui/index.js +2 -2
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/locale/lang/ar-EG.ts +3 -1
- package/packages/locale/lang/de-DE.ts +3 -1
- package/packages/locale/lang/en-US.ts +7 -5
- package/packages/locale/lang/es-ES.ts +3 -1
- package/packages/locale/lang/fr-FR.ts +3 -1
- package/packages/locale/lang/hu-HU.ts +3 -1
- package/packages/locale/lang/hy-AM.ts +3 -1
- package/packages/locale/lang/id-ID.ts +3 -1
- package/packages/locale/lang/it-IT.ts +3 -1
- package/packages/locale/lang/ja-JP.ts +3 -1
- package/packages/locale/lang/ko-KR.ts +3 -1
- package/packages/locale/lang/nb-NO.ts +3 -1
- package/packages/locale/lang/pt-BR.ts +3 -1
- package/packages/locale/lang/ru-RU.ts +3 -1
- package/packages/locale/lang/th-TH.ts +3 -1
- package/packages/locale/lang/ug-CN.ts +3 -1
- package/packages/locale/lang/uk-UA.ts +3 -1
- package/packages/locale/lang/vi-VN.ts +3 -1
- package/packages/locale/lang/zh-CHT.ts +3 -1
- package/packages/locale/lang/zh-CN.ts +3 -1
- package/packages/table/module/edit/mixin.ts +10 -9
- package/packages/table/module/export/export-panel.ts +33 -17
- package/packages/table/module/export/mixin.ts +17 -12
- package/packages/table/src/body.ts +11 -13
- package/packages/table/src/footer.ts +3 -17
- package/packages/table/src/methods.ts +261 -119
- package/packages/table/src/table.ts +50 -25
- package/packages/table/src/util.ts +0 -14
- package/packages/ui/index.ts +1 -1
- /package/es/{iconfont.1743393991959.ttf → iconfont.1743578536739.ttf} +0 -0
- /package/es/{iconfont.1743393991959.woff → iconfont.1743578536739.woff} +0 -0
- /package/es/{iconfont.1743393991959.woff2 → iconfont.1743578536739.woff2} +0 -0
- /package/lib/{iconfont.1743393991959.ttf → iconfont.1743578536739.ttf} +0 -0
- /package/lib/{iconfont.1743393991959.woff → iconfont.1743578536739.woff} +0 -0
- /package/lib/{iconfont.1743393991959.woff2 → iconfont.1743578536739.woff2} +0 -0
package/lib/table/src/body.js
CHANGED
|
@@ -55,14 +55,13 @@ function renderLine(h, _vm, rowid, params, cellHeight) {
|
|
|
55
55
|
if (slots && slots.line) {
|
|
56
56
|
return $xeTable.callSlot(slots.line, params, h);
|
|
57
57
|
}
|
|
58
|
-
const
|
|
58
|
+
const rowRest = fullAllDataRowIdData[rowid];
|
|
59
59
|
let rLevel = 0;
|
|
60
60
|
let prevRow = null;
|
|
61
|
-
if (
|
|
62
|
-
rLevel =
|
|
63
|
-
prevRow =
|
|
61
|
+
if (rowRest) {
|
|
62
|
+
rLevel = rowRest.level;
|
|
63
|
+
prevRow = rowRest.items[rowRest.treeIndex - 1];
|
|
64
64
|
}
|
|
65
|
-
const isFirstRow = $xeTable.eqRow(afterFullData[0], row);
|
|
66
65
|
if (treeConfig && treeNode && (treeOpts.showLine || treeOpts.line)) {
|
|
67
66
|
return [h('div', {
|
|
68
67
|
key: 'tl',
|
|
@@ -70,7 +69,7 @@ function renderLine(h, _vm, rowid, params, cellHeight) {
|
|
|
70
69
|
}, [h('div', {
|
|
71
70
|
class: 'vxe-tree--line',
|
|
72
71
|
style: {
|
|
73
|
-
height: `${
|
|
72
|
+
height: `${$xeTable.eqRow(afterFullData[0], row) ? 1 : (0, _util.calcTreeLine)(params, prevRow)}px`,
|
|
74
73
|
bottom: `-${Math.floor(cellHeight / 2)}px`,
|
|
75
74
|
left: `${rLevel * treeOpts.indent + (rLevel ? 2 - (0, _util.getOffsetSize)($xeTable) : 0) + 16}px`
|
|
76
75
|
}
|
|
@@ -87,11 +86,6 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
|
|
|
87
86
|
const tableReactData = $xeTable;
|
|
88
87
|
const tableInternalData = $xeTable;
|
|
89
88
|
const $xeGrid = $xeTable.$xeGrid;
|
|
90
|
-
const {
|
|
91
|
-
fullAllDataRowIdData,
|
|
92
|
-
fullColumnIdData,
|
|
93
|
-
visibleColumn
|
|
94
|
-
} = tableInternalData;
|
|
95
89
|
const {
|
|
96
90
|
columnKey,
|
|
97
91
|
resizable: allResizable,
|
|
@@ -115,16 +109,21 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
|
|
|
115
109
|
currentColumn,
|
|
116
110
|
scrollXLoad,
|
|
117
111
|
scrollYLoad,
|
|
112
|
+
mergeBodyFlag,
|
|
118
113
|
calcCellHeightFlag,
|
|
119
114
|
resizeHeightFlag,
|
|
120
115
|
resizeWidthFlag,
|
|
121
|
-
mergeList,
|
|
122
116
|
editStore,
|
|
123
117
|
isAllOverflow,
|
|
124
118
|
validErrorMaps
|
|
125
119
|
} = tableReactData;
|
|
126
120
|
const {
|
|
121
|
+
fullAllDataRowIdData,
|
|
122
|
+
fullColumnIdData,
|
|
123
|
+
mergeBodyCellMaps,
|
|
124
|
+
visibleColumn,
|
|
127
125
|
afterFullData,
|
|
126
|
+
mergeBodyList,
|
|
128
127
|
scrollXStore,
|
|
129
128
|
scrollYStore
|
|
130
129
|
} = tableInternalData;
|
|
@@ -284,8 +283,8 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
|
|
|
284
283
|
};
|
|
285
284
|
let isMergeCell = false;
|
|
286
285
|
// 合并行或列
|
|
287
|
-
if (
|
|
288
|
-
const spanRest =
|
|
286
|
+
if (mergeBodyFlag && mergeBodyList.length) {
|
|
287
|
+
const spanRest = mergeBodyCellMaps[`${_rowIndex}:${_columnIndex}`];
|
|
289
288
|
if (spanRest) {
|
|
290
289
|
const {
|
|
291
290
|
rowspan,
|
|
@@ -320,7 +319,7 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
|
|
|
320
319
|
}
|
|
321
320
|
}
|
|
322
321
|
// 如果被合并不可隐藏
|
|
323
|
-
if (fixedHiddenColumn &&
|
|
322
|
+
if (fixedHiddenColumn && isMergeCell) {
|
|
324
323
|
if (tdAttrs.colspan > 1 || tdAttrs.rowspan > 1) {
|
|
325
324
|
fixedHiddenColumn = false;
|
|
326
325
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body",isVMScrollProcess=e=>{var l=e.delayHover,{lastScrollTime:e,isDragResize:t}=e;return!!(t||e&&Date.now()<e+l)};function renderLine(e,l,t,r,a){var l=l.$parent,{row:o,column:s}=r,i=l.afterFullData,d=l.treeConfig,n=l.computeTreeOpts,{slots:s,treeNode:c}=s,p=l.fullAllDataRowIdData;if(s&&s.line)return l.callSlot(s.line,r,e);s=p[t];let u=0,g=null;s&&(u=s.level,g=s.items[s.treeIndex-1]);p=l.eqRow(i[0],o);return d&&c&&(n.showLine||n.line)?[e("div",{key:"tl",class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${p?1:(0,_util.calcTreeLine)(r,g)}px`,bottom:`-${Math.floor(a/2)}px`,left:u*n.indent+(u?2-(0,_util.getOffsetSize)(l):0)+16+"px"}})])]:[]}function renderTdColumn(e,A,q,l,t,L,F,r,a,U,o,s,H,N,i){let d=A.$parent;var V=d,n=d,c=d,p=d.$xeGrid,{fullAllDataRowIdData:u,fullColumnIdData:g,visibleColumn:W}=c,{columnKey:V,resizable:x,showOverflow:v,border:X,height:m,cellClassName:j,cellStyle:P,align:K,spanMethod:Y,mouseConfig:G,editConfig:J,editRules:w,tooltipConfig:Q,padding:h}=V,{tableData:n,dragRow:Z,overflowX:ee,currentColumn:le,scrollXLoad:te,scrollYLoad:re,calcCellHeightFlag:f,resizeHeightFlag:y,resizeWidthFlag:ae,mergeList:oe,editStore:se,isAllOverflow:ie,validErrorMaps:de}=n,{afterFullData:c,scrollXStore:ne,scrollYStore:ce}=c,pe=d.computeCellOpts,b=d.computeValidOpts,ue=d.computeCheckboxOpts,ge=d.computeEditOpts,C=d.computeTooltipOpts,{isAllColumnDrag:xe,isAllRowDrag:ve}=d.resizableOpts,_=d.computeRowOpts,R=d.computeRowDragOpts,me=d.computeDefaultRowHeight,f=f?pe.height||_.height:0,{disabledMethod:E,isCrossDrag:we,isPeerDrag:he}=R,fe=d.computeColumnOpts,ye=d.computeMouseOpts,be=d.computeAreaOpts,Ce=d.computeCellOffsetWidth,be=be.selectCellToRow,{type:_e,cellRender:Re,editRender:Ee,align:Se,showOverflow:De,className:Oe,treeNode:$e,rowResize:Te,padding:S,verticalAlign:D,slots:Ie}=s,O=pe.verticalAlign,se=se.actived,u=u[l]||{},$=s.id,g=g[$]||{},T=Ee||Re,T=T?renderer.get(T.name):null,ke=T?T.tableCellClassName||T.cellClassName:null,Be=T?T.tableCellStyle||T.cellStyle:"";let Me=C.showAll;var ze=g.index,C=g._index,g=(0,_utils.isEnableConf)(Ee),y=y?u.resizeHeight:0;let I=t?s.fixed!==t:s.fixed&ⅇee=_xeUtils.default.eqNull(S)?null===h?pe.padding:h:S,h=_xeUtils.default.eqNull(De)?v:De,S="ellipsis"===h;let k="title"===h,B=!0===h||"tooltip"===h;v=ie||k||B||S,De=_xeUtils.default.isBoolean(s.resizable)?s.resizable:fe.resizable||x,h=!!f,x=0<y;let Ae;f={},y=Se||(T?T.tableCellAlign:"")||K,Se=_xeUtils.default.eqNull(D)?O:D,T=de[l+":"+$],K=w&&b.showMessage&&("default"===b.message?m||1<n.length:"inline"===b.message),O={colid:$};let M={$table:d,$grid:p,isEdit:!1,seq:q,rowid:l,row:r,rowIndex:a,$rowIndex:U,_rowIndex:o,column:s,columnIndex:ze,$columnIndex:H,_columnIndex:C,fixed:t,type:renderType,isHidden:!!I,level:F,visibleData:c,data:n,items:i},z=!1,qe=!1,Le=((z=_.drag?"row"===R.trigger||s.dragSort&&"cell"===R.trigger:z)&&(qe=!(!E||!E(M))),(k||B||Me||Q)&&(f.mouseenter=e=>{isVMScrollProcess(d)||(k?(0,_dom.updateCellTitle)(e.currentTarget,s):(B||Me)&&d.triggerBodyTooltipEvent(e,M),d.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},M),e))}),(B||Me||Q)&&(f.mouseleave=e=>{isVMScrollProcess(d)||((B||Me)&&d.handleTargetLeaveEvent(e),d.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},M),e))}),(z||ue.range||G)&&(f.mousedown=e=>{d.triggerCellMousedownEvent(e,M)}),z&&(f.mouseup=d.triggerCellMouseupEvent),f.click=e=>{d.triggerCellClickEvent(e,M)},!(f.dblclick=e=>{d.triggerCellDblclickEvent(e,M)}));if(oe.length){D=(0,_util.mergeBodyMethod)(oe,o,C);if(D){var{rowspan:de,colspan:w}=D;if(!de||!w)return null;1<de&&(Le=!0,O.rowspan=de),1<w&&(Le=!0,O.colspan=w)}}else if(Y){var{rowspan:m=1,colspan:p=1}=Y(M)||{};if(!m||!p)return null;1<m&&(O.rowspan=m),1<p&&(O.colspan=p)}!(I=I&&oe&&(1<O.colspan||1<O.rowspan)?!1:I)&&J&&(Ee||Re)&&(ge.showStatus||ge.showUpdateStatus)&&(Ae=d.isUpdateByRow(r,s.field));q=re&&!v,a=u.resizeHeight||pe.height||_.height||u.height||me,U=H===N.length-1,c=!s.resizeWidth&&("auto"===s.minWidth||"auto"===s.width);let Fe=!1;Le||Z&&(0,_util.getRowid)(d,Z)===l||(re&&(o<ce.visibleStartIndex-ce.preloadSize||o>ce.visibleEndIndex+ce.preloadSize)||te&&!s.fixed&&(C<ne.visibleStartIndex-ne.preloadSize||C>ne.visibleEndIndex+ne.preloadSize))&&(Fe=!0);n={};if(v&&ae){let l=O.colspan||0;if(1<l)for(let e=1;e<l;e++){var Ue=W[ze+e];Ue&&(l+=Ue.renderWidth)}n.width=s.renderWidth-Ce*l+"px"}re||v||h||x?n.height=a+"px":n.minHeight=a+"px";i=[];I&&ie?i.push(e("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":B,"c--ellipsis":S}],style:n})):(i.push(...renderLine(e,A,l,M,a),e("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":B,"c--ellipsis":S}],style:n,attrs:{title:k?d.getCellLabel(r,s):null}},Fe?[]:[e("div",{attrs:{colid:$,rowid:l},class:"vxe-cell--wrapper"},s.renderCell(e,M))])),K&&T&&(R=T.rule,E=Ie?Ie.valid:null,Q=Object.assign(Object.assign(Object.assign({},M),T),{rule:T}),i.push(e("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(b.className,T)],style:R&&R.maxWidth?{width:R.maxWidth+"px"}:void 0},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(b.theme||"normal")},[E?d.callSlot(E,Q,e):[e("span",{class:"vxe-cell--valid-error-msg"},T.content)]])]))));let He=!1;return G&&ye.area&&be&&((C||!0!==be)&&be!==s.field||(He=!0)),!I&&De&&xe&&i.push(e("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!X||"none"===X}],on:{mousedown:e=>d.handleColResizeMousedownEvent(e,t,M),dblclick:e=>d.handleColResizeDblclickEvent(e,M)}})),(Te||ve)&&_.resizable&&i.push(e("div",{key:"tcr",class:"vxe-cell--row-resizable",on:{mousedown:e=>d.handleRowResizeMousedownEvent(e,M),dblclick:e=>d.handleRowResizeDblclickEvent(e,M)}})),e("td",{class:["vxe-body--column",$,Se?"col--vertical-"+Se:"",y?"col--"+y:"",_e?"col--"+_e:"",{"col--last":U,"col--tree-node":$e,"col--edit":g,"col--ellipsis":v,"col--cs-height":h,"col--rs-height":x,"col--to-row":He,"col--auto-height":q,"fixed--width":!c,"fixed--hidden":I,"is--padding":ee,"is--progress":I&&ie||Fe,"is--drag-cell":z&&(we||he||!F),"is--drag-disabled":qe,"col--dirty":Ae,"col--active":J&&g&&se.row===r&&(se.column===s||"row"===ge.mode),"col--valid-error":!!T,"col--current":le===s},(0,_utils.getClass)(ke,M),(0,_utils.getClass)(Oe,M),(0,_utils.getClass)(j,M)],key:V||te||re||fe.useKey||_.useKey||fe.drag?s.id:H,attrs:O,style:Object.assign({},_xeUtils.default.isFunction(Be)?Be(M):Be,_xeUtils.default.isFunction(P)?P(M):P),on:f},L&&I?[]:i)}function renderRows(m,w,h,f,y,b){let C=w.$parent;var e=C,l=C,t=C;let{stripe:_,rowKey:R,highlightHoverRow:E,rowClassName:S,rowStyle:D,editConfig:O,treeConfig:$}=e,{hasFixedColumn:T,treeExpandedFlag:I,isColLoading:k,scrollXLoad:B,scrollYLoad:M,isAllOverflow:z,rowExpandedFlag:A,expandColumn:q,selectRadioRow:L,pendingRowFlag:F,isDragColMove:U,rowExpandHeightFlag:H}=l,{fullAllDataRowIdData:N,treeExpandedMaps:Y,pendingRowMaps:G,rowExpandedMaps:J}=t,Q=C.computeCheckboxOpts,Z=C.computeRadioOpts,V=C.computeTreeOpts,W=C.computeEditOpts,X=C.computeRowOpts,j=C.computeColumnOpts,ee=C.computeColumnDragOpts,{transform:P,seqMode:le}=V,te=V.children||V.childrenField,K=[],re=(0,_util.createHandleGetRowId)(C).handleGetRowId;return y.forEach((t,r)=>{var e={};let a=re(t);var l=N[a]||{};let o=r,s=0,i=-1,d=-1;(X.isHover||E)&&(e.mouseenter=e=>{isVMScrollProcess(C)||C.triggerHoverEvent(e,{row:t,rowIndex:o})},e.mouseleave=()=>{isVMScrollProcess(C)||C.clearHoverRow()}),l&&(s=l.level,i=$&&P&&"increasing"===le?l._index+1:l.seq,o=l.index,d=l._index);var n={$table:C,seq:i,rowid:a,fixed:h,type:renderType,level:s,row:t,rowIndex:o,$rowIndex:r,_rowIndex:d},c=q&&!!A&&!!J[a];let p=!1,u=[],g=!1;O&&(g=C.isInsertByRow(t)),!$||M||P||(u=t[te],p=!!I&&u&&0<u.length&&!!Y[a]),!X.drag||$&&!P||(e.dragstart=C.handleRowDragDragstartEvent,e.dragend=C.handleRowDragDragendEvent,e.dragover=C.handleRowDragDragoverEvent);var x=["vxe-body--row",$?"row--level-"+s:"",{"row--stripe":_&&(d+1)%2==0,"is--new":g,"is--expand-row":c,"is--expand-tree":p,"row--new":g&&(W.showStatus||W.showInsertStatus),"row--radio":Z.highlight&&L===t,"row--checked":Q.highlight&&C.isCheckedByCheckboxRow(t),"row--pending":!!F&&!!G[a]},S?_xeUtils.default.isFunction(S)?S(n):S:""],v=b.map((e,l)=>renderTdColumn(m,w,i,a,h,f,s,t,o,r,d,e,l,b,y));K.push(!k&&j.drag&&ee.animation?m("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(U?"":"-disabled")},class:x,attrs:{rowid:a},style:D?_xeUtils.default.isFunction(D)?D(n):D:void 0,key:R||B||M||X.useKey||X.drag||j.drag||$?a:r,nativeOn:e},v):m("tr",{class:x,attrs:{rowid:a},style:D?_xeUtils.default.isFunction(D)?D(n):D:void 0,key:R||B||M||X.useKey||X.drag||j.drag||$?a:r,on:e},v)),c&&({height:x,padding:n,mode:e}=C.computeExpandOpts,"fixed"===e?K.push(m("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+a,attrs:{rowid:a}},[m("td",{class:"vxe-body--row-expanded-place-column",attrs:{colspan:b.length},style:{height:`${H?l.expandHeight||x:0}px`}})])):(v={},c=(x&&(v.height=x+"px"),$&&(v.paddingLeft=s*V.indent+30+"px"),q).showOverflow,e=_xeUtils.default.isUndefined(c)||_xeUtils.default.isNull(c)?z:c,l={$table:C,seq:i,column:q,fixed:h,type:renderType,level:s,row:t,rowIndex:o,$rowIndex:r,_rowIndex:d},K.push(m("tr",{class:["vxe-body--expanded-row",{"is--padding":n}],key:"expand_"+a},[m("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!T,"col--ellipsis":e}],attrs:{colspan:b.length}},[m("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":x}],style:v},[q.renderData(m,l)])])])))),p&&K.push(...renderRows(m,w,h,f,u,b))}),K}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},mounted(){var e=this,l=e.fixedType,t=e.$parent.elemStore,l=`${l||"main"}-body-`;t[l+"wrapper"]=e.$refs.refElem,t[l+"scroll"]=e.$refs.refBodyScroll,t[l+"table"]=e.$refs.refBodyTable,t[l+"colgroup"]=e.$refs.refBodyColgroup,t[l+"list"]=e.$refs.refBodyTBody,t[l+"xSpace"]=e.$refs.refBodyXSpace,t[l+"ySpace"]=e.$refs.refBodyYSpace,t[l+"emptyBlock"]=e.$refs.refBodyEmptyBlock},destroyed(){var e=this.fixedType,l=this.$parent.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},render(t){let l=this.$parent;var e=l,r=l,a=l,o=l.$xeGrid,{xID:s,$scopedSlots:i}=l;let{fixedColumn:d,fixedType:n,tableColumn:c}=this;var{spanMethod:p,footerSpanMethod:u,mouseConfig:g}=e,{isGroup:r,tableData:x,isRowLoading:v,isColLoading:m,overflowX:w,scrollXLoad:h,scrollYLoad:f,isAllOverflow:y,isDragRowMove:b,expandColumn:C,dragRow:_,dragCol:R}=r,{visibleColumn:a,fullAllDataRowIdData:E,fullColumnIdData:S}=a,D=l.computeRowOpts,O=l.computeEmptyOpts,$=l.computeMouseOpts,T=l.computeRowDragOpts,I=l.computeExpandOpts;let k=x,B=c,M=!1;!(h||f||y)||C&&"fixed"!==I.mode||p||u||(M=!0),m||!n&&w||(B=a),n&&M&&(B=d||[]),f&&_&&2<k.length&&(x=E[(0,_util.getRowid)(l,_)])&&(y=x._index,C=k[0],I=k[k.length-1],p=E[(0,_util.getRowid)(l,C)],u=E[(0,_util.getRowid)(l,I)],p)&&u&&(w=p._index,a=u._index,y<w?k=[_].concat(k):a<y&&(k=k.concat([_]))),n||r||h&&R&&2<B.length&&(f=S[R.id])&&(x=f._index,C=B[0],E=B[B.length-1],I=S[C.id],p=S[E.id],I)&&p&&(u=I._index,w=p._index,x<u?B=[R].concat(B):w<x&&(B=B.concat([R])));let z;return z=i.empty?i.empty.call(this,{$table:l,$grid:o}):(y=(a=O.name?renderer.get(O.name):null)?a.renderTableEmpty||a.renderTableEmptyView||a.renderEmpty:null)?(0,_vn.getSlotVNs)(y.call(this,t,O,{$table:l})):e.emptyText||getI18n("vxe.table.emptyText"),t("div",{ref:"refElem",class:["vxe-table--body-wrapper",n?`fixed-${n}--wrapper`:"body--wrapper"],attrs:{xid:s}},[t("div",{ref:"refBodyScroll",class:"vxe-table--body-inner-wrapper",on:{scroll(e){l.triggerBodyScrollEvent(e,n)}}},[n?renderEmptyElement(l):t("div",{ref:"refBodyXSpace",class:"vxe-body--x-space"}),t("div",{ref:"refBodyYSpace",class:"vxe-body--y-space"}),t("table",{ref:"refBodyTable",class:"vxe-table--body",attrs:{xid:s,cellspacing:0,cellpadding:0,border:0}},[t("colgroup",{ref:"refBodyColgroup"},B.map((e,l)=>t("col",{attrs:{name:e.id},key:l,style:{width:e.renderWidth+"px"}}))),!v&&!m&&D.drag&&T.animation?t("transition-group",{ref:"refBodyTBody",props:{tag:"tbody",name:"vxe-body--row-list"+(b?"":"-disabled")}},renderRows(t,this,n,M,k,B)):t("tbody",{ref:"refBodyTBody"},renderRows(t,this,n,M,k,B))]),t("div",{class:"vxe-table--checkbox-range"}),g&&$.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},$.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){l.triggerCellAreaExtendMousedownEvent&&l.triggerCellAreaExtendMousedownEvent(e,{$table:l,fixed:n,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"}),t("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(l),n?renderEmptyElement(l):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},z)])])])}};
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body",isVMScrollProcess=e=>{var l=e.delayHover,{lastScrollTime:e,isDragResize:t}=e;return!!(t||e&&Date.now()<e+l)};function renderLine(e,l,t,r,a){var l=l.$parent,{row:o,column:s}=r,i=l.afterFullData,d=l.treeConfig,n=l.computeTreeOpts,{slots:s,treeNode:c}=s,p=l.fullAllDataRowIdData;if(s&&s.line)return l.callSlot(s.line,r,e);s=p[t];let u=0,g=null;return s&&(u=s.level,g=s.items[s.treeIndex-1]),d&&c&&(n.showLine||n.line)?[e("div",{key:"tl",class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${l.eqRow(i[0],o)?1:(0,_util.calcTreeLine)(r,g)}px`,bottom:`-${Math.floor(a/2)}px`,left:u*n.indent+(u?2-(0,_util.getOffsetSize)(l):0)+16+"px"}})])]:[]}function renderTdColumn(e,A,q,l,t,F,L,r,a,U,o,s,H,N,i){let d=A.$parent;var V=d,n=d,c=d,p=d.$xeGrid,{columnKey:V,resizable:u,showOverflow:g,border:W,height:x,cellClassName:X,cellStyle:j,align:P,spanMethod:K,mouseConfig:Y,editConfig:G,editRules:v,tooltipConfig:m,padding:w}=V,{tableData:n,dragRow:J,overflowX:Q,currentColumn:Z,scrollXLoad:ee,scrollYLoad:le,mergeBodyFlag:te,calcCellHeightFlag:h,resizeHeightFlag:f,resizeWidthFlag:re,editStore:ae,isAllOverflow:oe,validErrorMaps:se}=n,{fullAllDataRowIdData:c,fullColumnIdData:y,mergeBodyCellMaps:ie,visibleColumn:de,afterFullData:ne,mergeBodyList:ce,scrollXStore:pe,scrollYStore:ue}=c,ge=d.computeCellOpts,b=d.computeValidOpts,xe=d.computeCheckboxOpts,ve=d.computeEditOpts,C=d.computeTooltipOpts,{isAllColumnDrag:me,isAllRowDrag:we}=d.resizableOpts,_=d.computeRowOpts,R=d.computeRowDragOpts,he=d.computeDefaultRowHeight,h=h?ge.height||_.height:0,{disabledMethod:E,isCrossDrag:fe,isPeerDrag:ye}=R,be=d.computeColumnOpts,Ce=d.computeMouseOpts,_e=d.computeAreaOpts,Re=d.computeCellOffsetWidth,_e=_e.selectCellToRow,{type:Ee,cellRender:Se,editRender:De,align:Oe,showOverflow:$e,className:Te,treeNode:Ie,rowResize:ke,padding:S,verticalAlign:D,slots:Be}=s,O=ge.verticalAlign,ae=ae.actived,c=c[l]||{},$=s.id,y=y[$]||{},T=De||Se,T=T?renderer.get(T.name):null,Me=T?T.tableCellClassName||T.cellClassName:null,ze=T?T.tableCellStyle||T.cellStyle:"";let Ae=C.showAll;var qe=y.index,C=y._index,y=(0,_utils.isEnableConf)(De),f=f?c.resizeHeight:0;let I=t?s.fixed!==t:s.fixed&&Q;Q=_xeUtils.default.eqNull(S)?null===w?ge.padding:w:S,w=_xeUtils.default.eqNull($e)?g:$e,S="ellipsis"===w;let k="title"===w,B=!0===w||"tooltip"===w;g=oe||k||B||S,$e=_xeUtils.default.isBoolean(s.resizable)?s.resizable:be.resizable||u,w=!!h,u=0<f;let Fe;h={},f=Oe||(T?T.tableCellAlign:"")||P,Oe=_xeUtils.default.eqNull(D)?O:D,T=se[l+":"+$],P=v&&b.showMessage&&("default"===b.message?x||1<n.length:"inline"===b.message),O={colid:$};let M={$table:d,$grid:p,isEdit:!1,seq:q,rowid:l,row:r,rowIndex:a,$rowIndex:U,_rowIndex:o,column:s,columnIndex:qe,$columnIndex:H,_columnIndex:C,fixed:t,type:renderType,isHidden:!!I,level:L,visibleData:ne,data:n,items:i},z=!1,Le=!1,Ue=((z=_.drag?"row"===R.trigger||s.dragSort&&"cell"===R.trigger:z)&&(Le=!(!E||!E(M))),(k||B||Ae||m)&&(h.mouseenter=e=>{isVMScrollProcess(d)||(k?(0,_dom.updateCellTitle)(e.currentTarget,s):(B||Ae)&&d.triggerBodyTooltipEvent(e,M),d.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},M),e))}),(B||Ae||m)&&(h.mouseleave=e=>{isVMScrollProcess(d)||((B||Ae)&&d.handleTargetLeaveEvent(e),d.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},M),e))}),(z||xe.range||Y)&&(h.mousedown=e=>{d.triggerCellMousedownEvent(e,M)}),z&&(h.mouseup=d.triggerCellMouseupEvent),h.click=e=>{d.triggerCellClickEvent(e,M)},!(h.dblclick=e=>{d.triggerCellDblclickEvent(e,M)}));if(te&&ce.length){D=ie[o+":"+C];if(D){var{rowspan:se,colspan:v}=D;if(!se||!v)return null;1<se&&(Ue=!0,O.rowspan=se),1<v&&(Ue=!0,O.colspan=v)}}else if(K){var{rowspan:x=1,colspan:p=1}=K(M)||{};if(!x||!p)return null;1<x&&(O.rowspan=x),1<p&&(O.colspan=p)}!(I=I&&Ue&&(1<O.colspan||1<O.rowspan)?!1:I)&&G&&(De||Se)&&(ve.showStatus||ve.showUpdateStatus)&&(Fe=d.isUpdateByRow(r,s.field));q=le&&!g,a=c.resizeHeight||ge.height||_.height||c.height||he,U=H===N.length-1,ne=!s.resizeWidth&&("auto"===s.minWidth||"auto"===s.width);let He=!1;Ue||J&&(0,_util.getRowid)(d,J)===l||(le&&(o<ue.visibleStartIndex-ue.preloadSize||o>ue.visibleEndIndex+ue.preloadSize)||ee&&!s.fixed&&(C<pe.visibleStartIndex-pe.preloadSize||C>pe.visibleEndIndex+pe.preloadSize))&&(He=!0);n={};if(g&&re){let l=O.colspan||0;if(1<l)for(let e=1;e<l;e++){var Ne=de[qe+e];Ne&&(l+=Ne.renderWidth)}n.width=s.renderWidth-Re*l+"px"}le||g||w||u?n.height=a+"px":n.minHeight=a+"px";i=[];I&&oe?i.push(e("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":B,"c--ellipsis":S}],style:n})):(i.push(...renderLine(e,A,l,M,a),e("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":B,"c--ellipsis":S}],style:n,attrs:{title:k?d.getCellLabel(r,s):null}},He?[]:[e("div",{attrs:{colid:$,rowid:l},class:"vxe-cell--wrapper"},s.renderCell(e,M))])),P&&T&&(R=T.rule,E=Be?Be.valid:null,m=Object.assign(Object.assign(Object.assign({},M),T),{rule:T}),i.push(e("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(b.className,T)],style:R&&R.maxWidth?{width:R.maxWidth+"px"}:void 0},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(b.theme||"normal")},[E?d.callSlot(E,m,e):[e("span",{class:"vxe-cell--valid-error-msg"},T.content)]])]))));let Ve=!1;return Y&&Ce.area&&_e&&((C||!0!==_e)&&_e!==s.field||(Ve=!0)),!I&&$e&&me&&i.push(e("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!W||"none"===W}],on:{mousedown:e=>d.handleColResizeMousedownEvent(e,t,M),dblclick:e=>d.handleColResizeDblclickEvent(e,M)}})),(ke||we)&&_.resizable&&i.push(e("div",{key:"tcr",class:"vxe-cell--row-resizable",on:{mousedown:e=>d.handleRowResizeMousedownEvent(e,M),dblclick:e=>d.handleRowResizeDblclickEvent(e,M)}})),e("td",{class:["vxe-body--column",$,Oe?"col--vertical-"+Oe:"",f?"col--"+f:"",Ee?"col--"+Ee:"",{"col--last":U,"col--tree-node":Ie,"col--edit":y,"col--ellipsis":g,"col--cs-height":w,"col--rs-height":u,"col--to-row":Ve,"col--auto-height":q,"fixed--width":!ne,"fixed--hidden":I,"is--padding":Q,"is--progress":I&&oe||He,"is--drag-cell":z&&(fe||ye||!L),"is--drag-disabled":Le,"col--dirty":Fe,"col--active":G&&y&&ae.row===r&&(ae.column===s||"row"===ve.mode),"col--valid-error":!!T,"col--current":Z===s},(0,_utils.getClass)(Me,M),(0,_utils.getClass)(Te,M),(0,_utils.getClass)(X,M)],key:V||ee||le||be.useKey||_.useKey||be.drag?s.id:H,attrs:O,style:Object.assign({},_xeUtils.default.isFunction(ze)?ze(M):ze,_xeUtils.default.isFunction(j)?j(M):j),on:h},F&&I?[]:i)}function renderRows(m,w,h,f,y,b){let C=w.$parent;var e=C,l=C,t=C;let{stripe:_,rowKey:R,highlightHoverRow:E,rowClassName:S,rowStyle:D,editConfig:O,treeConfig:$}=e,{hasFixedColumn:T,treeExpandedFlag:I,isColLoading:k,scrollXLoad:B,scrollYLoad:M,isAllOverflow:z,rowExpandedFlag:A,expandColumn:q,selectRadioRow:F,pendingRowFlag:L,isDragColMove:U,rowExpandHeightFlag:H}=l,{fullAllDataRowIdData:N,treeExpandedMaps:Y,pendingRowMaps:G,rowExpandedMaps:J}=t,Q=C.computeCheckboxOpts,Z=C.computeRadioOpts,V=C.computeTreeOpts,W=C.computeEditOpts,X=C.computeRowOpts,j=C.computeColumnOpts,ee=C.computeColumnDragOpts,{transform:P,seqMode:le}=V,te=V.children||V.childrenField,K=[],re=(0,_util.createHandleGetRowId)(C).handleGetRowId;return y.forEach((t,r)=>{var e={};let a=re(t);var l=N[a]||{};let o=r,s=0,i=-1,d=-1;(X.isHover||E)&&(e.mouseenter=e=>{isVMScrollProcess(C)||C.triggerHoverEvent(e,{row:t,rowIndex:o})},e.mouseleave=()=>{isVMScrollProcess(C)||C.clearHoverRow()}),l&&(s=l.level,i=$&&P&&"increasing"===le?l._index+1:l.seq,o=l.index,d=l._index);var n={$table:C,seq:i,rowid:a,fixed:h,type:renderType,level:s,row:t,rowIndex:o,$rowIndex:r,_rowIndex:d},c=q&&!!A&&!!J[a];let p=!1,u=[],g=!1;O&&(g=C.isInsertByRow(t)),!$||M||P||(u=t[te],p=!!I&&u&&0<u.length&&!!Y[a]),!X.drag||$&&!P||(e.dragstart=C.handleRowDragDragstartEvent,e.dragend=C.handleRowDragDragendEvent,e.dragover=C.handleRowDragDragoverEvent);var x=["vxe-body--row",$?"row--level-"+s:"",{"row--stripe":_&&(d+1)%2==0,"is--new":g,"is--expand-row":c,"is--expand-tree":p,"row--new":g&&(W.showStatus||W.showInsertStatus),"row--radio":Z.highlight&&F===t,"row--checked":Q.highlight&&C.isCheckedByCheckboxRow(t),"row--pending":!!L&&!!G[a]},S?_xeUtils.default.isFunction(S)?S(n):S:""],v=b.map((e,l)=>renderTdColumn(m,w,i,a,h,f,s,t,o,r,d,e,l,b,y));K.push(!k&&j.drag&&ee.animation?m("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(U?"":"-disabled")},class:x,attrs:{rowid:a},style:D?_xeUtils.default.isFunction(D)?D(n):D:void 0,key:R||B||M||X.useKey||X.drag||j.drag||$?a:r,nativeOn:e},v):m("tr",{class:x,attrs:{rowid:a},style:D?_xeUtils.default.isFunction(D)?D(n):D:void 0,key:R||B||M||X.useKey||X.drag||j.drag||$?a:r,on:e},v)),c&&({height:x,padding:n,mode:e}=C.computeExpandOpts,"fixed"===e?K.push(m("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+a,attrs:{rowid:a}},[m("td",{class:"vxe-body--row-expanded-place-column",attrs:{colspan:b.length},style:{height:`${H?l.expandHeight||x:0}px`}})])):(v={},c=(x&&(v.height=x+"px"),$&&(v.paddingLeft=s*V.indent+30+"px"),q).showOverflow,e=_xeUtils.default.isUndefined(c)||_xeUtils.default.isNull(c)?z:c,l={$table:C,seq:i,column:q,fixed:h,type:renderType,level:s,row:t,rowIndex:o,$rowIndex:r,_rowIndex:d},K.push(m("tr",{class:["vxe-body--expanded-row",{"is--padding":n}],key:"expand_"+a},[m("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!T,"col--ellipsis":e}],attrs:{colspan:b.length}},[m("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":x}],style:v},[q.renderData(m,l)])])])))),p&&K.push(...renderRows(m,w,h,f,u,b))}),K}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},mounted(){var e=this,l=e.fixedType,t=e.$parent.elemStore,l=`${l||"main"}-body-`;t[l+"wrapper"]=e.$refs.refElem,t[l+"scroll"]=e.$refs.refBodyScroll,t[l+"table"]=e.$refs.refBodyTable,t[l+"colgroup"]=e.$refs.refBodyColgroup,t[l+"list"]=e.$refs.refBodyTBody,t[l+"xSpace"]=e.$refs.refBodyXSpace,t[l+"ySpace"]=e.$refs.refBodyYSpace,t[l+"emptyBlock"]=e.$refs.refBodyEmptyBlock},destroyed(){var e=this.fixedType,l=this.$parent.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},render(t){let l=this.$parent;var e=l,r=l,a=l,o=l.$xeGrid,{xID:s,$scopedSlots:i}=l;let{fixedColumn:d,fixedType:n,tableColumn:c}=this;var{spanMethod:p,footerSpanMethod:u,mouseConfig:g}=e,{isGroup:r,tableData:x,isRowLoading:v,isColLoading:m,overflowX:w,scrollXLoad:h,scrollYLoad:f,isAllOverflow:y,isDragRowMove:b,expandColumn:C,dragRow:_,dragCol:R}=r,{visibleColumn:a,fullAllDataRowIdData:E,fullColumnIdData:S}=a,D=l.computeRowOpts,O=l.computeEmptyOpts,$=l.computeMouseOpts,T=l.computeRowDragOpts,I=l.computeExpandOpts;let k=x,B=c,M=!1;!(h||f||y)||C&&"fixed"!==I.mode||p||u||(M=!0),m||!n&&w||(B=a),n&&M&&(B=d||[]),f&&_&&2<k.length&&(x=E[(0,_util.getRowid)(l,_)])&&(y=x._index,C=k[0],I=k[k.length-1],p=E[(0,_util.getRowid)(l,C)],u=E[(0,_util.getRowid)(l,I)],p)&&u&&(w=p._index,a=u._index,y<w?k=[_].concat(k):a<y&&(k=k.concat([_]))),n||r||h&&R&&2<B.length&&(f=S[R.id])&&(x=f._index,C=B[0],E=B[B.length-1],I=S[C.id],p=S[E.id],I)&&p&&(u=I._index,w=p._index,x<u?B=[R].concat(B):w<x&&(B=B.concat([R])));let z;return z=i.empty?i.empty.call(this,{$table:l,$grid:o}):(y=(a=O.name?renderer.get(O.name):null)?a.renderTableEmpty||a.renderTableEmptyView||a.renderEmpty:null)?(0,_vn.getSlotVNs)(y.call(this,t,O,{$table:l})):e.emptyText||getI18n("vxe.table.emptyText"),t("div",{ref:"refElem",class:["vxe-table--body-wrapper",n?`fixed-${n}--wrapper`:"body--wrapper"],attrs:{xid:s}},[t("div",{ref:"refBodyScroll",class:"vxe-table--body-inner-wrapper",on:{scroll(e){l.triggerBodyScrollEvent(e,n)}}},[n?renderEmptyElement(l):t("div",{ref:"refBodyXSpace",class:"vxe-body--x-space"}),t("div",{ref:"refBodyYSpace",class:"vxe-body--y-space"}),t("table",{ref:"refBodyTable",class:"vxe-table--body",attrs:{xid:s,cellspacing:0,cellpadding:0,border:0}},[t("colgroup",{ref:"refBodyColgroup"},B.map((e,l)=>t("col",{attrs:{name:e.id},key:l,style:{width:e.renderWidth+"px"}}))),!v&&!m&&D.drag&&T.animation?t("transition-group",{ref:"refBodyTBody",props:{tag:"tbody",name:"vxe-body--row-list"+(b?"":"-disabled")}},renderRows(t,this,n,M,k,B)):t("tbody",{ref:"refBodyTBody"},renderRows(t,this,n,M,k,B))]),t("div",{class:"vxe-table--checkbox-range"}),g&&$.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},$.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){l.triggerCellAreaExtendMousedownEvent&&l.triggerCellAreaExtendMousedownEvent(e,{$table:l,fixed:n,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"}),t("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(l),n?renderEmptyElement(l):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},z)])])])}};
|
package/lib/table/src/footer.js
CHANGED
|
@@ -15,30 +15,6 @@ const {
|
|
|
15
15
|
renderer,
|
|
16
16
|
renderEmptyElement
|
|
17
17
|
} = _ui.VxeUI;
|
|
18
|
-
function mergeFooterMethod(mergeFooterList, _rowIndex, _columnIndex) {
|
|
19
|
-
for (let mIndex = 0; mIndex < mergeFooterList.length; mIndex++) {
|
|
20
|
-
const {
|
|
21
|
-
row: mergeRowIndex,
|
|
22
|
-
col: mergeColIndex,
|
|
23
|
-
rowspan: mergeRowspan,
|
|
24
|
-
colspan: mergeColspan
|
|
25
|
-
} = mergeFooterList[mIndex];
|
|
26
|
-
if (mergeColIndex > -1 && mergeRowIndex > -1 && mergeRowspan && mergeColspan) {
|
|
27
|
-
if (mergeRowIndex === _rowIndex && mergeColIndex === _columnIndex) {
|
|
28
|
-
return {
|
|
29
|
-
rowspan: mergeRowspan,
|
|
30
|
-
colspan: mergeColspan
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
if (_rowIndex >= mergeRowIndex && _rowIndex < mergeRowIndex + mergeRowspan && _columnIndex >= mergeColIndex && _columnIndex < mergeColIndex + mergeColspan) {
|
|
34
|
-
return {
|
|
35
|
-
rowspan: 0,
|
|
36
|
-
colspan: 0
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
18
|
function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIndex) {
|
|
43
19
|
const props = _vm;
|
|
44
20
|
const $xeTable = _vm.$parent;
|
|
@@ -64,11 +40,12 @@ function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIn
|
|
|
64
40
|
scrollXLoad,
|
|
65
41
|
scrollYLoad,
|
|
66
42
|
overflowX,
|
|
67
|
-
currentColumn
|
|
68
|
-
mergeFooterList
|
|
43
|
+
currentColumn
|
|
69
44
|
} = tableReactData;
|
|
70
45
|
const {
|
|
71
46
|
fullColumnIdData,
|
|
47
|
+
mergeFooterList,
|
|
48
|
+
mergeFooterCellMaps,
|
|
72
49
|
scrollXStore
|
|
73
50
|
} = tableInternalData;
|
|
74
51
|
const tooltipOpts = $xeTable.computeTooltipOpts;
|
|
@@ -162,7 +139,7 @@ function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIn
|
|
|
162
139
|
let isMergeCell = false;
|
|
163
140
|
// 合并行或列
|
|
164
141
|
if (mergeFooterList.length) {
|
|
165
|
-
const spanRest =
|
|
142
|
+
const spanRest = mergeFooterCellMaps[`${_rowIndex}:${_columnIndex}`];
|
|
166
143
|
if (spanRest) {
|
|
167
144
|
const {
|
|
168
145
|
rowspan,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let renderType="footer",{renderer,renderEmptyElement}=_ui.VxeUI;function
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let renderType="footer",{renderer,renderEmptyElement}=_ui.VxeUI;function renderRows(C,e,_,F,T,$,S){let E=e.$parent;var l=E,r=E,t=E;let I=E.$xeGrid,O=e.fixedType,{resizable:D,border:R,footerCellClassName:z,footerCellStyle:k,footerAlign:U,footerSpanMethod:A,align:q,columnKey:L,showFooterOverflow:M}=l,{scrollXLoad:X,scrollYLoad:H,overflowX:N,currentColumn:j}=r,{fullColumnIdData:W,mergeFooterList:B,mergeFooterCellMaps:G,scrollXStore:K}=t,V=E.computeTooltipOpts,Y=E.resizableOpts.isAllColumnDrag,P=E.computeColumnOpts;e=E.computeDefaultRowHeight;let J=E.computeCellOpts,Q=E.computeFooterCellOpts,Z=(0,_util.getCellHeight)(Q.height||J.height)||e;return _.map((l,e)=>{var{type:r,showFooterOverflow:t,footerAlign:o,align:i,footerClassName:a,editRender:n,cellRender:s}=l,d=l.id,u=W[d]||{},n=n||s,s=n?renderer.get(n.name):null;let p=V.showAll;var n=l.children&&l.children.length,n=O?l.fixed!==O&&!n:l.fixed&&N,c=(_xeUtils.default.isBoolean(Q.padding)?Q:J).padding,t=_xeUtils.default.eqNull(t)?M:t,o=o||(s?s.tableFooterCellAlign:"")||U||i||(s?s.tableCellAlign:"")||q;let f="ellipsis"===t,x="title"===t,m=!0===t||"tooltip"===t,g=x||m||f;var i=_xeUtils.default.isBoolean(l.resizable)?l.resizable:P.resizable||D,s={colid:d},t={},v=u.index,u=u._index,h=u;let w={$table:E,$grid:I,row:T,rowIndex:S,_rowIndex:S,$rowIndex:$,column:l,columnIndex:v,$columnIndex:e,_columnIndex:u,itemIndex:h,items:T,fixed:O,type:renderType,data:F},y=(X&&!g&&(f=g=!0),(x||m||p)&&(t.mouseenter=e=>{x?(0,_dom.updateCellTitle)(e.currentTarget,l):(m||p)&&E.triggerFooterTooltipEvent(e,w)}),(m||p)&&(t.mouseleave=e=>{(m||p)&&E.handleTargetLeaveEvent(e)}),t.click=e=>{E.dispatchEvent("footer-cell-click",Object.assign({cell:e.currentTarget},w),e)},!(t.dblclick=e=>{E.dispatchEvent("footer-cell-dblclick",Object.assign({cell:e.currentTarget},w),e)}));if(B.length){v=G[S+":"+u];if(v){var{rowspan:h,colspan:v}=v;if(!h||!v)return null;1<h&&(y=!0,s.rowspan=h),1<v&&(y=!0,s.colspan=v)}}else if(A){var{rowspan:h=1,colspan:v=1}=A(w)||{};if(!h||!v)return null;1<h&&(s.rowspan=h),1<v&&(s.colspan=v)}h=e===_.length-1,v=!l.resizeWidth&&("auto"===l.minWidth||"auto"===l.width);let b=!1;y||X&&!l.fixed&&(u<K.visibleStartIndex-K.preloadSize||u>K.visibleEndIndex+K.preloadSize)&&(b=!0);u={};return g?u.height=Z+"px":u.minHeight=Z+"px",C("td",{class:["vxe-footer--column",l.id,{["col--"+o]:o,["col--"+r]:r,"col--last":h,"fixed--width":!v,"fixed--hidden":n,"is--padding":c,"col--ellipsis":g,"col--current":j===l},(0,_utils.getClass)(a,w),(0,_utils.getClass)(z,w)],attrs:s,style:k?_xeUtils.default.isFunction(k)?k(w):k:void 0,on:t,key:L||X||H||P.useKey||P.drag?l.id:e},[C("div",{class:["vxe-cell",{"c--title":x,"c--tooltip":m,"c--ellipsis":f}],style:u},b?[]:[C("div",{attrs:{colid:d},class:"vxe-cell--wrapper"},l.renderFooter(C,w))]),!n&&i&&Y?C("div",{class:["vxe-cell--col-resizable",{"is--line":!R||"none"===R}],on:{mousedown:e=>E.handleColResizeMousedownEvent(e,O,w),dblclick:e=>E.handleColResizeDblclickEvent(e,w)}}):renderEmptyElement(E)])})}function renderHeads(o,i,a){let n=i.$parent;var e=n,l=n;let{fixedType:s,footerTableData:d}=i,{footerRowClassName:u,footerRowStyle:p}=e,{isColLoading:c,isDragColMove:f}=l,x=n.computeColumnOpts,m=n.computeColumnDragOpts;return d.map((e,l)=>{var r=l,t={$table:n,row:e,_rowIndex:r,$rowIndex:l,fixed:s,type:renderType};return!c&&x.drag&&m.animation?o("transition-group",{key:l,props:{tag:"tr",name:"vxe-header--col-list"+(f?"":"-disabled"),class:["vxe-footer--row",u?_xeUtils.default.isFunction(u)?u(t):u:""],style:p?_xeUtils.default.isFunction(p)?p(t):p:void 0}},renderRows(o,i,a,d,e,l,r)):o("tr",{key:l,class:["vxe-footer--row",u?_xeUtils.default.isFunction(u)?u(t):u:""],style:p?_xeUtils.default.isFunction(p)?p(t):p:void 0},renderRows(o,i,a,d,e,l,r))})}var _default=exports.default={name:"VxeTableFooter",props:{footerTableData:{type:Array,default:()=>[]},tableColumn:{type:Array,default:()=>[]},fixedColumn:{type:Array,default:()=>[]},fixedType:{type:String,default:null}},mounted(){var e=this,l=e.fixedType,r=e.$parent.elemStore,l=`${l||"main"}-footer-`;r[l+"wrapper"]=e.$refs.refElem,r[l+"scroll"]=e.$refs.refFooterScroll,r[l+"table"]=e.$refs.refFooterTable,r[l+"colgroup"]=e.$refs.refFooterColgroup,r[l+"list"]=e.$refs.refFooterTFoot,r[l+"xSpace"]=e.$refs.refFooterXSpace},destroyed(){var e=this.fixedType,l=this.$parent.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},render(r){let l=this.$parent;var e=l,t=l,o=l,i=l.xID;let{fixedType:a,fixedColumn:n,tableColumn:s}=this;var{spanMethod:e,footerSpanMethod:d,showFooterOverflow:u}=e,{visibleColumn:o,fullColumnIdData:p}=o,{isGroup:t,isColLoading:c,overflowX:f,scrollXLoad:x,scrollYLoad:m,dragCol:g}=t;let v=s,h=!(x||m||u)||e||d?!1:!0;return c||!a&&f||(v=o),a&&h&&(v=n||[]),a||t||x&&g&&2<v.length&&(m=p[g.id])&&(u=m._index,e=v[0],d=v[v.length-1],c=p[e.id],f=p[d.id],c)&&f&&(o=c._index,t=f._index,u<o?v=[g].concat(v):t<u&&(v=v.concat([g]))),r("div",{ref:"refElem",class:["vxe-table--footer-wrapper",a?`fixed-${a}--wrapper`:"body--wrapper"],attrs:{xid:i}},[r("div",{ref:"refFooterScroll",class:"vxe-table--footer-inner-wrapper",on:{scroll(e){l.triggerFooterScrollEvent(e,a)}}},[a?renderEmptyElement(l):r("div",{ref:"refFooterXSpace",class:"vxe-body--x-space"}),r("table",{ref:"refFooterTable",class:"vxe-table--footer",attrs:{xid:i,cellspacing:0,cellpadding:0,border:0}},[r("colgroup",{ref:"refFooterColgroup"},v.map((e,l)=>r("col",{attrs:{name:e.id},key:l,style:{width:e.renderWidth+"px"}}))),r("tfoot",{ref:"refFooterTFoot"},renderHeads(r,this,v))])])])}};
|