vxe-table 3.15.13 → 3.15.15
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/style.css +1 -1
- package/es/table/src/footer.js +1 -1
- package/es/table/src/header.js +1 -1
- package/es/table/src/methods.js +110 -67
- package/es/table/src/table.js +5 -7
- package/es/ui/index.js +1 -1
- package/es/ui/src/dom.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +127 -78
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/src/footer.js +1 -1
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +1 -1
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/methods.js +118 -67
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +4 -6
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/dom.js +1 -1
- package/lib/ui/src/dom.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/table/src/footer.ts +1 -1
- package/packages/table/src/header.ts +1 -1
- package/packages/table/src/methods.ts +114 -71
- package/packages/table/src/table.ts +5 -7
- package/packages/ui/src/dom.ts +1 -1
- /package/es/{iconfont.1745800652359.ttf → iconfont.1745889617363.ttf} +0 -0
- /package/es/{iconfont.1745800652359.woff → iconfont.1745889617363.woff} +0 -0
- /package/es/{iconfont.1745800652359.woff2 → iconfont.1745889617363.woff2} +0 -0
- /package/lib/{iconfont.1745800652359.ttf → iconfont.1745889617363.ttf} +0 -0
- /package/lib/{iconfont.1745800652359.woff → iconfont.1745889617363.woff} +0 -0
- /package/lib/{iconfont.1745800652359.woff2 → iconfont.1745889617363.woff2} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let renderType="footer",{renderer,renderEmptyElement}=_ui.VxeUI;function renderRows(C,e,_,F,T,$,S,E){let I=e.$parent;var l=I,t=I,r=I;let O=I.$xeGrid,D=e.fixedType,{resizable:R,border:z,footerCellClassName:k,footerCellStyle:U,footerAlign:A,footerSpanMethod:q,align:M,columnKey:X,showFooterOverflow:L}=l,{scrollXLoad:H,scrollYLoad:N,overflowX:j,currentColumn:V}=t,{fullColumnIdData:W,mergeFooterList:B,mergeFooterCellMaps:G,scrollXStore:K}=r,P=I.computeVirtualXOpts,
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let renderType="footer",{renderer,renderEmptyElement}=_ui.VxeUI;function renderRows(C,e,_,F,T,$,S,E){let I=e.$parent;var l=I,t=I,r=I;let O=I.$xeGrid,D=e.fixedType,{resizable:R,border:z,footerCellClassName:k,footerCellStyle:U,footerAlign:A,footerSpanMethod:q,align:M,columnKey:X,showFooterOverflow:L}=l,{scrollXLoad:H,scrollYLoad:N,overflowX:j,currentColumn:V}=t,{fullColumnIdData:W,mergeFooterList:B,mergeFooterCellMaps:G,scrollXStore:K}=r,P=I.computeVirtualXOpts,Y=I.computeTooltipOpts,ee=I.resizableOpts.isAllColumnDrag,J=I.computeColumnOpts;e=I.computeDefaultRowHeight;let le=I.computeCellOpts,Q=I.computeFooterCellOpts,Z=(0,_util.getCellHeight)(Q.height)||e;return F.map((l,e)=>{var{type:t,showFooterOverflow:r,footerAlign:o,align:i,footerClassName:a,editRender:n,cellRender:s}=l,d=l.id,u=W[d]||{},n=n||s,s=n?renderer.get(n.name):null;let p=Y.showAll;var n=l.children&&l.children.length,n=D?l.fixed!==D&&!n:l.fixed&&j,c=(_xeUtils.default.isBoolean(Q.padding)?Q:le).padding,r=_xeUtils.default.eqNull(r)?L:r,o=o||(s?s.tableFooterCellAlign:"")||A||i||(s?s.tableCellAlign:"")||M,i="ellipsis"===r;let f="title"===r,x=!0===r||"tooltip"===r;var s=f||x||i,r=_xeUtils.default.isBoolean(l.resizable)?l.resizable:J.resizable||R,m={colid:d},g={},v=u.index,u=u._index,h=u;let w={$table:I,$grid:O,row:$,rowIndex:E,_rowIndex:E,$rowIndex:S,column:l,columnIndex:v,$columnIndex:e,_columnIndex:u,itemIndex:h,items:$,fixed:D,type:renderType,data:T},y=((f||x||p)&&(g.mouseenter=e=>{f?(0,_dom.updateCellTitle)(e.currentTarget,l):(x||p)&&I.triggerFooterTooltipEvent(e,w)}),(x||p)&&(g.mouseleave=e=>{(x||p)&&I.handleTargetLeaveEvent(e)}),g.click=e=>{I.dispatchEvent("footer-cell-click",Object.assign({cell:e.currentTarget},w),e)},!(g.dblclick=e=>{I.dispatchEvent("footer-cell-dblclick",Object.assign({cell:e.currentTarget},w),e)}));if(B.length){v=G[E+":"+u];if(v){var{rowspan:h,colspan:v}=v;if(!h||!v)return null;1<h&&(y=!0,m.rowspan=h),1<v&&(y=!0,m.colspan=v)}}else if(q){var{rowspan:h=1,colspan:v=1}=q(w)||{};if(!h||!v)return null;1<h&&(m.rowspan=h),1<v&&(m.colspan=v)}h=e===F.length-1,v=!l.resizeWidth&&("auto"===l.minWidth||"auto"===l.width);let b=!1;_&&!y&&H&&!l.fixed&&!P.immediate&&(u<K.visibleStartIndex-K.preloadSize||u>K.visibleEndIndex+K.preloadSize)&&(b=!0);u={};return s?u.height=Z+"px":u.minHeight=Z+"px",C("td",{class:["vxe-footer--column",l.id,{["col--"+o]:o,["col--"+t]:t,"col--last":h,"fixed--width":!v,"fixed--hidden":n,"is--padding":c,"col--ellipsis":s,"col--current":V===l},(0,_utils.getClass)(a,w),(0,_utils.getClass)(k,w)],attrs:m,style:U?_xeUtils.default.isFunction(U)?U(w):U:void 0,on:g,key:X||H||N||J.useKey||J.drag?l.id:e},[C("div",{class:["vxe-cell",{"c--title":f,"c--tooltip":x,"c--ellipsis":i}],style:u},b?[]:[C("div",{attrs:{colid:d},class:"vxe-cell--wrapper"},l.renderFooter(C,w))]),!n&&r&&ee?C("div",{class:["vxe-cell--col-resizable",{"is--line":!z||"none"===z}],on:{mousedown:e=>I.handleColResizeMousedownEvent(e,D,w),dblclick:e=>I.handleColResizeDblclickEvent(e,w)}}):renderEmptyElement(I)])})}function renderHeads(o,i,a,n){let s=i.$parent;var e=s,l=s;let{fixedType:d,footerTableData:u}=i,{footerRowClassName:p,footerRowStyle:c}=e,{isColLoading:f,isDragColMove:x}=l,m=s.computeColumnOpts,g=s.computeColumnDragOpts;return u.map((e,l)=>{var t=l,r={$table:s,row:e,_rowIndex:t,$rowIndex:l,fixed:d,type:renderType};return!f&&m.drag&&g.animation?o("transition-group",{key:l,props:{tag:"tr",name:"vxe-header--col-list"+(x?"":"-disabled"),class:["vxe-footer--row",p?_xeUtils.default.isFunction(p)?p(r):p:""],style:c?_xeUtils.default.isFunction(c)?c(r):c:void 0}},renderRows(o,i,a,n,u,e,l,t)):o("tr",{key:l,class:["vxe-footer--row",p?_xeUtils.default.isFunction(p)?p(r):p:""],style:c?_xeUtils.default.isFunction(c)?c(r):c:void 0},renderRows(o,i,a,n,u,e,l,t))})}var _default=exports.default={name:"VxeTableFooter",props:{footerTableData:{type:Array,default:()=>[]},tableColumn:{type:Array,default:()=>[]},fixedColumn:{type:Array,default:()=>[]},fixedType:{type:String,default:null}},mounted(){var e=this,l=e.fixedType,t=e.$parent.elemStore,l=`${l||"main"}-footer-`;t[l+"wrapper"]=e.$refs.refElem,t[l+"scroll"]=e.$refs.refFooterScroll,t[l+"table"]=e.$refs.refFooterTable,t[l+"colgroup"]=e.$refs.refFooterColgroup,t[l+"list"]=e.$refs.refFooterTFoot,t[l+"xSpace"]=e.$refs.refFooterXSpace},destroyed(){var e=this.fixedType,l=this.$parent.elemStore,e=`${e||"main"}-footer-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null},render(t){let l=this.$parent;var e=l,r=l,o=l,i=l.xID;let{fixedType:a,fixedColumn:n,tableColumn:s}=this;var{spanMethod:e,footerSpanMethod:d,showFooterOverflow:u}=e,{visibleColumn:o,fullColumnIdData:p}=o,{isGroup:r,isColLoading:c,overflowX:f,scrollXLoad:x,dragCol:m}=r;let g=s,v=!1;return x&&u&&(e||d||(v=!0)),v&&(c||!a&&f)||(g=o),a&&v&&(g=n||[]),a||r||x&&m&&2<g.length&&(u=p[m.id])&&(e=u._index,d=g[0],c=g[g.length-1],f=p[d.id],o=p[c.id],f)&&o&&(r=f._index,x=o._index,e<r?g=[m].concat(g):x<e&&(g=g.concat([m]))),t("div",{ref:"refElem",class:["vxe-table--footer-wrapper",a?`fixed-${a}--wrapper`:"body--wrapper"],attrs:{xid:i}},[t("div",{ref:"refFooterScroll",class:"vxe-table--footer-inner-wrapper",on:{scroll(e){l.triggerFooterScrollEvent(e,a)}}},[a?renderEmptyElement(l):t("div",{ref:"refFooterXSpace",class:"vxe-body--x-space"}),t("table",{ref:"refFooterTable",class:"vxe-table--footer",attrs:{xid:i,cellspacing:0,cellpadding:0,border:0}},[t("colgroup",{ref:"refFooterColgroup"},g.map((e,l)=>t("col",{attrs:{name:e.id},key:l,style:{width:e.renderWidth+"px"}}))),t("tfoot",{ref:"refFooterTFoot"},renderHeads(t,this,v,g))])])])}};
|
package/lib/table/src/header.js
CHANGED
|
@@ -51,7 +51,7 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
|
|
|
51
51
|
const cellOpts = $xeTable.computeCellOpts;
|
|
52
52
|
const defaultRowHeight = $xeTable.computeDefaultRowHeight;
|
|
53
53
|
const headerCellOpts = $xeTable.computeHeaderCellOpts;
|
|
54
|
-
const currCellHeight = (0, _util.getCellHeight)(headerCellOpts.height
|
|
54
|
+
const currCellHeight = (0, _util.getCellHeight)(headerCellOpts.height) || defaultRowHeight;
|
|
55
55
|
const {
|
|
56
56
|
disabledMethod: dragDisabledMethod,
|
|
57
57
|
isCrossDrag,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,cellType="header",renderRows=($,e,D,E,S,T)=>{let R=e.$parent,O=R.$xeGrid;var l=R,r=R,a=R;let I=e.fixedType,{resizable:U,columnKey:k,headerCellClassName:z,headerCellStyle:M,showHeaderOverflow:A,headerAlign:X,align:F,mouseConfig:q}=l,{currentColumn:G,dragCol:L,scrollXLoad:N,scrollYLoad:B,overflowX:V}=r,{fullColumnIdData:W,scrollXStore:K}=a,P=R.computeVirtualXOpts,j=R.computeColumnOpts,Y=R.computeColumnDragOpts,J=R.computeCellOpts;e=R.computeDefaultRowHeight;let Q=R.computeHeaderCellOpts,Z=(0,_util.getCellHeight)(Q.height
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,cellType="header",renderRows=($,e,D,E,S,T)=>{let R=e.$parent,O=R.$xeGrid;var l=R,r=R,a=R;let I=e.fixedType,{resizable:U,columnKey:k,headerCellClassName:z,headerCellStyle:M,showHeaderOverflow:A,headerAlign:X,align:F,mouseConfig:q}=l,{currentColumn:G,dragCol:L,scrollXLoad:N,scrollYLoad:B,overflowX:V}=r,{fullColumnIdData:W,scrollXStore:K}=a,P=R.computeVirtualXOpts,j=R.computeColumnOpts,Y=R.computeColumnDragOpts,J=R.computeCellOpts;e=R.computeDefaultRowHeight;let Q=R.computeHeaderCellOpts,Z=(0,_util.getCellHeight)(Q.height)||e,{disabledMethod:ee,isCrossDrag:le,isPeerDrag:re}=Y;return S.map((e,l)=>{var{type:r,showHeaderOverflow:a,headerAlign:t,align:d,filters:i,headerClassName:s,editRender:o,cellRender:n}=e,u=e.id,c=W[u]||{},o=o||n,n=o?renderer.get(o.name):null,o=e.children&&e.children.length,p=I?e.fixed!==I&&!o:e.fixed&&V,f=(_xeUtils.default.isBoolean(Q.padding)?Q:J).padding,a=_xeUtils.default.isUndefined(a)||_xeUtils.default.isNull(a)?A:a,t=t||(n?n.tableHeaderCellAlign:"")||X||d||(n?n.tableCellAlign:"")||F,d="ellipsis"===a,n="title"===a,a=!0===a||"tooltip"===a,m=n||a||d;let x=!1,g=null;i&&(g=i[0],x=i.some(e=>e.checked));var h=c.index,c=c._index;let v={$table:R,$grid:O,$rowIndex:T,column:e,columnIndex:h,$columnIndex:l,_columnIndex:c,firstFilterOption:g,fixed:I,type:cellType,isHidden:p,hasFilter:x};var h={colid:u,colspan:1<e.colSpan?e.colSpan:null,rowspan:1<e.rowSpan?e.rowSpan:null},C={click:e=>R.triggerHeaderCellClickEvent(e,v),dblclick:e=>R.triggerHeaderCellDblclickEvent(e,v)},b=j.drag&&"cell"===Y.trigger;let y=!1;b&&(y=!(!ee||!ee(v))),(q||b)&&(C.mousedown=e=>R.triggerHeaderCellMousedownEvent(e,v)),j.drag&&(C.dragstart=R.handleHeaderCellDragDragstartEvent,C.dragend=R.handleHeaderCellDragDragendEvent,C.dragover=R.handleHeaderCellDragDragoverEvent,b)&&(C.mouseup=R.handleHeaderCellDragMouseupEvent);var b=l===S.length-1,w=_xeUtils.default.isBoolean(e.resizable)?e.resizable:j.resizable||U,H=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width);let _=!1;!E||D||L&&L.id===u||N&&!e.fixed&&!P.immediate&&(c<K.visibleStartIndex-K.preloadSize||c>K.visibleEndIndex+K.preloadSize)&&(_=!0);c={};return m?c.height=Z+"px":c.minHeight=Z+"px",$("th",{class:["vxe-header--column",u,{["col--"+t]:t,["col--"+r]:r,"col--last":b,"col--fixed":e.fixed,"col--group":o,"col--ellipsis":m,"fixed--width":!H,"fixed--hidden":p,"is--padding":f,"is--sortable":e.sortable,"col--filter":!!i,"is--filter-active":x,"is--drag-active":j.drag&&!e.fixed&&!y&&(le||re||!e.parentId),"is--drag-disabled":j.drag&&y,"col--current":G===e},(0,_utils.getClass)(s,v),(0,_utils.getClass)(z,v)],attrs:h,style:M?_xeUtils.default.isFunction(M)?M(v):M:void 0,on:C,key:k||N||B||j.useKey||j.drag||o?u:l},[$("div",{class:["vxe-cell",{"c--title":n,"c--tooltip":a,"c--ellipsis":d}],style:c},_||E&&p?[]:[$("div",{attrs:{colid:u},class:"vxe-cell--wrapper"},e.renderHeader($,v))]),!p&&w?$("div",{class:"vxe-cell--col-resizable",on:{mousedown:e=>R.handleColResizeMousedownEvent(e,I,v),dblclick:e=>R.handleColResizeDblclickEvent(e,v)}}):renderEmptyElement(R)])})};function renderHeads(a,t,d,i,e){let s=t.$parent;var l=s,r=s;let o=t.fixedType,n=s.computeColumnOpts,u=s.computeColumnDragOpts,{headerRowClassName:c,headerRowStyle:p}=l,{isColLoading:f,isDragColMove:m}=r;return e.map((e,l)=>{var r={$table:s,$rowIndex:l,fixed:o,type:cellType};return!f&&n.drag&&u.animation?a("transition-group",{key:l,props:{tag:"tr",name:"vxe-header--col-list"+(m?"":"-disabled"),class:["vxe-header--row",c?_xeUtils.default.isFunction(c)?c(r):c:""],style:p?_xeUtils.default.isFunction(p)?p(r):p:null}},renderRows(a,t,d,i,e,l)):a("tr",{key:l,class:["vxe-header--row",c?_xeUtils.default.isFunction(c)?c(r):c:""],style:p?_xeUtils.default.isFunction(p)?p(r):p:void 0},renderRows(a,t,d,i,e,l))})}var _default=exports.default={name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},data(){return{headerColumn:[]}},watch:{tableColumn(){this.uploadColumn()}},created(){this.uploadColumn()},mounted(){var e=this,l=e.fixedType,r=e.$parent.elemStore,l=`${l||"main"}-header-`;r[l+"wrapper"]=e.$refs.refElem,r[l+"scroll"]=e.$refs.refHeaderScroll,r[l+"table"]=e.$refs.refHeaderTable,r[l+"colgroup"]=e.$refs.refHeaderColgroup,r[l+"list"]=e.$refs.refHeaderTHead,r[l+"xSpace"]=e.$refs.refHeaderXSpace,r[l+"repair"]=e.$refs.refHeaderBorderRepair},destroyed(){var e=this.fixedType,l=this.$parent.elemStore,e=`${e||"main"}-header-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"repair"]=null},render(r){let l=this.$parent;var e=l,a=l,t=l,d=l.xID;let{fixedType:i,fixedColumn:s,tableColumn:o}=this;var n=this.headerColumn,{mouseConfig:e,showHeaderOverflow:u,spanMethod:c,footerSpanMethod:p}=e,{isGroup:a,isColLoading:f,overflowX:m,scrollXLoad:x,dragCol:g}=a,{visibleColumn:t,fullColumnIdData:h}=t,v=l.computeMouseOpts;let C=n,b=o,y=!1;return a?b=t:(x&&u&&(c||p||(y=!0)),y&&(f||!i&&m)||(b=t),i&&y&&(b=s||[]),C=[b]),i||a||x&&g&&2<b.length&&(n=h[g.id])&&(u=n._index,c=b[0],p=b[b.length-1],f=h[c.id],m=h[p.id],f)&&m&&(t=f._index,x=m._index,u<t?(b=[g].concat(b),C=[[g].concat(C[0])].concat(C.slice(1))):x<u&&(b=b.concat([g]),C=[C[0].concat([g])].concat(C.slice(1)))),r("div",{ref:"refElem",class:["vxe-table--header-wrapper",i?`fixed-${i}--wrapper`:"body--wrapper"],attrs:{xid:d}},[r("div",{ref:"refHeaderScroll",class:"vxe-table--header-inner-wrapper",on:{scroll(e){l.triggerHeaderScrollEvent(e,i)}}},[i?renderEmptyElement(l):r("div",{ref:"refHeaderXSpace",class:"vxe-body--x-space"}),r("table",{ref:"refHeaderTable",class:"vxe-table--header",attrs:{xid:d,cellspacing:0,cellpadding:0,border:0}},[r("colgroup",{ref:"refHeaderColgroup"},b.map((e,l)=>r("col",{attrs:{name:e.id},key:l,style:{width:e.renderWidth+"px"}}))),r("thead",{ref:"refHeaderTHead"},renderHeads(r,this,a,y,C)),e&&v.area?r("div",{class:"vxe-table--cell-area"},[r("span",{class:"vxe-table--cell-main-area"}),r("span",{class:"vxe-table--cell-copy-area"}),r("span",{class:"vxe-table--cell-extend-area"}),r("span",{class:"vxe-table--cell-multi-area"}),r("span",{class:"vxe-table--cell-active-area"}),r("span",{class:"vxe-table--cell-col-status-area"})]):renderEmptyElement(l)])])])},methods:{uploadColumn(){var e=this.$parent.isGroup;this.headerColumn=e?(0,_util.convertHeaderColumnToRows)(this.tableGroupColumn):[]}}};
|
package/lib/table/src/methods.js
CHANGED
|
@@ -1304,7 +1304,7 @@ function updateStyle($xeTable) {
|
|
|
1304
1304
|
if (tableElem) {
|
|
1305
1305
|
tableElem.style.width = tWidth ? `${tWidth}px` : '';
|
|
1306
1306
|
// 兼容性处理
|
|
1307
|
-
tableElem.style.paddingRight = osbWidth && fixedType && (browseObj
|
|
1307
|
+
tableElem.style.paddingRight = osbWidth && fixedType && (browseObj.firefox || browseObj.safari) ? `${osbWidth}px` : '';
|
|
1308
1308
|
}
|
|
1309
1309
|
const emptyBlockElem = (0, _util.getRefElem)(elemStore[`${name}-${layout}-emptyBlock`]);
|
|
1310
1310
|
if (emptyBlockElem) {
|
|
@@ -3624,42 +3624,54 @@ const createGetColumnCacheProp = prop => {
|
|
|
3624
3624
|
return -1;
|
|
3625
3625
|
};
|
|
3626
3626
|
};
|
|
3627
|
-
|
|
3628
|
-
|
|
3629
|
-
|
|
3630
|
-
|
|
3631
|
-
|
|
3632
|
-
|
|
3633
|
-
|
|
3634
|
-
|
|
3635
|
-
|
|
3636
|
-
|
|
3637
|
-
|
|
3638
|
-
|
|
3639
|
-
|
|
3640
|
-
|
|
3641
|
-
|
|
3642
|
-
|
|
3643
|
-
|
|
3644
|
-
|
|
3645
|
-
|
|
3646
|
-
|
|
3647
|
-
|
|
3648
|
-
|
|
3649
|
-
|
|
3650
|
-
|
|
3651
|
-
|
|
3652
|
-
|
|
3653
|
-
|
|
3654
|
-
|
|
3655
|
-
|
|
3656
|
-
|
|
3657
|
-
|
|
3658
|
-
|
|
3659
|
-
|
|
3660
|
-
|
|
3661
|
-
|
|
3662
|
-
|
|
3627
|
+
function lazyScrollXData($xeTable) {
|
|
3628
|
+
const internalData = $xeTable;
|
|
3629
|
+
const {
|
|
3630
|
+
lxTimeout,
|
|
3631
|
+
lxRunTime,
|
|
3632
|
+
scrollXStore
|
|
3633
|
+
} = internalData;
|
|
3634
|
+
const {
|
|
3635
|
+
visibleSize
|
|
3636
|
+
} = scrollXStore;
|
|
3637
|
+
const fpsTime = visibleSize > 26 ? 26 : visibleSize > 16 ? 14 : 6;
|
|
3638
|
+
if (lxTimeout) {
|
|
3639
|
+
clearTimeout(lxTimeout);
|
|
3640
|
+
}
|
|
3641
|
+
if (!lxRunTime || lxRunTime + fpsTime < Date.now()) {
|
|
3642
|
+
internalData.lxRunTime = Date.now();
|
|
3643
|
+
loadScrollXData($xeTable);
|
|
3644
|
+
}
|
|
3645
|
+
internalData.lxTimeout = setTimeout(() => {
|
|
3646
|
+
internalData.lxTimeout = undefined;
|
|
3647
|
+
internalData.lxRunTime = undefined;
|
|
3648
|
+
loadScrollXData($xeTable);
|
|
3649
|
+
}, fpsTime);
|
|
3650
|
+
}
|
|
3651
|
+
function lazyScrollYData($xeTable) {
|
|
3652
|
+
const internalData = $xeTable;
|
|
3653
|
+
const {
|
|
3654
|
+
lyTimeout,
|
|
3655
|
+
lyRunTime,
|
|
3656
|
+
scrollYStore
|
|
3657
|
+
} = internalData;
|
|
3658
|
+
const {
|
|
3659
|
+
visibleSize
|
|
3660
|
+
} = scrollYStore;
|
|
3661
|
+
const fpsTime = visibleSize > 30 ? 32 : visibleSize > 20 ? 18 : 8;
|
|
3662
|
+
if (lyTimeout) {
|
|
3663
|
+
clearTimeout(lyTimeout);
|
|
3664
|
+
}
|
|
3665
|
+
if (!lyRunTime || lyRunTime + fpsTime < Date.now()) {
|
|
3666
|
+
internalData.lyRunTime = Date.now();
|
|
3667
|
+
loadScrollYData($xeTable);
|
|
3668
|
+
}
|
|
3669
|
+
internalData.lyTimeout = setTimeout(() => {
|
|
3670
|
+
internalData.lyTimeout = undefined;
|
|
3671
|
+
internalData.lyRunTime = undefined;
|
|
3672
|
+
loadScrollYData($xeTable);
|
|
3673
|
+
}, fpsTime);
|
|
3674
|
+
}
|
|
3663
3675
|
function checkLastSyncScroll($xeTable, isRollX, isRollY) {
|
|
3664
3676
|
const reactData = $xeTable;
|
|
3665
3677
|
const internalData = $xeTable;
|
|
@@ -10555,24 +10567,24 @@ const Methods = {
|
|
|
10555
10567
|
*/
|
|
10556
10568
|
triggerScrollXEvent() {
|
|
10557
10569
|
const $xeTable = this;
|
|
10558
|
-
|
|
10559
|
-
|
|
10560
|
-
|
|
10561
|
-
|
|
10562
|
-
|
|
10563
|
-
|
|
10570
|
+
const virtualXOpts = $xeTable.computeVirtualXOpts;
|
|
10571
|
+
if (virtualXOpts.immediate) {
|
|
10572
|
+
loadScrollXData($xeTable);
|
|
10573
|
+
} else {
|
|
10574
|
+
lazyScrollXData($xeTable);
|
|
10575
|
+
}
|
|
10564
10576
|
},
|
|
10565
10577
|
/**
|
|
10566
10578
|
* 纵向 Y 可视渲染事件处理
|
|
10567
10579
|
*/
|
|
10568
10580
|
triggerScrollYEvent() {
|
|
10569
10581
|
const $xeTable = this;
|
|
10570
|
-
|
|
10571
|
-
|
|
10572
|
-
|
|
10573
|
-
|
|
10574
|
-
|
|
10575
|
-
|
|
10582
|
+
const virtualYOpts = $xeTable.computeVirtualYOpts;
|
|
10583
|
+
if (virtualYOpts.immediate) {
|
|
10584
|
+
loadScrollYData($xeTable);
|
|
10585
|
+
} else {
|
|
10586
|
+
lazyScrollYData($xeTable);
|
|
10587
|
+
}
|
|
10576
10588
|
},
|
|
10577
10589
|
triggerBodyScrollEvent(evnt, fixedType) {
|
|
10578
10590
|
const $xeTable = this;
|
|
@@ -10838,8 +10850,8 @@ const Methods = {
|
|
|
10838
10850
|
if (isRollX) {
|
|
10839
10851
|
evnt.preventDefault();
|
|
10840
10852
|
internalData.inWheelScroll = true;
|
|
10841
|
-
|
|
10842
|
-
const currLeftNum =
|
|
10853
|
+
if (browseObj.firefox || browseObj.safari) {
|
|
10854
|
+
const currLeftNum = scrollLeft;
|
|
10843
10855
|
(0, _dom.setScrollLeft)(xHandleEl, currLeftNum);
|
|
10844
10856
|
(0, _dom.setScrollLeft)(bodyScrollElem, currLeftNum);
|
|
10845
10857
|
(0, _dom.setScrollLeft)(headerScrollElem, currLeftNum);
|
|
@@ -10851,13 +10863,27 @@ const Methods = {
|
|
|
10851
10863
|
type: 'table',
|
|
10852
10864
|
fixed: ''
|
|
10853
10865
|
});
|
|
10854
|
-
}
|
|
10866
|
+
} else {
|
|
10867
|
+
wheelScrollLeftTo(scrollLeft, offsetLeft => {
|
|
10868
|
+
const currLeftNum = offsetLeft;
|
|
10869
|
+
(0, _dom.setScrollLeft)(xHandleEl, currLeftNum);
|
|
10870
|
+
(0, _dom.setScrollLeft)(bodyScrollElem, currLeftNum);
|
|
10871
|
+
(0, _dom.setScrollLeft)(headerScrollElem, currLeftNum);
|
|
10872
|
+
(0, _dom.setScrollLeft)(footerScrollElem, currLeftNum);
|
|
10873
|
+
if (scrollXLoad) {
|
|
10874
|
+
$xeTable.triggerScrollXEvent(evnt);
|
|
10875
|
+
}
|
|
10876
|
+
$xeTable.handleScrollEvent(evnt, isRollY, isRollX, bodyScrollElem.scrollTop, currLeftNum, {
|
|
10877
|
+
type: 'table',
|
|
10878
|
+
fixed: ''
|
|
10879
|
+
});
|
|
10880
|
+
});
|
|
10881
|
+
}
|
|
10855
10882
|
}
|
|
10856
10883
|
if (isRollY) {
|
|
10857
10884
|
evnt.preventDefault();
|
|
10858
|
-
|
|
10859
|
-
const currTopNum =
|
|
10860
|
-
internalData.inWheelScroll = true;
|
|
10885
|
+
if (browseObj.firefox || browseObj.safari) {
|
|
10886
|
+
const currTopNum = scrollTop;
|
|
10861
10887
|
(0, _dom.setScrollTop)(yHandleEl, currTopNum);
|
|
10862
10888
|
(0, _dom.setScrollTop)(bodyScrollElem, currTopNum);
|
|
10863
10889
|
(0, _dom.setScrollTop)(leftScrollElem, currTopNum);
|
|
@@ -10870,7 +10896,24 @@ const Methods = {
|
|
|
10870
10896
|
type: 'table',
|
|
10871
10897
|
fixed: ''
|
|
10872
10898
|
});
|
|
10873
|
-
}
|
|
10899
|
+
} else {
|
|
10900
|
+
wheelScrollTopTo(scrollTop - currScrollTop, offsetTop => {
|
|
10901
|
+
const currTopNum = bodyScrollElem.scrollTop + offsetTop;
|
|
10902
|
+
internalData.inWheelScroll = true;
|
|
10903
|
+
(0, _dom.setScrollTop)(yHandleEl, currTopNum);
|
|
10904
|
+
(0, _dom.setScrollTop)(bodyScrollElem, currTopNum);
|
|
10905
|
+
(0, _dom.setScrollTop)(leftScrollElem, currTopNum);
|
|
10906
|
+
(0, _dom.setScrollTop)(rightScrollElem, currTopNum);
|
|
10907
|
+
(0, _dom.setScrollTop)(rowExpandEl, currTopNum);
|
|
10908
|
+
if (scrollYLoad) {
|
|
10909
|
+
$xeTable.triggerScrollYEvent(evnt);
|
|
10910
|
+
}
|
|
10911
|
+
$xeTable.handleScrollEvent(evnt, isRollY, isRollX, currTopNum, bodyScrollElem.scrollLeft, {
|
|
10912
|
+
type: 'table',
|
|
10913
|
+
fixed: ''
|
|
10914
|
+
});
|
|
10915
|
+
});
|
|
10916
|
+
}
|
|
10874
10917
|
}
|
|
10875
10918
|
},
|
|
10876
10919
|
triggerVirtualScrollXEvent(evnt) {
|
|
@@ -11034,20 +11077,18 @@ const Methods = {
|
|
|
11034
11077
|
ySpaceWidth = maxXWidth;
|
|
11035
11078
|
isScrollXBig = true;
|
|
11036
11079
|
}
|
|
11037
|
-
|
|
11038
|
-
|
|
11039
|
-
marginLeft = `${xSpaceLeft}px`;
|
|
11080
|
+
if (!(scrollXLoad && overflowX)) {
|
|
11081
|
+
xSpaceLeft = 0;
|
|
11040
11082
|
}
|
|
11041
11083
|
if (headerTableElem) {
|
|
11042
|
-
headerTableElem.style.
|
|
11084
|
+
headerTableElem.style.transform = headerTableElem.getAttribute('xvm') ? `translate(${xSpaceLeft}px, 0px)` : '';
|
|
11043
11085
|
}
|
|
11044
11086
|
if (bodyTableElem) {
|
|
11045
|
-
bodyTableElem.style.
|
|
11087
|
+
bodyTableElem.style.transform = `translate(${xSpaceLeft}px, ${reactData.scrollYTop || 0}px)`;
|
|
11046
11088
|
}
|
|
11047
11089
|
if (footerTableElem) {
|
|
11048
|
-
footerTableElem.style.
|
|
11090
|
+
footerTableElem.style.transform = footerTableElem.getAttribute('xvm') ? `translate(${xSpaceLeft}px, 0px)` : '';
|
|
11049
11091
|
}
|
|
11050
|
-
reactData.isScrollXBig = isScrollXBig;
|
|
11051
11092
|
const containerList = ['main'];
|
|
11052
11093
|
containerList.forEach(name => {
|
|
11053
11094
|
const layoutList = ['header', 'body', 'footer'];
|
|
@@ -11058,6 +11099,9 @@ const Methods = {
|
|
|
11058
11099
|
}
|
|
11059
11100
|
});
|
|
11060
11101
|
});
|
|
11102
|
+
reactData.scrollXLeft = xSpaceLeft;
|
|
11103
|
+
reactData.scrollXWidth = ySpaceWidth;
|
|
11104
|
+
reactData.isScrollXBig = isScrollXBig;
|
|
11061
11105
|
const scrollXSpaceEl = $xeTable.$refs.refScrollXSpaceElem;
|
|
11062
11106
|
if (scrollXSpaceEl) {
|
|
11063
11107
|
scrollXSpaceEl.style.width = `${ySpaceWidth}px`;
|
|
@@ -11108,6 +11152,8 @@ const Methods = {
|
|
|
11108
11152
|
const defaultRowHeight = $xeTable.computeDefaultRowHeight;
|
|
11109
11153
|
const bodyScrollElem = (0, _util.getRefElem)(elemStore['main-body-scroll']);
|
|
11110
11154
|
const bodyTableElem = (0, _util.getRefElem)(elemStore['main-body-table']);
|
|
11155
|
+
const leftBodyTableElem = (0, _util.getRefElem)(elemStore['left-body-table']);
|
|
11156
|
+
const rightbodyTableElem = (0, _util.getRefElem)(elemStore['right-body-table']);
|
|
11111
11157
|
const containerList = ['main', 'left', 'right'];
|
|
11112
11158
|
let ySpaceTop = 0;
|
|
11113
11159
|
let scrollYHeight = 0;
|
|
@@ -11158,12 +11204,17 @@ const Methods = {
|
|
|
11158
11204
|
}
|
|
11159
11205
|
ySpaceHeight = maxYHeight;
|
|
11160
11206
|
}
|
|
11207
|
+
if (leftBodyTableElem) {
|
|
11208
|
+
leftBodyTableElem.style.transform = `translate(0px, ${scrollYTop}px)`;
|
|
11209
|
+
}
|
|
11210
|
+
if (bodyTableElem) {
|
|
11211
|
+
bodyTableElem.style.transform = `translate(${reactData.scrollXLeft || 0}px, ${scrollYTop}px)`;
|
|
11212
|
+
}
|
|
11213
|
+
if (rightbodyTableElem) {
|
|
11214
|
+
rightbodyTableElem.style.transform = `translate(0px, ${scrollYTop}px)`;
|
|
11215
|
+
}
|
|
11161
11216
|
containerList.forEach(name => {
|
|
11162
11217
|
const layoutList = ['header', 'body', 'footer'];
|
|
11163
|
-
const tableElem = (0, _util.getRefElem)(elemStore[`${name}-body-table`]);
|
|
11164
|
-
if (tableElem) {
|
|
11165
|
-
tableElem.style.marginTop = scrollYTop ? `${scrollYTop}px` : '';
|
|
11166
|
-
}
|
|
11167
11218
|
layoutList.forEach(layout => {
|
|
11168
11219
|
const ySpaceElem = (0, _util.getRefElem)(elemStore[`${name}-${layout}-ySpace`]);
|
|
11169
11220
|
if (ySpaceElem) {
|