header.min.js 5.8 KB

1
  1. "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _ctor=_interopRequireDefault(require("xe-utils/ctor")),_tools=require("../../tools"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}var cellType="header",_default={name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,visibleColumn:Array,tableGroupColumn:Array,fixedColumn:Array,size:String,fixedType:String,isGroup:Boolean},data:function(){return{headerColumn:[]}},watch:{tableColumn:function(){this.uploadColumn()}},created:function(){this.uploadColumn()},mounted:function(){var e=this.$parent,t=this.$el,l=this.$refs,o=this.fixedType,r=e.elemStore,n="".concat(o||"main","-header-");r["".concat(n,"wrapper")]=t,r["".concat(n,"table")]=l.table,r["".concat(n,"colgroup")]=l.colgroup,r["".concat(n,"list")]=l.thead,r["".concat(n,"xSpace")]=l.xSpace,r["".concat(n,"repair")]=l.repair},render:function(w){var T=this,e=this._e,$=this.$parent,z=this.fixedType,t=this.headerColumn,l=this.fixedColumn,o=this.tableColumn,P=$.$listeners,r=$.tId,S=$.resizable,M=$.border,D=$.columnKey,n=$.headerRowClassName,W=$.headerCellClassName,i=$.headerRowStyle,k=$.headerCellStyle,I=$.showHeaderOverflow,R=$.headerAlign,A=$.align,H=$.highlightCurrentColumn,q=$.currentColumn,L=$.mouseConfig,E=$.scrollXLoad,O=$.overflowX,a=$.scrollbarWidth,B=$.getColumnIndex,N=$.sortOpts;return E&&z&&(o=l),w("div",{class:["vxe-table--header-wrapper",z?"fixed-".concat(z,"--wrapper"):"body--wrapper"],attrs:{"data-tid":r}},[z?e():w("div",{class:"vxe-body--x-space",ref:"xSpace"}),w("table",{class:"vxe-table--header",attrs:{"data-tid":r,cellspacing:0,cellpadding:0,border:0},ref:"table"},[w("colgroup",{ref:"colgroup"},o.map(function(e,t){return w("col",{attrs:{name:e.id},key:t})}).concat(a?[w("col",{attrs:{name:"col_gutter"}})]:[])),w("thead",{ref:"thead"},t.map(function(C,_){return w("tr",{class:["vxe-header--row",n?_ctor.default.isFunction(n)?n({$table:$,$rowIndex:_,fixed:z,type:cellType}):n:""],style:i?_ctor.default.isFunction(i)?i({$table:$,$rowIndex:_,fixed:z,type:cellType}):i:null},C.map(function(e,t){var l,o=e.showHeaderOverflow,r=e.headerAlign,n=e.align,i=e.headerClassName,a=e.children&&e.children.length,s=z?e.fixed!==z&&!a:e.fixed&&O,d=_ctor.default.isUndefined(o)||_ctor.default.isNull(o)?I:o,c=r||n||R||A,u="ellipsis"===d,f="title"===d,p=!0===d||"tooltip"===d,h=f||p||u,m={},y=e.filters&&e.filters.some(function(e){return e.checked}),x=B(e),g=$.getVTColumnIndex(e),b={$table:$,$rowIndex:_,column:e,columnIndex:x,$columnIndex:t,_columnIndex:g,fixed:z,type:cellType,isHidden:s,hasFilter:y};E&&!h&&(u=h=!0),(H||P["header-cell-click"]||L||"cell"===N.trigger)&&(m.click=function(e){return $.triggerHeaderCellClickEvent(e,b)}),P["header-cell-dblclick"]&&(m.dblclick=function(e){return $.triggerHeaderCellDBLClickEvent(e,b)}),L&&(m.mousedown=function(e){return $.triggerHeaderCellMousedownEvent(e,b)});var v="seq"===e.type||"index"===e.type?"seq":e.type;return w("th",{class:["vxe-header--column",e.id,(l={},_defineProperty(l,"col--".concat(c),c),_defineProperty(l,"col--".concat(v),v),_defineProperty(l,"col--last",t===C.length-1),_defineProperty(l,"col--fixed",e.fixed),_defineProperty(l,"col--group",a),_defineProperty(l,"col--ellipsis",h),_defineProperty(l,"fixed--hidden",s),_defineProperty(l,"is--sortable",e.sortable),_defineProperty(l,"is--filter",!!e.filters),_defineProperty(l,"filter--active",y),_defineProperty(l,"col--current",q===e),l),_tools.UtilTools.getClass(i,b),_tools.UtilTools.getClass(W,b)],attrs:{"data-colid":e.id,colspan:1<e.colSpan?e.colSpan:null,rowspan:1<e.rowSpan?e.rowSpan:null},style:k?_ctor.default.isFunction(k)?k(b):k:null,on:m,key:D||a?e.id:t},[w("div",{class:["vxe-cell",{"c--title":f,"c--tooltip":p,"c--ellipsis":u}]},e.renderHeader(w,b)),!s&&!a&&(_ctor.default.isBoolean(e.resizable)?e.resizable:S)?w("div",{class:["vxe-resizable",{"is--line":!M||"none"===M}],on:{mousedown:function(e){return T.resizeMousedown(e,b)}}}):null])}).concat(a?[w("th",{class:"vxe-header--gutter col--gutter"})]:[]))}))]),w("div",{class:"vxe-table--header-border-line",ref:"repair"})])},methods:{uploadColumn:function(){this.headerColumn=this.isGroup?(0,_util.convertToRows)(this.tableGroupColumn):[this.$parent.scrollXLoad&&this.fixedType?this.fixedColumn:this.tableColumn]},resizeMousedown:function(e,t){var l=t.column,o=this.$parent,r=this.$el,n=this.fixedType,i=o.$refs,a=i.tableBody,s=i.leftContainer,d=i.rightContainer,c=i.resizeBar,u=e.target,f=e.clientX,p=t.cell=u.parentNode,h=0,m=a.$el,y=_tools.DomTools.getOffsetPos(u,r),x=u.clientWidth,g=Math.floor(x/2),b=_tools.UtilTools.getColMinWidth(t)-g,v=y.left-p.clientWidth+x+b,C=y.left+g,_=document.onmousemove,w=document.onmouseup,T="left"===n,$="right"===n,z=0;if(T||$){for(var P=T?"nextElementSibling":"previousElementSibling",S=p[P];S&&!_tools.DomTools.hasClass(S,"fixed--hidden");)_tools.DomTools.hasClass(S,"col--group")||(z+=S.offsetWidth),S=S[P];$&&d&&(C=d.offsetLeft+z)}var M=function(e){e.stopPropagation(),e.preventDefault();var t=e.clientX-f,l=C+t,o=n?0:m.scrollLeft;T?l=Math.min(l,(d?d.offsetLeft:m.clientWidth)-z-b):$?(v=(s?s.clientWidth:0)+z+b,l=Math.min(l,C+p.clientWidth-b)):v=Math.max(m.scrollLeft,v),h=Math.max(l,v),c.style.left="".concat(h-o,"px")};o._isResize=!0,_tools.DomTools.addClass(o.$el,"drag--resize"),c.style.display="block",document.onmousemove=M,document.onmouseup=function(){document.onmousemove=_,document.onmouseup=w,l.resizeWidth=l.renderWidth+($?C-h:h-C),c.style.display="none",o._isResize=!1,o._lastResizeTime=Date.now(),o.analyColumnWidth(),o.recalculate(!0).then(function(){o.saveCustomResizable(),o.updateCellAreas(),o.emitEvent("resizable-change",t,e)}),_tools.DomTools.removeClass(o.$el,"drag--resize")},M(e),o.closeMenu()}}};exports.default=_default;