vxe-gantt
Version:
A vue based gantt component
1 lines • 1.62 kB
JavaScript
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_core=require("@vxe-ui/core");let getI18n=_core.VxeUI.getI18n;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttViewHeader",setup(){let t=(0,_vue.inject)("$xeGanttView",{}),{reactData:a,internalData:r}=t,l=(0,_vue.ref)(),n=(0,_vue.ref)(),u=(0,_vue.ref)(),v=(0,_vue.ref)();return(0,_vue.onMounted)(()=>{var e=r.elemStore,t="main-header-";e[t+"wrapper"]=l,e[t+"scroll"]=n,e[t+"table"]=u,e[t+"xSpace"]=v}),(0,_vue.onUnmounted)(()=>{var e=r.elemStore,t="main-header-";e[t+"wrapper"]=null,e[t+"scroll"]=null,e[t+"table"]=null,e[t+"xSpace"]=null}),()=>{let{tableColumn:e,headerGroups:o,viewCellWidth:r}=a;return(0,_vue.h)("div",{ref:l,class:"vxe-gantt-view--header-wrapper"},[(0,_vue.h)("div",{ref:n,class:"vxe-gantt-view--header-inner-wrapper",onScroll:t.triggerHeaderScrollEvent},[(0,_vue.h)("div",{ref:v,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:u,class:"vxe-gantt-view--header-table"},[(0,_vue.h)("colgroup",{},e.map((e,t)=>(0,_vue.h)("col",{key:t,style:{width:r+"px"}}))),(0,_vue.h)("thead",{},o.map(({scaleItem:l,columns:e},n)=>{let{type:u,titleMethod:v}=l;return(0,_vue.h)("tr",{key:n},e.map((e,t)=>{var r=e.params;let a=""+e.title;return n<o.length-1&&(a="day"===l.type?getI18n("vxe.gantt.dayss.w"+r.e):getI18n(`vxe.gantt.${!n&&1<o.length?"tFullFormat":"tSimpleFormat"}.`+u,r)),v&&(a=""+v({scaleObj:l,title:a,dateObj:r,$rowIndex:n})),(0,_vue.h)("th",{key:t,class:"vxe-gantt-view--header-column",colspan:e.childCount||null,title:a},a)}))}))])])])}}});