UNPKG

vxe-gantt

Version:
58 lines (50 loc) 1.86 kB
import type { VxeGanttDefines, VxeGanttTaskType } from '../../../types' import type { VxeTableDefines, VxeTablePropTypes } from 'vxe-table' export function getRefElem (refEl: any) { if (refEl) { const rest = refEl.value if (rest) { return (rest.$el || rest) as HTMLElement } } return null } export function getCalcHeight (height: number | 'unset' | undefined | null) { if (height === 'unset') { return 0 } return height || 0 } export function getCellRestHeight (rowRest: VxeTableDefines.RowCacheItem, cellOpts: VxeTablePropTypes.CellConfig, rowOpts: VxeTablePropTypes.RowConfig, defaultRowHeight: number) { return rowRest.resizeHeight || cellOpts.height || rowOpts.height || rowRest.height || defaultRowHeight } export function getStandardGapTime (type: VxeGanttDefines.ColumnScaleType) { switch (type) { case 'hour': return 1000 * 60 * 60 case 'minute': return 1000 * 60 case 'second': return 1000 } return 1000 * 60 * 60 * 24 } export function getTaskBarLeft (chartRest: VxeGanttDefines.RowCacheItem | null, viewCellWidth: number) { return chartRest ? viewCellWidth * chartRest.oLeftSize : 0 } export function getTaskBarWidth (chartRest: VxeGanttDefines.RowCacheItem | null, viewCellWidth: number) { return chartRest && chartRest.oWidthSize ? Math.max(1, chartRest ? (Math.floor(viewCellWidth * chartRest.oWidthSize) - 1) : 0) : 0 } const taskTypeMaps: Record<VxeGanttTaskType, boolean> = { milestone: true, subview: true } export function hasMilestoneTask (type: string) { return type === 'milestone' } export function hasSubviewTask (type: string) { return type === 'subview' } export function getTaskType (type: string) { return taskTypeMaps[type as VxeGanttTaskType] ? type as VxeGanttTaskType : 'default' }