@progress/kendo-vue-grid
Version:
9 lines (8 loc) • 2.09 kB
JavaScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),i=require("../utils/main.js"),t=require("@progress/kendo-vue-common"),d=require("../utils/browser-support.service.js"),p=r.defineComponent({props:{staticHeaders:Boolean,headerRow:Object,columnResize:Object,cols:Array,size:String,draggable:Boolean},data(){return{divStyle:{},element:null,headerWrap:null,table:null}},computed:{wrapperClass(){return{"k-grid-header":!0,"k-grid-draggable-header":this.$props.draggable}},tableClass(){const{size:e}=this.$props;return{"k-table":!0,"k-grid-header-table":!0,[`k-table-${t.kendoThemeMaps.sizeMap[e]||e}`]:e}}},mounted(){this.headerWrap=t.getRef(this,"headerWrap"),this.table=t.getRef(this,"table"),this.$props.columnResize.colGroupHeader=t.getRef(this,"colGroupHeader");const e=new d.BrowserSupportService().scrollbarWidth,s=i.isRtl(this.$el);this.$props.columnResize&&this.$props.columnResize.setIsRtl(s);const a=Math.max(0,e)+"px",o=s?0:a,l=s?a:0;this.divStyle={padding:`0 ${o} 0 ${l}`}},methods:{setScrollLeft(e){this.headerWrap&&(this.headerWrap.scrollLeft=e)},setWidth(e){this.table&&(this.table.style.width=e+"px")}},setup(){const e=r.ref(null),s=r.ref(null),a=r.ref(null);return{headerWrapRef:e,tableRef:s,colGroupHeaderRef:a}},render(){return this.$props.staticHeaders?r.createVNode("div",{class:this.wrapperClass,style:this.divStyle},[r.createVNode("div",{ref:t.setRef(this,"headerWrap"),class:"k-grid-header-wrap"},[r.createVNode("table",{class:this.tableClass,ref:t.setRef(this,"table"),role:"none"},[r.createVNode("colgroup",{ref:t.setRef(this,"colGroupHeader")},[this.$props.cols]),this.$props.headerRow])])]):this.$props.headerRow}});exports.Header=p;