vxe-gantt
Version:
A vue based gantt component
1 lines • 2.29 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"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let getI18n=_core.VxeUI.getI18n,sourceType="gantt",viewType="header";var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttViewHeader",setup(){let f=(0,_vue.inject)("$xeGantt",{}),t=(0,_vue.inject)("$xeGanttView",{}),n=f.getComputeMaps().computeTaskViewOpts,{reactData:u,internalData:o}=t,i=(0,_vue.ref)(),v=(0,_vue.ref)(),s=(0,_vue.ref)(),d=(0,_vue.ref)();return(0,_vue.onMounted)(()=>{var e=o.elemStore,t="main-header-";e[t+"wrapper"]=i,e[t+"scroll"]=v,e[t+"table"]=s,e[t+"xSpace"]=d}),(0,_vue.onUnmounted)(()=>{var e=o.elemStore,t="main-header-";e[t+"wrapper"]=null,e[t+"scroll"]=null,e[t+"table"]=null,e[t+"xSpace"]=null}),()=>{let{headerGroups:l,viewCellWidth:a}=u,{todayDateMaps:r,visibleColumn:e}=o;let w=n.value.showNowLine;return(0,_vue.h)("div",{ref:i,class:"vxe-gantt-view--header-wrapper"},[(0,_vue.h)("div",{ref:v,class:"vxe-gantt-view--header-inner-wrapper",onScroll:t.triggerHeaderScrollEvent},[(0,_vue.h)("div",{ref:d,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:s,class:"vxe-gantt-view--header-table"},[(0,_vue.h)("colgroup",{},e.map((e,t)=>(0,_vue.h)("col",{key:t,style:{width:a+"px"}}))),(0,_vue.h)("thead",{},l.map(({scaleItem:v,columns:e},s)=>{let{type:d,titleFormat:p,titleMethod:c,headerCellStyle:_,slots:t}=v,x=t?t.title:null,h=s===l.length-1,m=h&&w?r[d]:null;return(0,_vue.h)("tr",{key:s},e.map((e,t)=>{var{field:l,childCount:a,dateObj:r}=e;let n=""+e.title,u=n="day"===v.type?getI18n("vxe.gantt.dayss.w"+r.e):s||h&&"week"===v.type?getI18n("vxe.gantt.tSimpleFormat."+d,r):getI18n("vxe.gantt.tFullFormat."+d,r),o={source:sourceType,type:viewType,column:e,scaleObj:v,title:n,dateObj:r,$rowIndex:s},i=(x?u=f.callSlot(x,o):c?u=""+c(o):p&&(u=_xeUtils.default.toDateString(r.date,p)),{});return _&&(i=_xeUtils.default.isFunction(_)?_(o)||null:_),(0,_vue.h)("th",{key:t,class:["vxe-gantt-view--header-column",{"is--now":w&&m&&m===l}],colspan:a||null,title:x?null:n,style:i||void 0,onContextmenu(e){f.handleTaskHeaderContextmenuEvent(e,o)}},u)}))}))])])])}}});