vxe-table 3.19.7 → 3.19.9
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/column.js +6 -0
- package/es/table/src/columnInfo.js +3 -0
- package/es/table/src/header.js +1 -7
- package/es/table/src/methods.js +90 -26
- package/es/table/src/table.js +2 -10
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +107 -47
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/src/column.js +6 -0
- package/lib/table/src/column.min.js +1 -1
- package/lib/table/src/columnInfo.js +3 -0
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/header.js +1 -7
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/methods.js +94 -28
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +1 -10
- 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/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +1 -1
- package/packages/table/src/column.ts +8 -0
- package/packages/table/src/columnInfo.ts +5 -0
- package/packages/table/src/header.ts +2 -8
- package/packages/table/src/methods.ts +92 -28
- package/packages/table/src/table.ts +2 -10
- /package/es/{iconfont.1762136064244.ttf → iconfont.1762392676329.ttf} +0 -0
- /package/es/{iconfont.1762136064244.woff → iconfont.1762392676329.woff} +0 -0
- /package/es/{iconfont.1762136064244.woff2 → iconfont.1762392676329.woff2} +0 -0
- /package/lib/{iconfont.1762136064244.ttf → iconfont.1762392676329.ttf} +0 -0
- /package/lib/{iconfont.1762136064244.woff → iconfont.1762392676329.woff} +0 -0
- /package/lib/{iconfont.1762136064244.woff2 → iconfont.1762392676329.woff2} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.columnWatch=exports.columnProps=void 0;var _cell=_interopRequireDefault(require("./cell")),_comp=require("../../ui/src/comp"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let columnProps=exports.columnProps={colId:[String,Number],type:String,field:String,title:String,width:[Number,String],minWidth:[Number,String],maxWidth:[Number,String],resizable:{type:Boolean,default:null},fixed:String,align:String,headerAlign:String,footerAlign:String,showOverflow:{type:[Boolean,String],default:null},showHeaderOverflow:{type:[Boolean,String],default:null},showFooterOverflow:{type:[Boolean,String],default:null},className:[String,Function],headerClassName:[String,Function],footerClassName:[String,Function],formatter:[Function,Array,String],headerFormatter:[Function,Array,String],footerFormatter:[Function,Array,String],padding:{type:Boolean,default:null},verticalAlign:{type:String,default:null},sortable:Boolean,remoteSort:{type:Boolean,default:null},sortBy:[String,Function],sortType:String,sortMethod:Function,filters:{type:Array,default:null},filterMultiple:{type:Boolean,default:!0},filterMethod:Function,filterResetMethod:Function,filterRecoverMethod:Function,filterRender:Object,floatingFilters:Object,rowGroupNode:Boolean,treeNode:Boolean,dragSort:Boolean,rowResize:Boolean,visible:{type:Boolean,default:null},headerExportMethod:Function,exportMethod:Function,footerExportMethod:Function,titleHelp:Object,titlePrefix:Object,titleSuffix:Object,cellType:String,cellRender:Object,editRender:Object,contentRender:Object,aggFunc:[String,Boolean],params:Object},columnWatch=exports.columnWatch={};Object.keys(columnProps).forEach(o=>{columnWatch[o]=function(e){var t=this.$xeTable;this.columnConfig.update(o,e),t&&("filters"===o?(t.setFilter(this.columnConfig,e),t.handleUpdateDataQueue()):["visible","fixed","width","minWidth","maxWidth"].includes(o)&&t.handleRefreshColumnQueue())}});var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeColumn",props:columnProps,provide(){return{$xeColumn:this,$xeGrid:null,$xeGantt:null}},inject:{$xeTable:{default:null},$xeColumn:{default:null}},watch:columnWatch,created(){var e=this.$xeTable;this.columnConfig=this.createColumn(e,this)},mounted(){this.columnConfig.slots=this.$scopedSlots,(0,_util.assembleColumn)(this)},destroyed(){(0,_util.destroyColumn)(this)},render(e){return e("div",this.$slots.default)},methods:_cell.default});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.columnWatch=exports.columnProps=void 0;var _cell=_interopRequireDefault(require("./cell")),_comp=require("../../ui/src/comp"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let columnProps=exports.columnProps={colId:[String,Number],type:String,field:String,title:String,width:[Number,String],minWidth:[Number,String],maxWidth:[Number,String],resizable:{type:Boolean,default:null},fixed:String,align:String,headerAlign:String,footerAlign:String,showOverflow:{type:[Boolean,String],default:null},showHeaderOverflow:{type:[Boolean,String],default:null},showFooterOverflow:{type:[Boolean,String],default:null},className:[String,Function],headerClassName:[String,Function],footerClassName:[String,Function],formatter:[Function,Array,String],headerFormatter:[Function,Array,String],footerFormatter:[Function,Array,String],padding:{type:Boolean,default:null},verticalAlign:{type:String,default:null},sortable:Boolean,remoteSort:{type:Boolean,default:null},sortBy:[String,Function],sortType:String,sortMethod:Function,filters:{type:Array,default:null},filterMultiple:{type:Boolean,default:!0},filterMethod:Function,filterResetMethod:Function,filterRecoverMethod:Function,filterRender:Object,floatingFilters:Object,rowGroupNode:Boolean,treeNode:Boolean,dragSort:Boolean,rowResize:Boolean,visible:{type:Boolean,default:null},headerExportMethod:Function,exportMethod:Function,footerExportMethod:Function,titleHelp:Object,titlePrefix:Object,titleSuffix:Object,cellType:String,cellRender:Object,editRender:Object,contentRender:Object,aggFunc:[String,Boolean],copyMethod:Function,cutMethod:Function,pasteMethod:Function,params:Object},columnWatch=exports.columnWatch={};Object.keys(columnProps).forEach(o=>{columnWatch[o]=function(e){var t=this.$xeTable;this.columnConfig.update(o,e),t&&("filters"===o?(t.setFilter(this.columnConfig,e),t.handleUpdateDataQueue()):["visible","fixed","width","minWidth","maxWidth"].includes(o)&&t.handleRefreshColumnQueue())}});var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeColumn",props:columnProps,provide(){return{$xeColumn:this,$xeGrid:null,$xeGantt:null}},inject:{$xeTable:{default:null},$xeColumn:{default:null}},watch:columnWatch,created(){var e=this.$xeTable;this.columnConfig=this.createColumn(e,this)},mounted(){this.columnConfig.slots=this.$scopedSlots,(0,_util.assembleColumn)(this)},destroyed(){(0,_util.destroyColumn)(this)},render(e){return e("div",this.$slots.default)},methods:_cell.default});
|
|
@@ -141,6 +141,9 @@ class ColumnInfo {
|
|
|
141
141
|
titlePrefix: _vm.titlePrefix,
|
|
142
142
|
titleSuffix: _vm.titleSuffix,
|
|
143
143
|
aggFunc: _vm.aggFunc,
|
|
144
|
+
copyMethod: _vm.copyMethod,
|
|
145
|
+
cutMethod: _vm.cutMethod,
|
|
146
|
+
pasteMethod: _vm.pasteMethod,
|
|
144
147
|
// 自定义参数
|
|
145
148
|
params: _vm.params,
|
|
146
149
|
// 渲染属性
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.ColumnInfo=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,formats,renderer}=_ui.VxeUI;class ColumnInfo{constructor(e,r,{renderHeader:t,renderCell:
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.ColumnInfo=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,formats,renderer}=_ui.VxeUI;class ColumnInfo{constructor(e,r,{renderHeader:t,renderCell:o,renderFooter:l,renderData:i}={}){var d=e,n=e.$xeGrid,a=e.$xeGantt,s=n||a,{field:u,editRender:f,filterRender:g}=r,c=r.colId||_xeUtils.default.uniqueId("col_"),h=n?n.computeProxyOpts:null,p=r.formatter,m=!_xeUtils.default.isBoolean(r.visible)||r.visible,x=(0,_utils.isEnableConf)(g)?renderer.get(g.name):null,x=x?x.createTableFilterOptions:null,F=(0,_util.toFilters)(r.filters,c),_=["seq","checkbox","radio","expand","html"];r.type&&-1===_.indexOf(r.type)&&(0,_log.warnLog)("vxe.error.errProp",["type="+r.type,_.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={}"]),"expand"===r.type&&(_=d.treeConfig,_)&&(e.treeOpts.showLine||e.treeOpts.line)&&(0,_log.errLog)("vxe.error.errConflicts",["tree-config.line","column.type=expand"]),r.remoteSort&&(0,_log.warnLog)("vxe.error.delProp",["column.remote-sort","sort-config.remote"]),r.sortMethod&&(0,_log.warnLog)("vxe.error.delProp",["column.sort-method","sort-config.sortMethod"]),p&&(_xeUtils.default.isString(p)?(d=formats.get(p)||_xeUtils.default[p])&&_xeUtils.default.isFunction(d.tableCellFormatMethod||d.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[p]):!_xeUtils.default.isArray(p)||(_=formats.get(p[0])||_xeUtils.default[p[0]])&&_xeUtils.default.isFunction(_.tableCellFormatMethod||_.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[p[0]])),r.aggFunc&&!e.handlePivotTableAggregateData&&!0!==r.aggFunc&&(0,_log.errLog)("vxe.error.errProp",["column.agg-func="+r.aggFunc,"column.agg-func=true"]),u&&f&&(f.startField&&0<=(""+f.startField).indexOf(u)&&(0,_log.errLog)("vxe.error.modelConflicts",["field="+u,"edit-render.startField="+f.startField]),f.endField)&&0<=(""+f.endField).indexOf(u)&&(0,_log.errLog)("vxe.error.modelConflicts",["field="+u,"edit-render.endField="+f.endField]),Object.assign(this,{type:r.type,property:r.field,field:u,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:p,headerFormatter:r.headerFormatter,footerFormatter:r.footerFormatter,padding:r.padding,verticalAlign:r.verticalAlign,sortable:r.sortable,sortBy:r.sortBy,sortType:r.sortType,sortMethod:r.sortMethod,remoteSort:r.remoteSort,filters:F,filterMultiple:!_xeUtils.default.isBoolean(r.filterMultiple)||r.filterMultiple,filterMethod:r.filterMethod,filterResetMethod:r.filterResetMethod,filterRecoverMethod:r.filterRecoverMethod,filterRender:g,floatingFilters:r.floatingFilters,rowGroupNode:r.rowGroupNode,treeNode:r.treeNode,dragSort:r.dragSort,rowResize:r.rowResize,cellType:r.cellType,cellRender:r.cellRender,editRender:f,contentRender:r.contentRender,headerExportMethod:r.headerExportMethod,exportMethod:r.exportMethod,footerExportMethod:r.footerExportMethod,titleHelp:r.titleHelp,titlePrefix:r.titlePrefix,titleSuffix:r.titleSuffix,aggFunc:r.aggFunc,copyMethod:r.copyMethod,cutMethod:r.cutMethod,pasteMethod:r.pasteMethod,params:r.params,id:c,parentId:null,visible:m,defaultParentId:null,halfVisible:!1,defaultVisible:m,defaultFixed:r.fixed,defaultAggGroup:r.aggGroup,defaultAggFunc:r.aggFunc,checked:!1,halfChecked:!1,disabled:!1,level:1,rowSpan:1,colSpan:1,order:null,sortTime:0,sortNumber:0,renderSortNumber:0,renderAggFn:"",renderFixed:"",renderVisible:!1,renderWidth:0,renderHeight:0,renderResizeWidth:0,renderAutoWidth:0,resizeWidth:0,renderLeft:0,renderArgs:[],model:{},renderHeader:t||r.renderHeader,renderCell:o||r.renderCell,renderFooter:l||r.renderFooter,renderData:i,slots:r.slots}),!x||F&&F.length||(this.filters=(0,_util.toFilters)(x({$table:e,column:this}),c)),s&&h&&h.beforeColumn&&h.beforeColumn({$table:e,$grid:n,$gantt:a,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/header.js
CHANGED
|
@@ -375,13 +375,7 @@ function renderFilterRows(h, _vm, isOptimizeMode, cols) {
|
|
|
375
375
|
colid
|
|
376
376
|
},
|
|
377
377
|
class: 'vxe-cell--wrapper vxe-header-cell--wrapper'
|
|
378
|
-
}, flSlot ? $xeTable.callSlot(flSlot, cellParams, h) : rtFloatingFilter && firstFilterOption ? (0, _vn.getSlotVNs)(rtFloatingFilter.call($xeTable, h, filterRender,
|
|
379
|
-
$table: $xeTable,
|
|
380
|
-
option: firstFilterOption,
|
|
381
|
-
column: column,
|
|
382
|
-
columnIndex,
|
|
383
|
-
$columnIndex
|
|
384
|
-
})) : [])])]);
|
|
378
|
+
}, flSlot ? $xeTable.callSlot(flSlot, cellParams, h) : rtFloatingFilter && firstFilterOption ? (0, _vn.getSlotVNs)(rtFloatingFilter.call($xeTable, h, filterRender, cellParams)) : [])])]);
|
|
385
379
|
});
|
|
386
380
|
}
|
|
387
381
|
function renderHeads(h, _vm, isGroup, isOptimizeMode, headerGroups) {
|
|
@@ -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"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,sourceType="table",renderType="header";function getColumnFirstChild(e){var l=e.children;return l&&l.length?getColumnFirstChild(l[0]):e}function getColumnLastChild(e){var l=e.children;return l&&l.length?getColumnLastChild(l[l.length-1]):e}function renderRows(D,e,R,
|
|
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"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,sourceType="table",renderType="header";function getColumnFirstChild(e){var l=e.children;return l&&l.length?getColumnFirstChild(l[0]):e}function getColumnLastChild(e){var l=e.children;return l&&l.length?getColumnLastChild(l[l.length-1]):e}function renderRows(D,e,R,F,l,I,O){let k=e.$parent,z=k.$xeGrid,A=k.$xeGantt;var r=k,t=k,a=k;let U=e.fixedType,{resizable:L,columnKey:G,showCustomHeader:X,headerCellClassName:q,headerCellStyle:M,showHeaderOverflow:N,headerAlign:W,align:B,mouseConfig:V}=r,{currentColumn:K,dragCol:P,scrollXLoad:j,scrollYLoad:Y,overflowX:J,mergeHeadFlag:de,tableColumn:ne}=t,{fullColumnIdData:Q,scrollXStore:Z,mergeHeaderList:oe,mergeHeaderCellMaps:se}=a,ue=k.computeVirtualXOpts,ee=k.computeColumnOpts,le=k.computeColumnDragOpts,ce=k.computeCellOpts;e=k.computeDefaultRowHeight;let re=k.computeHeaderCellOpts,te=(0,_util.getCalcHeight)(re.height)||e,{disabledMethod:ae,isCrossDrag:pe,isPeerDrag:ge}=le,ie=I===l.length-1;return O.map((e,l)=>{var{type:r,showHeaderOverflow:t,headerAlign:a,align:i,filters:d,headerClassName:n,editRender:o,cellRender:s}=e,u=e.id,c=Q[u]||{},o=o||s,s=o?renderer.get(o.name):null,o=e.children&&e.children.length,p=J&&!o&&(U?e.fixed!==U:!!e.fixed),g=(_xeUtils.default.isBoolean(re.padding)?re:ce).padding,t=_xeUtils.default.isUndefined(t)||_xeUtils.default.isNull(t)?N:t,a=a||(s?s.tableHeaderCellAlign:"")||W||i||(s?s.tableCellAlign:"")||B,i="ellipsis"===t,s="title"===t,t=!0===t||"tooltip"===t,f=s||t||i;let h=!1,m=null;d&&(m=d[0],h=d.some(e=>e.checked));var x=c.index,c=X?l:c._index;let v={$table:k,$grid:z,$gantt:A,$rowIndex:I,column:e,columnIndex:x,$columnIndex:l,_columnIndex:c,firstFilterOption:m,fixed:U,source:sourceType,type:renderType,isHidden:p,hasFilter:h};x={colid:u};let C=!1;if(X||(x.colspan=1<e.colSpan?e.colSpan:null,x.rowspan=1<e.rowSpan?e.rowSpan:null),de&&oe.length&&(X||ie)){var b=se[I+":"+(X?l:c)];if(b){var{rowspan:b,colspan:w}=b;if(!b||!w)return null;1<b&&(C=!0,x.rowspan=b),1<w&&(C=!0,x.colspan=w)}}b={click:e=>k.triggerHeaderCellClickEvent(e,v),dblclick:e=>k.triggerHeaderCellDblclickEvent(e,v)},w=ee.drag&&"cell"===le.trigger;let H=!1;w&&(H=!(!ae||!ae(v))),(V||w)&&(b.mousedown=e=>k.triggerHeaderCellMousedownEvent(e,v)),ee.drag&&(b.dragstart=k.handleHeaderCellDragDragstartEvent,b.dragend=k.handleHeaderCellDragDragendEvent,b.dragover=k.handleHeaderCellDragDragoverEvent,w)&&(b.mouseup=k.handleHeaderCellDragMouseupEvent);var w=l===O.length-1,y=_xeUtils.default.isBoolean(e.resizable)?e.resizable:ee.resizable||L,_=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width);let $=!1;!F||!J||R||C||P&&P.id===u||j&&10<ne.length&&!e.fixed&&!ue.immediate&&(c<Z.visibleStartIndex-Z.preloadSize||c>Z.visibleEndIndex+Z.preloadSize)&&($=!0);var E,S,T,c={};return f?c.height=te+"px":c.minHeight=te+"px",X||o&&!ie&&(S=getColumnFirstChild(e),E=getColumnLastChild(e),S)&&E&&S.id!==E.id&&(S=Q[S.id],T=Q[E.id],S)&&T&&(c.width=T.oLeft-S.oLeft+E.renderWidth+"px"),D("th",{class:["vxe-table--column vxe-header--column",u,p?"fixed--hidden":"fixed--visible",{["col--"+a]:a,["col--"+r]:r,"col--last":w,"col--fixed":e.fixed,"col--group":o,"col--ellipsis":f,"fixed--width":!_,"is--padding":g,"is--sortable":e.sortable,"col--filter":!!d,"is--filter-active":h,"is--drag-active":ee.drag&&!e.fixed&&!H&&(pe||ge||!e.parentId),"is--drag-disabled":ee.drag&&H,"col--current":K===e},(0,_utils.getClass)(n,v),(0,_utils.getClass)(q,v)],attrs:x,style:M?_xeUtils.default.isFunction(M)?M(v):M:void 0,on:b,key:X?""+u+l:G||j||Y||ee.useKey||ee.drag||o?u:l},[D("div",{class:["vxe-cell",{"c--title":s,"c--tooltip":t,"c--ellipsis":i}],style:c},$||F&&p?[]:[D("div",{attrs:{colid:u},class:"vxe-cell--wrapper vxe-header-cell--wrapper"},e.renderHeader(D,v))]),p||!y||X&&!ie?renderEmptyElement(k):D("div",{class:"vxe-cell--col-resizable",on:{mousedown:e=>k.handleColResizeMousedownEvent(e,U,v),dblclick:e=>k.handleColResizeDblclickEvent(e,v)}})])})}function renderFilterRows(w,e,H,y){let _=e.$parent,$=_.$xeGrid,E=_.$xeGantt;var l=_,r=_,t=_;let S=e.fixedType,{showHeaderOverflow:T,headerAlign:D,align:R}=l,{currentColumn:F,overflowX:I}=r,O=t.fullColumnIdData,k=_.computeCellOpts;e=_.computeDefaultRowHeight;let z=_.computeHeaderCellOpts,A=(0,_util.getCalcHeight)(z.height)||e;return y.map((e,l)=>{var{type:r,showHeaderOverflow:t,headerAlign:a,align:i,filters:d,editRender:n,cellRender:o,floatingFilters:s,filterRender:u,slots:c}=e,p=e.id,g=O[p]||{},n=n||o,o=n?renderer.get(n.name):null,n=(0,_utils.isEnableConf)(u)?renderer.get(u.name):null,n=n?n.renderTableFloatingFilter:null,c=c?c.floatingFilter||c["floating-filter"]:null,f=I&&(S?e.fixed!==S:!!e.fixed),h=(_xeUtils.default.isBoolean(z.padding)?z:k).padding,t=_xeUtils.default.eqNull(t)?T:t,a=a||(o?o.tableHeaderCellAlign:"")||D||i||(o?o.tableCellAlign:"")||R,i="ellipsis"===t,o="title"===t,t=!0===t||"tooltip"===t,m=o||t||i;let x=!1,v=null;d&&(v=d[0],x=d.some(e=>e.checked));var d=g.index,g=g._index,d={$table:_,$grid:$,$gantt:E,column:e,columnIndex:d,$columnIndex:l,_columnIndex:g,option:v,fixed:S,source:sourceType,type:renderType,isHidden:f,hasFilter:x},g={colid:p},l=l===y.length-1,C=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width),b={};return m?b.height=A+"px":b.minHeight=A+"px",w("th",{class:["vxe-table--column vxe-header--column",p,f?"fixed--hidden":"fixed--visible",{["col--"+a]:a,["col--"+r]:r,"col--last":l,"col--fixed":e.fixed,"col--ellipsis":m,"fixed--width":!C,"is--padding":h,"is--sortable":e.sortable,"col--current":F===e}],key:p,attrs:g},[w("div",{class:["vxe-cell",{"c--title":o,"c--tooltip":t,"c--ellipsis":i}],style:b},H&&f&&!s?[]:[w("div",{attrs:{colid:p},class:"vxe-cell--wrapper vxe-header-cell--wrapper"},c?_.callSlot(c,d,w):n&&v?(0,_vn.getSlotVNs)(n.call(_,w,u,d)):[])])])})}function renderHeads(t,a,i,d,n){let o=a.$parent;var e=o,l=o;let{fixedType:s,fixedColumn:r}=a,{headerRowClassName:u,headerRowStyle:c}=e;var e=l.visibleColumn,l=o.computeFloatingFilterOpts,p=n.map((e,l)=>{var r={$table:o,$rowIndex:l,fixed:s,type:renderType};return t("tr",{key:l,class:["vxe-header--row",u?_xeUtils.default.isFunction(u)?u(r):u:""],style:c?_xeUtils.default.isFunction(c)?c(r):c:void 0},renderRows(t,a,i,d,n,l,e))});return l.enabled&&p.push(t("tr",{key:"ff",class:["vxe-header--row"]},renderFilterRows(t,a,d,d&&s?r:e))),p}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,t=l,a=l,i=l.xID;let{fixedType:d,fixedColumn:n,tableColumn:o}=this;var s=this.headerColumn,e=e.mouseConfig,{isGroup:t,isColLoading:u,overflowX:c,scrollXLoad:p,dragCol:g}=t,{visibleColumn:a,fullColumnIdData:f}=a,h=l.computeMouseOpts;let m=s,x=o;s=l.computeIsHeaderRenderOptimize;return t?x=a:(s&&(u||!d&&c)||(x=a),d&&s&&(x=n||[]),m=[x]),d||t||p&&g&&2<x.length&&(u=f[g.id])&&(c=u._index,a=x[0],p=x[x.length-1],u=f[a.id],a=f[p.id],u)&&a&&(f=u._index,p=a._index,c<f?(x=[g].concat(x),m=[[g].concat(m[0])].concat(m.slice(1))):p<c&&(x=x.concat([g]),m=[m[0].concat([g])].concat(m.slice(1)))),r("div",{ref:"refElem",class:["vxe-table--header-wrapper",d?`fixed-${d}--wrapper`:"body--wrapper"],attrs:{xid:i}},[r("div",{ref:"refHeaderScroll",class:"vxe-table--header-inner-wrapper",on:{scroll(e){l.triggerHeaderScrollEvent(e,d)}}},[d?renderEmptyElement(l):r("div",{ref:"refHeaderXSpace",class:"vxe-body--x-space"}),r("table",{ref:"refHeaderTable",class:"vxe-table--header",attrs:{xid:i,cellspacing:0,cellpadding:0,border:0,xvm:s?"1":null}},[r("colgroup",{ref:"refHeaderColgroup"},x.map((e,l)=>r("col",{attrs:{name:e.id},key:l,style:{width:e.renderWidth+"px"}}))),r("thead",{ref:"refHeaderTHead"},renderHeads(r,this,t,s,m))]),e&&h.area?r("div",{class:"vxe-table--cell-area",attrs:{xid:i}},[r("span",{class:"vxe-table--cell-main-area"}),r("span",{class:"vxe-table--cell-clip-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,l=e.showCustomHeader,{collectColumn:r,visibleColumn:t}=e,a=this.tableGroupColumn,i=e.isGroup;let d=i?(0,_util.convertHeaderColumnToRows)(a):[],n=[];l&&1<d.length&&(n=(0,_util.convertHeaderToGridRows)(d),d=n),this.headerColumn=d,e.dispatchEvent("columns-change",{visibleColgroups:n,collectColumn:r,visibleColumn:t},null)}}};
|
package/lib/table/src/methods.js
CHANGED
|
@@ -2921,21 +2921,36 @@ function autoCellWidth($xeTable) {
|
|
|
2921
2921
|
/**
|
|
2922
2922
|
* 计算自适应行高
|
|
2923
2923
|
*/
|
|
2924
|
-
const calcCellAutoHeight = (rowRest, wrapperEl) => {
|
|
2925
|
-
const
|
|
2926
|
-
|
|
2924
|
+
const calcCellAutoHeight = ($xeTable, rowRest, wrapperEl) => {
|
|
2925
|
+
const reactData = $xeTable;
|
|
2926
|
+
const {
|
|
2927
|
+
scrollXLoad
|
|
2928
|
+
} = reactData;
|
|
2929
|
+
const wrapperElemList = wrapperEl.querySelectorAll(`.vxe-cell--wrapper[rowid="${rowRest.rowid}"]`);
|
|
2930
|
+
let colHeight = 0;
|
|
2927
2931
|
let firstCellStyle = null;
|
|
2928
2932
|
let topBottomPadding = 0;
|
|
2929
|
-
for (let i = 0; i <
|
|
2930
|
-
const wrapperElem =
|
|
2933
|
+
for (let i = 0; i < wrapperElemList.length; i++) {
|
|
2934
|
+
const wrapperElem = wrapperElemList[i];
|
|
2931
2935
|
const cellElem = wrapperElem.parentElement;
|
|
2936
|
+
const cellStyle = cellElem.style;
|
|
2937
|
+
const orHeight = cellStyle.height;
|
|
2938
|
+
if (!scrollXLoad) {
|
|
2939
|
+
cellStyle.height = '';
|
|
2940
|
+
}
|
|
2932
2941
|
if (!firstCellStyle) {
|
|
2933
2942
|
firstCellStyle = getComputedStyle(cellElem);
|
|
2934
2943
|
topBottomPadding = firstCellStyle ? Math.ceil(_xeUtils.default.toNumber(firstCellStyle.paddingTop) + _xeUtils.default.toNumber(firstCellStyle.paddingBottom)) : 0;
|
|
2935
2944
|
}
|
|
2945
|
+
if (!scrollXLoad) {
|
|
2946
|
+
cellStyle.height = orHeight;
|
|
2947
|
+
}
|
|
2936
2948
|
const cellHeight = wrapperElem ? wrapperElem.clientHeight : 0;
|
|
2937
2949
|
colHeight = Math.max(colHeight, Math.ceil(cellHeight + topBottomPadding));
|
|
2938
2950
|
}
|
|
2951
|
+
if (scrollXLoad) {
|
|
2952
|
+
colHeight = Math.max(colHeight, rowRest.height);
|
|
2953
|
+
}
|
|
2939
2954
|
return colHeight;
|
|
2940
2955
|
};
|
|
2941
2956
|
/**
|
|
@@ -2960,17 +2975,19 @@ const calcCellHeight = $xeTable => {
|
|
|
2960
2975
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
2961
2976
|
const defaultRowHeight = $xeTable.computeDefaultRowHeight;
|
|
2962
2977
|
const el = $xeTable.$refs.refElem;
|
|
2963
|
-
if (!isAllOverflow && (scrollYLoad || scrollXLoad || treeConfig && treeOpts.showLine)
|
|
2978
|
+
if (el && !isAllOverflow && (scrollYLoad || scrollXLoad || treeConfig && treeOpts.showLine)) {
|
|
2964
2979
|
const {
|
|
2965
2980
|
handleGetRowId
|
|
2966
2981
|
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
2982
|
+
el.setAttribute('data-calc-row', 'Y');
|
|
2967
2983
|
tableData.forEach(row => {
|
|
2968
2984
|
const rowid = handleGetRowId(row);
|
|
2969
2985
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
2970
2986
|
if (rowRest) {
|
|
2971
|
-
const height = calcCellAutoHeight(rowRest, el);
|
|
2972
|
-
rowRest.height = Math.max(defaultRowHeight,
|
|
2987
|
+
const height = calcCellAutoHeight($xeTable, rowRest, el);
|
|
2988
|
+
rowRest.height = Math.max(defaultRowHeight, height);
|
|
2973
2989
|
}
|
|
2990
|
+
el.removeAttribute('data-calc-row');
|
|
2974
2991
|
});
|
|
2975
2992
|
reactData.calcCellHeightFlag++;
|
|
2976
2993
|
}
|
|
@@ -4466,8 +4483,8 @@ function updateHeight($xeTable) {
|
|
|
4466
4483
|
internalData.customHeight = calcTableHeight($xeTable, 'height');
|
|
4467
4484
|
internalData.customMinHeight = calcTableHeight($xeTable, 'minHeight');
|
|
4468
4485
|
internalData.customMaxHeight = calcTableHeight($xeTable, 'maxHeight');
|
|
4469
|
-
//
|
|
4470
|
-
if (reactData.scrollYLoad && !(internalData.customHeight || internalData.customMinHeight)) {
|
|
4486
|
+
// 如果启用虚拟滚动,纠正高度
|
|
4487
|
+
if (reactData.scrollYLoad && !(internalData.customHeight || internalData.customMinHeight || internalData.customMaxHeight)) {
|
|
4471
4488
|
internalData.customHeight = 300;
|
|
4472
4489
|
}
|
|
4473
4490
|
}
|
|
@@ -4957,6 +4974,28 @@ const Methods = {
|
|
|
4957
4974
|
}
|
|
4958
4975
|
return $xeTable.$nextTick();
|
|
4959
4976
|
},
|
|
4977
|
+
initData() {
|
|
4978
|
+
const $xeTable = this;
|
|
4979
|
+
const props = $xeTable;
|
|
4980
|
+
const reactData = $xeTable;
|
|
4981
|
+
const internalData = $xeTable;
|
|
4982
|
+
const {
|
|
4983
|
+
data
|
|
4984
|
+
} = props;
|
|
4985
|
+
loadTableData($xeTable, data || [], true).then(() => {
|
|
4986
|
+
if (data && data.length) {
|
|
4987
|
+
internalData.inited = true;
|
|
4988
|
+
internalData.initStatus = true;
|
|
4989
|
+
handleLoadDefaults($xeTable);
|
|
4990
|
+
}
|
|
4991
|
+
handleInitDefaults($xeTable);
|
|
4992
|
+
updateStyle($xeTable);
|
|
4993
|
+
if (!reactData.isAllOverflow) {
|
|
4994
|
+
calcCellHeight($xeTable);
|
|
4995
|
+
updateRowOffsetTop($xeTable);
|
|
4996
|
+
}
|
|
4997
|
+
});
|
|
4998
|
+
},
|
|
4960
4999
|
/**
|
|
4961
5000
|
* 加载表格数据
|
|
4962
5001
|
* @param {Array} datas 数据
|
|
@@ -7155,7 +7194,9 @@ const Methods = {
|
|
|
7155
7194
|
return;
|
|
7156
7195
|
}
|
|
7157
7196
|
const handleRsHeight = () => {
|
|
7158
|
-
|
|
7197
|
+
el.setAttribute('data-calc-row', 'Y');
|
|
7198
|
+
const resizeHeight = calcCellAutoHeight($xeTable, rowRest, el);
|
|
7199
|
+
el.removeAttribute('data-calc-row');
|
|
7159
7200
|
const resizeParams = Object.assign(Object.assign({}, params), {
|
|
7160
7201
|
resizeHeight,
|
|
7161
7202
|
resizeRow: row
|
|
@@ -7254,7 +7295,7 @@ const Methods = {
|
|
|
7254
7295
|
const rowid = _xeUtils.default.isString(row) || _xeUtils.default.isNumber(row) ? row : handleGetRowId(row);
|
|
7255
7296
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
7256
7297
|
if (rowRest) {
|
|
7257
|
-
rowRest.resizeHeight = calcCellAutoHeight(rowRest, el);
|
|
7298
|
+
rowRest.resizeHeight = calcCellAutoHeight($xeTable, rowRest, el);
|
|
7258
7299
|
}
|
|
7259
7300
|
el.removeAttribute('data-calc-row');
|
|
7260
7301
|
});
|
|
@@ -13076,14 +13117,27 @@ const Methods = {
|
|
|
13076
13117
|
if (!(scrollXLoad && overflowX)) {
|
|
13077
13118
|
xSpaceLeft = 0;
|
|
13078
13119
|
}
|
|
13079
|
-
if (
|
|
13080
|
-
|
|
13081
|
-
|
|
13082
|
-
|
|
13083
|
-
|
|
13084
|
-
|
|
13085
|
-
|
|
13086
|
-
|
|
13120
|
+
if (getConfig().scrollMarginStyle) {
|
|
13121
|
+
// 已废弃方式
|
|
13122
|
+
if (headerTableElem) {
|
|
13123
|
+
headerTableElem.style.marginLeft = headerTableElem.getAttribute('xvm') ? `${xSpaceLeft}px` : '';
|
|
13124
|
+
}
|
|
13125
|
+
if (bodyTableElem) {
|
|
13126
|
+
bodyTableElem.style.marginLeft = `${xSpaceLeft}px`;
|
|
13127
|
+
}
|
|
13128
|
+
if (footerTableElem) {
|
|
13129
|
+
footerTableElem.style.marginLeft = footerTableElem.getAttribute('xvm') ? `${xSpaceLeft}px` : '';
|
|
13130
|
+
}
|
|
13131
|
+
} else {
|
|
13132
|
+
if (headerTableElem) {
|
|
13133
|
+
headerTableElem.style.transform = headerTableElem.getAttribute('xvm') ? `translate(${xSpaceLeft}px, 0px)` : '';
|
|
13134
|
+
}
|
|
13135
|
+
if (bodyTableElem) {
|
|
13136
|
+
bodyTableElem.style.transform = `translate(${xSpaceLeft}px, ${reactData.scrollYTop || 0}px)`;
|
|
13137
|
+
}
|
|
13138
|
+
if (footerTableElem) {
|
|
13139
|
+
footerTableElem.style.transform = footerTableElem.getAttribute('xvm') ? `translate(${xSpaceLeft}px, 0px)` : '';
|
|
13140
|
+
}
|
|
13087
13141
|
}
|
|
13088
13142
|
const containerList = ['main'];
|
|
13089
13143
|
containerList.forEach(name => {
|
|
@@ -13212,14 +13266,26 @@ const Methods = {
|
|
|
13212
13266
|
if (!(scrollYLoad && overflowY)) {
|
|
13213
13267
|
scrollYTop = 0;
|
|
13214
13268
|
}
|
|
13215
|
-
if (
|
|
13216
|
-
|
|
13217
|
-
|
|
13218
|
-
|
|
13219
|
-
|
|
13220
|
-
|
|
13221
|
-
|
|
13222
|
-
|
|
13269
|
+
if (getConfig().scrollMarginStyle) {
|
|
13270
|
+
if (leftBodyTableElem) {
|
|
13271
|
+
leftBodyTableElem.style.marginTop = `${scrollYTop}px`;
|
|
13272
|
+
}
|
|
13273
|
+
if (bodyTableElem) {
|
|
13274
|
+
bodyTableElem.style.marginTop = `${scrollYTop}px`;
|
|
13275
|
+
}
|
|
13276
|
+
if (rightbodyTableElem) {
|
|
13277
|
+
rightbodyTableElem.style.marginTop = `${scrollYTop}px`;
|
|
13278
|
+
}
|
|
13279
|
+
} else {
|
|
13280
|
+
if (leftBodyTableElem) {
|
|
13281
|
+
leftBodyTableElem.style.transform = `translate(0px, ${scrollYTop}px)`;
|
|
13282
|
+
}
|
|
13283
|
+
if (bodyTableElem) {
|
|
13284
|
+
bodyTableElem.style.transform = `translate(${reactData.scrollXLeft || 0}px, ${scrollYTop}px)`;
|
|
13285
|
+
}
|
|
13286
|
+
if (rightbodyTableElem) {
|
|
13287
|
+
rightbodyTableElem.style.transform = `translate(0px, ${scrollYTop}px)`;
|
|
13288
|
+
}
|
|
13223
13289
|
}
|
|
13224
13290
|
containerList.forEach(name => {
|
|
13225
13291
|
const layoutList = ['header', 'body', 'footer'];
|