jordium-gantt-vue3
Version:
A Vue 3 Gantt chart component for project management, task scheduling, resource planning, calendar, resource usage and timeline visualization.
76 lines (75 loc) • 3.37 kB
TypeScript
import { ToolbarConfig } from '../models/configs/ToolbarConfig';
import { TimelineScale } from '../models/types/TimelineScale';
type Language = 'zh' | 'en';
export type GanttViewMode = 'task' | 'resource' | 'calendar' | 'resource-usage';
interface Props {
config?: ToolbarConfig;
timeScale?: TimelineScale;
theme?: 'light' | 'dark';
fullscreen?: boolean;
expandAll?: boolean;
viewMode?: GanttViewMode;
availableViewModes?: GanttViewMode[];
onAddTask?: () => void;
onAddMilestone?: () => void;
onTodayLocate?: () => void;
onExportCsv?: () => void;
onExportPdf?: () => void;
onLanguageChange?: (lang: 'zh-CN' | 'en-US') => void;
onThemeChange?: (isDark: boolean) => void;
onFullscreenChange?: (isFullscreen: boolean) => void;
onTimeScaleChange?: (scale: TimelineScale) => void;
onExpandAll?: () => void;
onCollapseAll?: () => void;
onViewModeChange?: (mode: GanttViewMode) => void;
onSettingsConfirm?: (type: 'theme' | 'language', value: string | boolean | Language) => Promise<boolean> | boolean;
}
declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
"add-task": () => any;
"add-milestone": () => any;
"today-locate": () => any;
"export-csv": () => any;
"export-pdf": () => any;
"language-change": (lang: "zh-CN" | "en-US") => any;
"theme-change": (isDark: boolean) => any;
"fullscreen-change": (isFullscreen: boolean) => any;
"time-scale-change": (scale: TimelineScale) => any;
"expand-all": () => any;
"collapse-all": () => any;
"view-mode-change": (mode: GanttViewMode) => any;
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
"onAdd-task"?: (() => any) | undefined;
"onAdd-milestone"?: (() => any) | undefined;
"onToday-locate"?: (() => any) | undefined;
"onExport-csv"?: (() => any) | undefined;
"onExport-pdf"?: (() => any) | undefined;
"onLanguage-change"?: ((lang: "zh-CN" | "en-US") => any) | undefined;
"onTheme-change"?: ((isDark: boolean) => any) | undefined;
"onFullscreen-change"?: ((isFullscreen: boolean) => any) | undefined;
"onTime-scale-change"?: ((scale: TimelineScale) => any) | undefined;
"onExpand-all"?: (() => any) | undefined;
"onCollapse-all"?: (() => any) | undefined;
"onView-mode-change"?: ((mode: GanttViewMode) => any) | undefined;
}>, {
expandAll: boolean;
fullscreen: boolean;
viewMode: GanttViewMode;
config: ToolbarConfig;
timeScale: TimelineScale;
theme: "light" | "dark";
availableViewModes: GanttViewMode[];
onAddTask: () => void;
onAddMilestone: () => void;
onTodayLocate: () => void;
onExportCsv: () => void;
onExportPdf: () => void;
onLanguageChange: (lang: "zh-CN" | "en-US") => void;
onThemeChange: (isDark: boolean) => void;
onFullscreenChange: (isFullscreen: boolean) => void;
onTimeScaleChange: (scale: TimelineScale) => void;
onExpandAll: () => void;
onCollapseAll: () => void;
onViewModeChange: (mode: GanttViewMode) => void;
onSettingsConfirm: (type: "theme" | "language", value: string | boolean | Language) => Promise<boolean> | boolean;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
export default _default;