UNPKG

jordium-gantt-vue3

Version:

A Vue 3 Gantt chart component for project management, task scheduling, resource planning, calendar, resource usage and timeline visualization.

56 lines (55 loc) 2 kB
import { VNode, Slots, VNodeChild, ComputedRef } from 'vue'; import { Task } from '../../../../models/classes/Task'; import { TaskListColumnConfig } from '../../../../models/configs/TaskListConfig'; /** * 声明式列配置接口 * 从 task-list-column 组件解析出的列配置 */ export interface DeclarativeColumnConfig { prop?: string; label?: string; width?: number | string; align?: 'left' | 'center' | 'right'; cssClass?: string; /** 列固定位置 */ fixed?: 'left' | 'right' | boolean; headerSlot?: () => VNodeChild; defaultSlot?: (scope: { row: Task; $index: number; }) => VNodeChild; } /** * 从 VNode 中提取 task-list-column 的配置 */ export declare function extractColumnConfig(vnode: VNode): DeclarativeColumnConfig | null; /** * 解析声明式列配置 * 从默认 slot 的 VNode 中提取所有 task-list-column 的配置 */ export declare function parseDeclarativeColumns(slots: Slots): DeclarativeColumnConfig[]; /** * Task List Columns Composable * 用于管理任务列表的列配置(支持声明式和配置式) */ export declare function useTaskListColumns(renderMode: ComputedRef<'default' | 'declarative'> | 'default' | 'declarative', slots: Slots, defaultColumns?: TaskListColumnConfig[]): { declarativeColumns: import('vue').ShallowRef<DeclarativeColumnConfig[], DeclarativeColumnConfig[]>; finalColumns: ComputedRef<TaskListColumnConfig[] | DeclarativeColumnConfig[]>; getColumnWidthStyle: (column: { width?: number | string; }, containerWidth?: number) => { flex?: undefined; minWidth?: undefined; maxWidth?: undefined; } | { flex: string; minWidth: string; maxWidth: string; }; getColumnAlignStyle: (align?: "left" | "center" | "right") => { justifyContent?: undefined; textAlign?: undefined; } | { justifyContent: string; textAlign: "right" | "center"; }; };