jordium-gantt-vue3
Version:
A Vue 3 Gantt chart component for project management, task scheduling, resource planning, calendar, resource usage and timeline visualization.
117 lines (116 loc) • 4.52 kB
TypeScript
import { Task } from '../models/classes/Task';
import { TimelineScale } from '../models/types/TimelineScale';
import { TaskBarConfig } from '../models/configs/TaskBarConfig';
type __VLS_Slots = {
'custom-task-content'(props: TaskBarSlotProps): unknown;
};
interface Props {
task: Task;
rowHeight: number;
dayWidth: number;
startDate: Date;
isParent?: boolean;
onClick?: (task: Task, event: MouseEvent) => void;
rowIndex?: number;
scrollLeft?: number;
containerWidth?: number;
hideBubbles?: boolean;
timelineData?: any;
currentTimeScale?: TimelineScale;
taskBarConfig?: TaskBarConfig;
allowDragAndResize?: boolean;
showActualTaskbar?: boolean;
enableTaskBarTooltip?: boolean;
pendingTaskBackgroundColor?: string;
delayTaskBackgroundColor?: string;
completeTaskBackgroundColor?: string;
ongoingTaskBackgroundColor?: string;
isHighlighted?: boolean;
isPrimaryHighlight?: boolean;
isInHighlightMode?: boolean;
dragLinkMode?: 'predecessor' | 'successor' | null;
isLinkDragSource?: boolean;
isValidLinkTarget?: boolean;
isInvalidLinkTarget?: boolean;
allTasks?: Task[];
hasResourceConflict?: boolean;
conflictTasks?: Task[];
resourceAllocationPercent?: number;
currentResourceId?: string | number;
taskSubRow?: number;
rowHeights?: number[];
resources?: Array<{
id: string | number;
name: string;
color?: string;
avatar?: string;
}>;
enableParentTaskAutoSchedule?: boolean;
}
export interface TaskStatus {
type: string;
color: string;
bgColor: string;
borderColor: string;
}
interface TaskBarSlotProps {
type: string;
task: Task;
status: TaskStatus;
statusType: string;
isParent?: boolean;
progress: number;
currentTimeScale?: TimelineScale;
rowHeight: number;
dayWidth: number;
}
declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
delete: (...args: any[]) => void;
"start-timer": (...args: any[]) => void;
"stop-timer": (...args: any[]) => void;
"add-predecessor": (...args: any[]) => void;
"add-successor": (...args: any[]) => void;
"delete-link": (...args: any[]) => void;
click: (...args: any[]) => void;
dblclick: (...args: any[]) => void;
"context-menu": (...args: any[]) => void;
"drag-end": (...args: any[]) => void;
"update:task": (...args: any[]) => void;
"bar-mounted": (...args: any[]) => void;
"resize-end": (...args: any[]) => void;
"scroll-to-position": (...args: any[]) => void;
"long-press": (...args: any[]) => void;
"link-drag-start": (...args: any[]) => void;
"link-drag-move": (...args: any[]) => void;
"link-drag-end": (...args: any[]) => void;
"tooltip-show": (...args: any[]) => void;
"tooltip-hide": (...args: any[]) => void;
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
onDelete?: ((...args: any[]) => any) | undefined;
"onStart-timer"?: ((...args: any[]) => any) | undefined;
"onStop-timer"?: ((...args: any[]) => any) | undefined;
"onAdd-predecessor"?: ((...args: any[]) => any) | undefined;
"onAdd-successor"?: ((...args: any[]) => any) | undefined;
"onDelete-link"?: ((...args: any[]) => any) | undefined;
onClick?: ((...args: any[]) => any) | undefined;
onDblclick?: ((...args: any[]) => any) | undefined;
"onContext-menu"?: ((...args: any[]) => any) | undefined;
"onDrag-end"?: ((...args: any[]) => any) | undefined;
"onUpdate:task"?: ((...args: any[]) => any) | undefined;
"onBar-mounted"?: ((...args: any[]) => any) | undefined;
"onResize-end"?: ((...args: any[]) => any) | undefined;
"onScroll-to-position"?: ((...args: any[]) => any) | undefined;
"onLong-press"?: ((...args: any[]) => any) | undefined;
"onLink-drag-start"?: ((...args: any[]) => any) | undefined;
"onLink-drag-move"?: ((...args: any[]) => any) | undefined;
"onLink-drag-end"?: ((...args: any[]) => any) | undefined;
"onTooltip-show"?: ((...args: any[]) => any) | undefined;
"onTooltip-hide"?: ((...args: any[]) => any) | undefined;
}>, {}, {}, {}, {}, 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;
};
};