Search packages, repositories and app categories

gantt_chart cover
Package detailsv0.3.0

gantt_chart

A fully customizable gantt chart package written purely in dart

AndroidiOSWebmacOSWindowsLinux
30-day downloads
187
Likes
43
Pub points
160

Install package

flutter pub add gantt_chart

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

A fully customizable Gantt chart package built entirely in Dart, enabling developers to visualize project timelines and task dependencies across multiple platforms. It supports dynamic data rendering, interactive elements like drag-and-drop, and extensive styling options for both tasks and milestones. Ideal for project management apps, scheduling tools, and productivity dashboards, it integrates seamlessly with Flutter's widget system. The package is lightweight, well-documented, and actively maintained by the community.

Use cases

  • Project timeline visualization
  • Task scheduling in productivity apps
  • Resource planning dashboards
  • Agile sprint tracking
  • Dependency mapping in workflows

Key features

  • Fully customizable design
  • Drag-and-drop task manipulation
  • Support for milestones and dependencies
  • Responsive layout across devices
  • Built-in animations and transitions
  • Extensible API for custom behaviors

Suitable for

  • Project management applications
  • Team collaboration tools
  • Software development planning
  • Educational scheduling systems
  • Enterprise resource planning

Considerations

  • Requires manual handling of complex dependency logic
  • Performance may degrade with very large datasets
  • Limited built-in export functionality
  • Styling requires familiarity with Flutter widgets
  • No native printing support out of the box

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

pub package

Github

A fully customizable gantt chart package written purely in dart

This package is still in active development and may experience breaking changes

Features

  • Sticky area to show event names
  • Fully customizable widget with builders
  • Either use relative or absolute dates

Usage

GanttChartView(
    maxDuration: const Duration(days: 30 * 2), //optional, set to null for infinite horizontal scroll
    startDate: DateTime(2022, 6, 7), //required 
    dayWidth: 30, //column width for each day
    eventHeight: 30, //row height for events
    stickyAreaWidth: 200, //sticky area width
    showStickyArea: true, //show sticky area or not
    showDays: true, //show days or not
    startOfTheWeek: WeekDay.sunday, //custom start of the week
    weekEnds: const {WeekDay.friday, WeekDay.saturday}, //custom weekends
    isExtraHoliday: (context, day) {
        //define custom holiday logic for each day
        return DateUtils.isSameDay(DateTime(2022, 7, 1), day);
    },
    events: [
        //event relative to startDate
        GanttRelativeEvent(
            relativeToStart: const Duration(days: 0),
            duration: const Duration(days: 5),
            displayName: 'Do a very helpful task',
        ),
        //event with absolute start and end
        GanttAbsoluteEvent(
            startDate: DateTime(2022, 6, 10),
            endDate: DateTime(2022, 6, 16),
            displayName: 'Another task',
        ),
    ],
),

Categories

Dependencies

Dependency list 2 items

Source repository

Projects using this package

No data available yet.