vxe-table 4.9.8 → 4.9.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/edit/hook.js +16 -4
- package/es/table/module/export/import-panel.js +1 -1
- package/es/table/src/body.js +9 -6
- package/es/table/src/columnInfo.js +1 -1
- package/es/table/src/footer.js +7 -1
- package/es/table/src/table.js +13 -5
- package/es/table/src/util.js +0 -10
- package/es/table/style.css +1 -1
- 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 +1 -1
- 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 +74 -32
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/edit/hook.js +38 -4
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/module/export/import-panel.js +1 -1
- package/lib/table/module/export/import-panel.min.js +1 -1
- package/lib/table/src/body.js +9 -6
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/columnInfo.js +3 -3
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/footer.js +7 -1
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/table.js +14 -5
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +0 -10
- package/lib/table/style/style.css +1 -1
- 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 +1 -1
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/table/module/edit/hook.ts +16 -4
- package/packages/table/module/export/import-panel.ts +1 -1
- package/packages/table/src/body.ts +14 -11
- package/packages/table/src/columnInfo.ts +1 -1
- package/packages/table/src/footer.ts +7 -1
- package/packages/table/src/table.ts +18 -8
- package/packages/table/src/util.ts +0 -16
- package/styles/components/table.scss +1 -1
- /package/es/{iconfont.1732522568827.ttf → iconfont.1732797516206.ttf} +0 -0
- /package/es/{iconfont.1732522568827.woff → iconfont.1732797516206.woff} +0 -0
- /package/es/{iconfont.1732522568827.woff2 → iconfont.1732797516206.woff2} +0 -0
- /package/lib/{iconfont.1732522568827.ttf → iconfont.1732797516206.ttf} +0 -0
- /package/lib/{iconfont.1732522568827.woff → iconfont.1732797516206.woff} +0 -0
- /package/lib/{iconfont.1732522568827.woff2 → iconfont.1732797516206.woff2} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../../ui/src/utils"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,getIcon}=_ui.VxeUI;var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableImportPanel",props:{defaultOptions:Object,storeData:Object},setup(v){const p=_ui.VxeUI.getComponent("VxeModal"),d=_ui.VxeUI.getComponent("VxeButton"),c=_ui.VxeUI.getComponent("VxeSelect"),m=(0,_vue.inject)("$xeTable",{}),a=m.getComputeMaps()["computeImportOpts"],_=(0,_vue.reactive)({loading:!1}),x=(0,_vue.ref)(),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../../ui/src/utils"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,getIcon}=_ui.VxeUI;var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableImportPanel",props:{defaultOptions:Object,storeData:Object},setup(v){const p=_ui.VxeUI.getComponent("VxeModal"),d=_ui.VxeUI.getComponent("VxeButton"),c=_ui.VxeUI.getComponent("VxeSelect"),m=(0,_vue.inject)("$xeTable",{}),a=m.getComputeMaps()["computeImportOpts"],_=(0,_vue.reactive)({loading:!1}),x=(0,_vue.ref)(),g=(0,_vue.computed)(()=>{var e=v["storeData"];return e.filename+"."+e.type}),b=(0,_vue.computed)(()=>{var e=v["storeData"];return e.file&&e.type}),h=(0,_vue.computed)(()=>{var e=v["storeData"];const{type:t,typeList:o}=e;return t?(e=_xeUtils.default.find(o,e=>t===e.value))?e.label:"*.*":"*."+o.map(e=>e.value).join(", *.")}),f=()=>{var e=v["storeData"];Object.assign(e,{filename:"",sheetName:"",type:""})},C=()=>{const{storeData:t,defaultOptions:e}=v;m.readFile(e).then(e=>{e=e.file;Object.assign(t,(0,_utils.parseFile)(e),{file:e})}).catch(e=>e)},V=()=>{(0,_vue.nextTick)(()=>{var e=x.value;e&&e.focus()})},I=()=>{var e=v["storeData"];e.visible=!1},O=()=>{const{storeData:e,defaultOptions:t}=v;var o=a.value;_.loading=!0,m.importByFile(e.file,Object.assign({},o,t)).then(()=>{_.loading=!1,e.visible=!1}).catch(()=>{_.loading=!1})};return"development"===process.env.NODE_ENV&&(0,_vue.nextTick)(()=>{p||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),d||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),c||(0,_log.errLog)("vxe.error.reqComp",["vxe-select"])}),()=>{const{defaultOptions:t,storeData:o}=v,a=g.value,l=b.value,r=h.value;var e=t.slots||{};const i=e.top,u=e.bottom,n=e.default,s=e.footer;return p?(0,_vue.h)(p,{id:"VXE_IMPORT_MODAL",modelValue:o.visible,title:getI18n("vxe.import.impTitle"),className:"vxe-table-export-popup-wrapper",width:540,minWidth:360,minHeight:240,mask:!0,lockView:!0,showFooter:!0,escClosable:!0,maskClosable:!0,showMaximize:!0,resize:!0,loading:_.loading,"onUpdate:modelValue"(e){o.visible=e},onShow:V},{default:()=>{var e={$table:m,$grid:m.xegrid,options:t,params:t.params};return(0,_vue.h)("div",{class:"vxe-table-export--panel"},[i?(0,_vue.h)("div",{class:"vxe-table-export--panel-top"},m.callSlot(i,e)):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-table-export--panel-body"},n?m.callSlot(n,e):[(0,_vue.h)("table",{class:"vxe-table-export--panel-table",cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("tbody",[(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.import.impFile")),(0,_vue.h)("td",[l?(0,_vue.h)("div",{class:"vxe-table-export--selected--file",title:a},[(0,_vue.h)("span",a),(0,_vue.h)("i",{class:getIcon().INPUT_CLEAR,onClick:f})]):(0,_vue.h)("button",{ref:x,class:"vxe-table-export--select--file",onClick:C},getI18n("vxe.import.impSelect"))])]),(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.import.impType")),(0,_vue.h)("td",r)]),(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.import.impMode")),(0,_vue.h)("td",[c?(0,_vue.h)(c,{modelValue:t.mode,options:o.modeList,"onUpdate:modelValue"(e){t.mode=e}}):(0,_vue.createCommentVNode)()])])])])]),u?(0,_vue.h)("div",{class:"vxe-table-export--panel-bottom"},m.callSlot(u,e)):(0,_vue.createCommentVNode)()])},footer(){var e={$table:m,$grid:m.xegrid,options:t,params:t.params};return(0,_vue.h)("div",{class:"vxe-table-export--panel-footer"},s?m.callSlot(s,e):[(0,_vue.h)("div",{class:"vxe-table-export--panel-btns"},[d?(0,_vue.h)(d,{content:getI18n("vxe.import.impCancel"),onClick:I}):(0,_vue.createCommentVNode)(),d?(0,_vue.h)(d,{status:"primary",disabled:!l||_.loading,content:getI18n("vxe.import.impConfirm"),onClick:O}):(0,_vue.createCommentVNode)()])])}}):(0,_vue.createCommentVNode)()}}});
|
package/lib/table/src/body.js
CHANGED
|
@@ -508,12 +508,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
508
508
|
$xeTable.clearHoverRow();
|
|
509
509
|
};
|
|
510
510
|
}
|
|
511
|
-
// 拖拽行事件
|
|
512
|
-
if (rowOpts.drag) {
|
|
513
|
-
trOn.onDragstart = $xeTable.handleRowDragDragstartEvent;
|
|
514
|
-
trOn.onDragend = $xeTable.handleRowDragDragendEvent;
|
|
515
|
-
trOn.onDragover = $xeTable.handleRowDragDragoverEvent;
|
|
516
|
-
}
|
|
517
511
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
518
512
|
const rest = fullAllDataRowIdData[rowid];
|
|
519
513
|
let rowLevel = 0;
|
|
@@ -550,6 +544,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
550
544
|
rowChildren = row[childrenField];
|
|
551
545
|
isExpandTree = rowChildren && rowChildren.length > 0 && !!treeExpandedMaps[rowid];
|
|
552
546
|
}
|
|
547
|
+
// 拖拽行事件
|
|
548
|
+
if (rowOpts.drag && !rowLevel) {
|
|
549
|
+
trOn.onDragstart = $xeTable.handleRowDragDragstartEvent;
|
|
550
|
+
trOn.onDragend = $xeTable.handleRowDragDragendEvent;
|
|
551
|
+
trOn.onDragover = $xeTable.handleRowDragDragoverEvent;
|
|
552
|
+
}
|
|
553
553
|
const trClass = ['vxe-body--row', treeConfig ? `row--level-${rowLevel}` : '', {
|
|
554
554
|
'row--stripe': stripe && ($xeTable.getVTRowIndex(row) + 1) % 2 === 0,
|
|
555
555
|
'is--new': isNewRow,
|
|
@@ -673,6 +673,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
673
673
|
const headerElem = tableHeader ? tableHeader.$el : null;
|
|
674
674
|
const footerElem = tableFooter ? tableFooter.$el : null;
|
|
675
675
|
const bodyElem = tableBody.$el;
|
|
676
|
+
if (!bodyElem) {
|
|
677
|
+
return;
|
|
678
|
+
}
|
|
676
679
|
const leftElem = leftBody ? leftBody.$el : null;
|
|
677
680
|
const rightElem = rightBody ? rightBody.$el : null;
|
|
678
681
|
const xHandleEl = refScrollXHandleElem.value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";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}}const{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body",lineOffsetSizes={mini:3,small:2,medium:1};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(_){const pe=(0,_vue.inject)("$xeTable",{}),l=(0,_vue.inject)("xesize",null),{xID:b,props:ge,context:T,reactData:me,internalData:he}=pe,{refTableBody:x,refTableHeader:p,refTableFooter:g,refTableLeftBody:f,refTableRightBody:y,refScrollXHandleElem:h,refScrollYHandleElem:k}=pe.getRefMaps(),{computeEditOpts:xe,computeMouseOpts:fe,computeAreaOpts:Se,computeSYOpts:ye,computeEmptyOpts:U,computeKeyboardOpts:j,computeTooltipOpts:Ce,computeRadioOpts:e,computeExpandOpts:P,computeTreeOpts:c,computeCheckboxOpts:we,computeCellOpts:Ee,computeValidOpts:Oe,computeRowOpts:_e,computeColumnOpts:be}=pe.getComputeMaps(),S=(0,_vue.ref)(),C=(0,_vue.ref)(),E=(0,_vue.ref)(),O=(0,_vue.ref)(),R=(0,_vue.ref)(),D=(0,_vue.ref)(),M=(0,_vue.ref)(),v=()=>{if(l){var e=l.value;if(e)return lineOffsetSizes[e]||0}return 0},Te=()=>{var e=ge["delayHover"],{lastScrollTime:l,_isResize:t}=me;return!!(t||l&&Date.now()<l+e)},m=(e,l)=>{let t=1;if(e){var o=c.value,r=e[o.children||o.childrenField];if(r&&pe.isTreeExpandByRow(e))for(let e=0;e<r.length;e++)t+=m(r[e],l)}return t},Re=e=>{var{row:l,column:t}=e,o=he["afterFullData"],r=ge["treeConfig"],a=c.value,{slots:t,treeNode:s}=t,n=he["fullAllDataRowIdData"],n=n[(0,_util.getRowid)(pe,l)];let i=0,d=0,u=[];return n&&(i=n.level,d=n._index,u=n.items),t&&t.line?pe.callSlot(t.line,e):(n=pe.eqRow(o[0],l),r&&s&&(a.showLine||a.line)?[(0,_vue.h)("div",{class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${n?1:((e,l,t)=>{let o=1;return t&&(o=m(l[t-1],e)),me.rowHeight*o-(t?1:12-v())})(e,u,d)}px`,left:i*a.indent+(i?2-v():0)+16+"px"}})])]:[])},z=(e,l,t,o,r,a,s,U,n,i,j,q)=>{var B=he["fullAllDataRowIdData"],{columnKey:A,height:d,showOverflow:F,cellClassName:N,cellStyle:u,align:Y,spanMethod:V,mouseConfig:K,editConfig:W,editRules:c,tooltipConfig:X}=ge,{tableData:P,overflowX:v,currentColumn:z,scrollXLoad:G,scrollYLoad:J,mergeList:p,editStore:g,isAllOverflow:Q,validErrorMaps:m}=me,Z=he["afterFullData"],h=Ee.value,x=Oe.value,ee=we.value,f=xe.value,y=Ce.value,le=_e.value,w=ye.value,te=be.value,oe=fe.value,_=Se.value["selectCellToRow"],{type:re,cellRender:ae,editRender:b,align:T,showOverflow:S,className:se,treeNode:ne,slots:ie}=n,h=h["verticalAlign"],g=g["actived"],w=w["rHeight"],C=le["height"],E=n.id,O=b||ae,O=O?renderer.get(O.name):null,de=O?O.tableCellClassName||O.cellClassName:null,R=O?O.tableCellStyle||O.cellStyle:"";const D=y.showAll;var y=pe.getColumnIndex(n),ue=pe.getVTColumnIndex(n),ce=(0,_utils.isEnableConf)(b);let M=t?n.fixed!==t:n.fixed&&v;v=_xeUtils.default.isUndefined(S)||_xeUtils.default.isNull(S)?F:S,S="ellipsis"===v;const $="title"===v,I=!0===v||"tooltip"===v;v=$||I||S;let ve;var L={},B=B[l],T=T||(O?O.tableCellAlign:"")||Y,O=m[l+":"+E],Y=c&&x.showMessage&&("default"===x.message?d||1<P.length:"inline"===x.message),m={colid:E};const H={$table:pe,$grid:pe.xegrid,isEdit:!1,seq:e,rowid:l,row:r,rowIndex:a,$rowIndex:s,_rowIndex:U,column:n,columnIndex:y,$columnIndex:i,_columnIndex:ue,fixed:t,type:renderType,isHidden:M,level:o,visibleData:Z,data:P,items:q};if(($||I||D||X)&&(L.onMouseenter=e=>{Te()||($?(0,_dom.updateCellTitle)(e.currentTarget,n):(I||D)&&pe.triggerBodyTooltipEvent(e,H),pe.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},H),e))}),(I||D||X)&&(L.onMouseleave=e=>{Te()||((I||D)&&pe.handleTargetLeaveEvent(e),pe.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},H),e))}),(ee.range||K)&&(L.onMousedown=e=>{pe.triggerCellMousedownEvent(e,H)}),L.onClick=e=>{pe.triggerCellClickEvent(e,H)},L.onDblclick=e=>{pe.triggerCellDblclickEvent(e,H)},p.length){c=(0,_util.mergeBodyMethod)(p,U,ue);if(c){var{rowspan:d,colspan:e}=c;if(!d||!e)return null;1<d&&(m.rowspan=d),1<e&&(m.colspan=e)}}else if(V){var{rowspan:l=1,colspan:a=1}=V(H)||{};if(!l||!a)return null;1<l&&(m.rowspan=l),1<a&&(m.colspan=a)}!(M=M&&p&&(1<m.colspan||1<m.rowspan)?!1:M)&&W&&(b||ae)&&(f.showStatus||f.showUpdateStatus)&&(ve=pe.isUpdateByRow(r,n.field));s=[];M&&F&&Q?s.push((0,_vue.h)("div",{class:["vxe-cell",{"c--title":$,"c--tooltip":I,"c--ellipsis":S}],style:{maxHeight:v&&(w||C)?`${w||C}px`:""}})):(s.push(...Re(H),(0,_vue.h)("div",{class:["vxe-cell",{"c--title":$,"c--tooltip":I,"c--ellipsis":S}],style:{maxHeight:v&&(w||C)?`${w||C}px`:""},title:$?pe.getCellLabel(r,n):null},n.renderCell(H))),Y&&O&&(y=O.rule,t=ie?ie.valid:null,o=Object.assign(Object.assign(Object.assign({},H),O),{rule:O}),s.push((0,_vue.h)("div",{class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(x.className,o)],style:y&&y.maxWidth?{width:y.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(x.theme||"normal")},[t?pe.callSlot(t,o):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},O.content)]])]))));let k="";return v&&(w||C)?k=`${w||C}px`:!G&&!J||v||(k=`${B.height||24}px`),K&&oe.area&&_&&((i||!0!==_)&&_!==n.field||s.push((0,_vue.h)("div",{class:"vxe-cell--area-status"}))),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",E,{["col--"+T]:T,["col--vertical-"+h]:h,["col--"+re]:re,"col--last":i===j.length-1,"col--tree-node":ne,"col--edit":ce,"col--ellipsis":v,"fixed--hidden":M,"col--dirty":ve,"col--active":W&&ce&&g.row===r&&(g.column===n||"row"===f.mode),"col--valid-error":!!O,"col--current":z===n},(0,_dom.getPropClass)(de,H),(0,_dom.getPropClass)(se,H),(0,_dom.getPropClass)(N,H)],key:A||te.useKey||le.useKey||te.drag?E:i},m),{style:Object.assign({height:k},_xeUtils.default.isFunction(R)?R(H):R,_xeUtils.default.isFunction(u)?u(H):u)}),L),s)},X=(x,f,y)=>{const{stripe:w,rowKey:_,highlightHoverRow:b,rowClassName:T,rowStyle:S,showOverflow:C,editConfig:E,treeConfig:O}=ge,{hasFixedColumn:R,treeExpandedMaps:D,scrollYLoad:M,rowExpandedMaps:$,expandColumn:I,selectRadioRow:L,pendingRowMaps:H,pendingRowList:k,isDragColMove:U}=me,j=he["fullAllDataRowIdData"],q=we.value,B=e.value,A=c.value,F=xe.value,N=_e.value,Y=be.value,V=A["transform"],K=A.children||A.childrenField,W=[];return f.forEach((t,o)=>{var e={};let r;r=pe.getRowIndex(t),(N.isHover||b)&&(e.onMouseenter=e=>{Te()||pe.triggerHoverEvent(e,{row:t,rowIndex:r})},e.onMouseleave=()=>{Te()||pe.clearHoverRow()}),N.drag&&(e.onDragstart=pe.handleRowDragDragstartEvent,e.onDragend=pe.handleRowDragDragendEvent,e.onDragover=pe.handleRowDragDragoverEvent);const a=(0,_util.getRowid)(pe,t);var l=j[a];let s=0,n=-1,i=0;l&&(s=l.level,n=l.seq,i=l._index);var l={$table:pe,seq:n,rowid:a,fixed:x,type:renderType,level:s,row:t,rowIndex:r,$rowIndex:o,_rowIndex:i},d=I&&!!$[a];let u=!1,c=[],v=!1;E&&(v=pe.isInsertByRow(t)),!O||M||V||(c=t[K],u=c&&0<c.length&&!!D[a]);var p,g,m=["vxe-body--row",O?"row--level-"+s:"",{"row--stripe":w&&(pe.getVTRowIndex(t)+1)%2==0,"is--new":v,"is--expand-row":d,"is--expand-tree":u,"row--new":v&&(F.showStatus||F.showInsertStatus),"row--radio":B.highlight&&pe.eqRow(L,t),"row--checked":q.highlight&&pe.isCheckedByCheckboxRow(t),"row--pending":k.length&&!!H[a]},(0,_dom.getPropClass)(T,l)];const h=y.map((e,l)=>z(n,a,x,s,t,r,o,i,e,l,y,f));W.push(Y.drag?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(U?"":"-disabled"),tag:"tr",class:m,rowid:a,style:S?_xeUtils.default.isFunction(S)?S(l):S:null,key:_||N.useKey||N.drag||O?a:o},e),{default:()=>h}):(0,_vue.h)("tr",Object.assign({class:m,rowid:a,style:S?_xeUtils.default.isFunction(S)?S(l):S:null,key:_||N.useKey||N.drag||O?a:o},e),h)),d&&({height:m,padding:l}=P.value,d={},p=(m&&(d.height=m+"px"),O&&(d.paddingLeft=s*A.indent+30+"px"),I)["showOverflow"],p=_xeUtils.default.isUndefined(p)||_xeUtils.default.isNull(p)?C:p,g={$table:pe,seq:n,column:I,fixed:x,type:renderType,level:s,row:t,rowIndex:r,$rowIndex:o,_rowIndex:i},W.push((0,_vue.h)("tr",Object.assign({class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+a,style:S?_xeUtils.default.isFunction(S)?S(g):S:null},e),[(0,_vue.h)("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":x&&!R,"col--ellipsis":p},colspan:y.length},[(0,_vue.h)("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":m},style:d},[I.renderData(g)])])]))),u&&W.push(...X(x,c,y))}),W},q=e=>{var l,t,o,r,a,s=_["fixedType"],{lastScrollTop:n,lastScrollLeft:i,inVirtualScroll:d,inBodyScroll:u,bodyScrollType:c,inFooterScroll:v}=he;d||v||u&&c!==s||(d=p.value,v=x.value,u=g.value,c=f.value,l=y.value,r=S.value,d=d?d.$el:null,u=u?u.$el:null,v=v.$el,c=c?c.$el:null,l=l?l.$el:null,t=h.value,o=k.value,r=r.scrollTop,i=(a=v.scrollLeft)!==i,n=r!==n,he.inBodyScroll=!0,he.bodyScrollType=s,n&&(c&&"left"===s?((0,_dom.setScrollTop)(v,r),(0,_dom.setScrollTop)(l,r)):l&&"right"===s?((0,_dom.setScrollTop)(v,r),(0,_dom.setScrollTop)(c,r)):((0,_dom.setScrollTop)(c,r),(0,_dom.setScrollTop)(l,r)),(0,_dom.setScrollTop)(o,r),pe.triggerScrollYEvent(e)),i&&((0,_dom.setScrollLeft)(t,a),(0,_dom.setScrollLeft)(d,a),(0,_dom.setScrollLeft)(u,a),pe.triggerScrollXEvent(e)),pe.handleScrollEvent(e,n,i,r,a,{type:renderType,fixed:s}))};let w,$=0,I=0,L=0,H=!1;const B=(r,a,e,s,n)=>{var l=he["elemStore"],{scrollXLoad:t,scrollYLoad:o}=me,i=x.value,d=f.value,u=y.value;const c=d?d.$el:null,v=u?u.$el:null,p=i.$el;d=(0,_util.getRefElem)(l["main-body-ySpace"]),u=(0,_util.getRefElem)(l["main-body-xSpace"]);const g=(o&&d?d:p).clientHeight,m=(t&&u?u:p).clientWidth;i=H===a?Math.max(0,$-L):0;H=a,$=Math.abs(a?e-i:e+i),I=0,L=0,clearTimeout(w);const h=()=>{var e,l,t,o;L<$&&(e=_["fixedType"],{scrollTop:o,clientHeight:l,scrollHeight:t}=(I=Math.max(5,Math.floor(1.5*I)),(L+=I)>$&&(I-=L-$),p),o=o+I*(a?-1:1),p.scrollTop=o,c&&(c.scrollTop=o),v&&(v.scrollTop=o),(a?o<t-l:0<=o)&&(w=setTimeout(h,10)),pe.dispatchEvent("scroll",{type:renderType,fixed:e,scrollTop:p.scrollTop,scrollLeft:p.scrollLeft,scrollHeight:p.scrollHeight,scrollWidth:p.scrollWidth,bodyHeight:g,bodyWidth:m,isX:s,isY:n},r))};h()},A=e=>{var{deltaY:l,deltaX:t}=e,o=ge["highlightHoverRow"],r=me["scrollYLoad"],{lastScrollTop:a,lastScrollLeft:s}=he,n=_e.value,i=x.value,d=S.value,i=i.$el,u=l<0;(u?d.scrollTop<=0:d.scrollTop>=d.scrollHeight-d.clientHeight)||(d=d.scrollTop+l,t=(i=i.scrollLeft+t)!==s,(s=d!==a)&&(e.preventDefault(),he.lastScrollTop=d,he.lastScrollLeft=i,me.lastScrollTime=Date.now(),(n.isHover||o)&&pe.clearHoverRow(),B(e,u,l,t,s),r)&&pe.triggerScrollYEvent(e))};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=_["fixedType"],l=he["elemStore"],e=`${e||"main"}-body-`;l[e+"wrapper"]=S,l[e+"table"]=C,l[e+"colgroup"]=E,l[e+"list"]=O,l[e+"xSpace"]=R,l[e+"ySpace"]=D,l[e+"emptyBlock"]=M})}),(0,_vue.onBeforeUnmount)(()=>{clearTimeout(w)}),(0,_vue.onUnmounted)(()=>{var e=_["fixedType"],l=he["elemStore"],e=`${e||"main"}-body-`;l[e+"wrapper"]=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()=>{let{fixedColumn:e,fixedType:l,tableColumn:t}=_;var{keyboardConfig:o,showOverflow:r,spanMethod:a,mouseConfig:s}=ge;const{tableData:n,mergeList:i,scrollYLoad:d,isAllOverflow:u,isDragRowMove:c}=me;var v=he["visibleColumn"],p=T["slots"],g=_e.value,m=ye.value,h=U.value,x=j.value,f=fe.value,y=be.value;l&&(t=me.expandColumn||!(d||r&&u)||i.length||a||o&&x.isMerge?v:e);let w;r=p?p.empty:null,w=r?pe.callSlot(r,{$table:pe,$grid:pe.xegrid}):(o=(a=h.name?renderer.get(h.name):null)?a.renderTableEmpty||a.renderTableEmptyView||a.renderEmpty:null)?(0,_vn.getSlotVNs)(o(h,{$table:pe})):ge.emptyText||getI18n("vxe.table.emptyText"),x={onScroll:q};return"wheel"===m.mode&&(x.onWheel=A),(0,_vue.h)("div",Object.assign({ref:S,class:["vxe-table--body-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:b},x),[l?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:R,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:D,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:C,class:"vxe-table--body",xid:b,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:E},t.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),g.drag||y.drag?(0,_vue.h)(_vue.TransitionGroup,{ref:O,name:"vxe-body--row-list"+(c?"":"-disabled"),tag:"tbody"},{default:()=>X(l,n,t)}):(0,_vue.h)("tbody",{ref:O},X(l,n,t))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&f.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},f.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){pe.triggerCellAreaExtendMousedownEvent&&pe.triggerCellAreaExtendMousedownEvent(e,{$table:pe,fixed:l,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"})]):renderEmptyElement(pe),l?renderEmptyElement(pe):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:M},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},w)])])}}});
|
|
1
|
+
"use strict";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}}const{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body",lineOffsetSizes={mini:3,small:2,medium:1};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(_){const pe=(0,_vue.inject)("$xeTable",{}),l=(0,_vue.inject)("xesize",null),{xID:b,props:ge,context:T,reactData:me,internalData:he}=pe,{refTableBody:x,refTableHeader:p,refTableFooter:g,refTableLeftBody:f,refTableRightBody:y,refScrollXHandleElem:h,refScrollYHandleElem:k}=pe.getRefMaps(),{computeEditOpts:xe,computeMouseOpts:fe,computeAreaOpts:Se,computeSYOpts:ye,computeEmptyOpts:U,computeKeyboardOpts:j,computeTooltipOpts:Ce,computeRadioOpts:e,computeExpandOpts:P,computeTreeOpts:c,computeCheckboxOpts:we,computeCellOpts:Ee,computeValidOpts:Oe,computeRowOpts:_e,computeColumnOpts:be}=pe.getComputeMaps(),S=(0,_vue.ref)(),C=(0,_vue.ref)(),E=(0,_vue.ref)(),O=(0,_vue.ref)(),R=(0,_vue.ref)(),D=(0,_vue.ref)(),M=(0,_vue.ref)(),v=()=>{if(l){var e=l.value;if(e)return lineOffsetSizes[e]||0}return 0},Te=()=>{var e=ge["delayHover"],{lastScrollTime:l,_isResize:t}=me;return!!(t||l&&Date.now()<l+e)},m=(e,l)=>{let t=1;if(e){var o=c.value,r=e[o.children||o.childrenField];if(r&&pe.isTreeExpandByRow(e))for(let e=0;e<r.length;e++)t+=m(r[e],l)}return t},Re=e=>{var{row:l,column:t}=e,o=he["afterFullData"],r=ge["treeConfig"],a=c.value,{slots:t,treeNode:s}=t,n=he["fullAllDataRowIdData"],n=n[(0,_util.getRowid)(pe,l)];let i=0,d=0,u=[];return n&&(i=n.level,d=n._index,u=n.items),t&&t.line?pe.callSlot(t.line,e):(n=pe.eqRow(o[0],l),r&&s&&(a.showLine||a.line)?[(0,_vue.h)("div",{class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${n?1:((e,l,t)=>{let o=1;return t&&(o=m(l[t-1],e)),me.rowHeight*o-(t?1:12-v())})(e,u,d)}px`,left:i*a.indent+(i?2-v():0)+16+"px"}})])]:[])},z=(e,l,t,o,r,a,s,U,n,i,j,q)=>{var B=he["fullAllDataRowIdData"],{columnKey:A,height:d,showOverflow:F,cellClassName:N,cellStyle:u,align:Y,spanMethod:V,mouseConfig:K,editConfig:W,editRules:c,tooltipConfig:X}=ge,{tableData:P,overflowX:v,currentColumn:z,scrollXLoad:G,scrollYLoad:J,mergeList:p,editStore:g,isAllOverflow:Q,validErrorMaps:m}=me,Z=he["afterFullData"],h=Ee.value,x=Oe.value,ee=we.value,f=xe.value,y=Ce.value,le=_e.value,w=ye.value,te=be.value,oe=fe.value,_=Se.value["selectCellToRow"],{type:re,cellRender:ae,editRender:b,align:T,showOverflow:S,className:se,treeNode:ne,slots:ie}=n,h=h["verticalAlign"],g=g["actived"],w=w["rHeight"],C=le["height"],E=n.id,O=b||ae,O=O?renderer.get(O.name):null,de=O?O.tableCellClassName||O.cellClassName:null,R=O?O.tableCellStyle||O.cellStyle:"";const D=y.showAll;var y=pe.getColumnIndex(n),ue=pe.getVTColumnIndex(n),ce=(0,_utils.isEnableConf)(b);let M=t?n.fixed!==t:n.fixed&&v;v=_xeUtils.default.isUndefined(S)||_xeUtils.default.isNull(S)?F:S,S="ellipsis"===v;const $="title"===v,I=!0===v||"tooltip"===v;v=$||I||S;let ve;var L={},B=B[l],T=T||(O?O.tableCellAlign:"")||Y,O=m[l+":"+E],Y=c&&x.showMessage&&("default"===x.message?d||1<P.length:"inline"===x.message),m={colid:E};const H={$table:pe,$grid:pe.xegrid,isEdit:!1,seq:e,rowid:l,row:r,rowIndex:a,$rowIndex:s,_rowIndex:U,column:n,columnIndex:y,$columnIndex:i,_columnIndex:ue,fixed:t,type:renderType,isHidden:M,level:o,visibleData:Z,data:P,items:q};if(($||I||D||X)&&(L.onMouseenter=e=>{Te()||($?(0,_dom.updateCellTitle)(e.currentTarget,n):(I||D)&&pe.triggerBodyTooltipEvent(e,H),pe.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},H),e))}),(I||D||X)&&(L.onMouseleave=e=>{Te()||((I||D)&&pe.handleTargetLeaveEvent(e),pe.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},H),e))}),(ee.range||K)&&(L.onMousedown=e=>{pe.triggerCellMousedownEvent(e,H)}),L.onClick=e=>{pe.triggerCellClickEvent(e,H)},L.onDblclick=e=>{pe.triggerCellDblclickEvent(e,H)},p.length){c=(0,_util.mergeBodyMethod)(p,U,ue);if(c){var{rowspan:d,colspan:e}=c;if(!d||!e)return null;1<d&&(m.rowspan=d),1<e&&(m.colspan=e)}}else if(V){var{rowspan:l=1,colspan:a=1}=V(H)||{};if(!l||!a)return null;1<l&&(m.rowspan=l),1<a&&(m.colspan=a)}!(M=M&&p&&(1<m.colspan||1<m.rowspan)?!1:M)&&W&&(b||ae)&&(f.showStatus||f.showUpdateStatus)&&(ve=pe.isUpdateByRow(r,n.field));s=[];M&&F&&Q?s.push((0,_vue.h)("div",{class:["vxe-cell",{"c--title":$,"c--tooltip":I,"c--ellipsis":S}],style:{maxHeight:v&&(w||C)?`${w||C}px`:""}})):(s.push(...Re(H),(0,_vue.h)("div",{class:["vxe-cell",{"c--title":$,"c--tooltip":I,"c--ellipsis":S}],style:{maxHeight:v&&(w||C)?`${w||C}px`:""},title:$?pe.getCellLabel(r,n):null},n.renderCell(H))),Y&&O&&(y=O.rule,t=ie?ie.valid:null,o=Object.assign(Object.assign(Object.assign({},H),O),{rule:O}),s.push((0,_vue.h)("div",{class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(x.className,o)],style:y&&y.maxWidth?{width:y.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(x.theme||"normal")},[t?pe.callSlot(t,o):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},O.content)]])]))));let k="";return v&&(w||C)?k=`${w||C}px`:!G&&!J||v||(k=`${B.height||24}px`),K&&oe.area&&_&&((i||!0!==_)&&_!==n.field||s.push((0,_vue.h)("div",{class:"vxe-cell--area-status"}))),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",E,{["col--"+T]:T,["col--vertical-"+h]:h,["col--"+re]:re,"col--last":i===j.length-1,"col--tree-node":ne,"col--edit":ce,"col--ellipsis":v,"fixed--hidden":M,"col--dirty":ve,"col--active":W&&ce&&g.row===r&&(g.column===n||"row"===f.mode),"col--valid-error":!!O,"col--current":z===n},(0,_dom.getPropClass)(de,H),(0,_dom.getPropClass)(se,H),(0,_dom.getPropClass)(N,H)],key:A||te.useKey||le.useKey||te.drag?E:i},m),{style:Object.assign({height:k},_xeUtils.default.isFunction(R)?R(H):R,_xeUtils.default.isFunction(u)?u(H):u)}),L),s)},X=(x,f,y)=>{const{stripe:w,rowKey:_,highlightHoverRow:b,rowClassName:T,rowStyle:S,showOverflow:C,editConfig:E,treeConfig:O}=ge,{hasFixedColumn:R,treeExpandedMaps:D,scrollYLoad:M,rowExpandedMaps:$,expandColumn:I,selectRadioRow:L,pendingRowMaps:H,pendingRowList:k,isDragColMove:U}=me,j=he["fullAllDataRowIdData"],q=we.value,B=e.value,A=c.value,F=xe.value,N=_e.value,Y=be.value,V=A["transform"],K=A.children||A.childrenField,W=[];return f.forEach((t,o)=>{var e={};let r;r=pe.getRowIndex(t),(N.isHover||b)&&(e.onMouseenter=e=>{Te()||pe.triggerHoverEvent(e,{row:t,rowIndex:r})},e.onMouseleave=()=>{Te()||pe.clearHoverRow()});const a=(0,_util.getRowid)(pe,t);var l=j[a];let s=0,n=-1,i=0;l&&(s=l.level,n=l.seq,i=l._index);var l={$table:pe,seq:n,rowid:a,fixed:x,type:renderType,level:s,row:t,rowIndex:r,$rowIndex:o,_rowIndex:i},d=I&&!!$[a];let u=!1,c=[],v=!1;E&&(v=pe.isInsertByRow(t)),!O||M||V||(c=t[K],u=c&&0<c.length&&!!D[a]),N.drag&&!s&&(e.onDragstart=pe.handleRowDragDragstartEvent,e.onDragend=pe.handleRowDragDragendEvent,e.onDragover=pe.handleRowDragDragoverEvent);var p,g,m=["vxe-body--row",O?"row--level-"+s:"",{"row--stripe":w&&(pe.getVTRowIndex(t)+1)%2==0,"is--new":v,"is--expand-row":d,"is--expand-tree":u,"row--new":v&&(F.showStatus||F.showInsertStatus),"row--radio":B.highlight&&pe.eqRow(L,t),"row--checked":q.highlight&&pe.isCheckedByCheckboxRow(t),"row--pending":k.length&&!!H[a]},(0,_dom.getPropClass)(T,l)];const h=y.map((e,l)=>z(n,a,x,s,t,r,o,i,e,l,y,f));W.push(Y.drag?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(U?"":"-disabled"),tag:"tr",class:m,rowid:a,style:S?_xeUtils.default.isFunction(S)?S(l):S:null,key:_||N.useKey||N.drag||O?a:o},e),{default:()=>h}):(0,_vue.h)("tr",Object.assign({class:m,rowid:a,style:S?_xeUtils.default.isFunction(S)?S(l):S:null,key:_||N.useKey||N.drag||O?a:o},e),h)),d&&({height:m,padding:l}=P.value,d={},p=(m&&(d.height=m+"px"),O&&(d.paddingLeft=s*A.indent+30+"px"),I)["showOverflow"],p=_xeUtils.default.isUndefined(p)||_xeUtils.default.isNull(p)?C:p,g={$table:pe,seq:n,column:I,fixed:x,type:renderType,level:s,row:t,rowIndex:r,$rowIndex:o,_rowIndex:i},W.push((0,_vue.h)("tr",Object.assign({class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+a,style:S?_xeUtils.default.isFunction(S)?S(g):S:null},e),[(0,_vue.h)("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":x&&!R,"col--ellipsis":p},colspan:y.length},[(0,_vue.h)("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":m},style:d},[I.renderData(g)])])]))),u&&W.push(...X(x,c,y))}),W},q=e=>{var l,t,o,r,a,s=_["fixedType"],{lastScrollTop:n,lastScrollLeft:i,inVirtualScroll:d,inBodyScroll:u,bodyScrollType:c,inFooterScroll:v}=he;d||v||u&&c!==s||(d=p.value,v=x.value,u=g.value,c=f.value,l=y.value,r=S.value,d=d?d.$el:null,u=u?u.$el:null,(v=v.$el)&&(c=c?c.$el:null,l=l?l.$el:null,t=h.value,o=k.value,r=r.scrollTop,i=(a=v.scrollLeft)!==i,n=r!==n,he.inBodyScroll=!0,he.bodyScrollType=s,n&&(c&&"left"===s?((0,_dom.setScrollTop)(v,r),(0,_dom.setScrollTop)(l,r)):l&&"right"===s?((0,_dom.setScrollTop)(v,r),(0,_dom.setScrollTop)(c,r)):((0,_dom.setScrollTop)(c,r),(0,_dom.setScrollTop)(l,r)),(0,_dom.setScrollTop)(o,r),pe.triggerScrollYEvent(e)),i&&((0,_dom.setScrollLeft)(t,a),(0,_dom.setScrollLeft)(d,a),(0,_dom.setScrollLeft)(u,a),pe.triggerScrollXEvent(e)),pe.handleScrollEvent(e,n,i,r,a,{type:renderType,fixed:s})))};let w,$=0,I=0,L=0,H=!1;const B=(r,a,e,s,n)=>{var l=he["elemStore"],{scrollXLoad:t,scrollYLoad:o}=me,i=x.value,d=f.value,u=y.value;const c=d?d.$el:null,v=u?u.$el:null,p=i.$el;d=(0,_util.getRefElem)(l["main-body-ySpace"]),u=(0,_util.getRefElem)(l["main-body-xSpace"]);const g=(o&&d?d:p).clientHeight,m=(t&&u?u:p).clientWidth;i=H===a?Math.max(0,$-L):0;H=a,$=Math.abs(a?e-i:e+i),I=0,L=0,clearTimeout(w);const h=()=>{var e,l,t,o;L<$&&(e=_["fixedType"],{scrollTop:o,clientHeight:l,scrollHeight:t}=(I=Math.max(5,Math.floor(1.5*I)),(L+=I)>$&&(I-=L-$),p),o=o+I*(a?-1:1),p.scrollTop=o,c&&(c.scrollTop=o),v&&(v.scrollTop=o),(a?o<t-l:0<=o)&&(w=setTimeout(h,10)),pe.dispatchEvent("scroll",{type:renderType,fixed:e,scrollTop:p.scrollTop,scrollLeft:p.scrollLeft,scrollHeight:p.scrollHeight,scrollWidth:p.scrollWidth,bodyHeight:g,bodyWidth:m,isX:s,isY:n},r))};h()},A=e=>{var{deltaY:l,deltaX:t}=e,o=ge["highlightHoverRow"],r=me["scrollYLoad"],{lastScrollTop:a,lastScrollLeft:s}=he,n=_e.value,i=x.value,d=S.value,i=i.$el,u=l<0;(u?d.scrollTop<=0:d.scrollTop>=d.scrollHeight-d.clientHeight)||(d=d.scrollTop+l,t=(i=i.scrollLeft+t)!==s,(s=d!==a)&&(e.preventDefault(),he.lastScrollTop=d,he.lastScrollLeft=i,me.lastScrollTime=Date.now(),(n.isHover||o)&&pe.clearHoverRow(),B(e,u,l,t,s),r)&&pe.triggerScrollYEvent(e))};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=_["fixedType"],l=he["elemStore"],e=`${e||"main"}-body-`;l[e+"wrapper"]=S,l[e+"table"]=C,l[e+"colgroup"]=E,l[e+"list"]=O,l[e+"xSpace"]=R,l[e+"ySpace"]=D,l[e+"emptyBlock"]=M})}),(0,_vue.onBeforeUnmount)(()=>{clearTimeout(w)}),(0,_vue.onUnmounted)(()=>{var e=_["fixedType"],l=he["elemStore"],e=`${e||"main"}-body-`;l[e+"wrapper"]=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()=>{let{fixedColumn:e,fixedType:l,tableColumn:t}=_;var{keyboardConfig:o,showOverflow:r,spanMethod:a,mouseConfig:s}=ge;const{tableData:n,mergeList:i,scrollYLoad:d,isAllOverflow:u,isDragRowMove:c}=me;var v=he["visibleColumn"],p=T["slots"],g=_e.value,m=ye.value,h=U.value,x=j.value,f=fe.value,y=be.value;l&&(t=me.expandColumn||!(d||r&&u)||i.length||a||o&&x.isMerge?v:e);let w;r=p?p.empty:null,w=r?pe.callSlot(r,{$table:pe,$grid:pe.xegrid}):(o=(a=h.name?renderer.get(h.name):null)?a.renderTableEmpty||a.renderTableEmptyView||a.renderEmpty:null)?(0,_vn.getSlotVNs)(o(h,{$table:pe})):ge.emptyText||getI18n("vxe.table.emptyText"),x={onScroll:q};return"wheel"===m.mode&&(x.onWheel=A),(0,_vue.h)("div",Object.assign({ref:S,class:["vxe-table--body-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:b},x),[l?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:R,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:D,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:C,class:"vxe-table--body",xid:b,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:E},t.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),g.drag||y.drag?(0,_vue.h)(_vue.TransitionGroup,{ref:O,name:"vxe-body--row-list"+(c?"":"-disabled"),tag:"tbody"},{default:()=>X(l,n,t)}):(0,_vue.h)("tbody",{ref:O},X(l,n,t))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&f.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},f.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){pe.triggerCellAreaExtendMousedownEvent&&pe.triggerCellAreaExtendMousedownEvent(e,{$table:pe,fixed:l,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"})]):renderEmptyElement(pe),l?renderEmptyElement(pe):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:M},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},w)])])}}});
|
|
@@ -25,6 +25,9 @@ class ColumnInfo {
|
|
|
25
25
|
const $xeGrid = $xeTable.xegrid;
|
|
26
26
|
const formatter = _vm.formatter;
|
|
27
27
|
const visible = _xeUtils.default.isBoolean(_vm.visible) ? _vm.visible : true;
|
|
28
|
+
const {
|
|
29
|
+
props: tableProps
|
|
30
|
+
} = $xeTable;
|
|
28
31
|
if (process.env.NODE_ENV === 'development') {
|
|
29
32
|
const types = ['seq', 'checkbox', 'radio', 'expand', 'html'];
|
|
30
33
|
if (_vm.type && types.indexOf(_vm.type) === -1) {
|
|
@@ -40,9 +43,6 @@ class ColumnInfo {
|
|
|
40
43
|
(0, _log.warnLog)('vxe.error.errConflicts', ['column.cell-render', 'column.edit-render']);
|
|
41
44
|
}
|
|
42
45
|
if (_vm.type === 'expand') {
|
|
43
|
-
const {
|
|
44
|
-
props: tableProps
|
|
45
|
-
} = $xeTable;
|
|
46
46
|
const {
|
|
47
47
|
treeConfig
|
|
48
48
|
} = tableProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";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}}const{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;"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=
|
|
1
|
+
"use strict";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}}const{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,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
|
@@ -102,7 +102,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
102
102
|
const tableBody = refTableBody.value;
|
|
103
103
|
const headerElem = tableHeader ? tableHeader.$el : null;
|
|
104
104
|
const footerElem = refElem.value;
|
|
105
|
-
|
|
105
|
+
if (!footerElem) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
const bodyElem = tableBody ? tableBody.$el : null;
|
|
109
|
+
if (!bodyElem) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
106
112
|
const xHandleEl = refScrollXHandleElem.value;
|
|
107
113
|
const scrollLeft = footerElem.scrollLeft;
|
|
108
114
|
const isRollX = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";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}}const renderer=_ui.VxeUI["renderer"],renderType="footer";function mergeFooterMethod(l,o,t){for(let e=0;e<l.length;e++){var{row:r,col:n,rowspan:a,colspan:
|
|
1
|
+
"use strict";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}}const renderer=_ui.VxeUI["renderer"],renderType="footer";function mergeFooterMethod(l,o,t){for(let e=0;e<l.length;e++){var{row:r,col:n,rowspan:a,colspan:u}=l[e];if(-1<n&&-1<r&&a&&u){if(r===o&&n===t)return{rowspan:a,colspan:u};if(r<=o&&o<r+a&&n<=t&&t<n+u)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(d){const A=(0,_vue.inject)("$xeTable",{}),{xID:c,props:f,reactData:p,internalData:v}=A,{refTableHeader:u,refTableBody:i,refScrollXHandleElem:s}=A.getRefMaps(),{computeTooltipOpts:l,computeColumnOpts:x}=A.getComputeMaps(),m=(0,_vue.ref)(),g=(0,_vue.ref)(),_=(0,_vue.ref)(),y=(0,_vue.ref)(),b=(0,_vue.ref)(),h=e=>{var l,o,t,r,{inVirtualScroll:n,inBodyScroll:a}=v;n||a||(n=d["fixedType"],a=u.value,l=i.value,a=a?a.$el:null,(t=m.value)&&(l=l?l.$el:null)&&(o=s.value,t=t.scrollLeft,r=l.scrollTop,v.inFooterScroll=!0,(0,_dom.setScrollLeft)(o,t),(0,_dom.setScrollLeft)(a,t),(0,_dom.setScrollLeft)(l,t),A.triggerScrollXEvent(e),A.handleScrollEvent(e,!1,!0,r,t,{type:renderType,fixed:n})))},w=(g,_,y,b,h)=>{const w=d["fixedType"],{footerCellClassName:T,footerCellStyle:C,footerAlign:S,footerSpanMethod:F,align:I,columnKey:O,showFooterOverflow:M}=f,{scrollXLoad:$,overflowX:j,scrollbarWidth:e,currentColumn:D,mergeFooterList:L}=p,U=l.value,k=x.value;return g.map((l,e)=>{var{type:o,showFooterOverflow:t,footerAlign:r,align:n,footerClassName:a,editRender:u,cellRender:i}=l,u=u||i,i=u?renderer.get(u.name):null;const s=U.showAll;u=l.children&&l.children.length,u=w?l.fixed!==w&&!u:l.fixed&&j,t=_xeUtils.default.eqNull(t)?M:t,r=r||(i?i.tableFooterCellAlign:"")||S||n||(i?i.tableCellAlign:"")||I;let c="ellipsis"===t;const d="title"===t,f=!0===t||"tooltip"===t;let p=d||f||c;var n={colid:l.id},i={},t=A.getColumnIndex(l),v=A.getVTColumnIndex(l),x=v;const m={$table:A,$grid:A.xegrid,row:y,rowIndex:h,_rowIndex:h,$rowIndex:b,column:l,columnIndex:t,$columnIndex:e,_columnIndex:v,itemIndex:x,items:y,fixed:w,type:renderType,data:_};if($&&!p&&(c=p=!0),(d||f||s)&&(i.onMouseenter=e=>{d?(0,_dom.updateCellTitle)(e.currentTarget,l):(f||s)&&A.triggerFooterTooltipEvent(e,m)}),(f||s)&&(i.onMouseleave=e=>{(f||s)&&A.handleTargetLeaveEvent(e)}),i.onClick=e=>{A.dispatchEvent("footer-cell-click",Object.assign({cell:e.currentTarget},m),e)},i.onDblclick=e=>{A.dispatchEvent("footer-cell-dblclick",Object.assign({cell:e.currentTarget},m),e)},L.length){t=mergeFooterMethod(L,h,v);if(t){var{rowspan:x,colspan:v}=t;if(!x||!v)return null;1<x&&(n.rowspan=x),1<v&&(n.colspan=v)}}else if(F){var{rowspan:t=1,colspan:x=1}=F(m)||{};if(!t||!x)return null;1<t&&(n.rowspan=t),1<x&&(n.colspan=x)}return(0,_vue.h)("td",Object.assign(Object.assign(Object.assign(Object.assign({class:["vxe-footer--column",l.id,{["col--"+r]:r,["col--"+o]:o,"col--last":e===g.length-1,"fixed--hidden":u,"col--ellipsis":p,"col--current":D===l},(0,_dom.getPropClass)(a,m),(0,_dom.getPropClass)(T,m)]},n),{style:C?_xeUtils.default.isFunction(C)?C(m):C:null}),i),{key:O||k.useKey||k.drag?l.id:e}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":d,"c--tooltip":f,"c--ellipsis":c}]},l.renderFooter(m))])}).concat(e?[(0,_vue.h)("td",{key:"gr"+b,class:"vxe-footer--gutter col--gutter"})]:[])};return(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=d["fixedType"],l=v["elemStore"],e=`${e||"main"}-footer-`;l[e+"wrapper"]=m,l[e+"table"]=g,l[e+"colgroup"]=_,l[e+"list"]=y,l[e+"xSpace"]=b})}),(0,_vue.onUnmounted)(()=>{var e=d["fixedType"],l=v["elemStore"],e=`${e||"main"}-footer-`;l[e+"wrapper"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null}),()=>{let{fixedType:e,fixedColumn:l,tableColumn:o,footerTableData:t}=d;var{footerSpanMethod:r,showFooterOverflow:n}=f,a=v["visibleColumn"],{scrollXLoad:u,scrollbarWidth:i,mergeFooterList:s}=p,u=(e&&(o=p.expandColumn||!u&&!n||s.length&&r?a:l),{});return e||(u.onScroll=h),(0,_vue.h)("div",Object.assign({ref:m,class:["vxe-table--footer-wrapper",e?`fixed-${e}--wrapper`:"body--wrapper"],xid:c},u),[e?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:b,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:g,class:"vxe-table--footer",xid:c,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:_},o.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l})).concat(i?[(0,_vue.h)("col",{name:"col_gutter"})]:[])),(0,_vue.h)("tfoot",{ref:y},(r=>{const{fixedType:n,tableColumn:a}=d,{footerRowClassName:u,footerRowStyle:i}=f,s=p["isDragColMove"],c=x.value;return r.map((e,l)=>{const o=l;var t={$table:A,row:e,_rowIndex:o,$rowIndex:l,fixed:n,type:renderType};return c.drag?(0,_vue.h)(_vue.TransitionGroup,{name:"vxe-header--col-list"+(s?"":"-disabled"),tag:"tr",class:["vxe-footer--row",u?_xeUtils.default.isFunction(u)?u(t):u:""],style:i?_xeUtils.default.isFunction(i)?i(t):i:null},{default:()=>w(a,r,e,l,o)}):(0,_vue.h)("tr",{class:["vxe-footer--row",u?_xeUtils.default.isFunction(u)?u(t):u:""],style:i?_xeUtils.default.isFunction(i)?i(t):i:null},w(a,r,e,l,o))})})(t))])])}}});
|
package/lib/table/src/table.js
CHANGED
|
@@ -2818,7 +2818,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2818
2818
|
const loadTableData = datas => {
|
|
2819
2819
|
const {
|
|
2820
2820
|
keepSource,
|
|
2821
|
-
treeConfig
|
|
2821
|
+
treeConfig,
|
|
2822
|
+
showOverflow
|
|
2822
2823
|
} = props;
|
|
2823
2824
|
const {
|
|
2824
2825
|
editStore,
|
|
@@ -2894,8 +2895,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2894
2895
|
if (keepSource) {
|
|
2895
2896
|
tablePrivateMethods.cacheSourceMap(fullData);
|
|
2896
2897
|
}
|
|
2897
|
-
if (
|
|
2898
|
-
if (
|
|
2898
|
+
if (sYLoad) {
|
|
2899
|
+
if (showOverflow) {
|
|
2900
|
+
const errColumn = internalData.tableFullColumn.find(column => column.showOverflow === false);
|
|
2901
|
+
if (errColumn) {
|
|
2902
|
+
(0, _log.errLog)('vxe.error.errProp', [`column[field="${errColumn.field}"].show-overflow=false`, 'show-overflow=true']);
|
|
2903
|
+
}
|
|
2904
|
+
}
|
|
2905
|
+
if (process.env.NODE_ENV === 'development') {
|
|
2899
2906
|
if (!(props.height || props.maxHeight)) {
|
|
2900
2907
|
(0, _log.errLog)('vxe.error.reqProp', ['table.height | table.max-height | table.scroll-y={enabled: false}']);
|
|
2901
2908
|
}
|
|
@@ -4084,7 +4091,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4084
4091
|
editStore
|
|
4085
4092
|
} = reactData;
|
|
4086
4093
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
4087
|
-
return editStore.insertMaps[rowid];
|
|
4094
|
+
return !!editStore.insertMaps[rowid];
|
|
4088
4095
|
},
|
|
4089
4096
|
/**
|
|
4090
4097
|
* 删除所有新增的临时数据
|
|
@@ -5396,7 +5403,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5396
5403
|
} = treeOpts;
|
|
5397
5404
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
5398
5405
|
if (lazy && row[hasChildField] && !treeExpandLazyLoadedMaps[rowid]) {
|
|
5399
|
-
tableMethods.clearTreeExpandLoaded(row).then(() => {
|
|
5406
|
+
return tableMethods.clearTreeExpandLoaded(row).then(() => {
|
|
5400
5407
|
return handleAsyncTreeExpandChilds(row);
|
|
5401
5408
|
}).then(() => {
|
|
5402
5409
|
if (transform) {
|
|
@@ -8103,6 +8110,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8103
8110
|
const trEl = evnt.currentTarget;
|
|
8104
8111
|
const rowid = trEl.getAttribute('rowid');
|
|
8105
8112
|
const row = $xeTable.getRowById(rowid);
|
|
8113
|
+
console.log(rowid);
|
|
8106
8114
|
if (row) {
|
|
8107
8115
|
evnt.preventDefault();
|
|
8108
8116
|
evnt.preventDefault();
|
|
@@ -8241,6 +8249,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8241
8249
|
oldIndex: oafIndex
|
|
8242
8250
|
}
|
|
8243
8251
|
}, evnt);
|
|
8252
|
+
$xeTable.saveCustomStore('update:sort');
|
|
8244
8253
|
}).catch(() => {});
|
|
8245
8254
|
}
|
|
8246
8255
|
}
|