## Overview

The Gantt chart widget displays a Gantt chart of all tasks and milestones of this schedule. It automatically identifies the schedule context by traversing the page hierarchy upward to find the parent schedule, making it ideal for embedding on schedule-related pages without manual configuration.

The widget provides complete Gantt chart functionality including task visualization, dependencies, timeline management, and optional inline editing capabilities. It can be configured with time range settings (absolute or relative dates), display options for initial expansion state, read-only mode, and control over cross-linked external tasks.

## Use Cases

- Display a comprehensive Gantt chart view on a schedule page directly
- Show the parent schedule's Gantt view when viewing task or milestone detail pages
- Provide context-aware Gantt visualization on custom pages within a schedule hierarchy
- Enable visual project planning with timeline views for users working within a single project

## Design Considerations

Use the Single Gantt widget when you want automatic schedule detection based on the current page context. This is the preferred choice for schedule-centric views where users are working within a single project or schedule.

The widget can be embedded on any page within a schedule's hierarchy - it will recursively traverse up the page hierarchy to find the parent schedule. This allows for flexible placement without requiring manual schedule configuration.

Note that the Single Gantt widget cannot coexist with another Single Gantt or Multi Gantt widget on the same page. Configuration changes require a full page reload rather than inline updates due to the Gantt diagram's rendering mechanism.

The "Without Cross-Links" option (enabled by default) controls whether tasks linked from outside the selected schedule are loaded, which affects performance and scope of displayed data.

## Related Patterns/Alternatives

- **Multi Gantt Widget** (`cf.projektplanung.gantt`): Displays multiple schedules simultaneously with explicit schedule selection, ideal for dashboards and cross-project comparisons
- **Schedule Tree Widget** (`cf.cplace.projektplanung.scheduleTree`): Provides hierarchical view of schedules in tree/table format without timeline visualization
