jordium-gantt-vue3
Version:
A Vue 3 Gantt chart component for project management, task scheduling, resource planning, calendar, resource usage and timeline visualization.
83 lines (82 loc) • 3.13 kB
TypeScript
import { StyleValue } from 'vue';
import { Task } from '../../models/classes/Task';
import { Resource } from '../../models/classes/Resource';
import { TaskListConfig } from '../../models/configs/TaskListConfig';
interface Props {
tasks?: Task[];
useDefaultDrawer?: boolean;
taskListConfig?: TaskListConfig;
taskListColumnRenderMode?: 'default' | 'declarative';
enableTaskRowMove?: boolean;
taskListRowClassName?: string | ((row: Task, rowIndex: number) => string);
taskListRowStyle?: StyleValue | ((row: Task, rowIndex: number) => StyleValue);
enableParentTaskAutoSchedule?: boolean;
}
declare var __VLS_27: {
isRowContent: boolean;
task: Task;
level: number;
indent: string;
isHovered: boolean;
hoveredTaskId: number | string | null;
isParent: boolean;
hasChildren: boolean;
collapsed: boolean;
formattedTimer: string;
timerRunning: boolean;
timerElapsed: number;
isOvertime: number | boolean | undefined;
overdueDays: number;
overtimeText: string;
overdueText: string;
daysText: string;
progressClass: string;
type?: string;
}, __VLS_29: any;
type __VLS_Slots = {} & {
'custom-task-content'?: (props: typeof __VLS_27) => any;
} & {
'task-list-context-menu'?: (props: typeof __VLS_29) => any;
};
declare const __VLS_component: import('vue').DefineComponent<Props, {
getHeaderScrollWidth: () => number | null;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
delete: (task: Task, deleteChildren?: boolean | undefined) => any;
"start-timer": (task: Task) => any;
"stop-timer": (task: Task) => any;
"add-predecessor": (task: Task) => any;
"add-successor": (task: Task) => any;
"task-collapse-change": (task: Task) => any;
"task-row-moved": (payload: {
draggedTask: Task;
targetTask: Task;
position: "after" | "child";
oldParent: Task | null;
newParent: Task | null;
}) => any;
"resource-click": (resource: Resource) => any;
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
onDelete?: ((task: Task, deleteChildren?: boolean | undefined) => any) | undefined;
"onStart-timer"?: ((task: Task) => any) | undefined;
"onStop-timer"?: ((task: Task) => any) | undefined;
"onAdd-predecessor"?: ((task: Task) => any) | undefined;
"onAdd-successor"?: ((task: Task) => any) | undefined;
"onTask-collapse-change"?: ((task: Task) => any) | undefined;
"onTask-row-moved"?: ((payload: {
draggedTask: Task;
targetTask: Task;
position: "after" | "child";
oldParent: Task | null;
newParent: Task | null;
}) => any) | undefined;
"onResource-click"?: ((resource: Resource) => any) | undefined;
}>, {
taskListColumnRenderMode: "default" | "declarative";
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
export default _default;
type __VLS_WithSlots<T, S> = T & {
new (): {
$slots: S;
};
};