jordium-gantt-vue3
Version:
A Vue 3 Gantt chart component for project management, task scheduling, resource planning, calendar, resource usage and timeline visualization.
41 lines (40 loc) • 1.65 kB
TypeScript
import { Task } from '../classes/Task';
export type TaskListColumnType = 'name' | 'predecessor' | 'assignee' | 'startDate' | 'endDate' | 'estimatedHours' | 'actualHours' | 'progress';
/**
* 列格式化函数类型
* @param task 当前任务对象
* @param column 当前列配置
* @returns 格式化后的字符串
*/
export type ColumnFormatter = (task: Task, column: TaskListColumnConfig) => string;
export interface TaskListColumnConfig {
type?: TaskListColumnType;
key: string;
label?: string;
cssClass?: string;
width?: number | string;
visible?: boolean;
formatter?: ColumnFormatter;
/** 列固定位置,'left'/true 固定在左侧,'right' 固定在右侧 */
fixed?: 'left' | 'right' | boolean;
}
export interface TaskListConfig {
columns?: TaskListColumnConfig[];
showAllColumns?: boolean;
showTaskIcon?: boolean;
defaultWidth?: number | string;
minWidth?: number | string;
maxWidth?: number | string;
}
export declare const DEFAULT_TASK_LIST_WIDTH = 320;
export declare const DEFAULT_TASK_LIST_MIN_WIDTH = 280;
export declare const DEFAULT_TASK_LIST_MAX_WIDTH = 1160;
/**
* 解析宽度值(支持像素数字或百分比字符串)
* @param value 宽度值,可以是数字(像素)或字符串(百分比,如 '30%')
* @param containerWidth 容器宽度(用于计算百分比)
* @param defaultValue 默认值
* @returns 解析后的像素值
*/
export declare function parseWidthValue(value: number | string | undefined, containerWidth: number, defaultValue: number): number;
export declare const DEFAULT_TASK_LIST_COLUMNS: TaskListColumnConfig[];