vxe-gantt
Version:
A vue based gantt component
1 lines • 2.57 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")),_util=require("./util"),_utils=require("../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let renderEmptyElement=_core.VxeUI.renderEmptyElement;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttViewChart",setup(){let _=(0,_vue.inject)("$xeGantt",{}),r=(0,_vue.inject)("$xeGanttView",{}),{reactData:a,internalData:t}=r,{computeProgressField:x,computeTitleField:w,computeTaskBarOpts:f}=_.getComputeMaps(),l=(0,_vue.ref)(),d=(e,t,r,a)=>{var l=e.props.treeConfig,u=e.reactData.resizeHeightFlag,i=e.internalData.fullAllDataRowIdData,{computeCellOpts:e,computeRowOpts:n,computeDefaultRowHeight:o}=e.getComputeMaps(),e=e.value,n=n.value,o=o.value,s=_.context.slots,s=s.taskBar||s["task-bar"],c=w.value,p=x.value,{showProgress:v,showContent:d,contentMethod:h,barStyle:m}=f.value,m=(m||{}).round,i=i[r]||{},u=0<(u?i.resizeHeight:0),i=(0,_util.getCellRestHeight)(i,e,n,o);let g=(0,_utils.getStringValue)(_xeUtils.default.get(t,c));e=v?Math.min(100,Math.max(0,_xeUtils.default.toNumber(_xeUtils.default.get(t,p)))):0;return h&&(g=(0,_utils.getStringValue)(h({row:t,title:g}))),(0,_vue.h)("div",{key:l?r:a,rowid:r,class:["vxe-gantt-view--chart-row",{"is--round":m,"col--rs-height":u}],style:{height:i+"px"}},[(0,_vue.h)("div",{class:s?"vxe-gantt-view--chart-custom-bar":"vxe-gantt-view--chart-bar",rowid:r,onClick(e){_.handleTaskBarClickEvent(e,{row:t})},onDblclick(e){_.handleTaskBarDblclickEvent(e,{row:t})}},s?_.callSlot(s,{row:t}):[v?(0,_vue.h)("div",{class:"vxe-gantt-view--chart-progress",style:{width:`${e||0}%`}}):renderEmptyElement(_),d?(0,_vue.h)("div",{class:"vxe-gantt-view--chart-content"},g):renderEmptyElement(_)])])},h=(u,e)=>{let i=u.props.treeConfig,n=u.reactData.treeExpandedFlag,o=u.internalData.treeExpandedMaps;var t=u.getComputeMaps().computeTreeOpts,t=t.value;let s=t.transform,c=t.children||t.childrenField,p=a.scrollYLoad,v=[];return e.forEach((e,t)=>{var r=u?u.getRowid(e):"";v.push(d(u,e,r,t));let a=!1,l=[];!i||p||s||(l=e[c],a=!!n&&l&&0<l.length&&!!o[r]),a&&v.push(...h(u,l))}),v};return(0,_vue.onMounted)(()=>{var e=t.elemStore;e["main-chart-wrapper"]=l}),(0,_vue.onUnmounted)(()=>{var e=t.elemStore;e["main-chart-wrapper"]=null}),()=>{var e=r.internalData.xeTable,t=a.tableData;return(0,_vue.h)("div",{ref:l,class:"vxe-gantt-view--chart-wrapper"},e?h(e,t):[])}}});