vxe-table 4.2.2 → 4.2.4-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/filter/src/hook.js +2 -1
- package/es/footer/src/footer.js +5 -5
- package/es/header/src/header.js +6 -6
- package/es/header/style.css +1 -5
- package/es/input/src/input.js +138 -33
- package/es/input/style.css +42 -13
- package/es/keyboard/src/hook.js +5 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/src/body.js +15 -11
- package/es/table/src/table.js +58 -48
- package/es/table/src/util.js +2 -2
- package/es/tools/log.js +1 -1
- package/es/v-x-e-table/index.js +1 -1
- package/helper/vetur/attributes.json +31 -19
- package/helper/vetur/tags.json +3 -0
- package/lib/filter/src/hook.js +2 -1
- package/lib/filter/src/hook.min.js +1 -1
- package/lib/footer/src/footer.js +5 -5
- package/lib/footer/src/footer.min.js +1 -1
- package/lib/header/src/header.js +6 -6
- package/lib/header/src/header.min.js +1 -1
- package/lib/header/style/style.css +1 -5
- package/lib/header/style/style.min.css +1 -1
- package/lib/index.umd.js +345 -121
- package/lib/index.umd.min.js +1 -1
- package/lib/input/src/input.js +180 -35
- package/lib/input/src/input.min.js +1 -1
- package/lib/input/style/style.css +42 -13
- package/lib/input/style/style.min.css +1 -1
- package/lib/keyboard/src/hook.js +7 -1
- package/lib/keyboard/src/hook.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/src/body.js +15 -11
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/table.js +65 -56
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +1 -1
- package/lib/table/src/util.min.js +1 -1
- package/lib/tools/log.js +1 -1
- package/lib/tools/log.min.js +1 -1
- package/lib/v-x-e-table/index.js +1 -1
- package/lib/v-x-e-table/index.min.js +1 -1
- package/package.json +1 -1
- package/packages/filter/src/hook.ts +3 -2
- package/packages/footer/src/footer.ts +5 -5
- package/packages/header/src/header.ts +6 -6
- package/packages/input/src/input.ts +142 -34
- package/packages/keyboard/src/hook.ts +6 -2
- package/packages/table/src/body.ts +15 -11
- package/packages/table/src/table.ts +57 -46
- package/packages/table/src/util.ts +2 -2
- package/packages/tools/dom.ts +1 -1
- package/styles/header.scss +1 -1
- package/styles/input.scss +16 -4
- package/types/input.d.ts +11 -0
- package/types/table.d.ts +3 -1
package/lib/table/src/body.js
CHANGED
|
@@ -655,8 +655,10 @@ var _default = (0, _vue.defineComponent)({
|
|
|
655
655
|
var bodyElem = tableBody.$el;
|
|
656
656
|
var leftElem = leftBody ? leftBody.$el : null;
|
|
657
657
|
var rightElem = rightBody ? rightBody.$el : null;
|
|
658
|
-
var
|
|
659
|
-
var
|
|
658
|
+
var bodyYRef = elemStore['main-body-ySpace'];
|
|
659
|
+
var bodyYElem = bodyYRef ? bodyYRef.value : null;
|
|
660
|
+
var bodyXRef = elemStore['main-body-xSpace'];
|
|
661
|
+
var bodyXElem = bodyXRef ? bodyXRef.value : null;
|
|
660
662
|
var bodyHeight = scrollYLoad && bodyYElem ? bodyYElem.clientHeight : bodyElem.clientHeight;
|
|
661
663
|
var bodyWidth = scrollXLoad && bodyXElem ? bodyXElem.clientWidth : bodyElem.clientWidth;
|
|
662
664
|
var scrollTop = scrollBodyElem.scrollTop;
|
|
@@ -739,8 +741,10 @@ var _default = (0, _vue.defineComponent)({
|
|
|
739
741
|
var leftElem = leftBody ? leftBody.$el : null;
|
|
740
742
|
var rightElem = rightBody ? rightBody.$el : null;
|
|
741
743
|
var bodyElem = tableBody.$el;
|
|
742
|
-
var
|
|
743
|
-
var
|
|
744
|
+
var bodyYRef = elemStore['main-body-ySpace'];
|
|
745
|
+
var bodyYElem = bodyYRef ? bodyYRef.value : null;
|
|
746
|
+
var bodyXRef = elemStore['main-body-xSpace'];
|
|
747
|
+
var bodyXElem = bodyXRef ? bodyXRef.value : null;
|
|
744
748
|
var bodyHeight = scrollYLoad && bodyYElem ? bodyYElem.clientHeight : bodyElem.clientHeight;
|
|
745
749
|
var bodyWidth = scrollXLoad && bodyXElem ? bodyXElem.clientWidth : bodyElem.clientWidth;
|
|
746
750
|
var remainSize = isPrevWheelTop === isTopWheel ? Math.max(0, wheelYSize - wheelYTotal) : 0;
|
|
@@ -848,13 +852,13 @@ var _default = (0, _vue.defineComponent)({
|
|
|
848
852
|
var elemStore = tableInternalData.elemStore;
|
|
849
853
|
var prefix = (fixedType || 'main') + "-body-";
|
|
850
854
|
var el = refElem.value;
|
|
851
|
-
elemStore[prefix + "wrapper"] = refElem
|
|
852
|
-
elemStore[prefix + "table"] = refBodyTable
|
|
853
|
-
elemStore[prefix + "colgroup"] = refBodyColgroup
|
|
854
|
-
elemStore[prefix + "list"] = refBodyTBody
|
|
855
|
-
elemStore[prefix + "xSpace"] = refBodyXSpace
|
|
856
|
-
elemStore[prefix + "ySpace"] = refBodyYSpace
|
|
857
|
-
elemStore[prefix + "emptyBlock"] = refBodyEmptyBlock
|
|
855
|
+
elemStore[prefix + "wrapper"] = refElem;
|
|
856
|
+
elemStore[prefix + "table"] = refBodyTable;
|
|
857
|
+
elemStore[prefix + "colgroup"] = refBodyColgroup;
|
|
858
|
+
elemStore[prefix + "list"] = refBodyTBody;
|
|
859
|
+
elemStore[prefix + "xSpace"] = refBodyXSpace;
|
|
860
|
+
elemStore[prefix + "ySpace"] = refBodyYSpace;
|
|
861
|
+
elemStore[prefix + "emptyBlock"] = refBodyEmptyBlock;
|
|
858
862
|
el.onscroll = scrollEvent;
|
|
859
863
|
el._onscroll = scrollEvent;
|
|
860
864
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_vXETable=require("../../v-x-e-table"),_util=require("./util"),_dom=require("../../tools/dom"),_utils=require("../../tools/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var l,t=1,o=arguments.length;t<o;t++)for(var r in l=arguments[t])Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r]);return e}).apply(this,arguments)},__spreadArray=function(e,l){for(var t=0,o=l.length,r=e.length;t<o;t++,r++)e[r]=l[t];return e},renderType="body",lineOffsetSizes={mini:3,small:2,medium:1},_default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup:function(_){function u(){if(l){var e=l.value;if(e)return lineOffsetSizes[e]||0}return 0}function c(e,l){var t=1;if(!e)return t;var o=e[B.value.children];if(ae.isTreeExpandByRow(e))for(var r=0;r<o.length;r++)t+=c(o[r],l);return t}function re(e){var l=e.row,t=e.column,o=ne.treeConfig,r=B.value,a=t.slots,n=t.treeNode,i=se.fullAllDataRowIdData[(0,_util.getRowid)(ae,l)],s=0,t=0,l=[];return i&&(s=i.level,t=i._index,l=i.items),a&&a.line?ae.callSlot(a.line,e):o&&n&&r.line?[(0,_vue.h)("div",{class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:(n=e,e=l,l=1,(t=t)&&(l=c(e[t-1],n)),ie.rowHeight*l-(t?1:12-u())+"px"),left:s*r.indent+(s?2-u():0)+16+"px"}})])]:[]}function q(d,v,p){var f=ne.stripe,h=ne.rowKey,x=ne.highlightHoverRow,g=ne.rowClassName,_=ne.rowStyle,m=ne.showOverflow,y=ne.editConfig,w=ne.treeConfig,b=ie.hasFixedColumn,T=ie.treeExpandeds,S=ie.scrollYLoad,C=ie.editStore,L=ie.rowExpandeds,O=ie.expandColumn,R=ie.selectRow,H=se.fullAllDataRowIdData,E=ve.value,I=t.value,D=B.value,M=ue.value,$=fe.value,k=D.transform,U=[];return v.forEach(function(t,o){var e={},r=ae.getRowIndex(t);($.isHover||x)&&(e.onMouseenter=function(e){xe()||ae.triggerHoverEvent(e,{row:t,rowIndex:r})},e.onMouseleave=function(){xe()||ae.clearHoverRow()});var a=(0,_util.getRowid)(ae,t),l=H[a],n=0,i=-1,s=0;l&&(n=l.level,i=l.seq,s=l._index);var u,c={$table:ae,seq:i,rowid:a,fixed:d,type:renderType,level:n,row:t,rowIndex:r,$rowIndex:o,_rowIndex:s},l=!1;y&&(l=-1<ae.findRowIndexOf(C.insertList,t)),U.push((0,_vue.h)("tr",__assign({class:["vxe-body--row",{"row--stripe":f&&(ae.getVTRowIndex(t)+1)%2==0,"is--new":l,"row--new":l&&(M.showStatus||M.showInsertStatus),"row--radio":I.highlight&&R===t,"row--checked":E.highlight&&ae.isCheckedByCheckboxRow(t)},g?_xeUtils.default.isFunction(g)?g(c):g:""],rowid:a,style:_?_xeUtils.default.isFunction(_)?_(c):_:null,key:h||$.useKey||w?a:o},e),p.map(function(e,l){return A(i,a,d,n,t,r,o,s,e,l,p,v)}))),O&&L.length&&-1<ae.findRowIndexOf(L,t)&&(l=void 0,w&&(l={paddingLeft:n*D.indent+30+"px"}),u=O.showOverflow,c=_xeUtils.default.isUndefined(u)||_xeUtils.default.isNull(u)?m:u,u={$table:ae,seq:i,column:O,fixed:d,type:renderType,level:n,row:t,rowIndex:r,$rowIndex:o,_rowIndex:s},U.push((0,_vue.h)("tr",__assign({class:"vxe-body--expanded-row",key:"expand_"+a,style:_?_xeUtils.default.isFunction(_)?_(u):_:null},e),[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":d&&!b,"col--ellipsis":c}],colspan:p.length},[(0,_vue.h)("div",{class:"vxe-body--expanded-cell",style:l},[O.renderData(u)])])]))),!w||S||k||!T.length||(u=t[D.children])&&u.length&&-1<ae.findRowIndexOf(T,t)&&U.push.apply(U,q(d,u,p))}),U}function m(e,l,t,o){(t||o)&&(t&&((0,_util.removeScrollListener)(t),t.scrollTop=l),o&&((0,_util.removeScrollListener)(o),o.scrollTop=l),clearTimeout(r),r=setTimeout(function(){(0,_util.restoreScrollListener)(t),(0,_util.restoreScrollListener)(o)},300))}function o(e){var l=_.fixedType,t=ne.highlightHoverRow,o=ie.scrollXLoad,r=ie.scrollYLoad,a=se.elemStore,n=se.lastScrollTop,i=se.lastScrollLeft,s=fe.value,u=b.value,c=T.value,d=S.value,v=C.value,p=L.value,f=O.value,h=I.value,x=u?u.$el:null,g=d?d.$el:null,u=c.$el,d=v?v.$el:null,c=p?p.$el:null,v=a["main-body-ySpace"],p=a["main-body-xSpace"],a=(r&&v?v:u).clientHeight,v=(o&&p?p:u).clientWidth,p=h.scrollTop,i=(h=u.scrollLeft)!==i,n=p!==n;se.lastScrollTop=p,se.lastScrollLeft=h,se.lastScrollTime=Date.now(),(s.isHover||t)&&ae.clearHoverRow(),d&&"left"===l?(p=d.scrollTop,m(0,p,u,c)):c&&"right"===l?(p=c.scrollTop,m(0,p,u,d)):(i&&(x&&(x.scrollLeft=u.scrollLeft),g&&(g.scrollLeft=u.scrollLeft)),(d||c)&&(ae.checkScrolling(),n&&m(0,p,d,c))),o&&i&&ae.triggerScrollXEvent(e),r&&n&&ae.triggerScrollYEvent(e),i&&f&&f.reactData.visible&&f.updatePlacement(),ae.dispatchEvent("scroll",{type:renderType,fixed:l,scrollTop:p,scrollLeft:h,scrollHeight:u.scrollHeight,scrollWidth:u.scrollWidth,bodyHeight:a,bodyWidth:v,isX:i,isY:n},e)}function g(e){var l=e.deltaY,t=e.deltaX,o=ne.highlightHoverRow,r=ie.scrollYLoad,a=se.lastScrollTop,n=se.lastScrollLeft,i=fe.value,s=T.value,u=I.value,c=s.$el;((l=(s=l)<0)?u.scrollTop<=0:u.scrollTop>=u.scrollHeight-u.clientHeight)||(u=u.scrollTop+s,n=(t=c.scrollLeft+t)!==n,(a=u!==a)&&(e.preventDefault(),se.lastScrollTop=u,se.lastScrollLeft=t,se.lastScrollTime=Date.now(),(i.isHover||o)&&ae.clearHoverRow(),d(e,l,s,n,a),r&&ae.triggerScrollYEvent(e)))}var r,x,ae=(0,_vue.inject)("$xetable",{}),l=(0,_vue.inject)("xesize",null),y=ae.xID,ne=ae.props,w=ae.context,ie=ae.reactData,se=ae.internalData,e=ae.getRefMaps(),b=e.refTableHeader,T=e.refTableBody,S=e.refTableFooter,C=e.refTableLeftBody,L=e.refTableRightBody,O=e.refValidTooltip,e=ae.getComputeMaps(),ue=e.computeEditOpts,R=e.computeMouseOpts,ce=e.computeSYOpts,H=e.computeEmptyOpts,E=e.computeKeyboardOpts,de=e.computeTooltipOpts,t=e.computeRadioOpts,B=e.computeTreeOpts,ve=e.computeCheckboxOpts,pe=e.computeValidOpts,fe=e.computeRowOpts,he=e.computeColumnOpts,I=(0,_vue.ref)(),D=(0,_vue.ref)(),M=(0,_vue.ref)(),$=(0,_vue.ref)(),k=(0,_vue.ref)(),U=(0,_vue.ref)(),Y=(0,_vue.ref)(),xe=function(){var e=ne.delayHover,l=se.lastScrollTime;return se._isResize||l&&Date.now()<l+e},A=function(e,l,t,o,r,a,n,i,s,u,c,d){var v,p=ne.columnKey,f=ne.height,h=ne.showOverflow,x=ne.cellClassName,g=ne.cellStyle,_=ne.align,m=ne.spanMethod,y=ne.mouseConfig,w=ne.editConfig,b=ne.editRules,T=ne.tooltipConfig,S=ie.tableData,C=ie.overflowX,L=ie.scrollYLoad,O=ie.currentColumn,R=ie.mergeList,H=ie.editStore,E=ie.validStore,I=ie.isAllOverflow,D=se.afterFullData,M=pe.value,$=ve.value,k=ue.value,U=de.value,q=fe.value,B=ce.value,Y=he.value,A=s.type,W=s.cellRender,X=s.editRender,j=s.align,N=s.showOverflow,F=s.className,V=s.treeNode,K=H.actived,P=B.rHeight,z=q.height,G=U.showAll,J=ae.getColumnIndex(s),H=ae.getVTColumnIndex(s),B=(0,_utils.isEnableConf)(X),q=t?s.fixed!==t:s.fixed&&C,U=_xeUtils.default.isUndefined(N)||_xeUtils.default.isNull(N)?h:N,C="ellipsis"===U,Q="title"===U,Z=!0===U||"tooltip"===U,N=Q||Z||C,U={},j=j||_,_=E.row===r&&E.column===s,f=b&&M.showMessage&&("default"===M.message?f||1<S.length:"inline"===M.message),M={colid:s.id},ee={$table:ae,seq:e,rowid:l,row:r,rowIndex:a,$rowIndex:n,_rowIndex:i,column:s,columnIndex:J,$columnIndex:u,_columnIndex:H,fixed:t,type:renderType,isHidden:q,level:o,visibleData:D,data:S,items:d};if(L&&!N&&(C=N=!0),(Q||Z||G||T)&&(U.onMouseenter=function(e){xe()||(Q?(0,_dom.updateCellTitle)(e.currentTarget,s):(Z||G)&&ae.triggerBodyTooltipEvent(e,ee),ae.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},ee),e))}),(Z||G||T)&&(U.onMouseleave=function(e){xe()||((Z||G)&&ae.handleTargetLeaveEvent(e),ae.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},ee),e))}),($.range||y)&&(U.onMousedown=function(e){ae.triggerCellMousedownEvent(e,ee)}),U.onClick=function(e){ae.triggerCellClickEvent(e,ee)},U.onDblclick=function(e){ae.triggerCellDblclickEvent(e,ee)},R.length){var le=(0,_util.mergeBodyMethod)(R,i,H);if(le){var te=le.rowspan,oe=le.colspan;if(!te||!oe)return null;1<te&&(M.rowspan=te),1<oe&&(M.colspan=oe)}}else if(m){le=m(ee)||{},m=le.rowspan,te=void 0===m?1:m,le=le.colspan,oe=void 0===le?1:le;if(!te||!oe)return null;1<te&&(M.rowspan=te),1<oe&&(M.colspan=oe)}!(q=q&&R&&(1<M.colspan||1<M.rowspan)?!1:q)&&w&&(X||W)&&(k.showStatus||k.showUpdateStatus)&&(v=ae.isUpdateByRow(r,s.property));W=[];return q&&h&&I?W.push((0,_vue.h)("div",{class:["vxe-cell",{"c--title":Q,"c--tooltip":Z,"c--ellipsis":C}],style:{maxHeight:N&&(P||z)?(P||z)+"px":""}})):(W.push.apply(W,__spreadArray(__spreadArray([],re(ee)),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":Q,"c--tooltip":Z,"c--ellipsis":C}],style:{maxHeight:N&&(P||z)?(P||z)+"px":""},title:Q?ae.getCellLabel(r,s):null},s.renderCell(ee))])),f&&_&&W.push((0,_vue.h)("div",{class:"vxe-cell--valid",style:E.rule&&E.rule.maxWidth?{width:E.rule.maxWidth+"px"}:null},[(0,_vue.h)("span",{class:"vxe-cell--valid-msg"},E.content)]))),(0,_vue.h)("td",__assign(__assign(__assign({class:["vxe-body--column",s.id,((E={})["col--"+j]=j,E["col--"+A]=A,E["col--last"]=u===c.length-1,E["col--tree-node"]=V,E["col--edit"]=B,E["col--ellipsis"]=N,E["fixed--hidden"]=q,E["col--dirty"]=v,E["col--actived"]=w&&B&&K.row===r&&(K.column===s||"row"===k.mode),E["col--valid-error"]=_,E["col--current"]=O===s,E),(0,_util.getPropClass)(F,ee),(0,_util.getPropClass)(x,ee)],key:p||Y.useKey?s.id:u},M),{style:Object.assign({height:N&&(P||z)?(P||z)+"px":""},g?_xeUtils.default.isFunction(g)?g(ee):g:null)}),U),W)},W=0,X=0,j=0,N=!1,d=function(a,n,e,i,s){var l=se.elemStore,t=ie.scrollXLoad,o=ie.scrollYLoad,r=T.value,u=C.value,c=L.value,d=u?u.$el:null,v=c?c.$el:null,p=r.$el,r=l["main-body-ySpace"],l=l["main-body-xSpace"],f=(o&&r?r:p).clientHeight,h=(t&&l?l:p).clientWidth,l=N===n?Math.max(0,W-j):0;N=n,W=Math.abs(n?e-l:e+l),j=X=0,clearTimeout(x),function e(){var l,t,o,r;j<W&&(l=_.fixedType,X=Math.max(5,Math.floor(1.5*X)),W<(j+=X)&&(X-=j-W),r=p.scrollTop,t=p.clientHeight,o=p.scrollHeight,r=r+X*(n?-1:1),p.scrollTop=r,d&&(d.scrollTop=r),v&&(v.scrollTop=r),(n?r<o-t:0<=r)&&(x=setTimeout(e,10)),ae.dispatchEvent("scroll",{type:renderType,fixed:l,scrollTop:p.scrollTop,scrollLeft:p.scrollLeft,scrollHeight:p.scrollHeight,scrollWidth:p.scrollWidth,bodyHeight:f,bodyWidth:h,isX:i,isY:s},a))}()};(0,_vue.onMounted)(function(){(0,_vue.nextTick)(function(){var e=_.fixedType,l=se.elemStore,t=(e||"main")+"-body-",e=I.value;l[t+"wrapper"]=I.value,l[t+"table"]=D.value,l[t+"colgroup"]=M.value,l[t+"list"]=$.value,l[t+"xSpace"]=k.value,l[t+"ySpace"]=U.value,l[t+"emptyBlock"]=Y.value,e.onscroll=o,e._onscroll=o})}),(0,_vue.onBeforeUnmount)(function(){var e=I.value;clearTimeout(x),e._onscroll=null,e.onscroll=null}),(0,_vue.onUnmounted)(function(){var e=_.fixedType,l=se.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 function(){var e=_.fixedColumn,l=_.fixedType,t=_.tableColumn,o=ne.keyboardConfig,r=ne.showOverflow,a=ne.spanMethod,n=ne.mouseConfig,i=ie.tableData,s=ie.mergeList,u=ie.scrollYLoad,c=ie.isAllOverflow,d=se.visibleColumn,v=w.slots,p=ce.value,f=H.value,h=E.value,x=R.value;return l&&(t=!(u||r&&c)||s.length||a||o&&h.isMerge?d:e),f=v.empty?ae.callSlot(v.empty,{$table:ae}):(v=(v=f.name?_vXETable.VXETable.renderer.get(f.name):null)?v.renderEmpty:null)?v(f,{$table:ae}):ne.emptyText||_conf.default.i18n("vxe.table.emptyText"),(0,_vue.h)("div",__assign({ref:I,class:["vxe-table--body-wrapper",l?"fixed-"+l+"--wrapper":"body--wrapper"],xid:y},"wheel"===p.mode?{onWheel:g}:{}),[l?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:k,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:U,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:D,class:"vxe-table--body",xid:y,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:M},t.map(function(e,l){return(0,_vue.h)("col",{name:e.id,key:l})})),(0,_vue.h)("tbody",{ref:$},q(l,i,t))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),n&&x.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},x.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown:function(e){ae.triggerCellExtendMousedownEvent(e,{$table:ae,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"})]):null,l?null:(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:Y},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},f)])])}}});exports.default=_default;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_vXETable=require("../../v-x-e-table"),_util=require("./util"),_dom=require("../../tools/dom"),_utils=require("../../tools/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var l,t=1,o=arguments.length;t<o;t++)for(var r in l=arguments[t])Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r]);return e}).apply(this,arguments)},__spreadArray=function(e,l){for(var t=0,o=l.length,r=e.length;t<o;t++,r++)e[r]=l[t];return e},renderType="body",lineOffsetSizes={mini:3,small:2,medium:1},_default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup:function(_){function u(){if(l){var e=l.value;if(e)return lineOffsetSizes[e]||0}return 0}function c(e,l){var t=1;if(!e)return t;var o=e[B.value.children];if(ae.isTreeExpandByRow(e))for(var r=0;r<o.length;r++)t+=c(o[r],l);return t}function re(e){var l=e.row,t=e.column,o=ne.treeConfig,r=B.value,a=t.slots,n=t.treeNode,i=se.fullAllDataRowIdData[(0,_util.getRowid)(ae,l)],s=0,t=0,l=[];return i&&(s=i.level,t=i._index,l=i.items),a&&a.line?ae.callSlot(a.line,e):o&&n&&r.line?[(0,_vue.h)("div",{class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:(n=e,e=l,l=1,(t=t)&&(l=c(e[t-1],n)),ie.rowHeight*l-(t?1:12-u())+"px"),left:s*r.indent+(s?2-u():0)+16+"px"}})])]:[]}function q(d,v,p){var f=ne.stripe,h=ne.rowKey,x=ne.highlightHoverRow,g=ne.rowClassName,_=ne.rowStyle,m=ne.showOverflow,y=ne.editConfig,w=ne.treeConfig,b=ie.hasFixedColumn,T=ie.treeExpandeds,S=ie.scrollYLoad,C=ie.editStore,L=ie.rowExpandeds,O=ie.expandColumn,R=ie.selectRow,H=se.fullAllDataRowIdData,E=ve.value,I=t.value,D=B.value,M=ue.value,$=fe.value,k=D.transform,U=[];return v.forEach(function(t,o){var e={},r=ae.getRowIndex(t);($.isHover||x)&&(e.onMouseenter=function(e){xe()||ae.triggerHoverEvent(e,{row:t,rowIndex:r})},e.onMouseleave=function(){xe()||ae.clearHoverRow()});var a=(0,_util.getRowid)(ae,t),l=H[a],n=0,i=-1,s=0;l&&(n=l.level,i=l.seq,s=l._index);var u,c={$table:ae,seq:i,rowid:a,fixed:d,type:renderType,level:n,row:t,rowIndex:r,$rowIndex:o,_rowIndex:s},l=!1;y&&(l=-1<ae.findRowIndexOf(C.insertList,t)),U.push((0,_vue.h)("tr",__assign({class:["vxe-body--row",{"row--stripe":f&&(ae.getVTRowIndex(t)+1)%2==0,"is--new":l,"row--new":l&&(M.showStatus||M.showInsertStatus),"row--radio":I.highlight&&R===t,"row--checked":E.highlight&&ae.isCheckedByCheckboxRow(t)},g?_xeUtils.default.isFunction(g)?g(c):g:""],rowid:a,style:_?_xeUtils.default.isFunction(_)?_(c):_:null,key:h||$.useKey||w?a:o},e),p.map(function(e,l){return A(i,a,d,n,t,r,o,s,e,l,p,v)}))),O&&L.length&&-1<ae.findRowIndexOf(L,t)&&(l=void 0,w&&(l={paddingLeft:n*D.indent+30+"px"}),u=O.showOverflow,c=_xeUtils.default.isUndefined(u)||_xeUtils.default.isNull(u)?m:u,u={$table:ae,seq:i,column:O,fixed:d,type:renderType,level:n,row:t,rowIndex:r,$rowIndex:o,_rowIndex:s},U.push((0,_vue.h)("tr",__assign({class:"vxe-body--expanded-row",key:"expand_"+a,style:_?_xeUtils.default.isFunction(_)?_(u):_:null},e),[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":d&&!b,"col--ellipsis":c}],colspan:p.length},[(0,_vue.h)("div",{class:"vxe-body--expanded-cell",style:l},[O.renderData(u)])])]))),!w||S||k||!T.length||(u=t[D.children])&&u.length&&-1<ae.findRowIndexOf(T,t)&&U.push.apply(U,q(d,u,p))}),U}function m(e,l,t,o){(t||o)&&(t&&((0,_util.removeScrollListener)(t),t.scrollTop=l),o&&((0,_util.removeScrollListener)(o),o.scrollTop=l),clearTimeout(r),r=setTimeout(function(){(0,_util.restoreScrollListener)(t),(0,_util.restoreScrollListener)(o)},300))}function o(e){var l=_.fixedType,t=ne.highlightHoverRow,o=ie.scrollXLoad,r=ie.scrollYLoad,a=se.elemStore,n=se.lastScrollTop,i=se.lastScrollLeft,s=fe.value,u=b.value,c=T.value,d=S.value,v=C.value,p=L.value,f=O.value,h=I.value,x=u?u.$el:null,g=d?d.$el:null,u=c.$el,d=v?v.$el:null,c=p?p.$el:null,p=(v=a["main-body-ySpace"])?v.value:null,a=(v=a["main-body-xSpace"])?v.value:null,v=(r&&p?p:u).clientHeight,p=(o&&a?a:u).clientWidth,a=h.scrollTop,i=(h=u.scrollLeft)!==i,n=a!==n;se.lastScrollTop=a,se.lastScrollLeft=h,se.lastScrollTime=Date.now(),(s.isHover||t)&&ae.clearHoverRow(),d&&"left"===l?(a=d.scrollTop,m(0,a,u,c)):c&&"right"===l?(a=c.scrollTop,m(0,a,u,d)):(i&&(x&&(x.scrollLeft=u.scrollLeft),g&&(g.scrollLeft=u.scrollLeft)),(d||c)&&(ae.checkScrolling(),n&&m(0,a,d,c))),o&&i&&ae.triggerScrollXEvent(e),r&&n&&ae.triggerScrollYEvent(e),i&&f&&f.reactData.visible&&f.updatePlacement(),ae.dispatchEvent("scroll",{type:renderType,fixed:l,scrollTop:a,scrollLeft:h,scrollHeight:u.scrollHeight,scrollWidth:u.scrollWidth,bodyHeight:v,bodyWidth:p,isX:i,isY:n},e)}function g(e){var l=e.deltaY,t=e.deltaX,o=ne.highlightHoverRow,r=ie.scrollYLoad,a=se.lastScrollTop,n=se.lastScrollLeft,i=fe.value,s=T.value,u=I.value,c=s.$el;((l=(s=l)<0)?u.scrollTop<=0:u.scrollTop>=u.scrollHeight-u.clientHeight)||(u=u.scrollTop+s,n=(t=c.scrollLeft+t)!==n,(a=u!==a)&&(e.preventDefault(),se.lastScrollTop=u,se.lastScrollLeft=t,se.lastScrollTime=Date.now(),(i.isHover||o)&&ae.clearHoverRow(),d(e,l,s,n,a),r&&ae.triggerScrollYEvent(e)))}var r,x,ae=(0,_vue.inject)("$xetable",{}),l=(0,_vue.inject)("xesize",null),y=ae.xID,ne=ae.props,w=ae.context,ie=ae.reactData,se=ae.internalData,e=ae.getRefMaps(),b=e.refTableHeader,T=e.refTableBody,S=e.refTableFooter,C=e.refTableLeftBody,L=e.refTableRightBody,O=e.refValidTooltip,e=ae.getComputeMaps(),ue=e.computeEditOpts,R=e.computeMouseOpts,ce=e.computeSYOpts,H=e.computeEmptyOpts,E=e.computeKeyboardOpts,de=e.computeTooltipOpts,t=e.computeRadioOpts,B=e.computeTreeOpts,ve=e.computeCheckboxOpts,pe=e.computeValidOpts,fe=e.computeRowOpts,he=e.computeColumnOpts,I=(0,_vue.ref)(),D=(0,_vue.ref)(),M=(0,_vue.ref)(),$=(0,_vue.ref)(),k=(0,_vue.ref)(),U=(0,_vue.ref)(),Y=(0,_vue.ref)(),xe=function(){var e=ne.delayHover,l=se.lastScrollTime;return se._isResize||l&&Date.now()<l+e},A=function(e,l,t,o,r,a,n,i,s,u,c,d){var v,p=ne.columnKey,f=ne.height,h=ne.showOverflow,x=ne.cellClassName,g=ne.cellStyle,_=ne.align,m=ne.spanMethod,y=ne.mouseConfig,w=ne.editConfig,b=ne.editRules,T=ne.tooltipConfig,S=ie.tableData,C=ie.overflowX,L=ie.scrollYLoad,O=ie.currentColumn,R=ie.mergeList,H=ie.editStore,E=ie.validStore,I=ie.isAllOverflow,D=se.afterFullData,M=pe.value,$=ve.value,k=ue.value,U=de.value,q=fe.value,B=ce.value,Y=he.value,A=s.type,W=s.cellRender,X=s.editRender,j=s.align,N=s.showOverflow,F=s.className,V=s.treeNode,K=H.actived,P=B.rHeight,z=q.height,G=U.showAll,J=ae.getColumnIndex(s),H=ae.getVTColumnIndex(s),B=(0,_utils.isEnableConf)(X),q=t?s.fixed!==t:s.fixed&&C,U=_xeUtils.default.isUndefined(N)||_xeUtils.default.isNull(N)?h:N,C="ellipsis"===U,Q="title"===U,Z=!0===U||"tooltip"===U,N=Q||Z||C,U={},j=j||_,_=E.row===r&&E.column===s,f=b&&M.showMessage&&("default"===M.message?f||1<S.length:"inline"===M.message),M={colid:s.id},ee={$table:ae,seq:e,rowid:l,row:r,rowIndex:a,$rowIndex:n,_rowIndex:i,column:s,columnIndex:J,$columnIndex:u,_columnIndex:H,fixed:t,type:renderType,isHidden:q,level:o,visibleData:D,data:S,items:d};if(L&&!N&&(C=N=!0),(Q||Z||G||T)&&(U.onMouseenter=function(e){xe()||(Q?(0,_dom.updateCellTitle)(e.currentTarget,s):(Z||G)&&ae.triggerBodyTooltipEvent(e,ee),ae.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},ee),e))}),(Z||G||T)&&(U.onMouseleave=function(e){xe()||((Z||G)&&ae.handleTargetLeaveEvent(e),ae.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},ee),e))}),($.range||y)&&(U.onMousedown=function(e){ae.triggerCellMousedownEvent(e,ee)}),U.onClick=function(e){ae.triggerCellClickEvent(e,ee)},U.onDblclick=function(e){ae.triggerCellDblclickEvent(e,ee)},R.length){var le=(0,_util.mergeBodyMethod)(R,i,H);if(le){var te=le.rowspan,oe=le.colspan;if(!te||!oe)return null;1<te&&(M.rowspan=te),1<oe&&(M.colspan=oe)}}else if(m){le=m(ee)||{},m=le.rowspan,te=void 0===m?1:m,le=le.colspan,oe=void 0===le?1:le;if(!te||!oe)return null;1<te&&(M.rowspan=te),1<oe&&(M.colspan=oe)}!(q=q&&R&&(1<M.colspan||1<M.rowspan)?!1:q)&&w&&(X||W)&&(k.showStatus||k.showUpdateStatus)&&(v=ae.isUpdateByRow(r,s.property));W=[];return q&&h&&I?W.push((0,_vue.h)("div",{class:["vxe-cell",{"c--title":Q,"c--tooltip":Z,"c--ellipsis":C}],style:{maxHeight:N&&(P||z)?(P||z)+"px":""}})):(W.push.apply(W,__spreadArray(__spreadArray([],re(ee)),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":Q,"c--tooltip":Z,"c--ellipsis":C}],style:{maxHeight:N&&(P||z)?(P||z)+"px":""},title:Q?ae.getCellLabel(r,s):null},s.renderCell(ee))])),f&&_&&W.push((0,_vue.h)("div",{class:"vxe-cell--valid",style:E.rule&&E.rule.maxWidth?{width:E.rule.maxWidth+"px"}:null},[(0,_vue.h)("span",{class:"vxe-cell--valid-msg"},E.content)]))),(0,_vue.h)("td",__assign(__assign(__assign({class:["vxe-body--column",s.id,((E={})["col--"+j]=j,E["col--"+A]=A,E["col--last"]=u===c.length-1,E["col--tree-node"]=V,E["col--edit"]=B,E["col--ellipsis"]=N,E["fixed--hidden"]=q,E["col--dirty"]=v,E["col--actived"]=w&&B&&K.row===r&&(K.column===s||"row"===k.mode),E["col--valid-error"]=_,E["col--current"]=O===s,E),(0,_util.getPropClass)(F,ee),(0,_util.getPropClass)(x,ee)],key:p||Y.useKey?s.id:u},M),{style:Object.assign({height:N&&(P||z)?(P||z)+"px":""},g?_xeUtils.default.isFunction(g)?g(ee):g:null)}),U),W)},W=0,X=0,j=0,N=!1,d=function(a,n,e,i,s){var l=se.elemStore,t=ie.scrollXLoad,o=ie.scrollYLoad,r=T.value,u=C.value,c=L.value,d=u?u.$el:null,v=c?c.$el:null,p=r.$el,r=l["main-body-ySpace"],r=r?r.value:null,l=l["main-body-xSpace"],l=l?l.value:null,f=(o&&r?r:p).clientHeight,h=(t&&l?l:p).clientWidth,l=N===n?Math.max(0,W-j):0;N=n,W=Math.abs(n?e-l:e+l),j=X=0,clearTimeout(x),function e(){var l,t,o,r;j<W&&(l=_.fixedType,X=Math.max(5,Math.floor(1.5*X)),W<(j+=X)&&(X-=j-W),r=p.scrollTop,t=p.clientHeight,o=p.scrollHeight,r=r+X*(n?-1:1),p.scrollTop=r,d&&(d.scrollTop=r),v&&(v.scrollTop=r),(n?r<o-t:0<=r)&&(x=setTimeout(e,10)),ae.dispatchEvent("scroll",{type:renderType,fixed:l,scrollTop:p.scrollTop,scrollLeft:p.scrollLeft,scrollHeight:p.scrollHeight,scrollWidth:p.scrollWidth,bodyHeight:f,bodyWidth:h,isX:i,isY:s},a))}()};(0,_vue.onMounted)(function(){(0,_vue.nextTick)(function(){var e=_.fixedType,l=se.elemStore,t=(e||"main")+"-body-",e=I.value;l[t+"wrapper"]=I,l[t+"table"]=D,l[t+"colgroup"]=M,l[t+"list"]=$,l[t+"xSpace"]=k,l[t+"ySpace"]=U,l[t+"emptyBlock"]=Y,e.onscroll=o,e._onscroll=o})}),(0,_vue.onBeforeUnmount)(function(){var e=I.value;clearTimeout(x),e._onscroll=null,e.onscroll=null}),(0,_vue.onUnmounted)(function(){var e=_.fixedType,l=se.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 function(){var e=_.fixedColumn,l=_.fixedType,t=_.tableColumn,o=ne.keyboardConfig,r=ne.showOverflow,a=ne.spanMethod,n=ne.mouseConfig,i=ie.tableData,s=ie.mergeList,u=ie.scrollYLoad,c=ie.isAllOverflow,d=se.visibleColumn,v=w.slots,p=ce.value,f=H.value,h=E.value,x=R.value;return l&&(t=!(u||r&&c)||s.length||a||o&&h.isMerge?d:e),f=v.empty?ae.callSlot(v.empty,{$table:ae}):(v=(v=f.name?_vXETable.VXETable.renderer.get(f.name):null)?v.renderEmpty:null)?v(f,{$table:ae}):ne.emptyText||_conf.default.i18n("vxe.table.emptyText"),(0,_vue.h)("div",__assign({ref:I,class:["vxe-table--body-wrapper",l?"fixed-"+l+"--wrapper":"body--wrapper"],xid:y},"wheel"===p.mode?{onWheel:g}:{}),[l?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:k,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:U,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:D,class:"vxe-table--body",xid:y,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:M},t.map(function(e,l){return(0,_vue.h)("col",{name:e.id,key:l})})),(0,_vue.h)("tbody",{ref:$},q(l,i,t))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),n&&x.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},x.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown:function(e){ae.triggerCellExtendMousedownEvent(e,{$table:ae,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"})]):null,l?null:(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:Y},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},f)])])}}});exports.default=_default;
|
package/lib/table/src/table.js
CHANGED
|
@@ -1119,14 +1119,21 @@ var _default = (0, _vue.defineComponent)({
|
|
|
1119
1119
|
* 支持 px、%、固定 混合分配
|
|
1120
1120
|
* 支持动态列表调整分配
|
|
1121
1121
|
* 支持自动分配偏移量
|
|
1122
|
-
* @param {Element} headerElem
|
|
1123
|
-
* @param {Element} bodyElem
|
|
1124
|
-
* @param {Element} footerElem
|
|
1125
|
-
* @param {Number} bodyWidth
|
|
1126
1122
|
*/
|
|
1127
1123
|
|
|
1128
1124
|
|
|
1129
|
-
var autoCellWidth = function autoCellWidth(
|
|
1125
|
+
var autoCellWidth = function autoCellWidth() {
|
|
1126
|
+
var tableHeader = refTableHeader.value;
|
|
1127
|
+
var tableBody = refTableBody.value;
|
|
1128
|
+
var tableFooter = refTableFooter.value;
|
|
1129
|
+
var bodyElem = tableBody ? tableBody.$el : null;
|
|
1130
|
+
var headerElem = tableHeader ? tableHeader.$el : null;
|
|
1131
|
+
var footerElem = tableFooter ? tableFooter.$el : null;
|
|
1132
|
+
|
|
1133
|
+
if (!bodyElem) {
|
|
1134
|
+
return;
|
|
1135
|
+
}
|
|
1136
|
+
|
|
1130
1137
|
var tableWidth = 0;
|
|
1131
1138
|
var minCellWidth = 40; // 列宽最少限制 40px
|
|
1132
1139
|
|
|
@@ -1646,7 +1653,8 @@ var _default = (0, _vue.defineComponent)({
|
|
|
1646
1653
|
var cellOffsetWidth = computeCellOffsetWidth.value;
|
|
1647
1654
|
var mouseOpts = computeMouseOpts.value;
|
|
1648
1655
|
var keyboardOpts = computeKeyboardOpts.value;
|
|
1649
|
-
var
|
|
1656
|
+
var bodyWrapperRef = elemStore['main-body-wrapper'];
|
|
1657
|
+
var bodyWrapperElem = bodyWrapperRef ? bodyWrapperRef.value : null;
|
|
1650
1658
|
|
|
1651
1659
|
if (emptyPlaceholderElem) {
|
|
1652
1660
|
emptyPlaceholderElem.style.top = headerHeight + "px";
|
|
@@ -1672,8 +1680,10 @@ var _default = (0, _vue.defineComponent)({
|
|
|
1672
1680
|
}
|
|
1673
1681
|
|
|
1674
1682
|
layoutList.forEach(function (layout) {
|
|
1675
|
-
var
|
|
1676
|
-
var
|
|
1683
|
+
var wrapperRef = elemStore[name + "-" + layout + "-wrapper"];
|
|
1684
|
+
var wrapperElem = wrapperRef ? wrapperRef.value : null;
|
|
1685
|
+
var tableRef = elemStore[name + "-" + layout + "-table"];
|
|
1686
|
+
var tableElem = tableRef ? tableRef.value : null;
|
|
1677
1687
|
|
|
1678
1688
|
if (layout === 'header') {
|
|
1679
1689
|
// 表头体样式处理
|
|
@@ -1708,13 +1718,15 @@ var _default = (0, _vue.defineComponent)({
|
|
|
1708
1718
|
}
|
|
1709
1719
|
}
|
|
1710
1720
|
|
|
1711
|
-
var
|
|
1721
|
+
var repairRef = elemStore[name + "-" + layout + "-repair"];
|
|
1722
|
+
var repairElem = repairRef ? repairRef.value : null;
|
|
1712
1723
|
|
|
1713
1724
|
if (repairElem) {
|
|
1714
1725
|
repairElem.style.width = tableWidth + "px";
|
|
1715
1726
|
}
|
|
1716
1727
|
|
|
1717
|
-
var
|
|
1728
|
+
var listRef = elemStore[name + "-" + layout + "-list"];
|
|
1729
|
+
var listElem = listRef ? listRef.value : null;
|
|
1718
1730
|
|
|
1719
1731
|
if (isGroup && listElem) {
|
|
1720
1732
|
_xeUtils.default.arrayEach(listElem.querySelectorAll('.col--group'), function (thElem) {
|
|
@@ -1748,7 +1760,8 @@ var _default = (0, _vue.defineComponent)({
|
|
|
1748
1760
|
});
|
|
1749
1761
|
}
|
|
1750
1762
|
} else if (layout === 'body') {
|
|
1751
|
-
var
|
|
1763
|
+
var emptyBlockRef = elemStore[name + "-" + layout + "-emptyBlock"];
|
|
1764
|
+
var emptyBlockElem = emptyBlockRef ? emptyBlockRef.value : null;
|
|
1752
1765
|
|
|
1753
1766
|
if ((0, _dom.isNodeElement)(wrapperElem)) {
|
|
1754
1767
|
if (customMaxHeight) {
|
|
@@ -1834,7 +1847,8 @@ var _default = (0, _vue.defineComponent)({
|
|
|
1834
1847
|
}
|
|
1835
1848
|
}
|
|
1836
1849
|
|
|
1837
|
-
var
|
|
1850
|
+
var colgroupRef = elemStore[name + "-" + layout + "-colgroup"];
|
|
1851
|
+
var colgroupElem = colgroupRef ? colgroupRef.value : null;
|
|
1838
1852
|
|
|
1839
1853
|
if (colgroupElem) {
|
|
1840
1854
|
_xeUtils.default.arrayEach(colgroupElem.children, function (colElem) {
|
|
@@ -1864,7 +1878,8 @@ var _default = (0, _vue.defineComponent)({
|
|
|
1864
1878
|
var showTitle = cellOverflow === 'title';
|
|
1865
1879
|
var showTooltip = cellOverflow === true || cellOverflow === 'tooltip';
|
|
1866
1880
|
var hasEllipsis_1 = showTitle || showTooltip || showEllipsis;
|
|
1867
|
-
var
|
|
1881
|
+
var listRef = elemStore[name + "-" + layout + "-list"];
|
|
1882
|
+
var listElem = listRef ? listRef.value : null; // 纵向虚拟滚动不支持动态行高
|
|
1868
1883
|
|
|
1869
1884
|
if (scrollYLoad && !hasEllipsis_1) {
|
|
1870
1885
|
hasEllipsis_1 = true;
|
|
@@ -2195,7 +2210,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
2195
2210
|
}
|
|
2196
2211
|
|
|
2197
2212
|
if (childRecords) {
|
|
2198
|
-
tableMethods.loadTreeChildren(row, childRecords).then(function (childRows) {
|
|
2213
|
+
return tableMethods.loadTreeChildren(row, childRecords).then(function (childRows) {
|
|
2199
2214
|
if (childRows.length && $xetable.findRowIndexOf(treeExpandeds, row) === -1) {
|
|
2200
2215
|
treeExpandeds.push(row);
|
|
2201
2216
|
} // 如果当前节点已选中,则展开后子节点也被选中
|
|
@@ -2205,23 +2220,25 @@ var _default = (0, _vue.defineComponent)({
|
|
|
2205
2220
|
tableMethods.setCheckboxRow(childRows, true);
|
|
2206
2221
|
}
|
|
2207
2222
|
|
|
2208
|
-
(0, _vue.nextTick)().then(function () {
|
|
2223
|
+
return (0, _vue.nextTick)().then(function () {
|
|
2209
2224
|
if (transform) {
|
|
2210
2225
|
return tablePrivateMethods.handleTableData();
|
|
2211
2226
|
}
|
|
2212
|
-
}).then(function () {
|
|
2213
|
-
return tableMethods.recalculate();
|
|
2214
|
-
}).then(function () {
|
|
2215
|
-
return resolve();
|
|
2216
2227
|
});
|
|
2217
2228
|
});
|
|
2218
|
-
} else {
|
|
2219
|
-
(0, _vue.nextTick)().then(function () {
|
|
2220
|
-
return tableMethods.recalculate();
|
|
2221
|
-
}).then(function () {
|
|
2222
|
-
return resolve();
|
|
2223
|
-
});
|
|
2224
2229
|
}
|
|
2230
|
+
}).catch(function () {
|
|
2231
|
+
rest.treeLoaded = false;
|
|
2232
|
+
|
|
2233
|
+
_xeUtils.default.remove(treeLazyLoadeds, function (item) {
|
|
2234
|
+
return $xetable.eqRow(item, row);
|
|
2235
|
+
});
|
|
2236
|
+
}).finally(function () {
|
|
2237
|
+
(0, _vue.nextTick)().then(function () {
|
|
2238
|
+
return tableMethods.recalculate();
|
|
2239
|
+
}).then(function () {
|
|
2240
|
+
return resolve();
|
|
2241
|
+
});
|
|
2225
2242
|
});
|
|
2226
2243
|
} else {
|
|
2227
2244
|
resolve();
|
|
@@ -2245,31 +2262,29 @@ var _default = (0, _vue.defineComponent)({
|
|
|
2245
2262
|
};
|
|
2246
2263
|
|
|
2247
2264
|
var handleAsyncRowExpand = function handleAsyncRowExpand(row) {
|
|
2248
|
-
var rowExpandeds = reactData.rowExpandeds,
|
|
2249
|
-
expandLazyLoadeds = reactData.expandLazyLoadeds;
|
|
2250
2265
|
var fullAllDataRowIdData = internalData.fullAllDataRowIdData;
|
|
2251
|
-
var rest = fullAllDataRowIdData[(0, _util.getRowid)($xetable, row)];
|
|
2252
2266
|
return new Promise(function (resolve) {
|
|
2253
2267
|
var expandOpts = computeExpandOpts.value;
|
|
2254
2268
|
var loadMethod = expandOpts.loadMethod;
|
|
2255
2269
|
|
|
2256
2270
|
if (loadMethod) {
|
|
2257
|
-
|
|
2271
|
+
var rest_1 = fullAllDataRowIdData[(0, _util.getRowid)($xetable, row)];
|
|
2272
|
+
reactData.expandLazyLoadeds.push(row);
|
|
2258
2273
|
loadMethod({
|
|
2259
2274
|
$table: $xetable,
|
|
2260
2275
|
row: row,
|
|
2261
2276
|
rowIndex: tableMethods.getRowIndex(row),
|
|
2262
2277
|
$rowIndex: tableMethods.getVMRowIndex(row)
|
|
2263
|
-
}).catch(function (e) {
|
|
2264
|
-
return e;
|
|
2265
2278
|
}).then(function () {
|
|
2266
|
-
|
|
2267
|
-
|
|
2268
|
-
|
|
2279
|
+
rest_1.expandLoaded = true;
|
|
2280
|
+
reactData.rowExpandeds.push(row);
|
|
2281
|
+
}).catch(function () {
|
|
2282
|
+
rest_1.expandLoaded = false;
|
|
2283
|
+
}).finally(function () {
|
|
2284
|
+
_xeUtils.default.remove(reactData.expandLazyLoadeds, function (item) {
|
|
2269
2285
|
return $xetable.eqRow(item, row);
|
|
2270
2286
|
});
|
|
2271
2287
|
|
|
2272
|
-
rowExpandeds.push(row);
|
|
2273
2288
|
resolve((0, _vue.nextTick)().then(function () {
|
|
2274
2289
|
return tableMethods.recalculate();
|
|
2275
2290
|
}));
|
|
@@ -3716,23 +3731,14 @@ var _default = (0, _vue.defineComponent)({
|
|
|
3716
3731
|
* 支持 width=? width=?px width=?% min-width=? min-width=?px min-width=?%
|
|
3717
3732
|
*/
|
|
3718
3733
|
recalculate: function recalculate(refull) {
|
|
3719
|
-
|
|
3720
|
-
var tableBody = refTableBody.value;
|
|
3721
|
-
var tableFooter = refTableFooter.value;
|
|
3722
|
-
var bodyElem = tableBody ? tableBody.$el : null;
|
|
3723
|
-
var headerElem = tableHeader ? tableHeader.$el : null;
|
|
3724
|
-
var footerElem = tableFooter ? tableFooter.$el : null;
|
|
3725
|
-
|
|
3726
|
-
if (bodyElem) {
|
|
3727
|
-
autoCellWidth(headerElem, bodyElem, footerElem);
|
|
3734
|
+
autoCellWidth();
|
|
3728
3735
|
|
|
3729
|
-
|
|
3730
|
-
|
|
3731
|
-
|
|
3732
|
-
|
|
3733
|
-
|
|
3734
|
-
|
|
3735
|
-
}
|
|
3736
|
+
if (refull === true) {
|
|
3737
|
+
// 初始化时需要在列计算之后再执行优化运算,达到最优显示效果
|
|
3738
|
+
return computeScrollLoad().then(function () {
|
|
3739
|
+
autoCellWidth();
|
|
3740
|
+
return computeScrollLoad();
|
|
3741
|
+
});
|
|
3736
3742
|
}
|
|
3737
3743
|
|
|
3738
3744
|
return computeScrollLoad();
|
|
@@ -6797,7 +6803,8 @@ var _default = (0, _vue.defineComponent)({
|
|
|
6797
6803
|
containerList.forEach(function (name) {
|
|
6798
6804
|
var layoutList = ['header', 'body', 'footer'];
|
|
6799
6805
|
layoutList.forEach(function (layout) {
|
|
6800
|
-
var
|
|
6806
|
+
var xSpaceRef = elemStore[name + "-" + layout + "-xSpace"];
|
|
6807
|
+
var xSpaceElem = xSpaceRef ? xSpaceRef.value : null;
|
|
6801
6808
|
|
|
6802
6809
|
if (xSpaceElem) {
|
|
6803
6810
|
xSpaceElem.style.width = scrollXLoad ? tableWidth + (layout === 'header' ? scrollbarWidth : 0) + "px" : '';
|
|
@@ -6828,14 +6835,16 @@ var _default = (0, _vue.defineComponent)({
|
|
|
6828
6835
|
|
|
6829
6836
|
containerList.forEach(function (name) {
|
|
6830
6837
|
var layoutList = ['header', 'body', 'footer'];
|
|
6831
|
-
var
|
|
6838
|
+
var tableRef = elemStore[name + "-body-table"];
|
|
6839
|
+
var tableElem = tableRef ? tableRef.value : null;
|
|
6832
6840
|
|
|
6833
6841
|
if (tableElem) {
|
|
6834
6842
|
tableElem.style.marginTop = marginTop;
|
|
6835
6843
|
}
|
|
6836
6844
|
|
|
6837
6845
|
layoutList.forEach(function (layout) {
|
|
6838
|
-
var
|
|
6846
|
+
var ySpaceRef = elemStore[name + "-" + layout + "-ySpace"];
|
|
6847
|
+
var ySpaceElem = ySpaceRef ? ySpaceRef.value : null;
|
|
6839
6848
|
|
|
6840
6849
|
if (ySpaceElem) {
|
|
6841
6850
|
ySpaceElem.style.height = ySpaceHeight;
|
|
@@ -6845,14 +6854,14 @@ var _default = (0, _vue.defineComponent)({
|
|
|
6845
6854
|
(0, _vue.nextTick)(updateStyle);
|
|
6846
6855
|
},
|
|
6847
6856
|
updateScrollXData: function updateScrollXData() {
|
|
6848
|
-
reactData.tableColumn = []
|
|
6857
|
+
// reactData.tableColumn = []
|
|
6849
6858
|
(0, _vue.nextTick)(function () {
|
|
6850
6859
|
handleTableColumn();
|
|
6851
6860
|
tablePrivateMethods.updateScrollXSpace();
|
|
6852
6861
|
});
|
|
6853
6862
|
},
|
|
6854
6863
|
updateScrollYData: function updateScrollYData() {
|
|
6855
|
-
reactData.tableData = []
|
|
6864
|
+
// reactData.tableData = []
|
|
6856
6865
|
(0, _vue.nextTick)(function () {
|
|
6857
6866
|
tablePrivateMethods.handleTableData();
|
|
6858
6867
|
tablePrivateMethods.updateScrollYSpace();
|