nt-vl-gantt
Version:
Interactive JavaScript Gantt chart/task scheduling component
71 lines (70 loc) • 1.87 kB
TypeScript
import { SvelteRow } from './row';
import { ColumnService } from './column';
export interface TaskModel {
id: number;
resourceId: number;
from: any;
to: any;
value?: number | number[];
valueUnit?: string;
currentDay?: number;
amountDone?: number;
classes?: string | string[];
label?: string;
html?: string;
showButton?: boolean;
buttonClasses?: string | string[];
buttonHtml?: string;
enableDragging?: boolean;
}
export interface SvelteTask {
model: TaskModel;
left: number;
top: number;
width: number;
height: number;
reflections?: string[];
}
export declare class TaskFactory {
columnService: ColumnService;
rowPadding: number;
rowEntities: {
[key: number]: SvelteRow;
};
constructor(columnService: ColumnService);
createTask(model: TaskModel): SvelteTask;
createTasks(tasks: TaskModel[]): SvelteTask[];
row(resourceId: any): SvelteRow;
getHeight(model: any): number;
getPosY(model: any): number;
}
export declare function reflectTask(task: SvelteTask, row: SvelteRow, options: {
rowPadding: number;
}): {
model: {
resourceId: number;
id: string;
enableDragging: boolean;
from: any;
to: any;
value?: number | number[];
valueUnit?: string;
currentDay?: number;
amountDone?: number;
classes?: string | string[];
label?: string;
html?: string;
showButton?: boolean;
buttonClasses?: string | string[];
buttonHtml?: string;
};
top: number;
reflected: boolean;
reflectedOnParent: boolean;
reflectedOnChild: boolean;
originalId: number;
left: number;
width: number;
height: number;
reflections?: string[];
};