jordium-gantt-vue3
Version:
A Vue 3 Gantt chart component for project management, task scheduling, resource planning, calendar, resource usage and timeline visualization.
22 lines (21 loc) • 996 B
TypeScript
import { Ref } from 'vue';
import { Resource } from '../models/classes/Resource';
import { Task } from '../models/classes/Task';
export interface ResourceLayout {
taskRowMap: Map<string | number, number>;
rowHeights: number[];
totalHeight: number;
}
/**
* 核心composable:管理资源视图布局
*/
export declare function useResourceLayout(viewMode: Ref<'task' | 'resource'>, dataSource: Ref<Task[] | Resource[]>, timelineBodyScrollTop: Ref<number>, timelineBodyHeight: Ref<number>): {
resourceTaskLayouts: import('vue').ComputedRef<Map<string | number, ResourceLayout>>;
resourceRowPositions: import('vue').ComputedRef<Map<string | number, number>>;
getResourceLayout: (resource: Resource) => ResourceLayout;
clearLayoutCache: () => void;
clearResourceCache: (resourceId: string | number) => void;
invalidateLayout: (resourceIds?: (string | number)[]) => void;
layoutsCallCount: Ref<number, number>;
positionsCallCount: Ref<number, number>;
};