iris-gantt 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +183 -215
- package/USAGE.md +838 -0
- package/dist/Gantt/Chart.d.ts +22 -0
- package/dist/Gantt/Chart.d.ts.map +1 -0
- package/dist/Gantt/ContextMenu.d.ts +19 -0
- package/dist/Gantt/ContextMenu.d.ts.map +1 -0
- package/dist/Gantt/DependencyEditor.d.ts +13 -0
- package/dist/Gantt/DependencyEditor.d.ts.map +1 -0
- package/dist/Gantt/DependencyPopover.d.ts +12 -0
- package/dist/Gantt/DependencyPopover.d.ts.map +1 -0
- package/dist/Gantt/DragDrop.d.ts +18 -0
- package/dist/Gantt/DragDrop.d.ts.map +1 -0
- package/dist/Gantt/Gantt.d.ts +35 -0
- package/dist/Gantt/Gantt.d.ts.map +1 -0
- package/dist/Gantt/GanttPro.d.ts +16 -0
- package/dist/Gantt/GanttPro.d.ts.map +1 -0
- package/dist/Gantt/Grid.d.ts +29 -0
- package/dist/Gantt/Grid.d.ts.map +1 -0
- package/dist/Gantt/LinkRenderer.d.ts +15 -0
- package/dist/Gantt/LinkRenderer.d.ts.map +1 -0
- package/dist/Gantt/TaskBar.d.ts +19 -0
- package/dist/Gantt/TaskBar.d.ts.map +1 -0
- package/dist/Gantt/TaskCreator.d.ts +8 -0
- package/dist/Gantt/TaskCreator.d.ts.map +1 -0
- package/dist/Gantt/TaskEditor.d.ts +10 -0
- package/dist/Gantt/TaskEditor.d.ts.map +1 -0
- package/dist/Gantt/Timeline.d.ts +23 -0
- package/dist/Gantt/Timeline.d.ts.map +1 -0
- package/dist/Gantt/Toolbar.d.ts +15 -0
- package/dist/Gantt/Toolbar.d.ts.map +1 -0
- package/dist/Gantt/UndoRedo.d.ts +27 -0
- package/dist/Gantt/UndoRedo.d.ts.map +1 -0
- package/dist/Gantt/exports.d.ts +21 -0
- package/dist/Gantt/exports.d.ts.map +1 -0
- package/dist/Gantt/features/AutoScheduler.d.ts +10 -0
- package/dist/Gantt/features/AutoScheduler.d.ts.map +1 -0
- package/dist/Gantt/features/Baselines.d.ts +27 -0
- package/dist/Gantt/features/Baselines.d.ts.map +1 -0
- package/dist/Gantt/features/CriticalPath.d.ts +10 -0
- package/dist/Gantt/features/CriticalPath.d.ts.map +1 -0
- package/dist/Gantt/features/ExportUtils.d.ts +11 -0
- package/dist/Gantt/features/ExportUtils.d.ts.map +1 -0
- package/dist/Gantt/features/FilterSearch.d.ts +20 -0
- package/dist/Gantt/features/FilterSearch.d.ts.map +1 -0
- package/dist/Gantt/types.d.ts +80 -0
- package/dist/Gantt/types.d.ts.map +1 -0
- package/dist/Gantt/utils/dateUtils.d.ts +11 -0
- package/dist/Gantt/utils/dateUtils.d.ts.map +1 -0
- package/dist/Gantt/utils/dependencyParser.d.ts +26 -0
- package/dist/Gantt/utils/dependencyParser.d.ts.map +1 -0
- package/dist/gantt.css +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/iris-gantt.js +1232 -1500
- package/dist/iris-gantt.umd.cjs +8 -8
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -0
- package/package.json +43 -8
- package/dist/iris-gantt.css +0 -1
- package/src/components/Gantt/gantt.css +0 -2167
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Task, Link, GanttConfig, Baseline } from './types';
|
|
2
|
+
interface ChartProps {
|
|
3
|
+
tasks: Task[];
|
|
4
|
+
links: Link[];
|
|
5
|
+
range: {
|
|
6
|
+
start: Date;
|
|
7
|
+
end: Date;
|
|
8
|
+
};
|
|
9
|
+
scales: any[];
|
|
10
|
+
config: GanttConfig;
|
|
11
|
+
selectedTask: string | null;
|
|
12
|
+
draggedTask: string | null;
|
|
13
|
+
onTaskClick: (taskId: string) => void;
|
|
14
|
+
onTaskDragStart: (taskId: string, clientX: number, clientY: number) => void;
|
|
15
|
+
onTaskDragEnd: () => void;
|
|
16
|
+
onTaskUpdate: (id: string, updates: Partial<Task>) => void;
|
|
17
|
+
zoomLevel: number;
|
|
18
|
+
baselines: Map<string, Baseline>;
|
|
19
|
+
}
|
|
20
|
+
export declare const Chart: import("react").ForwardRefExoticComponent<ChartProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=Chart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../src/components/Gantt/Chart.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEjE,UAAU,UAAU;IAChB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,EAAE;QAAE,KAAK,EAAE,IAAI,CAAC;QAAC,GAAG,EAAE,IAAI,CAAA;KAAE,CAAC;IAClC,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,MAAM,EAAE,WAAW,CAAC;IACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5E,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACpC;AAED,eAAO,MAAM,KAAK,uGAMhB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Task } from './types';
|
|
3
|
+
interface ContextMenuProps {
|
|
4
|
+
x: number;
|
|
5
|
+
y: number;
|
|
6
|
+
task: Task | null;
|
|
7
|
+
onEdit: () => void;
|
|
8
|
+
onDelete: () => void;
|
|
9
|
+
onCopy: () => void;
|
|
10
|
+
onDependencies: () => void;
|
|
11
|
+
onConvertToMilestone: () => void;
|
|
12
|
+
onConvertToTask: () => void;
|
|
13
|
+
onConvertToProject: () => void;
|
|
14
|
+
onAutoSchedule?: () => void;
|
|
15
|
+
onClose: () => void;
|
|
16
|
+
}
|
|
17
|
+
export declare const ContextMenu: React.FC<ContextMenuProps>;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=ContextMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../src/components/Gantt/ContextMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAa1B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAEpC,UAAU,gBAAgB;IACxB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAiIlD,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Task, Link } from './types';
|
|
3
|
+
interface DependencyEditorProps {
|
|
4
|
+
task: Task;
|
|
5
|
+
allTasks: Task[];
|
|
6
|
+
links: Link[];
|
|
7
|
+
onAddDependency: (sourceId: string, targetId: string, type: Link['type'], lag?: number) => void;
|
|
8
|
+
onRemoveDependency: (linkId: string) => void;
|
|
9
|
+
onClose: () => void;
|
|
10
|
+
}
|
|
11
|
+
export declare const DependencyEditor: React.FC<DependencyEditorProps>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=DependencyEditor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DependencyEditor.d.ts","sourceRoot":"","sources":["../../src/components/Gantt/DependencyEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAWxC,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAM1C,UAAU,qBAAqB;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAChG,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAiZ5D,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Task, Link } from './types';
|
|
3
|
+
interface DependencyPopoverProps {
|
|
4
|
+
task: Task;
|
|
5
|
+
allTasks: Task[];
|
|
6
|
+
links: Link[];
|
|
7
|
+
onAddDependency: (sourceId: string, targetId: string, type: Link['type'], lag?: number) => void;
|
|
8
|
+
children: React.ReactNode;
|
|
9
|
+
}
|
|
10
|
+
export declare const DependencyPopover: React.FC<DependencyPopoverProps>;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=DependencyPopover.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DependencyPopover.d.ts","sourceRoot":"","sources":["../../src/components/Gantt/DependencyPopover.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAIjD,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAM1C,UAAU,sBAAsB;IAC5B,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAChG,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAoR9D,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Task } from './types';
|
|
2
|
+
export interface DragState {
|
|
3
|
+
taskId: string | null;
|
|
4
|
+
initialX: number;
|
|
5
|
+
initialY: number;
|
|
6
|
+
initialStart: Date;
|
|
7
|
+
initialEnd: Date;
|
|
8
|
+
type: 'move' | 'resize-left' | 'resize-right' | 'reorder' | null;
|
|
9
|
+
dragDeltaX: number;
|
|
10
|
+
dragDeltaY: number;
|
|
11
|
+
}
|
|
12
|
+
export declare const useDragDrop: (tasks: Task[], onTaskUpdate?: (id: string, updates: Partial<Task>) => void, columnWidth?: number, unit?: string, step?: number) => {
|
|
13
|
+
dragState: DragState;
|
|
14
|
+
handleDragStart: (taskId: string, clientX: number, clientY: number, type: "move" | "resize-left" | "resize-right" | "reorder") => void;
|
|
15
|
+
handleDrag: (clientX: number, clientY: number) => Task | null;
|
|
16
|
+
handleDragEnd: (updatedTask: Task | null) => void;
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=DragDrop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DragDrop.d.ts","sourceRoot":"","sources":["../../src/components/Gantt/DragDrop.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAGpC,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,IAAI,CAAC;IACnB,UAAU,EAAE,IAAI,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,cAAc,GAAG,SAAS,GAAG,IAAI,CAAC;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,WAAW,GACtB,OAAO,IAAI,EAAE,EACb,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAC3D,cAAa,MAAW,EACxB,OAAM,MAAc,EACpB,OAAM,MAAU;;8BAcN,MAAM,WACL,MAAM,WACN,MAAM,QACT,MAAM,GAAG,aAAa,GAAG,cAAc,GAAG,SAAS;0BAiBlB,MAAM,WAAW,MAAM,KAAG,IAAI,GAAG,IAAI;iCAyD9B,IAAI,GAAG,IAAI;CAwB5D,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { GanttConfig } from './types';
|
|
3
|
+
import type { Task, Link } from './types';
|
|
4
|
+
import './gantt.css';
|
|
5
|
+
export interface GanttProps {
|
|
6
|
+
tasks: Task[];
|
|
7
|
+
links?: Link[];
|
|
8
|
+
config?: Partial<GanttConfig>;
|
|
9
|
+
onTaskUpdate?: (task: Task) => void;
|
|
10
|
+
onTaskCreate?: (task: Task) => void;
|
|
11
|
+
onTaskDelete?: (taskId: string) => void;
|
|
12
|
+
onLinkCreate?: (link: Link) => void;
|
|
13
|
+
onLinkDelete?: (linkId: string) => void;
|
|
14
|
+
cellWidth?: number;
|
|
15
|
+
cellHeight?: number;
|
|
16
|
+
scaleHeight?: number;
|
|
17
|
+
primaryUnit?: string;
|
|
18
|
+
primaryStep?: number;
|
|
19
|
+
primaryFormat?: string;
|
|
20
|
+
secondaryUnit?: string;
|
|
21
|
+
secondaryStep?: number;
|
|
22
|
+
secondaryFormat?: string;
|
|
23
|
+
showVerticalBorders?: boolean;
|
|
24
|
+
showHorizontalBorders?: boolean;
|
|
25
|
+
borderStyle?: string;
|
|
26
|
+
borderColor?: string;
|
|
27
|
+
showStartDate?: boolean;
|
|
28
|
+
showEndDate?: boolean;
|
|
29
|
+
startDateWidth?: number;
|
|
30
|
+
endDateWidth?: number;
|
|
31
|
+
startDateFormat?: string;
|
|
32
|
+
endDateFormat?: string;
|
|
33
|
+
}
|
|
34
|
+
export declare const Gantt: React.FC<GanttProps>;
|
|
35
|
+
//# sourceMappingURL=Gantt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Gantt.d.ts","sourceRoot":"","sources":["../../src/components/Gantt/Gantt.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAQ3D,OAAO,KAAK,EAAE,WAAW,EAAqD,MAAM,SAAS,CAAC;AAQ9F,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAG1C,OAAO,aAAa,CAAC;AAErB,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACpC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACpC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACpC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAGxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAgBD,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CA0ctC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GanttPro - Alias for the main Gantt component
|
|
3
|
+
*
|
|
4
|
+
* This component is deprecated and maintained only for backward compatibility.
|
|
5
|
+
* All PRO features have been merged into the main Gantt component.
|
|
6
|
+
*
|
|
7
|
+
* Please use the Gantt component directly instead:
|
|
8
|
+
* import { Gantt } from './components/Gantt';
|
|
9
|
+
*/
|
|
10
|
+
import React from 'react';
|
|
11
|
+
import { type GanttProps } from './Gantt';
|
|
12
|
+
/**
|
|
13
|
+
* @deprecated Use Gantt component instead. All features are now in the unified Gantt component.
|
|
14
|
+
*/
|
|
15
|
+
export declare const GanttPro: React.FC<GanttProps>;
|
|
16
|
+
//# sourceMappingURL=GanttPro.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GanttPro.d.ts","sourceRoot":"","sources":["../../src/components/Gantt/GanttPro.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAAS,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Task, Column, Link } from './types';
|
|
3
|
+
interface GridProps {
|
|
4
|
+
tasks: Task[];
|
|
5
|
+
columns: Column[];
|
|
6
|
+
selectedTask: string | null;
|
|
7
|
+
onTaskClick: (taskId: string) => void;
|
|
8
|
+
onTaskContextMenu?: (e: React.MouseEvent, taskId: string) => void;
|
|
9
|
+
onTaskUpdate?: (task: Task) => void;
|
|
10
|
+
onTaskDragStart?: (taskId: string, clientX: number, clientY: number, type: 'reorder') => void;
|
|
11
|
+
onAddTask?: (taskId?: string) => void;
|
|
12
|
+
onAddDependency?: (sourceId: string, targetId: string, type: Link['type'], lag?: number) => void;
|
|
13
|
+
onDependencyClick?: (taskId: string) => void;
|
|
14
|
+
links?: Link[];
|
|
15
|
+
allTasks?: Task[];
|
|
16
|
+
dropIndicator?: {
|
|
17
|
+
taskId: string;
|
|
18
|
+
position: 'above' | 'below' | 'inside';
|
|
19
|
+
} | null;
|
|
20
|
+
reorderTask?: {
|
|
21
|
+
id: string;
|
|
22
|
+
initialIndex: number;
|
|
23
|
+
currentY: number;
|
|
24
|
+
descendantIds: string[];
|
|
25
|
+
} | null;
|
|
26
|
+
}
|
|
27
|
+
export declare const Grid: React.ForwardRefExoticComponent<GridProps & React.RefAttributes<HTMLDivElement>>;
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=Grid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["../../src/components/Gantt/Grid.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAQlD,UAAU,SAAS;IACjB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAElE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACpC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IAC9F,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACjG,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;IAClB,aAAa,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAA;KAAE,GAAG,IAAI,CAAC;IAClF,WAAW,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;CACtG;AAGD,eAAO,MAAM,IAAI,kFAsMhB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Task, Link } from './types';
|
|
3
|
+
interface LinkRendererProps {
|
|
4
|
+
links: Link[];
|
|
5
|
+
tasks: Task[];
|
|
6
|
+
getTaskPosition: (task: Task) => {
|
|
7
|
+
left: number;
|
|
8
|
+
top: number;
|
|
9
|
+
width: number;
|
|
10
|
+
height: number;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export declare const LinkRenderer: React.FC<LinkRendererProps>;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=LinkRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LinkRenderer.d.ts","sourceRoot":"","sources":["../../src/components/Gantt/LinkRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE1C,UAAU,iBAAiB;IACzB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/F;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAqIpD,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Task } from './types';
|
|
3
|
+
interface TaskBarProps {
|
|
4
|
+
task: Task;
|
|
5
|
+
position: {
|
|
6
|
+
left: number;
|
|
7
|
+
width: number;
|
|
8
|
+
};
|
|
9
|
+
selected: boolean;
|
|
10
|
+
dragging: boolean;
|
|
11
|
+
onClick: () => void;
|
|
12
|
+
onDragStart: (clientX: number, clientY: number, type: 'move' | 'resize-left' | 'resize-right') => void;
|
|
13
|
+
dragDeltaX?: number;
|
|
14
|
+
dragType?: 'move' | 'resize-left' | 'resize-right' | 'reorder' | null;
|
|
15
|
+
readonly?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare const TaskBar: React.FC<TaskBarProps>;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=TaskBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskBar.d.ts","sourceRoot":"","sources":["../../src/components/Gantt/TaskBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,IAAI,EAAe,MAAM,SAAS,CAAC;AAIjD,UAAU,YAAY;IACpB,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,cAAc,KAAK,IAAI,CAAC;IACvG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,cAAc,GAAG,SAAS,GAAG,IAAI,CAAC;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CA6I1C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskCreator.d.ts","sourceRoot":"","sources":["../../src/components/Gantt/TaskCreator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAOpC,UAAU,gBAAgB;IACxB,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;IAC/C,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAwGlD,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Task } from './types';
|
|
2
|
+
interface TaskEditorProps {
|
|
3
|
+
task: Task;
|
|
4
|
+
onUpdate: (task: Task) => void;
|
|
5
|
+
onDelete: (taskId: string) => void;
|
|
6
|
+
onClose: () => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const TaskEditor: React.FC<TaskEditorProps>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=TaskEditor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskEditor.d.ts","sourceRoot":"","sources":["../../src/components/Gantt/TaskEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAUpC,UAAU,eAAe;IACvB,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC/B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAmIhD,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Task, Link, Scale, GanttConfig, Baseline } from './types';
|
|
3
|
+
interface TimelineProps {
|
|
4
|
+
tasks: Task[];
|
|
5
|
+
links: Link[];
|
|
6
|
+
range: {
|
|
7
|
+
start: Date;
|
|
8
|
+
end: Date;
|
|
9
|
+
};
|
|
10
|
+
scales: Scale[];
|
|
11
|
+
config: GanttConfig;
|
|
12
|
+
selectedTask: string | null;
|
|
13
|
+
draggedTask: string | null;
|
|
14
|
+
onTaskClick: (taskId: string) => void;
|
|
15
|
+
onTaskDragStart: (taskId: string, clientX: number, clientY: number) => void;
|
|
16
|
+
onTaskDragEnd: () => void;
|
|
17
|
+
onTaskUpdate?: (id: string, updates: Partial<Task>) => void;
|
|
18
|
+
zoomLevel: number;
|
|
19
|
+
baselines?: Map<string, Baseline>;
|
|
20
|
+
}
|
|
21
|
+
export declare const Timeline: React.ForwardRefExoticComponent<TimelineProps & React.RefAttributes<HTMLDivElement>>;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=Timeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Timeline.d.ts","sourceRoot":"","sources":["../../src/components/Gantt/Timeline.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AACjE,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAMxE,UAAU,aAAa;IACrB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,EAAE;QAAE,KAAK,EAAE,IAAI,CAAC;QAAC,GAAG,EAAE,IAAI,CAAA;KAAE,CAAC;IAClC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5E,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACnC;AAED,eAAO,MAAM,QAAQ,sFAiVpB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { FilterOptions } from './features/FilterSearch';
|
|
3
|
+
interface ToolbarProps {
|
|
4
|
+
zoomLevel: number;
|
|
5
|
+
setZoomLevel: (zoom: number) => void;
|
|
6
|
+
onBaselineToggle: () => void;
|
|
7
|
+
showBaselines: boolean;
|
|
8
|
+
onExport: (type: 'csv' | 'excel' | 'json' | 'pdf') => void;
|
|
9
|
+
onFilterChange: (filters: FilterOptions) => void;
|
|
10
|
+
owners: string[];
|
|
11
|
+
onAddTask?: () => void;
|
|
12
|
+
}
|
|
13
|
+
export declare const Toolbar: React.FC<ToolbarProps>;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=Toolbar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../src/components/Gantt/Toolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAe1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,UAAU,YAAY;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,KAAK,IAAI,CAAC;IAC3D,cAAc,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;IACjD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CA2F1C,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { Task, Link } from './types';
|
|
2
|
+
export interface HistoryState {
|
|
3
|
+
tasks: Task[];
|
|
4
|
+
links: Link[];
|
|
5
|
+
}
|
|
6
|
+
export interface HistoryAction {
|
|
7
|
+
type: 'task_update' | 'task_create' | 'task_delete' | 'link_create' | 'link_delete';
|
|
8
|
+
before: HistoryState;
|
|
9
|
+
after: HistoryState;
|
|
10
|
+
timestamp: number;
|
|
11
|
+
}
|
|
12
|
+
export declare const useUndoRedo: (initialTasks: Task[], initialLinks?: Link[]) => {
|
|
13
|
+
tasks: Task[];
|
|
14
|
+
links: Link[];
|
|
15
|
+
setTasks: import("react").Dispatch<import("react").SetStateAction<Task[]>>;
|
|
16
|
+
setLinks: import("react").Dispatch<import("react").SetStateAction<Link[]>>;
|
|
17
|
+
undo: () => void;
|
|
18
|
+
redo: () => void;
|
|
19
|
+
canUndo: boolean;
|
|
20
|
+
canRedo: boolean;
|
|
21
|
+
updateTask: (updatedTask: Task) => void;
|
|
22
|
+
createTask: (newTask: Task) => void;
|
|
23
|
+
deleteTask: (taskId: string) => void;
|
|
24
|
+
saveState: (type: HistoryAction["type"], beforeState: HistoryState, afterState: HistoryState) => void;
|
|
25
|
+
history: HistoryAction[];
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=UndoRedo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UndoRedo.d.ts","sourceRoot":"","sources":["../../src/components/Gantt/UndoRedo.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE1C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,aAAa,GAAG,aAAa,GAAG,aAAa,GAAG,aAAa,GAAG,aAAa,CAAC;IACpF,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,WAAW,GAAI,cAAc,IAAI,EAAE,EAAE,eAAc,IAAI,EAAO;;;;;;;;;8BA8D5B,IAAI;0BASR,IAAI;yBASL,MAAM;sBAhEtC,aAAa,CAAC,MAAM,CAAC,eACd,YAAY,cACb,YAAY;;CAwF3B,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export { Gantt } from './Gantt';
|
|
2
|
+
export { Gantt as default } from './Gantt';
|
|
3
|
+
export type { GanttProps } from './Gantt';
|
|
4
|
+
export { Grid } from './Grid';
|
|
5
|
+
export { Chart } from './Chart';
|
|
6
|
+
export { Timeline } from './Timeline';
|
|
7
|
+
export { TaskBar } from './TaskBar';
|
|
8
|
+
export { Toolbar } from './Toolbar';
|
|
9
|
+
export { TaskCreator } from './TaskCreator';
|
|
10
|
+
export { TaskEditor } from './TaskEditor';
|
|
11
|
+
export { DependencyEditor } from './DependencyEditor';
|
|
12
|
+
export { useUndoRedo } from './UndoRedo';
|
|
13
|
+
export * as AutoScheduler from './features/AutoScheduler';
|
|
14
|
+
export * as CriticalPath from './features/CriticalPath';
|
|
15
|
+
export * as ExportUtils from './features/ExportUtils';
|
|
16
|
+
export { createBaseline } from './features/Baselines';
|
|
17
|
+
export { FilterSearch, applyFilters } from './features/FilterSearch';
|
|
18
|
+
export type { FilterOptions } from './features/FilterSearch';
|
|
19
|
+
export * from './types';
|
|
20
|
+
export * from './utils/dateUtils';
|
|
21
|
+
//# sourceMappingURL=exports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../src/components/Gantt/exports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACrE,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Task, Link } from '../types';
|
|
2
|
+
export interface ScheduleOptions {
|
|
3
|
+
mode: 'forward' | 'backward';
|
|
4
|
+
projectStart?: Date;
|
|
5
|
+
projectEnd?: Date;
|
|
6
|
+
respectConstraints?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare const autoSchedule: (tasks: Task[], links: Link[], options?: ScheduleOptions) => Task[];
|
|
9
|
+
export declare const levelResources: (tasks: Task[]) => Task[];
|
|
10
|
+
//# sourceMappingURL=AutoScheduler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AutoScheduler.d.ts","sourceRoot":"","sources":["../../../src/components/Gantt/features/AutoScheduler.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAG3C,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,SAAS,GAAG,UAAU,CAAC;IAC7B,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,eAAO,MAAM,YAAY,GACvB,OAAO,IAAI,EAAE,EACb,OAAO,IAAI,EAAE,EACb,UAAS,eAAqC,KAC7C,IAAI,EAyBN,CAAC;AA6GF,eAAO,MAAM,cAAc,GAAI,OAAO,IAAI,EAAE,KAAG,IAAI,EAyClD,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Task, Baseline } from '../types';
|
|
3
|
+
interface BaselineRendererProps {
|
|
4
|
+
task: Task;
|
|
5
|
+
baseline?: Baseline;
|
|
6
|
+
position: {
|
|
7
|
+
left: number;
|
|
8
|
+
width: number;
|
|
9
|
+
};
|
|
10
|
+
getBaselinePosition: (baseline: Baseline) => {
|
|
11
|
+
left: number;
|
|
12
|
+
width: number;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export declare const BaselineRenderer: React.FC<BaselineRendererProps>;
|
|
16
|
+
export declare const createBaseline: (tasks: Task[]) => Map<string, Baseline>;
|
|
17
|
+
export interface VarianceReport {
|
|
18
|
+
taskId: string;
|
|
19
|
+
taskName: string;
|
|
20
|
+
startVariance: number;
|
|
21
|
+
endVariance: number;
|
|
22
|
+
durationVariance: number;
|
|
23
|
+
status: 'on-track' | 'delayed' | 'ahead';
|
|
24
|
+
}
|
|
25
|
+
export declare const generateVarianceReport: (tasks: Task[], baselines: Map<string, Baseline>) => VarianceReport[];
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=Baselines.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Baselines.d.ts","sourceRoot":"","sources":["../../../src/components/Gantt/features/Baselines.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAE/C,UAAU,qBAAqB;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,mBAAmB,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9E;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA6C5D,CAAC;AAGF,eAAO,MAAM,cAAc,GAAI,OAAO,IAAI,EAAE,KAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,CAYlE,CAAC;AAGF,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;CAC1C;AAED,eAAO,MAAM,sBAAsB,GACjC,OAAO,IAAI,EAAE,EACb,WAAW,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,KAC/B,cAAc,EA0ChB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Task, Link } from '../types';
|
|
2
|
+
export interface CriticalPathResult {
|
|
3
|
+
criticalTasks: Set<string>;
|
|
4
|
+
taskFloats: Map<string, number>;
|
|
5
|
+
projectDuration: number;
|
|
6
|
+
}
|
|
7
|
+
export declare const calculateCriticalPath: (tasks: Task[], links: Link[]) => CriticalPathResult;
|
|
8
|
+
export declare const isCriticalTask: (taskId: string, criticalPath: CriticalPathResult) => boolean;
|
|
9
|
+
export declare const getTaskFloat: (taskId: string, criticalPath: CriticalPathResult) => number;
|
|
10
|
+
//# sourceMappingURL=CriticalPath.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CriticalPath.d.ts","sourceRoot":"","sources":["../../../src/components/Gantt/features/CriticalPath.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAE3C,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,qBAAqB,GAAI,OAAO,IAAI,EAAE,EAAE,OAAO,IAAI,EAAE,KAAG,kBA0GpE,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,EAAE,cAAc,kBAAkB,KAAG,OAEjF,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,EAAE,cAAc,kBAAkB,KAAG,MAE/E,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Task, Link } from '../types';
|
|
2
|
+
export declare const exportToCSV: (tasks: Task[]) => void;
|
|
3
|
+
export declare const exportToExcel: (tasks: Task[]) => void;
|
|
4
|
+
export declare const exportToJSON: (tasks: Task[], links: Link[]) => void;
|
|
5
|
+
export declare const exportToPDF: (tasks: Task[]) => void;
|
|
6
|
+
export declare const exportToImage: (elementId: string, _filename: string, format?: "png" | "svg") => void;
|
|
7
|
+
export declare const importFromJSON: (file: File) => Promise<{
|
|
8
|
+
tasks: Task[];
|
|
9
|
+
links: Link[];
|
|
10
|
+
}>;
|
|
11
|
+
//# sourceMappingURL=ExportUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExportUtils.d.ts","sourceRoot":"","sources":["../../../src/components/Gantt/features/ExportUtils.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAI3C,eAAO,MAAM,WAAW,GAAI,OAAO,IAAI,EAAE,KAAG,IAoB3C,CAAC;AAGF,eAAO,MAAM,aAAa,GAAI,OAAO,IAAI,EAAE,KAAG,IAqB7C,CAAC;AAGF,eAAO,MAAM,YAAY,GAAI,OAAO,IAAI,EAAE,EAAE,OAAO,IAAI,EAAE,KAAG,IAU3D,CAAC;AAGF,eAAO,MAAM,WAAW,GAAI,OAAO,IAAI,EAAE,KAAG,IAoB3C,CAAC;AAGF,eAAO,MAAM,aAAa,GAAI,WAAW,MAAM,EAAE,WAAW,MAAM,EAAE,SAAQ,KAAK,GAAG,KAAa,KAAG,IAsBnG,CAAC;AAoBF,eAAO,MAAM,cAAc,GAAI,MAAM,IAAI,KAAG,OAAO,CAAC;IAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAAC,KAAK,EAAE,IAAI,EAAE,CAAA;CAAE,CAyBnF,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Task } from '../types';
|
|
3
|
+
export interface FilterOptions {
|
|
4
|
+
searchText: string;
|
|
5
|
+
status: 'all' | 'not-started' | 'in-progress' | 'completed';
|
|
6
|
+
priority: 'all' | 'low' | 'medium' | 'high';
|
|
7
|
+
owner: string;
|
|
8
|
+
dateRange?: {
|
|
9
|
+
start: Date;
|
|
10
|
+
end: Date;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
interface FilterSearchProps {
|
|
14
|
+
onFilterChange: (filters: FilterOptions) => void;
|
|
15
|
+
owners: string[];
|
|
16
|
+
}
|
|
17
|
+
export declare const FilterSearch: React.FC<FilterSearchProps>;
|
|
18
|
+
export declare const applyFilters: (tasks: Task[], filters: FilterOptions) => Task[];
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=FilterSearch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterSearch.d.ts","sourceRoot":"","sources":["../../../src/components/Gantt/features/FilterSearch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAIrC,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,KAAK,GAAG,aAAa,GAAG,aAAa,GAAG,WAAW,CAAC;IAC5D,QAAQ,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,IAAI,CAAC;QAAC,GAAG,EAAE,IAAI,CAAA;KAAE,CAAC;CACxC;AAED,UAAU,iBAAiB;IACzB,cAAc,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;IACjD,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA0GpD,CAAC;AAGF,eAAO,MAAM,YAAY,GAAI,OAAO,IAAI,EAAE,EAAE,SAAS,aAAa,KAAG,IAAI,EAiDxE,CAAC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
export interface Task {
|
|
2
|
+
id: string;
|
|
3
|
+
text: string;
|
|
4
|
+
start: Date;
|
|
5
|
+
end: Date;
|
|
6
|
+
duration: number;
|
|
7
|
+
progress: number;
|
|
8
|
+
type?: 'task' | 'milestone' | 'project';
|
|
9
|
+
parent?: string;
|
|
10
|
+
open?: boolean;
|
|
11
|
+
color?: string;
|
|
12
|
+
details?: string;
|
|
13
|
+
owner?: string;
|
|
14
|
+
priority?: 'low' | 'medium' | 'high';
|
|
15
|
+
dependencies?: string[];
|
|
16
|
+
segments?: TaskSegment[];
|
|
17
|
+
}
|
|
18
|
+
export interface TaskSegment {
|
|
19
|
+
start: Date;
|
|
20
|
+
end: Date;
|
|
21
|
+
duration: number;
|
|
22
|
+
}
|
|
23
|
+
export interface Link {
|
|
24
|
+
id: string;
|
|
25
|
+
source: string;
|
|
26
|
+
target: string;
|
|
27
|
+
type: 'e2s' | 's2s' | 'e2e' | 's2e';
|
|
28
|
+
lag?: number;
|
|
29
|
+
lagUnit?: 'day' | 'hour' | 'week' | 'month';
|
|
30
|
+
}
|
|
31
|
+
export interface Scale {
|
|
32
|
+
unit: 'hour' | 'day' | 'week' | 'month' | 'quarter' | 'year';
|
|
33
|
+
step: number;
|
|
34
|
+
format?: string;
|
|
35
|
+
}
|
|
36
|
+
export interface Column {
|
|
37
|
+
name: string;
|
|
38
|
+
label: string;
|
|
39
|
+
width?: number;
|
|
40
|
+
align?: 'left' | 'center' | 'right';
|
|
41
|
+
resize?: boolean;
|
|
42
|
+
sort?: boolean;
|
|
43
|
+
template?: (task: Task) => string | any;
|
|
44
|
+
}
|
|
45
|
+
export interface GanttConfig {
|
|
46
|
+
columns?: Column[];
|
|
47
|
+
scales?: Scale[];
|
|
48
|
+
readonly?: boolean;
|
|
49
|
+
editable?: boolean;
|
|
50
|
+
taskHeight?: number;
|
|
51
|
+
rowHeight?: number;
|
|
52
|
+
scaleHeight?: number;
|
|
53
|
+
columnWidth?: number;
|
|
54
|
+
minColumnWidth?: number;
|
|
55
|
+
autoSchedule?: boolean;
|
|
56
|
+
criticalPath?: boolean;
|
|
57
|
+
baselines?: boolean;
|
|
58
|
+
markers?: Marker[];
|
|
59
|
+
weekends?: boolean;
|
|
60
|
+
holidays?: Date[];
|
|
61
|
+
theme?: 'light' | 'dark';
|
|
62
|
+
locale?: string;
|
|
63
|
+
}
|
|
64
|
+
export interface Marker {
|
|
65
|
+
id: string;
|
|
66
|
+
date: Date;
|
|
67
|
+
text: string;
|
|
68
|
+
css?: string;
|
|
69
|
+
}
|
|
70
|
+
export interface Baseline {
|
|
71
|
+
taskId: string;
|
|
72
|
+
start: Date;
|
|
73
|
+
end: Date;
|
|
74
|
+
}
|
|
75
|
+
export type ZoomLevel = number;
|
|
76
|
+
export interface DropIndicator {
|
|
77
|
+
taskId: string;
|
|
78
|
+
position: 'above' | 'below' | 'inside';
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/components/Gantt/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Scale } from '../types';
|
|
2
|
+
export declare const addToDate: (date: Date, count: number, unit: Scale["unit"]) => Date;
|
|
3
|
+
export declare const getDaysBetween: (start: Date, end: Date) => number;
|
|
4
|
+
export declare const getHoursBetween: (start: Date, end: Date) => number;
|
|
5
|
+
export declare const formatDate: (date: Date, format: string) => string;
|
|
6
|
+
export declare const isWeekend: (date: Date) => boolean;
|
|
7
|
+
export declare const isHoliday: (date: Date, holidays: Date[]) => boolean;
|
|
8
|
+
export declare const getStartOfDay: (date: Date) => Date;
|
|
9
|
+
export declare const getEndOfDay: (date: Date) => Date;
|
|
10
|
+
export declare const calculateDuration: (start: Date, end: Date, unit?: Scale["unit"]) => number;
|
|
11
|
+
//# sourceMappingURL=dateUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dateUtils.d.ts","sourceRoot":"","sources":["../../../src/components/Gantt/utils/dateUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC,eAAO,MAAM,SAAS,GAAI,MAAM,IAAI,EAAE,OAAO,MAAM,EAAE,MAAM,KAAK,CAAC,MAAM,CAAC,KAAG,IAyB1E,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,OAAO,IAAI,EAAE,KAAK,IAAI,KAAG,MAGvD,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,OAAO,IAAI,EAAE,KAAK,IAAI,KAAG,MAGxD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,MAAM,IAAI,EAAE,QAAQ,MAAM,KAAG,MAsBvD,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,MAAM,IAAI,KAAG,OAGtC,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,MAAM,IAAI,EAAE,UAAU,IAAI,EAAE,KAAG,OAMxD,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,MAAM,IAAI,KAAG,IAI1C,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,MAAM,IAAI,KAAG,IAIxC,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,OAAO,IAAI,EAAE,KAAK,IAAI,EAAE,OAAM,KAAK,CAAC,MAAM,CAAS,KAAG,MAavF,CAAC"}
|